@charset "utf-8";

/* reset
----------------------------------------------- */

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,main,figure,figcaption {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 1em;
    line-height: 1em;
    list-style: none;
}
a,
a:hover,
a:active,
a:visited {
    margin: 0;
    padding: 0;
    text-decoration: none;
    overflow: hidden;
    outline: none;
}
img {
    vertical-align: top;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -ms-user-drag: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
hr {
    display: none;
}

/* clear */

.clear:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* html
----------------------------------------------- */

html {
    margin: 0;
    padding: 0;
    -webkit-print-color-adjust: exact;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -ms-user-drag: none;
    */
}

/* body
----------------------------------------------- */

body {
    margin: 0;
    padding: 0;
    color: #1e1e1e;
    font-family: "Noto Sans Japanese", sans-serif;
}
a {
    color: #ed7700;
    text-decoration: underline;
}

/* loading
----------------------------------------------- */

.loading {
    margin: 25px 0 0;
    text-align: center;
}
.loading span {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
    color: rgba(0,0,0,0.2);
    font-size: 20px;
    text-align: center;
}

/* error
----------------------------------------------- */

section .error {
    margin: 25px 0 0;
    color: rgba(0,0,0,0.5);
    font-size: 12px;
    font-weight: 500;
    text-align: center;
}

/* pc
----------------------------------------------- */

@media print, screen and (min-width:1000px) {

    /* alert
    ----------------------------------------------- */

    #alert {
        display: none;
    }

    /* body
    ----------------------------------------------- */

    body {
        margin: 140px 0 0;
    }
    a:hover {
        color: #bb4500;
        text-decoration: underline;
    }

    /* header
    ----------------------------------------------- */

    #header {
        position: fixed;
        top: 50px;
        left: 0;
        width: 100%;
        height: 90px;
        background: #fff;
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
        z-index: 50;
        transition: height 0.25s;
    }
    #header h1 {
        margin: auto;
        width: 1000px;
    }
    #header h1 img {
        transition: width 0.25s, height 0.25s;
    }

    /* min */

    body.min #header {
        height: 60px;
    }
    body.min #header h1 img {
        width: 80px;
        height: 60px;
    }

    /* footer
    ----------------------------------------------- */

    #footer {
        margin: auto;
        padding: 20px 0;
        width: 1000px;
    }
    #footer p {
        color: #8e8e8e;
        font-size: 11px;
        line-height: 18px;
    }
    #footer ul {
        margin: 20px 0 0;
    }
    #footer li {
        float: left;
        width: 50%;
    }
    #footer li:last-child {
        color: #8e8e8e;
        font-size: 11px;
        text-align: right;
        line-height: 20px;
    }

    /* globalnav
    ----------------------------------------------- */

    #globalnav {
        position: fixed;
        top: 50px;
        left: 50%;
        margin: 0 0 0 -380px;
        width: 880px;
        height: 90px;
        z-index: 50;
        transition: margin 0.25s, width 0.25s, height 0.25s;
    }
    #globalnav ul {
        font-size: 0;
        text-align: left;
    }
    #globalnav li {
        display: inline-block;
        margin: 0 0 0 40px;
    }
    #globalnav li a {
        display: block;
        position: relative;
        height: 90px;
        color: #1e1e1e;
        font-size: 18px;
        font-weight: 600;
        text-decoration: none;
        line-height: 89px;
        overflow: visible;
        cursor: pointer;
        transition: color 0.25s, height 0.25s, line-height 0.25s;
    }
    #globalnav li a:after {
        display: block;
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        margin: 0 0 0 -15px;
        width: 0;
        height: 0;
        color: #fff;
        border-style: solid;
        border-width: 15px 15px 0 15px;
        border-color: #ffffff transparent transparent transparent;
        z-index: 1;
        transition: bottom 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    }
    #globalnav li a:hover {
        color: #ed7700;
    }
    #globalnav li i {
        display: inline-block;
        margin: 0 5px 0 0;
        color: #bbbbbb;
        transition: color 0.2s;
    }
    #globalnav li a:hover i {
        color: #ed7700;
    }

    /* join */

    #globalnav .join a {
        display: block;
        position: absolute;
        top: 25px;
        right: 0;
        width: 180px;
        height: 40px;
        color: #fff;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        text-decoration: none;
        line-height: 39px;
        border-radius: 20px;
        background: #ed7700;
        transition: background 0.25s, top 0.25s, height 0.25s, line-height 0.25s;
    }
    #globalnav .join a:after {
        display: none;
    }
    #globalnav .join a:hover {
        color: #fff;
        background: #cf5900;
    }
    #globalnav .join a i {
        display: inline-block;
        margin: 0 5px 0 0;
        color: #fff;
    }
    #globalnav .join a:hover i {
        color: #fff;
    }

    /* timetable */

    #globalnav .timetable a {
        display: block;
        position: absolute;
        top: 25px;
        right: 190px;
        width: 180px;
        height: 40px;
        color: #fff;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        text-decoration: none;
        line-height: 39px;
        border-radius: 20px;
        background: #e63c32;
        transition: background 0.25s, top 0.25s, height 0.25s, line-height 0.25s;
    }
    #globalnav .timetable a:after {
        display: none;
    }
    #globalnav .timetable a:hover {
        color: #fff;
        background: #d2281e;
    }
    #globalnav .timetable a i {
        display: inline-block;
        margin: 0 5px 0 0;
        color: #fff;
    }
    #globalnav .timetable a:hover i {
        color: #fff;
    }

    /* on */

    #globalnav li.on a,
    #globalnav li.on i {
        position: relative;
        color: #ed7700;
        overflow: visible;
    }
    #globalnav li.on a:after {
        bottom: -15px
    }

    /* min */

    body.min #globalnav {
        margin: 0 0 0 -420px;
        width: 920px;
        height: 60px;
    }
    body.min #globalnav li a {
        height: 60px;
        line-height: 59px;
    }
    body.min #globalnav .join a,
    body.min #globalnav .timetable a {
        top: 10px;
        height: 40px;
        line-height: 39px;
    }

    /* membernav
    ----------------------------------------------- */

    #membernav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 50px;
        background: #787878;
        z-index: 50;
    }
    #membernav ul {
        margin: auto;
        width: 1000px;
        font-size: 0;
        text-align: right;
    }
    #membernav li {
        display: inline-block;
        font-size: 15px;
        font-weight: 600;
    }
    #membernav li a {
        display: block;
        margin: 0 0 0 20px;
        height: 50px;
        color: #fff;
        text-decoration: none;
        line-height: 49px;
        cursor: pointer;
        transition: color 0.2s;
    }
    #membernav li a:hover {
        color: #ffb400;
    }
    #membernav li i {
        display: inline-block;
        margin: 0 5px 0 0;
        color: #ffb400;
    }
    #membernav .menu {
        display: none;
    }

    /* login */

    #membernav.login {
        background: #ffb400;
    }
    #membernav.login li a {
        color: #1e1e1e;
    }
    #membernav.login li a:hover {
        color: #fff;
    }
    #membernav.login li i {
        color: #ffe8b2;
    }

    /* sidenav
    ----------------------------------------------- */

    #sidenav {
        position: fixed;
        top: 140px;
        left: 0;
        width: 100%;
        background: #1e1e1e;
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
        z-index: 40;
        transform: translateY(-110%);
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), top 0.25s;
    }
    #sidenav.on {
        transform: translateY(0%);
    }
    #sidenav .inner {
        position: relative;
        margin: auto;
        padding: 50px 0;
        width: 1000px;
    }
    #sidenav .keywordsearch {
        position: absolute;
        top: 50px;
        right: 0;
    }
    #sidenav .keywordsearch p {
        width: 235px;
        height: 50px;
        border-radius: 50px;
        background: #fff;
    }
    #sidenav .keywordsearch input {
        margin: 0;
        padding: 0 0 0 20px;
        width: 165px;
        height: 50px;
        font-size: 18px;
        font-weight: 600;
        line-height: 1;
        outline: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        -webkit-appearance: none;
    }
    #sidenav .keywordsearch input::-webkit-input-placeholder {
        line-height: 27px;
    }
    #sidenav .keywordsearch button {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0;
        width: 50px;
        height: 50px;
        color: #bbbbbb;
        font-size: 18px;
        text-align: center;
        line-height: 50px;
        outline: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        cursor: pointer;
        -webkit-appearance: none;
    }
    #sidenav .keywordsearch button:hover {
        color: #ed7700;
    }
    #sidenav li a {
        display: block;
        padding: 0 0 0 15px;
        height: 50px;
        color: #1e1e1e;
        font-size: 18px;
        font-weight: 600;
        text-decoration: none;
        line-height: 49px;
        background: #fff;
        transition: color 0.2s, background 0.2s;
    }
    #sidenav li a:hover {
        color: #fff;
        background: #ffb400;
    }
    #sidenav li i {
        display: inline-block;
        width: 25px;
        color: #ed7700;
        text-align: center;
    }
    #sidenav .program {
        width: 745px;
        height: 50px;
        border-radius: 50px;
        background: #fff;
        overflow: hidden;
    }
    #sidenav .program li {
        float: left;
        width: 29.5%;
    }
    #sidenav .program li:nth-child(2) {
        width: 25%;
    }
    #sidenav .program li:nth-child(4) {
        width: 16%;
    }
    #sidenav .program li:first-child:nth-last-child(3),
    #sidenav .program li:first-child:nth-last-child(3) ~ li {
        width: 33.33%;
    }
    #sidenav .program li a {
        padding: 0 0 0 13px;
        border-right: 1px solid #dcdcdc;
    }
    #sidenav .program li:last-child a {
        border-right: 0;
    }
    #sidenav .genre ul {
        margin: 0 0 0 -20px;
        padding: 20px 0 0;
    }
    #sidenav .genre li {
        float: left;
        margin: 15px 0 0 20px;
        width: 235px;
    }
    #sidenav .genre li a {
        border-radius: 5px;
    }
    #sidenav .close {
        display: none;
    }

    /* min */

    body.min #sidenav {
        top: 110px;
    }

    /* sitenav
    ----------------------------------------------- */

    #sitenav {
        background: #ed7700;
    }
    #sitenav .inner {
        position: relative;
        margin: auto;
        padding: 30px 0 50px;
        width: 1000px;
    }
    #sitenav .menu ul {
        float: left;
        margin: 0 50px 0 0;
    }
    #sitenav .menu li {
        margin: 20px 0 0;
        font-size: 15px;
        font-weight: 500;
    }
    #sitenav .menu li a {
        color: #fff;
        text-decoration: none;
    }
    #sitenav .menu li a:hover {
        text-decoration: underline;
    }
    #sitenav .menu li i {
        display: none;
    }
    #sitenav .link {
        position: absolute;
        top: 43px;
        right: 0;
    }
    #sitenav .link ul {
        font-size: 0;
        text-align: right;
    }
    #sitenav .link li {
        display: inline-block;
        margin: 0 0 0 20px;
    }
    #sitenav .link li a {
        display: block;
    }
    #sitenav .link li a img {
        width: 44px;
        height: 44px;
    }
    #sitenav .link p {
        margin: 22px 0 0;
    }
    #sitenav .close {
        display: none;
    }

    /* linknav
    ----------------------------------------------- */

    #linknav {
        background: #1e1e1e;
    }
    #linknav .inner {
        position: relative;
        margin: auto;
        width: 1000px;
        height: 50px;
    }
    #linknav .pageup {
        position: absolute;
        top: 0;
        right: 0;
        background: #fff;
        cursor: pointer;
    }
    #linknav .pageup img {
        transition: transform 0.2s;
    }
    #linknav .pageup:hover img {
        transform: translateY(-5px);
    }
    #linknav li {
        float: left;
    }
    #linknav li a {
        display: block;
        position: relative;
        padding: 0 15px 0 15px;
        height: 50px;
        color: #c8c8c8;
        font-size: 13px;
        text-decoration: none;
        line-height: 49px;
    }
    #linknav li a:hover {
        color: #fff;
        text-decoration: underline;
    }
    #linknav li a:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        margin: -6px 0 0;
        width: 1px;
        height: 12px;
        background: #c8c8c8;
    }
    #linknav li:first-child a {
        padding: 0 15px 0 0;
    }
    #linknav li:last-child a:after {
        display: none;
    }

    /* loginstatus
    ----------------------------------------------- */

    #loginstatus {
        position: fixed;
        top: 0;
        left: 50%;
        margin: 0 0 0 -500px;
        width: 500px;
        height: 50px;
        overflow: hidden;
        z-index: 50;
    }
    #loginstatus figure {
        animation: bounce 2s infinite;
        transform: translateY(-7px);
    }
    #loginstatus .message {
        position: absolute;
        top: 10px;
        left: 110px;
        padding: 0 15px;
        height: 30px;
        font-size: 13px;
        font-weight: 600;
        line-height: 29px;
        border-radius: 30px;
        background: #fff;
    }
    #loginstatus .message:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: -10px;
        margin: -4px 0 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 4px 15px 4px 0;
        border-color: transparent #ffffff transparent transparent;
    }

    /* campaign-banner
    ----------------------------------------------- */

    #campaign-banner {
        padding: 50px 0;
        border-top: 1px solid #dcdcdc;
    }
    #campaign-banner .inner {
        margin: auto;
        width: 1000px;
    }
    #campaign-banner h3 {
        padding: 0 0 30px;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        letter-spacing: 5px;
    }
    #campaign-banner ul {
        margin: 0 0 0 -13px;
        font-size: 0;
        text-align: center;
    }
    #campaign-banner li {
        display: inline-block;
        margin: 20px 0 0 13px;
    }
    #campaign-banner li a {
        display: block;
        transition: opacity 0.2s;
    }
    #campaign-banner li a:hover {
        opacity: 0.7;
    }

    /* button
    ----------------------------------------------- */

    section .more   {
        margin: 50px 0 0;
        font-size: 0;
        text-align: center;
    }
    section .more.columns .left {
        float: left;
        width: 50%;
        text-align: left;
    }
    section .more.columns .right {
        float: right;
        width: 50%;
        text-align: right;
    }
    section .more.columns .button {
        margin: 0;
    }

    section .more.right {
        text-align: right;
    }
    section .more.right .button {
        margin: 0 0 0 10px;
    }

    .button,
    .button:hover,
    .button:active {
        display: inline-block;
        margin: 0 25px;
        padding: 0 40px;
        min-width: 300px;
        height: 50px;
        color: #fff !important;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        text-decoration: none !important;
        line-height: 49px;
        border: 0;
        border-radius: 50px;
        box-sizing: border-box;
        outline: none;
        background: #ed7700;
        cursor: pointer;
        transition: background 0.2s;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    .button:hover {
        color: #fff;
        text-decoration: none;
        background: #cf5900;
    }
    .button i {
        display: inline-block;
        margin: 0 5px 0 0;
    }
    .button.mini {
        padding: 0 25px;
        min-width: 0;
        height: 40px;
        font-size: 15px;
        line-height: 39px;
        border-radius: 5px;
    }

    /* gray */

    .button.gray {
        background-color: #bbbbbb;
    }
    .button.gray:hover {
        background-color: #9d9d9d;
    }

    /* yellow */

    .button.yellow {
        color: #1e1e1e !important;
        background-color: #f5af16;
    }
    .button.yellow:hover {
        background-color: #e19600;
    }

    /* contents
    ----------------------------------------------- */

    #contents {
        padding: 0 0 80px;
    }
    #contents .section_inner {
        padding: 30px 0 0;
    }
    #contents a {
        color: #ed7700;
        text-decoration: underline;
    }
    #contents a:hover {
        color: #bb4500;
        text-decoration: underline;
    }
    #contents h3 {
        margin: auto;
        padding: 80px 0 0;
        width: 1000px;
        font-size: 30px;
        font-weight: 600;
        letter-spacing: 4px;
        text-align: center;
        line-height: 35px;
    }
    #contents h3.grid {
        margin: 80px 0 0;
        width: auto;
        border-top: 1px solid #dcdcdc;
    }
    #contents .section_inner h3 {
        padding: 50px 0 0;
    }
    #contents .section_inner h3.grid {
        padding: 80px 0 0;
    }
    #contents h3 em {
        color: #ed7700;
        font-style: normal;
    }
    #contents h3 .nowrap {
        display: none;
    }
    #contents .content {
        margin: auto;
        padding: 5px 0 0;
        width: 1000px;
        text-align: center;
    }
    #contents .content.center {
        text-align: center;
    }
    #contents .content p {
        padding: 20px 0 0;
        font-size: 18px;
        line-height: 32px;
    }

    /* formarea
    ----------------------------------------------- */

    #contents .formarea {
        position: relative;
        margin: 45px auto 0;
        width: 900px;
    }
    #contents .formarea.browse {
        margin-top: 80px;
    }
    #contents .formarea .need {
        color: #ed7700;
    }
    #contents .formarea .guide {
        font-size: 15px;
        font-weight: 500;
        line-height: 25px;
    }

    #contents .formarea .campaign {
        margin: 0 0 15px;
        padding: 5px 0 25px;
        border-radius: 8px;
        background: #ffb400;
    }
    #contents .formarea .campaign h4 {
        margin: 0 25px;
        padding: 15px 0 0;
        font-size: 18px;
        font-weight: 600;
        line-height: 28px;
    }
    #contents .formarea .campaign p {
        margin: 0 25px;
        padding: 15px 0 0;
        font-size: 15px;
        font-weight: 500;
    }

    #contents .formarea .agree {
        margin: 50px 0 0;
        padding: 15px 0 25px;
        border: 1px solid #dcdcdc;
        border-radius: 5px;
    }
    #contents .formarea .agree p {
        margin: 0 25px;
        padding: 10px 0 0;
        font-size: 15px;
        line-height: 25px;
    }
    #contents .formarea .agree .caution {
        margin: 0 25px;
        padding: 10px 0 0 13px;
        font-size: 13px;
        text-indent: -13px;
        line-height: 18px;
    }

    #contents .formarea .alert {
        margin: 15px 0 0;
        border: 1px solid #ed7700;
        border-radius: 5px;
    }
    #contents .formarea .alert ul {
        margin: 0 25px;
        padding: 15px 0 20px;
    }
    #contents .formarea .alert li {
        padding: 5px 0 0;
        color: #ed7700;
        font-size: 13px;
        font-weight: 600;
        line-height: 23px;
    }

    #contents .formarea .attention {
        display: block;
        margin: 10px 0 0;
        color: #ed7700;
        font-size: 13px;
        font-weight: 600;
        line-height: 18px;
    }

    #contents .formarea table {
        margin: 20px 0 0;
        width: 100%;
        border-top: 2px solid #dcdcdc;
        border-bottom: 2px solid #dcdcdc;
    }
    #contents .formarea tr {
        border-top: 1px solid #dcdcdc;
    }
    #contents .formarea th,
    #contents .formarea td {
        padding: 25px;
        font-size: 15px;
        font-weight: 500;
        text-align: left;
        vertical-align: top;
        line-height: 25px;
    }
    #contents .formarea th {
        width: 199px;
        border-right: 1px dotted #dcdcdc;
        background: #f5f5f5;
    }
    #contents .formarea td {
        width: 600px;
    }
    #contents .formarea .label {
        display: block;
        padding: 8px 0 0;
    }
    #contents .formarea .value {
        display: block;
    }

    #contents .formarea thead th {
        padding: 30px 25px;
        font-weight: 600;
        border: 0;
        border-top: 2px solid #dcdcdc;
        background: #fff;
    }

    #contents .formarea input[type="text"],
    #contents .formarea input[type="password"],
    #contents .formarea select,
    #contents .formarea textarea {
        margin: 0;
        padding: 0 15px;
        width: 600px;
        height: 40px;
        font-size: 15px;
        font-weight: 500;
        vertical-align: middle;
        outline: none;
        border: 1px solid #c8c8c8;
        border-radius: 5px;
        box-sizing: border-box;
        background: #fff;
        transition: border-color 0.2s, box-shadow 0.2s;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    #contents .formarea input[type="text"]::-webkit-input-placeholder,
    #contents .formarea input[type="password"]::-webkit-input-placeholder {
        line-height: 24px;
    }
    #contents .formarea input[type="text"]:hover,
    #contents .formarea input[type="password"]:hover,
    #contents .formarea select:hover,
    #contents .formarea textarea:hover {
        border-color: #ffb400;
    }
    #contents .formarea input[type="text"]:focus,
    #contents .formarea input[type="password"]:focus,
    #contents .formarea select:focus,
    #contents .formarea textarea:focus {
        border-color: #ffb400;
        box-shadow: 0px 1px 6px rgba(255,180,0,0.5);
    }
    #contents .formarea select::-ms-expand {
        display: none;
    }
    #contents .formarea .select {
        display: block;
        position: relative;
    }
    #contents .formarea .select:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        right: 15px;
        margin: -4px 0 0;
        width: 12px;
        height: 8px;
        background: url(../images/icon_select_arrow@2x.png) no-repeat;
        background-size: 12px 8px;
    }
    #contents .formarea textarea {
        padding: 15px;
        height: 270px;
        line-height: 25px;
    }

    #contents .formarea .grid {
        display: block;
        margin: 20px 0 0;
        padding: 20px 0 0;
        border-top: 1px dotted #dcdcdc;
    }

    #contents .formarea .half {
        font-size: 0;
    }
    #contents .formarea .margin {
        display: block;
        margin: 10px 0 0;
    }
    #contents .formarea .half input[type="text"],
    #contents .formarea .half select {
        width: 295px;
    }
    #contents .formarea .half input:last-child {
        margin: 0 0 0 10px;
    }
    #contents .formarea .half .select {
        display: inline-block;
    }
    #contents .formarea .half .select:last-child {
        margin: 0 0 0 10px;
    }

    #contents .formarea .trisect {
        font-size: 0;
    }
    #contents .formarea .trisect span {
        display: inline-block;
        margin: 0 0 0 9px;
    }
    #contents .formarea .trisect span:first-child {
        margin: 0;
    }
    #contents .formarea .trisect input[type="text"],
    #contents .formarea .trisect select {
        width: 194px;
    }

    #contents .formarea .column2,
    #contents .formarea .column3,
    #contents .formarea .column4 {
        display: flex;
        flex-wrap: wrap;
        width: 600px;
    }
    #contents .formarea .column2 label {
        width: 300px;
    }
    #contents .formarea .column3 label {
        width: 200px;
    }
    #contents .formarea .column4 label {
        width: 150px;
    }

    #contents .formarea .tdinner {
        display: block;
        margin: 20px 0 0;
    }
    #contents .formarea .caution {
        display: block;
        padding: 15px 0 0 15px;
        font-size: 13px;
        text-indent: -13px;
        line-height: 18px;
    }
    #contents .formarea th .caution {
        padding-top: 5px;
        font-weight: 500;
    }

    #contents .formarea .control {
        position: absolute;
        top: 23px;
        right: 0;
    }
    #contents .formarea .control .button {
        margin: 0 0 0 10px;
    }

    /* boxline
    ----------------------------------------------- */

    #contents .boxline {
        margin: 50px auto 0;
        padding: 30px 0 65px;
        width: 1000px;
        border: 1px solid #dcdcdc;
        box-sizing: border-box;
    }
    #contents .boxline.first {
    }
    #contents .boxline p {
        margin: 0 80px;
        padding: 35px 0 0;
        font-size: 18px;
        line-height: 32px;
    }
    #contents .boxline .caution {
        padding-left: 15px;
        font-size: 15px;
        text-indent: -15px;
        line-height: 25px;
    }

    /* document
    ----------------------------------------------- */

    #contents .document {
        margin: auto;
        width: 1000px;
    }
    #contents .document h3 {
        font-size: 22px;
        font-weight: 500;
        letter-spacing: 0;
        text-align: left;
        line-height: 32px;
    }
    #contents .document h4 {
        margin: 30px 0 0;
        font-size: 20px;
        font-weight: 500;
        line-height: 25px;
    }
    #contents .document h5 {
        margin: 30px 0 0;
        padding: 0 0 0 65px;
        font-size: 18px;
        font-weight: 500;
        text-indent: -65px;
        line-height: 23px;
    }
    #contents .document h6 {
        font-size: 15px;
        font-weight: 600;
        line-height: 20px;
    }
    #contents .document p,
    #contents .document li,
    #contents .document dt,
    #contents .document dd,
    #contents .document th,
    #contents .document td {
        font-size: 15px;
        font-weight: 400;
        text-align: left;
        line-height: 25px;
    }

    #contents .document p {
        margin: 25px 0 0;
    }
    #contents .document em {
        font-style: normal;
        font-weight: 400;
    }

    #contents .document ol,
    #contents .document ul {
        margin: 25px 0 0 30px;
    }
    #contents .document ol li {
        list-style: decimal;
    }
    #contents .document ol ul {
        margin: 0 0 0 20px;
    }
    #contents .document ol ul li {
        list-style: circle;
    }

    #contents .document dt {
        margin: 25px 0 0;
        font-weight: 500;
    }
    #contents .document dd {
        margin: 15px 0 0 15px;
    }
    #contents .document dd ol,
    #contents .document dd ul {
        margin-top: 0;
    }

    #contents .document table {
        margin: 25px 0 0;
        border: 1px solid #dcdcdc;
    }
    #contents .document th,
    #contents .document td {
        padding: 5px 15px;
        border-top: 1px solid #dcdcdc;
    }
    #contents .document th {
        border-right: 1px dotted #dcdcdc;
        background: #f5f5f5;
    }

    #contents .document p.caution {
        padding: 0 0 0 30px;
        font-size: 13px;
        text-indent: -30px;
        line-height: 23px;
    }
    #contents .document ul.caution {
        margin: 25px 0 0;
    }
    #contents .document ul.caution li {
        padding: 0 0 0 55px;
        font-size: 13px;
        text-indent: -55px;
        line-height: 23px;
    }

    #contents .document p.right {
        text-align: right;
    }

    #contents .document article {
        margin: 50px 0 0;
        padding: 50px 0 0;
        border-top: 1px solid #dcdcdc;
    }
    #contents .document .inner {
        margin: 0 0 0 30px;
    }

    /* pagetitle
    ----------------------------------------------- */

    #pagetitle {
        min-height: 125px;
        border-bottom: 1px solid #dcdcdc;
        background: url(../images/bg01@2x.png);
        background-size: 40px 40px;
    }
    #pagetitle .inner {
        margin: auto;
        width: 1000px;
    }
    #pagetitle h2 {
        float: left;
        width: 50%;
        font-size: 24px;
        font-weight: 600;
        line-height: 120px;
    }
    #pagetitle p {
        float: right;
        width: 50%;
        color: #ed7700;
        font-size: 15px;
        font-weight: 500;
        text-align: right;
        vertical-align: middle;
        letter-spacing: 3px;
        line-height: 125px;
    }
    #pagetitle i {
        position: relative;
        top: 1px;
        font-size: 20px;
    }

    /* faq
    ----------------------------------------------- */

    .faq {
        margin: 45px 0 0;
    }
    .faq dl {
        margin: auto;
        width: 1000px;
        word-break: break-word;
    }
    .faq dt {
        position: relative;
        margin: 15px 0 0;
        padding: 12px 55px 12px 65px;
        font-size: 15px;
        font-weight: 600;
        line-height: 20px;
        border: 2px solid #dcdcdc;
        border-radius: 8px;
        background: #fff;
        cursor: pointer;
        transition: border-color 0.2s;
    }
    .faq dt:first-child {
        margin: 0;
    }
    .faq dt:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        right: 20px;
        margin: -4px 0 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 8px 0 8px;
        border-color: #ffb300 transparent transparent transparent;
    }
    .faq dt:hover {
        border-color: #ffb400;
    }
    .faq dt i {
        display: block;
        position: absolute;
        top: 12px;
        left: 40px;
        color: #ffb400;
        font-size: 20px;
    }
    .faq dd {
        display: none;
        padding: 30px 40px 35px;
        font-size: 15px;
        font-weight: 400;
        line-height: 25px;
        border: 2px solid #ffb400;
        border-top: 1px solid #dcdcdc;
        border-radius: 0 0 8px 8px;
        background: #fff;
    }
    .faq dd strong {
        display: inline-block;
        margin: 15px 0 0;
    }
    .faq dt.open {
        border-bottom: 0;
        border-color: #ffb400;
        border-radius: 8px 8px 0 0;
    }
    .faq dt.open:after {
        border-width: 0 8px 10px 8px;
        border-color: transparent transparent #ffb300 transparent;
    }
    .faq dt.open + dd {
        display: block;
    }

    /* modal
    ----------------------------------------------- */

    .modal {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.8);
        overflow: auto;
        z-index: 50;
    }
    .modal .inner {
        position: relative;
        margin: 110px auto 0;
        padding: 20px 0;
        width: 510px;
        text-align: center;
        box-sizing: border-box;
        border-radius: 8px;
        background: #ffb400;
    }
    .modal .base {
        margin: 0 20px;
        padding: 0 0 40px;
        border-radius: 4px;
        background: #fff;
    }
    .modal .close {
        position: absolute;
        top: -60px;
        right: 0px;
        cursor: pointer;
    }
    .modal .close span {
        display: inline-block;
        margin: 0 10px 0 0;
        height: 50px;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        line-height: 50px;
        opacity: 0;
        transform: translateX(10px);
        transition: opacity 0.2s, transform 0.2s;
    }
    .modal .close:hover span {
        opacity: 1;
        transform: translateX(0);
    }
    .modal .close:active img {
        transform: scale(0.95);
    }
    .modal .title {
        position: relative;
        height: 100px;
        font-size: 18px;
        font-weight: 600;
        line-height: 100px;
        border-bottom: 1px solid #dcdcdc;
    }
    .modal .title i {
        position: absolute;
        top: 50%;
        left: 25px;
        margin: -25px 0 0;
        width: 60px;
        color: #ffb400;
        font-size: 50px;
        text-align: center;
    }
    .modal .buttons {
        margin: 25px 0 0;
        font-size: 0;
    }
    .modal .buttons .button {
        margin: 0 10px;
        min-width: 150px;
    }
    .modal .message {
        margin: 0 40px;
        padding: 20px 0 0;
    }
    .modal .message p {
        padding: 15px 0 0;
        font-size: 15px;
        font-weight: 500;
        line-height: 25px;
    }
    .modal .message.left {
        text-align: left;
    }
    .modal .attention {
        display: block;
        margin: 5px 0 0;
        color: #ed7700;
        font-size: 13px;
        font-weight: 600;
        text-align: left;
        line-height: 18px;
    }

    /* remind */

    #modal_remind.on {
        display: block;
    }
    #modal_remind .program {
        margin: 20px 40px 0;
        padding: 25px 0 25px;
        border-radius: 5px;
        background: #f5f5f5;
    }
    #modal_remind .program p {
        margin: 0 30px;
    }
    #modal_remind .program .name {
        font-size: 15px;
        font-weight: 600;
        line-height: 25px;
    }
    #modal_remind .program .date {
        padding: 10px 0 0;
        font-size: 18px;
    }

    /* login */

    #modal_login.on {
        display: block;
    }
    #modal_login .inner {
        display: flex;
        width: 1000px;
    }
    #modal_login .base {
        margin: 0 0 0 20px;
        width: 470px;
        background: #fff;
    }
    #modal_login .caution {
        margin: 20px 40px 0;
        padding: 0 0 0 15px;
        font-size: 15px;
        font-weight: 500;
        text-align: left;
        text-indent: -15px;
        line-height: 25px;
    }
    #modal_login .message {
        text-align: left;
    }

    #modal_login .form {
        margin: 0 40px;
        padding: 25px 0 0;
        font-size: 15px;
        font-weight: 500;
    }
    #modal_login .form p {
        margin: 10px 0 0;
        text-align: left;
    }
    #modal_login .form .save {
        margin: 15px 0 0;
    }
    #modal_login .form input[type="text"],
    #modal_login .form input[type="password"] {
        margin: 0;
        padding: 0 15px;
        width: 100%;
        height: 40px;
        font-size: 15px;
        font-weight: 500;
        vertical-align: middle;
        outline: none;
        border: 1px solid #c8c8c8;
        border-radius: 5px;
        box-sizing: border-box;
        background: #fff;
        transition: border-color 0.2s, box-shadow 0.2s;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    #modal_login .form input[type="text"]::-webkit-input-placeholder,
    #modal_login .form input[type="password"]::-webkit-input-placeholder {
        line-height: 24px;
    }
    #modal_login .form input[type="text"]:hover,
    #modal_login .form input[type="password"]:hover {
        border-color: #ffb400;
    }
    #modal_login .form input[type="text"]:focus,
    #modal_login .form input[type="password"]:focus {
        border-color: #ffb400;
        box-shadow: 0px 1px 6px rgba(255,180,0,0.5);
    }

    #modal_login .form.short {
        padding: 0;
    }
    #modal_login .form.short p {
        position: relative;
    }
    #modal_login .form.short input[type="text"] {
        padding: 0 80px 0 15px;
    }
    #modal_login .form.short .button {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0 15px;
        border-radius: 0 5px 5px 0;
    }

    #modal_login .entry {
        margin: 25px 40px 0;
        text-align: left;
        border-top: 1px solid #dcdcdc;
    }
    #modal_login .entry .subtitle {
        padding: 25px 0 0;
        font-size: 18px;
        font-weight: 600;
    }
    #modal_login .entry .subtitle i {
        color: #ffb400;
    }
    #modal_login .entry .summary {
        margin: 10px 0 0;
        font-size: 15px;
        font-weight: 500;
        line-height: 25px;
    }

    /* forgot */

    #modal_forgot.on {
        display: block;
    }



    /* lightBox
    ----------------------------------------------- */

/*
    #glayLayer {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.8);
        z-index: 100;
    }
    #lightBox_login,
    #lightBox_forgot,
    #lightBox_remind {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    margin: -300px 0 0 -240px;
    width: 480px;
    text-align: center;
    background: #ffcf01;
    z-index: 100;
    }
    #lightBox_login {
        display: block;
    }
    #lightBox_login .lightBox_wrap,
    #lightBox_forgot .lightBox_wrap,
    #lightBox_remind .lightBox_wrap {
        position: relative;
        margin: 10px;
        padding: 20px;
        background: #fff;
    }
    #lightBox_login .lightBox_title,
    #lightBox_forgot .lightBox_title,
    #lightBox_remind .lightBox_title {
        position: relative;
        margin: 0 0 20px;
        width: 100%;
    }
    #lightBox_login .btn_lightBox_close a,
    #lightBox_forgot .btn_lightBox_close a,
    #lightBox_remind .btn_lightBox_close a {
        position: absolute;
        top: 0;
        right: 0;
        width: 71px;
        height: 25px;
        text-indent: 100%;
        white-space: nowrap;
        background: url(../../common/btn_lightBox_close.gif);
        overflow: hidden;
    }
    #lightBox_login .btn_lightBox_close a:hover,
    #lightBox_forgot .btn_lightBox_close a:hover,
    #lightBox_remind .btn_lightBox_close a:hover {
        background: url(../../common/btn_lightBox_close_on.gif);
    }
    #lightBox_login p,
    #lightBox_forgot p,
    #lightBox_remind p {
        margin: 0 -3px 10px 0;
        width: 95%;
        font-size: 13px;
        text-align: left;
        line-height: 20px;
    }
    #lightBox_login .box_wrap {
        margin: 0 40px 15px;
        width: 320px;
    }
    #lightBox_login dt,
    #lightBox_login dd {
        font-size: 13px;
        text-align: left;
        line-height: 20px;
    }
    #lightBox_login dt {
        display: block;
        float: left;
        clear: left;
        padding: 5px 0;
        width: 8em;
    }
    #lightBox_login dd {
        display: block;
        margin: 0 0 0 10em;
        padding: 5px 0 0;
    }
    #lightBox_login .input_text {
        width: 180px;
        border: 2px solid #aaa;
    }
    #lightBox_login .btn_member_service {
        margin: 0;
        width: 100%;
    }
    #lightBox_login .btn_member_service a {
        display: block;
        margin: 0 auto 15px;
        width: 300px;
        height: 50px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background: url(../../member/img/btn_member_service.gif) no-repeat;
    }
    #lightBox_login .btn_member_service a:hover {
        background-position: 0 -50px;
    }
    #lightBox_login .btn_arrow_r {
        padding: 0 0 0 15px;
        color: #ed7700;
        background: url(../../common/icon_arrow_r.gif) no-repeat left center;
    }

    #lightBox_login .attention,
    #lightBox_forgot .attention,
    #lightBox_remind .attention,
    #login_error_msg.attention {
        color: #cc0000;
        font-size: 12px;
        font-weight: 500;
        text-align: left;
        line-height: 20px;
    }
*/

}

/* mobile
----------------------------------------------- */

@media only screen and (max-width:999px) {

    /* alert
    ----------------------------------------------- */

    #alert {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.9);
        z-index: 100;
    }
    #alert.on {
        display: block;
    }
    #alert .inner {
        margin: 15px;
        padding: 0 0 25px;
        border-radius: 5px;
        background: #fff;
    }
    #alert p {
        margin: 0 25px;
        padding: 20px 0 0;
        font-size: 15px;
        font-weight: 400;
        line-height: 25px;
    }
    #alert .title {
        font-size: 20px;
        font-weight: 500;
        text-align: center;
    }
    #alert .link a {
        display: block;
        height: 50px;
        color: #fff;
        font-weight: 600;
        text-align: center;
        text-decoration: none;
        line-height: 50px;
        border-radius: 50px;
        background: #ed7700;
    }

    /* body
    ----------------------------------------------- */

    body {
        margin: 100px 0 0;
    }

    /* header
    ----------------------------------------------- */

    #header {
        position: fixed;
        top: 45px;
        left: 0;
        width: 100%;
        height: 55px;
        background: #fff;
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
        z-index: 50;
    }
    #header h1 img {
        width: auto;
        height: 55px;
    }

    /* footer
    ----------------------------------------------- */

    #footer {
        padding: 25px 0;
    }
    #footer p {
        margin: 0 25px;
        color: #8e8e8e;
        font-size: 11px;
        line-height: 16px;
    }
    #footer ul {
        margin: 20px 25px 0;
    }
    #footer li {
        float: left;
        width: 50%;
    }
    #footer li:last-child {
        color: #8e8e8e;
        font-size: 11px;
        text-align: right;
        line-height: 26px;
    }
    #footer li img {
        width: auto;
        height: 20px;
    }

    /* globalnav
    ----------------------------------------------- */

    #globalnav {
        position: fixed;
        top: 45px;
        left: 73px;
        width: calc(100% - 73px);
        z-index: 50;
    }
    #globalnav li {
        float: left;
        width: 25%;
    }
    #globalnav li:nth-child(3) {
        display: none;
    }
    #globalnav li a {
        display: block;
        position: relative;
        height: 55px;
        color: #1e1e1e;
        font-size: 10px;
        font-weight: 600;
        text-align: center;
        text-decoration: none;
        line-height: 25px;
        overflow: visible;
        transition: background 0.25s;
    }
    #globalnav li a:after {
        display: block;
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        margin: 0 0 0 -10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 10px 0 10px;
        border-color: #f5f5f5 transparent transparent transparent;
        visibility: hidden;
        z-index: 1;
        transition: bottom 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    }
    #globalnav li i {
        display: block;
        padding: 10px 0 8px;
        height: 10px;
        color: #bbbbbb;
        font-size: 18px;
    }

    /* join */

    #globalnav .join a {
        color: #ed7700;
    }
    #globalnav .join i {
        color: #ed7700;
    }

    /* timetable */

    #globalnav .timetable a {
        color: #fff;
        background: #e63c32;
    }
    #globalnav .timetable i {
        color: #fff;
    }

    /* on */

    #globalnav li.on a,
    #globalnav li.on i {
        position: relative;
        color: #ed7700;
        background: #f5f5f5;
        overflow: visible;
    }
    #globalnav li.on a:after {
        bottom: -10px;
        visibility: visible;
    }

    /* membernav
    ----------------------------------------------- */

    #membernav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 45px;
        background: #787878;
        z-index: 50;
    }
    #membernav li {
        float: left;
        margin: 0 0 0 15px;
        font-size: 10px;
        font-weight: 600;
    }
    #membernav li:first-child {
        display: none;
    }
    #membernav li span {
        display: none;
    }
    #membernav li a {
        display: block;
        height: 45px;
        color: #fff;
        text-decoration: none;
        line-height: 45px;
    }
    #membernav li i {
        display: inline-block;
        width: 13px;
        color: #ffb400;
        text-align: center;
    }
    #membernav .menu {
        position: absolute;
        top: 0;
        right: 15px;
        padding: 0 0 0 11px;
    }
    #membernav .menu:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        margin: -7px 0 0;
        width: 1px;
        height: 15px;
        background: #dcdcdc;
    }

    /* login */

    #membernav.login {
        background: #ffb400;
    }
    #membernav.login li a {
        color: #1e1e1e;
    }
    #membernav.login li i {
        color: #ffe8b2;
    }
    #membernav.login .menu:after {
        background: #ffd980;
    }

    /* sidenav
    ----------------------------------------------- */

    #sidenav {
        position: fixed;
        top: 100px;
        left: 0;
        width: 100%;
        height: calc(100% - 100px);
        background: #1e1e1e;
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
        overflow: auto;
        z-index: 40;
        transform: translateY(-100%);
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        -webkit-overflow-scrolling: touch;
    }
    #sidenav.on {
        transform: translateY(0%);
    }
    #sidenav .inner {
        margin: auto;
        padding: 25px 0 50px;
        max-width: 640px;
    }
    #sidenav .keywordsearch {
        position: relative;
        margin: 0 25px;
        padding: 0 0 10px;
    }
    #sidenav .keywordsearch p {
        height: 40px;
        border-radius: 40px;
        background: #fff;
    }
    #sidenav .keywordsearch input {
        margin: 0;
        padding: 0 0 0 15px;
        width: calc(100% - 55px);
        height: 40px;
        font-size: 15px;
        font-weight: 600;
        line-height: 1;
        outline: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        -webkit-appearance: none;
    }
    #sidenav .keywordsearch input::-webkit-input-placeholder {
        line-height: 25px;
    }
    #sidenav .keywordsearch button {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0;
        width: 40px;
        height: 40px;
        color: #ed7700;
        font-size: 18px;
        text-align: center;
        line-height: 40px;
        outline: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        cursor: pointer;
        -webkit-appearance: none;
    }

    #sidenav ul {
        margin: 15px 25px 0;
        border-radius: 8px;
        background: #fff;
        overflow: hidden;
    }
    #sidenav li {
        font-size: 15px;
        font-weight: 500;
        border-top: 1px solid #dcdcdc;
    }
    #sidenav li:first-child {
        border-top: 0;
    }
    #sidenav li a {
        display: block;
        padding: 0 15px;
        height: 40px;
        color: #1e1e1e;
        text-decoration: none;
        line-height: 40px;
    }
    #sidenav li i {
        display: inline-block;
        width: 18px;
        color: #ed7700;
        text-align: center;
    }
    #sidenav .close {
        margin: 25px auto 0;
        width: 120px;
        height: 40px;
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        line-height: 40px;
        border-radius: 40px;
        background: #fff;
        cursor: pointer;
    }
    #sidenav .close i {
        display: inline-block;
        width: 18px;
        text-align: center;
    }

    /* sitenav
    ----------------------------------------------- */

    #sitenav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #ed7700;
        overflow: auto;
        z-index: 60;
        transform: translateX(100%);
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        -webkit-overflow-scrolling: touch;
    }
    #sitenav.on {
        transform: translateX(0);
    }
    #sitenav .menu {
        margin: 45px 0 0;
        background: #1e1e1e;
    }
    #sitenav .menu li {
        border-bottom: 1px solid #646464;
    }
    #sitenav .menu li a {
        display: block;
        position: relative;
        padding: 0 25px;
        height: 50px;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        text-decoration: none;
        line-height: 50px;
    }
    #sitenav .menu li i {
        display: block;
        position: absolute;
        top: 0;
        right: 15px;
        height: 50px;
        color: #646464;
        line-height: 50px;
    }
    #sitenav .link {
        padding: 50px 0;
        background: #1e1e1e;
    }
    #sitenav .link p {
        position: absolute;
        top: 10px;
        right: 15px;
    }
    #sitenav .link p img {
        width: auto;
        height: 20px;
    }
    #sitenav .link ul {
        font-size: 0;
        text-align: center;
    }
    #sitenav .link li {
        display: inline-block;
        margin: 0 10px;
    }
    #sitenav .link li a {
        display: block;
    }
    #sitenav .link li a img {
        width: 44px;
        height: 44px;
    }
    #sitenav .close {
        position: absolute;
        top: 0;
        left: 0;
        padding: 0 15px;
        height: 45px;
        font-size: 10px;
        font-weight: 600;
        line-height: 45px;
        cursor: pointer;
    }
    #sitenav .close i {
        display: inline-block;
        width: 18px;
        color: #ffe8b2;
        text-align: center;
    }

    /* linknav
    ----------------------------------------------- */

    #linknav {
        background: #1e1e1e;
    }
    #linknav .pageup {
        text-align: center;
        border-top: 1px solid #dcdcdc;
        background: #fff;
        cursor: pointer;
    }
    #linknav .pageup img {
        width: auto;
        height: 50px;
    }
    #linknav li {
        border-top: 1px solid #969696;
    }
    #linknav li:first-child {
        border-top: 0;
    }
    #linknav li a {
        display: block;
        padding: 0 25px;
        height: 50px;
        color: #c8c8c8;
        font-size: 13px;
        font-weight: 500;
        text-decoration: none;
        line-height: 50px;
    }

    /* loginstatus
    ----------------------------------------------- */

    #loginstatus {
        position: absolute;
        top: 100px;
        left: 0;
        width: 100%;
        height: 40px;
        background: #ed7700;
        overflow: hidden;
        z-index: 30;
        transform: translateY(-40px);
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    }
    #loginstatus.on {
        transform: translateY(0px);
    }
    #loginstatus .inner {
        position: relative;
        margin: auto;
        width: 320px;
    }
    #loginstatus figure {
        transform: translateY(-2px);
    }
    #loginstatus figure img {
        width: 83px;
        height: auto;
    }
    #loginstatus .message {
        position: absolute;
        top: 5px;
        left: 78px;
        padding: 0 15px;
        height: 30px;
        font-size: 10px;
        font-weight: 600;
        line-height: 30px;
        border-radius: 30px;
        background: #fff;
    }
    #loginstatus .message:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: -10px;
        margin: -4px 0 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 4px 15px 4px 0;
        border-color: transparent #ffffff transparent transparent;
    }

    /* login */

    #loginstatus.login figure img {
        width: 98px;
        height: auto;
    }

    /* campaign-banner
    ----------------------------------------------- */

    #campaign-banner {
        padding: 25px 0;
        border-top: 1px solid #dcdcdc;
    }
    #campaign-banner .inner {
        margin: auto;
        max-width: 640px;
    }
    #campaign-banner h3 {
        padding: 0 0 15px;
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        letter-spacing: 5px;
    }
    #campaign-banner ul {
        margin: 0 25px;
        font-size: 0;
        text-align: center;
    }
    #campaign-banner li {
        display: inline-block;
        margin: 10px 5px 0;
    }
    #campaign-banner li img {
        width: auto;
        height: 50px;
    }

    /* button
    ----------------------------------------------- */

    section .more   {
        padding: 10px 0 0;
        font-size: 0;
        text-align: center;
    }

    .button,
    .button:hover,
    .button:active {
        display: block;
        margin: 15px auto 0;
        width: 270px;
        height: 40px;
        color: #fff !important;
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        text-decoration: none !important;
        line-height: 40px;
        border: 0;
        border-radius: 40px;
        box-sizing: border-box;
        outline: none;
        background: #ed7700;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    .button i {
        display: inline-block;
        margin: 0 5px 0 0;
    }
    .button.mini {
        padding: 0 20px;
        min-width: 170px;
        width: auto;
        height: 40px;
        font-size: 12px;
        line-height: 40px;
        border-radius: 5px;
    }

    /* gray */

    .button.gray {
        background-color: #bbbbbb;
    }

    /* yellow */

    .button.yellow {
        color: #1e1e1e !important;
        background-color: #f5af16;
    }

    /* contents
    ----------------------------------------------- */

    #contents {
        padding: 0 0 50px;
    }
    #contents .section_inner {
        margin: auto;
        padding: 25px 0 0;
        max-width: 640px;
    }
    #contents a {
        color: #ed7700;
        text-decoration: underline;
    }
    #contents h3 {
        margin: 0 25px;
        padding: 50px 0 0;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        line-height: 28px;
    }
    #contents h3.grid {
        margin: 50px 0 0;
        width: auto;
        border-top: 1px solid #dcdcdc;
    }
    #contents .section_inner h3 {
        padding: 25px 0 0;
    }
    #contents .section_inner h3.grid {
        padding: 50px 0 0;
    }
    #contents h3 em {
        color: #ed7700;
        font-style: normal;
    }
    #contents .content {
        margin: 0 25px;
    }
    #contents .content.center {
        text-align: center;
    }
    #contents .content p {
        padding: 20px 0 0;
        font-size: 15px;
        line-height: 25px;
    }
    #contents .content p.nowrap br {
        display: none;
    }

    /* formarea
    ----------------------------------------------- */

    #contents .formarea {
        position: relative;
        margin: 40px 25px 0;
    }
    #contents .formarea .need {
        color: #ed7700;
    }
    #contents .formarea .guide {
        font-size: 12px;
        font-weight: 500;
        line-height: 17px;
    }

    #contents .formarea .campaign {
        margin: 0 0 25px;
        padding: 0 0 15px;
        font-feature-settings: "palt";
        border-radius: 5px;
        background: #ffb400;
    }
    #contents .formarea .campaign h4 {
        margin: 0 15px;
        padding: 10px 0 0;
        font-size: 15px;
        line-height: 25px;
    }
    #contents .formarea .campaign p {
        margin: 0 15px;
        padding: 10px 0 0;
        font-size: 12px;
    }

    #contents .formarea .agree {
        margin: 25px 0 0;
        padding: 5px 0 15px;
        border: 1px solid #dcdcdc;
        border-radius: 5px;
    }
    #contents .formarea .agree p {
        margin: 0 15px;
        padding: 10px 0 0;
        font-size: 12px;
        line-height: 22px;
    }
    #contents .formarea .agree .caution {
        margin: 0 15px;
        padding: 10px 0 0 12px;
        text-indent: -12px;
        line-height: 17px;
    }

    #contents .formarea .alert {
        margin: 15px 0 0;
        border: 1px solid #ed7700;
        border-radius: 5px;
    }
    #contents .formarea .alert ul {
        margin: 0 15px;
        padding: 15px 0;
    }
    #contents .formarea .alert li {
        color: #ed7700;
        font-size: 12px;
        font-weight: 600;
        line-height: 22px;
    }

    #contents .formarea .attention {
        display: block;
        margin: 10px 0 0;
        color: #ed7700;
        font-size: 10px;
        font-weight: 600;
        line-height: 15px;
    }

    #contents .formarea table {
        margin: 15px 0 0;
        width: 100%;
        border-top: 2px solid #dcdcdc;
        border-bottom: 2px solid #dcdcdc;
    }
    #contents .formarea th,
    #contents .formarea td {
        display: block;
        font-size: 12px;
        font-weight: 500;
        text-align: left;
        vertical-align: top;
        line-height: 22px;
    }
    #contents .formarea th {
        padding: 5px 15px;
        font-weight: 600;
        background: #f5f5f5;
    }
    #contents .formarea td {
        padding: 15px;
    }

    #contents .formarea thead tr {
        border-top: 2px solid #dcdcdc;
    }
    #contents .formarea thead th {
        padding: 20px 0;
        font-size: 15px;
        font-weight: 600;
        border: 0;
        background: #fff;
    }

    #contents .formarea input[type="text"],
    #contents .formarea input[type="password"],
    #contents .formarea select,
    #contents .formarea textarea {
        margin: 0;
        padding: 0 10px;
        width: 100%;
        height: 40px;
        font-size: 12px;
        font-weight: 500;
        vertical-align: middle;
        outline: none;
        border: 1px solid #c8c8c8;
        border-radius: 5px;
        box-sizing: border-box;
        background: #fff;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    #contents .formarea input[type="text"]::-webkit-input-placeholder,
    #contents .formarea input[type="password"]::-webkit-input-placeholder {
        line-height: 20px;
    }
    #contents .formarea input[type="text"]:focus,
    #contents .formarea input[type="password"]:focus,
    #contents .formarea select:focus,
    #contents .formarea textarea:focus {
        border-color: #ffb400;
        box-shadow: 0px 1px 6px rgba(255,180,0,0.5);
    }
    #contents .formarea select::-ms-expand {
        display: none;
    }
    #contents .formarea .select {
        display: block;
        position: relative;
    }
    #contents .formarea .select:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        right: 15px;
        margin: -4px 0 0;
        width: 12px;
        height: 8px;
        background: url(../images/icon_select_arrow@2x.png) no-repeat;
        background-size: 12px 8px;
    }
    #contents .formarea textarea {
        padding: 10px;
        height: 130px;
        line-height: 22px;
    }

    #contents .formarea .grid {
        display: block;
        margin: 10px 0 0;
        padding: 10px 0 0;
        border-top: 1px dotted #dcdcdc;
    }

    #contents .formarea .half input:last-child {
        margin: 10px 0 0;
    }
    #contents .formarea .margin {
        display: block;
        margin: 15px 0 0;
    }
    #contents .formarea .half .select:last-child {
        margin: 5px 0 0;
    }

    #contents .formarea .trisect .select {
        margin: 10px 0 0;
    }

    #contents .formarea .column2 label,
    #contents .formarea .column3 label,
    #contents .formarea .column4 label {
        display: block;
    }

    #contents .formarea .tdinner {
        display: block;
        margin: 10px 0 0;
    }
    #contents .formarea .caution {
        display: block;
        padding: 10px 0 0 12px;
        text-indent: -12px;
        line-height: 17px;
    }
    #contents .formarea th .caution {
        padding-top: 5px;
        font-size: 12px;
        font-weight: 500;
        line-height: 17px;
    }

    #contents .formarea .control {
        position: absolute;
        top: 12px;
        right: 0;
    }
    #contents .formarea .control .button {
        margin: 0 0 0 10px;
        padding: 0 10px;
        width: auto;
        min-width: 0;
    }

    /* boxline
    ----------------------------------------------- */

    #contents .boxline {
        margin: 0 25px;
    }
    #contents .boxline p {
        padding: 25px 0 0;
        font-size: 15px;
        line-height: 25px;
    }
    #contents .boxline .caution {
        padding-left: 12px;
        font-size: 12px;
        text-indent: -12px;
        line-height: 17px;
    }

    /* document
    ----------------------------------------------- */

    #contents .document {
        margin: 0 25px;
    }
    #contents .document h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 0;
        text-align: left;
        line-height: 23px;
    }
    #contents .document h4 {
        margin: 25px 0 0;
        font-size: 18px;
        font-weight: 500;
        line-height: 28px;
    }
    #contents .document h5 {
        margin: 25px 0 0;
        font-size: 15px;
        font-weight: 600;
        line-height: 25px;
    }
    #contents .document h6 {
        margin: 25px 0 0;
        font-size: 15px;
        font-weight: 600;
        line-height: 20px;
    }
    #contents .document p,
    #contents .document li,
    #contents .document dt,
    #contents .document dd,
    #contents .document th,
    #contents .document td {
        font-size: 12px;
        font-weight: 400;
        text-align: left;
        line-height: 22px;
    }

    #contents .document p {
        margin: 25px 0 0;
    }
    #contents .document em {
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
    }

    #contents .document ol,
    #contents .document ul {
        margin: 25px 0 0 30px;
    }
    #contents .document ol li {
        list-style: decimal;
    }
    #contents .document ol ul {
        margin: 0 0 0 20px;
    }
    #contents .document ol ul li {
        list-style: circle;
    }

    #contents .document dt {
        margin: 25px 0 0;
        font-weight: 600;
    }
    #contents .document dd {
        margin: 15px 0 0 15px;
    }
    #contents .document dd ol,
    #contents .document dd ul {
        margin-top: 0;
    }

    #contents .document article {
        margin: 25px 0 0;
        padding: 25px 0 0;
        border-top: 1px solid #dcdcdc;
    }
    #contents .document .inner {
        margin: 0 0 0 25px;
    }

    #contents .document table {
        margin: 25px 0 0;
        border: 1px solid #dcdcdc;
    }
    #contents .document th,
    #contents .document td {
        padding: 5px 15px;
        border-top: 1px solid #dcdcdc;
    }
    #contents .document th {
        border-right: 1px dotted #dcdcdc;
        background: #f5f5f5;
    }

    #contents .document p.caution {
        padding: 0 0 0 25px;
        font-size: 10px;
        text-indent: -25px;
        line-height: 20px;
    }
    #contents .document ul.caution {
        margin: 25px 0 0;
    }
    #contents .document ul.caution li {
        padding: 0 0 0 44px;
        font-size: 10px;
        text-indent: -44px;
        line-height: 20px;
    }

    #contents .document p.right {
        text-align: right;
    }

    /* pagetitle
    ----------------------------------------------- */

    #pagetitle {
        border-bottom: 1px solid #dcdcdc;
        background: url(../images/bg01@2x.png);
        background-size: 40px 40px;
    }
    #pagetitle .inner {
        margin: auto;
        max-width: 640px;
    }
    #pagetitle h2 {
        margin: 0 25px;
        padding: 15px 0;
        font-size: 20px;
        font-weight: 600;
        line-height: 25px;
    }
    #pagetitle p {
        display: none;
    }

    /* faq
    ----------------------------------------------- */

    .faq {
        margin: 25px 0 0;
    }
    .faq dl {
        margin: 0 25px;
        word-break: break-word;
    }
    .faq dt {
        position: relative;
        margin: 15px 0 0;
        padding: 15px 40px 15px 50px;
        font-size: 15px;
        font-weight: 600;
        line-height: 20px;
        border: 2px solid #dcdcdc;
        border-radius: 8px;
        background: #fff;
        cursor: pointer;
    }
    .faq dt:first-child {
        margin: 0;
    }
    .faq dt:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        right: 15px;
        margin: -4px 0 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 8px 0 8px;
        border-color: #ffb300 transparent transparent transparent;
    }
    .faq dt i {
        display: block;
        position: absolute;
        top: 15px;
        left: 25px;
        color: #ffb400;
        font-size: 20px;
    }
    .faq dd {
        display: none;
        padding: 20px 25px;
        font-size: 13px;
        line-height: 23px;
        border: 2px solid #ffb400;
        border-top: 1px solid #dcdcdc;
        border-radius: 0 0 8px 8px;
        background: #fff;
    }
    .faq dd strong {
        display: inline-block;
        margin: 20px 0 0;
    }
    .faq dt.open {
        border-bottom: 0;
        border-color: #ffb400;
        border-radius: 8px 8px 0 0;
    }
    .faq dt.open:after {
        border-width: 0 8px 10px 8px;
        border-color: transparent transparent #ffb300 transparent;
    }
    .faq dt.open + dd {
        display: block;
    }

    /* modal
    ----------------------------------------------- */

    .modal {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        padding: 0 0 25px;
        width: 100%;
        height: calc(100% - 25px);
        background: rgba(0,0,0,0.8);
        overflow: auto;
        z-index: 50;
    }
    .modal .inner {
        position: relative;
        margin: 70px auto 0;
        max-width: 640px;
    }
    .modal .base {
        margin: 0 25px;
        padding: 0 0 15px;
        border: 10px solid #ffb400;
        box-sizing: border-box;
        border-radius: 8px;
        background: #fff;
    }
    .modal .close {
        position: absolute;
        top: -60px;
        right: 25px;
        cursor: pointer;
    }
    .modal .close span {
        display: inline-block;
        margin: 0 10px 0 0;
        height: 50px;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        line-height: 50px;
    }
    .modal .title {
        position: relative;
        height: 65px;
        font-size: 15px;
        font-weight: 600;
        text-indent: 55px;
        line-height: 65px;
        border-bottom: 1px solid #dcdcdc;
    }
    .modal .title i {
        position: absolute;
        top: 50%;
        left: 15px;
        margin: -15px 0 0;
        width: 30px;
        color: #ffb400;
        font-size: 30px;
        text-align: center;
        text-indent: 0;
    }
    .modal .buttons {
        margin: 15px 10px 0;
        font-size: 0;
        text-align: center;
    }
    .modal .buttons .button {
        display: inline-block;
        margin: 0 5px;
        padding: 0;
        width: calc(50% - 10px);
        min-width: 0;
    }
    .modal .message {
        margin: 0 15px;
        padding: 5px 0 0;
    }
    .modal .message p {
        padding: 10px 0 0;
        font-size: 12px;
        line-height: 20px;
    }
    .modal .attention {
        display: block;
        margin: 10px 0 0;
        color: #ed7700;
        font-size: 10px;
        font-weight: 600;
        line-height: 15px;
    }

    /* remind */

    #modal_remind.on {
        display: block;
    }
    #modal_remind .program {
        margin: 15px 15px 0;
        padding: 15px 0;
        border-radius: 5px;
        background: #f5f5f5;
    }
    #modal_remind .program p {
        margin: 0 15px;
    }
    #modal_remind .program .name {
        font-size: 12px;
        font-weight: 600;
        line-height: 17px;
    }
    #modal_remind .program .date {
        padding: 10px 0 0;
        font-size: 12px;
    }

    /* login */

    #modal_login.on {
        display: block;
    }
    #modal_login .base.login {
        border-bottom: 0;
        border-radius: 8px 8px 0 0;
    }
    #modal_login .base.forgot {
        border-radius: 0 0 8px 8px;
    }
    #modal_login .caution {
        margin: 15px 15px 0;
        padding: 0 0 0 12px;
        font-size: 12px;
        font-weight: 500;
        text-align: left;
        text-indent: -12px;
        line-height: 20px;
    }
    #modal_login .form {
        margin: 0 15px;
        font-size: 15px;
        font-weight: 500;
    }
    #modal_login .form p {
        margin: 10px 0 0;
        text-align: left;
    }
    #modal_login .form .save {
        margin: 15px 0 0;
    }

    #modal_login .form input[type="text"],
    #modal_login .form input[type="password"] {
        margin: 0;
        padding: 0 10px;
        width: 100%;
        height: 40px;
        font-size: 12px;
        font-weight: 500;
        vertical-align: middle;
        outline: none;
        border: 1px solid #c8c8c8;
        border-radius: 5px;
        box-sizing: border-box;
        background: #fff;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    #modal_login .form input[type="text"]::-webkit-input-placeholder,
    #modal_login .form input[type="password"]::-webkit-input-placeholder {
        line-height: 20px;
    }
    #modal_login .form input[type="text"]:focus,
    #modal_login .form input[type="password"]:focus {
        border-color: #ffb400;
        box-shadow: 0px 1px 6px rgba(255,180,0,0.5);
    }

    #modal_login .form .buttons {
        margin: 15px 0 0;
    }
    #modal_login .form .button {
        margin: 0;
        width: 100%;
    }
    #modal_login .form.short {
    }
    #modal_login .form.short p {
        position: relative;
    }
    #modal_login .form.short input[type="text"] {
        padding: 0 70px 0 10px;
    }
    #modal_login .form.short .button {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0 15px;
        width: auto;
        min-width: 0;
        border-radius: 0 5px 5px 0;
    }

    #modal_login .entry {
        margin: 15px 15px 0;
        text-align: left;
        border-top: 1px solid #dcdcdc;
    }
    #modal_login .entry .subtitle {
        padding: 15px 0 0;
        font-size: 15px;
        font-weight: 600;
    }
    #modal_login .entry .subtitle i {
        color: #ffb400;
    }
    #modal_login .entry .summary {
        margin: 10px 0 0;
        font-size: 12px;
        font-weight: 500;
        line-height: 20px;
    }

    /* forgot */

    #modal_forgot.on {
        display: block;
    }










    /* lightBox
    ----------------------------------------------- */

/*
    #glayLayer {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.8);
        z-index: 100;
        overflow: auto;
    }
    #lightBox_login,
    #lightBox_forgot,
    #lightBox_remind {
    display: none;
    position: absolute;
    top: 10px;
    left: 10px;
    margin: 0!important;
    width: calc(100% - 20px);
    text-align: center;
    background: #ffcf01;
    z-index: 100;
    }
    #lightBox_login {
        display: block;
    }
    #lightBox_login .lightBox_wrap,
    #lightBox_forgot .lightBox_wrap,
    #lightBox_remind .lightBox_wrap {
        position: relative;
        margin: 10px;
        padding: 20px;
        background: #fff;
    }
    #lightBox_login .lightBox_title,
    #lightBox_forgot .lightBox_title,
    #lightBox_remind .lightBox_title {
        position: relative;
        margin: 0 0 20px;
        width: 100%;
    }
    #lightBox_login .lightBox_title img,
    #lightBox_forgot .lightBox_title img,
    #lightBox_remind .lightBox_title img {
        width: auto;
        height: 25px;
    }
    #lightBox_login .btn_lightBox_close a,
    #lightBox_forgot .btn_lightBox_close a,
    #lightBox_remind .btn_lightBox_close a {
        position: absolute;
        top: 0;
        right: 0;
        width: 35px;
        height: 12px;
        text-indent: 100%;
        white-space: nowrap;
        background: url(../../common/btn_lightBox_close.gif);
        background-size: 35px 12px;
        overflow: hidden;
    }
    #lightBox_login p,
    #lightBox_forgot p,
    #lightBox_remind p {
        margin: 0 -3px 10px 0;
        width: 95%;
        font-size: 13px;
        text-align: left;
        line-height: 20px;
    }
    #lightBox_login .box_wrap {
        margin: 0 40px 15px;
    }
    #lightBox_login dt,
    #lightBox_login dd {
        padding: 5px 0;
        font-size: 13px;
        text-align: left;
        line-height: 20px;
    }
    #lightBox_login dd input[type="image"] {
        width: auto;
        height: 30px;
    }
    #lightBox_login .input_text {
        width: 180px;
        border: 2px solid #aaa;
    }
    #lightBox_login .btn_member_service {
        margin: 0;
        width: 100%;
    }
    #lightBox_login .btn_member_service a {
        display: block;
        margin: 0 auto 15px;
        width: 150px;
        height: 25px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background: url(../../member/img/btn_member_service.gif) no-repeat;
        background-size: 150px 50px;
    }
    #lightBox_login .btn_arrow_r {
        color: #ed7700;
    }

    #lightBox_login .attention,
    #lightBox_forgot .attention,
    #lightBox_remind .attention,
    #login_error_msg.attention {
        color: #cc0000;
        font-size: 12px;
        font-weight: 500;
        text-align: left;
        line-height: 20px;
    }
*/

}
.attention { color:#ed7700; }
/* keyframes
----------------------------------------------- */

@keyframes bounce {
  0% { transform: translateY(-7px); }
  5% { transform: translateY(-5px); }
  10% { transform: translateY(-7px); }
  15% { transform: translateY(-5px); }
  20% { transform: translateY(-7px); }
}