/* pages.css */


/* pages common  */
.pages #wrapper {
    background: #FFF;
}

.pages #header {
    background: url(../img/bg_pages_header.png) repeat-x center top #FFF;
}

.pages .header-shadow {
    width: 1000px;
}

.pages #content-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0 0 100px 0;
    position: relative;
}

.pages .content-inner-responsive {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 100px 0;
    position: relative;
}

.pages #footer {
    background: url(../img/bg_pages_footer.png) repeat-x center bottom #FFF;
}

.pages #footer-inner {
    padding: 50px 0 50px 0;
}

.pages .footer-bn {
    text-align: center;
    margin: 20px 0 0 0;
}

    .pages .footer-bn a {
        padding: 0;
    }

.pages .h-drop {
    background: url(../img/icon_bubble.png) left center no-repeat;
    padding: 4px 0 0 38px;
    margin: 0 0 25px 0;
    line-height: 1.5;
    font-size: 24px;
    color: #508CF0;
    font-weight: normal;
}


/* コース詳細 */
.course-detail {
    max-width: 930px;
    width: 100%;
    margin: 0 auto;
}

    .course-detail .course-id {
        font-size: 16px;
    }

    .course-detail .right li {
        line-height: 1.3;
        word-break: break-word;
    }

    .course-detail .right .course-detail-title {
        font-weight: bold;
    }

    .course-detail .course-title {
        color: #508cf0;
        font-size: 40px;
        line-height: 1.37;
        padding: 10px 0 40px;
    }

    .course-detail .course-box {
        margin: 0 0 50px 0;
    }

    .course-detail .right .course-box ul li {
        font-size: 1.6rem;
    }

    .course-detail .ph-box {
        margin: 0 0 20px 0;
        display: table;
        width: 100%;
    }

    .course-detail .ph {
        display: table-cell;
        vertical-align: middle;
        text-align: right;
    }

    .course-detail .teacher-name {
        display: table-cell;
        vertical-align: middle;
        font-size: 20px;
        font-weight: bold;
        text-align: left;
        color: #636363;
    }

    .course-detail .word-break {
        word-break: break-word;
    }

    .course-detail .borders {
        border: 1px solid #ededed;
    }

    .course-detail .overflow-wrap-btn {
        white-space: pre-line;
        overflow-wrap: break-word;
    }

    .course-detail .btn-signup {
        border-radius: 2px;
        height: 36px;
        width: 320px;
        color: #FFF;
        font-size: 16px;
        text-align: center;
        display: table-cell;
        vertical-align: middle;
        box-shadow: 0 1px 1px 0 rgba(0,0,0,0.4);
        background: #58cee2;
        background: -moz-radial-gradient(top, ellipse cover, #58cee2 0%, #1db4d5 100%);
        background: -webkit-gradient(radial, center top, 0px, center center, 100%, color-stop(0%,#58cee2), color-stop(99%,#1db4d5));
        background: -webkit-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
        background: -o-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
        background: -ms-radial-gradient(top, ellipse cover, #58cee2 0%,#1db4d5 100%);
        background: radial-gradient(ellipse at top, #58cee2 0%,#1db4d5 100%);
    }

        .course-detail .btn-signup:hover {
            text-decoration: none;
        }

    .course-detail .course-img {
        margin: 30px 0;
    }

    .course-detail .img-course-detail {
        width: 280px;
        height: 160px;
        margin: 30px auto;
    }

    .course-detail .disabled-btn {
        background-color: gray !important;
        border-color: gray !important;
        font-size: 2.3rem !important;
    }

    .course-detail iframe {
        max-width: 290px;
        max-height: 163px;
        width: 100%;
        height: 100%;
    }

@media screen and (max-width: 992px) {
    .course-detail {
        padding: 0 15px;
    }

        .course-detail .course-id {
            font-size: 1.4rem;
        }

        .course-detail .course-title {
            font-size: 3rem;
            padding-top: 30px;
            font-weight: 600;
        }

        .course-detail .course-box .h-drop {
            font-weight: 600;
            font-size: 2rem;
        }
}

@media screen and (min-width: 768px) {
    .course-detail .for-pc {
        display: block !important;
    }

    .course-detail .for-sp {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .course-detail .for-pc {
        display: none !important;
    }

    .course-detail .for-sp {
        display: block !important;
    }

    .attention {
        font-size: 1.4rem !important;
        color: darkorange;
        margin-bottom: 15px !important;
    }

    .course-detail .course-title {
        font-size: 2.8rem;
        padding: 20px 0 20px;
    }

    .course-detail .img-course-detail {
        width: 280px;
        height: 160px;
        margin: 0 auto 2.5rem;
    }
}

@media screen and (max-width: 576px) {
    .course-detail {
        width: 100%;
        padding: 0 15px;
    }

        .course-detail .course-id {
            font-size: 1.3rem;
        }

        .course-detail .course-title {
            font-size: 2.3rem;
            line-height: 1.2;
            padding: 20px 0 15px;
        }

        .course-detail .course-box {
            margin: 0 0 20px 0;
        }

            .course-detail .course-box .h-drop {
                font-size: 1.8rem;
            }

            .course-detail .course-box .p-large {
                line-height: 1.4;
            }

        .course-detail .right .course-box ul li {
            font-size: 1.4rem;
        }

        .course-detail .disabled-btn {
            font-size: 2.3rem;
            padding: 12px 0 !important;
        }

        .course-detail .img-course-detail {
            width: 230px;
            height: 131px;
            margin: 0 auto 2rem;
        }

        .course-detail .ph-box {
            display: block;
        }

        .course-detail .teacher-name {
            display: block;
        }

        .course-detail .ph {
            display: block;
            text-align: left;
            margin-top: 15px;
        }

        .course-detail .for-sp .conversion-button {
            font-size: 2.3rem;
        }
}

.table-course-detail {
    width: 100%;
}

    .table-course-detail th,
    .table-course-detail td {
        font-size: 16px;
        padding: 0 0 28px 0;
        line-height: 1.5;
    }

    .table-course-detail td {
        text-align: right;
    }

.course-movie .movie-title {
    color: #FFF;
    line-height: 1.5;
    padding: 4px 10px;
    background: #000;
    font-size: 16px;
}


/* アプリケーション一覧 */
.application-list {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

    .application-list .app-container-btn {
        background: none !important;
        border: none !important;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        margin-bottom: 3rem;
    }

    .application-list .pages-title {
        color: #508cf0;
        font-size: 30px;
        text-align: left;
        margin: 6rem 0;
    }

.application-box {
    margin: 0 0 80px 0;
    display: table;
}

.app-ph {
    margin: 0 0 20px 0;
}

.application-box .app-name-box .app-name {
    color: #508cf0;
    font-size: 20px;
    margin: 0 0 15px 0;
    line-height: 1.37;
}

.app-star {
    padding: 4px 4px 2px 0;
    color: #636363;
    font-size: 18px;
    letter-spacing: 2px;
    margin: 0 0 0 0;
}

.app-star-sp {
    display: inline-block;
    background-color: #2980ff;
    /*background-color: #FFB800;*/
    border-radius: 0.3rem;
    padding: 0.5rem 0.5rem 0.3rem;
    color: #fff !important;
    font-size: 1.3rem;
}

.app-store {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.badge-app-box {
    width: 100%;
}

    .badge-app-box a {
        margin: 0 0 0 10px;
        display: inline-block;
    }

        .badge-app-box a img {
            width: auto;
            height: 45px;
        }

.kindleWidget {
    vertical-align: middle;
}

.app-exp {
    clear: both;
    font-size: 16px;
    color: #636363;
    line-height: 1.5;
    text-align: justify;
}

.application-box .app-name-box {
    padding: 0 0 0 20px;
}

.application-list .btn {
    font-size: 14px;
    color: #fff;
    padding: 6px 14px;
    border: 1px solid #28a4c9;
    border-radius: 4px;
    transition: none;
    white-space: pre-line;
}

.application-list .btn-info {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da;
}

    .application-list .btn-info:hover {
        color: #fff;
        background-color: #31b0d5;
        border-color: #269abc;
    }

.application-list .btn-white,
.jp-course-list .btn-white {
    background-color: #fff !important;
    color: #31b0d5 !important;
    border: 2px solid #31b0d5 !important;
}

.jp-course-list .btn {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

.application-list .btn-white:hover,
.jp-course-list .btn-white:hover {
    background-color: #31b0d5 !important;
    color: #fff !important;
    border: 2px solid #31b0d5 !important;
}

.application-list .btn-lg {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
}

.app-modal .modal-header {
    justify-content: end;
}

.app-modal .modal-dialog {
    min-width: 300px;
    margin: 0 auto !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
    -ms-transform: translate(-50%, -50%) !important;
}

.app-modal .modal-body {
    padding: 0 15px 15px !important;
    margin-top: 15px;
}

    .app-modal .modal-body .app-ph {
        padding-right: 15px;
    }

    .app-modal .modal-body .app-name {
        font-size: 1.6rem;
        line-height: 1.4;
    }

    .app-modal .modal-body .app-exp {
        font-size: 1.4rem;
    }

    .app-modal .modal-body .badge-app-box a {
        margin: 0 0.3rem;
        display: inline-block;
    }

/* Bootstrapのブレイクポイントより。Large（≥992px） */

@media screen and (max-width: 992px) {
    .application-list {
        padding-left: 15px;
        padding-right: 15px;
    }

    .application-box .app-name-box .app-name {
        font-size: 1.8rem;
    }

    .badge-app-box img {
        margin-bottom: 1rem !important;
    }
}

/* Bootstrapのブレイクポイントより。Medium（≥768px） */

@media screen and (max-width: 768px) {
    .application-box .row {
        justify-content: center;
    }

    .application-box .app-name-box {
        padding-left: 0;
    }

    .badge-app-box {
        text-align: center;
    }

    .app-modal .modal-dialog {
        max-width: 570px;
        width: 95% !important;
    }
}

/* Bootstrapのブレイクポイントより。Small（≤576px） */

@media screen and (min-width: 576px) {
    .application-list .for-pc {
        display: block !important;
    }

    .application-list .for-sp {
        display: none !important;
    }
}

@media screen and (max-width: 575px) {
    .application-list .for-pc {
        display: none !important;
    }

    .application-list .for-sp {
        display: block !important;
    }

    .application-list {
        min-width: 300px;
        padding-left: 10px;
        padding-right: 10px;
    }

        .application-list .app-container-btn {
            background-color: #F6F6F6 !important;
            border-radius: 0.8rem;
            width: 100%;
            margin-bottom: 1rem;
        }

        .application-list .pages-title {
            font-size: 2.5rem;
            font-weight: bold;
            margin-top: 1rem;
            margin-bottom: 3.5rem;
            /*margin: 4rem 0;*/
        }

    .jp-course-list .btn {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .application-box {
        width: 100%;
        padding: 1rem 0.5rem 0;
        margin: 0;
    }

        .application-box .row {
            justify-content: flex-start;
            -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        }

    .app-ph {
        margin: 0 0 10px 0;
        padding-right: 10px !important;
    }

    .application-box .app-name-box {
        padding: 0 !important;
    }

        .application-box .app-name-box .app-name {
            font-size: 1.5rem !important;
            line-height: 1.25;
            margin: 0 0 10px 0;
            width: auto;
        }

    .app-exp {
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .badge-app-box a {
        margin-left: 0.5rem;
    }

    .badge-app-box img {
        height: 35px !important;
    }

    .badge-app-box a img {
        width: auto;
        height: 40px;
    }

    .app-modal .modal-body .row {
        display: inline-flex !important;
        flex-wrap: nowrap;
    }
}

/*====================
生島追加分
====================*/
/*etc*/
.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mt70 {
    margin-top: 70px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pt60 {
    padding-top: 60px !important;
}

.pt70 {
    padding-top: 70px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pb60 {
    padding-bottom: 60px !important;
}

.pb70 {
    padding-bottom: 70px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.mr50 {
    margin-right: 50px !important;
}

.mr60 {
    margin-right: 60px !important;
}

.mr70 {
    margin-right: 70px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pr30 {
    padding-right: 30px !important;
}

.pr40 {
    padding-right: 40px !important;
}

.pr50 {
    padding-right: 50px !important;
}

.pr60 {
    padding-right: 60px !important;
}

.pr70 {
    padding-right: 70px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.ml60 {
    margin-left: 60px !important;
}

.ml70 {
    margin-left: 70px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pl60 {
    padding-left: 60px !important;
}

.pl70 {
    padding-left: 70px !important;
}

.lh120 {
    line-height: 120% !important;
}

.lh130 {
    line-height: 130% !important;
}

.lh150 {
    line-height: 150% !important;
}

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

.container-width {
    width: 1200px;
    margin: 0 auto;
}

.p0 {
    padding: 0 !important;
}

.pl0 {
    padding-left: 0 !important;
}

.Float-Left {
    float: left;
}

.Float-Right {
    float: right;
}

.text-Left {
    text-align: left;
}

.text-Right {
    text-align: right;
}

.text-Center {
    text-align: center;
}

.font-nomal {
    font-size: 16px !important;
}

.font-small {
    font-size: 14px !important;
}

.font-Vsmall {
    font-size: 12px !important;
}

.wh100 {
    width: 100%;
}
/*ログイン画面*/
.login-content-form {
    width: 1020px;
    margin: 0 auto;
}

.login-content-responsive-form {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
}

.login-leftcontent {
    padding-left: 0;
    margin-top: 20px;
}

.login-leftcontent {
    padding-left: 15px;
    padding-right: 50px;
}

    .login-leftcontent .form-group label {
        font-size: 16px;
    }

    .login-leftcontent .form-group .color-red {
        color: #FF0000;
    }

    .login-leftcontent .form-group .hint {
        font-size: 12px;
        float: right;
        margin-top: 4px;
    }

    .login-leftcontent .form-group .input-box {
        width: 270px;
    }

        .login-leftcontent .form-group .input-box .error-msg {
            white-space: nowrap;
            font-size: 15px;
        }

        .login-leftcontent .form-group .input-box input {
            max-width: 270px !important;
        }

    .login-leftcontent .form-group .textstyle {
        line-height: 1.42857143;
    }

.h-5 {
    height: 5rem;
}

.login-rightcontent {
    margin: 20px 0 0;
    padding-left: 0 !important;
}

.login-content-form h4,
.login-content-responsive-form h4 {
    font-size: 18px;
    font-weight: bold;
}

.login-content-form p,
.login-content-responsive-form p {
    font-size: 16px;
    line-height: 1.2;
}

.login-content-buttom {
    text-align: center;
}

.login-content-buttom-two {
    text-align: left;
}

.login-content-buttom button {
    padding: 10px 50px;
    font-size: 16px;
}

.login-content-form h2,
.login-content-responsive-form h2 {
    font-size: 26px;
    font-weight: bold;
    margin: 2.2rem 1.5rem 0;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #d3d3d3;
}

.content-footer-login {
    background-color: #FFFFFF;
}

.d-none {
    display: none !important;
}

.input-box_Password {
    position: relative;
}

#invisible, #visible,
#invisible1, #visible1,
#invisible2, #visible2 {
    position: absolute;
    font-size: 2rem;
    color: lightgray;
    cursor: pointer;
}

#invisible, #visible {
    top: 3.55rem;
    /*top: 2.85rem;*/
    right: 1rem;
}

#invisible1, #visible1,
#invisible2, #visible2 {
    top: 5.9rem;
    right: 1rem;
}

/*ユーザーID確認・新パスワード発行*/
.forgot-password {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
}

    .forgot-password .content-box {
        margin: 2rem 2.6rem 1rem;
    }

    .forgot-password h2 {
        font-size: 26px;
        font-weight: bold;
        margin: 2.2rem 1.5rem 0;
        padding-bottom: 0.4rem;
        border-bottom: 1px solid #d3d3d3;
    }

    .forgot-password #hTitle1, divTitle1 {
        font-size: 16px;
        font-weight: bold;
        margin: 10px;
        text-align: left;
    }

    .forgot-password #divDanger {
        font-size: 16px;
        margin: 10px 25px 10px 0;
    }

    .forgot-password h3 {
        font-size: 16px;
        font-weight: bold;
    }

    .forgot-password input {
        max-width: 400px;
        width: 100%;
    }

    .forgot-password .ul-default {
        margin: 1rem 0 2rem;
    }

        .forgot-password .ul-default li {
            font-size: 1.6rem;
            line-height: 1.5;
            margin: 0 5px 8px 30px;
            list-style-type: disc;
        }

    .forgot-password p {
        font-size: 1.6rem;
        line-height: 1.4;
    }

/* Bootstrapのブレイクポイントより。Medium（≥768px） */

@media screen and (min-width: 768px) {
    .login-content-responsive-form .for-pc {
        display: block !important;
    }

    .login-content-responsive-form .for-sp {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .login-content-form,
    .login-content-responsive-form {
        width: 100%;
    }

        .login-content-responsive-form .for-pc {
            display: none !important;
        }

        .login-content-responsive-form .for-sp {
            display: block !important;
        }

        .login-content-form h2,
        .login-content-responsive-form h2,
        .forgot-password h2 {
            font-size: 2.4rem;
        }

        .login-content-form .attention,
        .login-content-responsive-form .attention {
            text-align: center;
        }

    .login-leftcontent {
        padding-right: 15px;
    }

        .login-leftcontent .form-group .input-box {
            max-width: 270px;
            width: 100%;
            margin: 0 auto;
            padding: 0 !important;
        }

    .login-rightcontent {
        margin: 30px auto 0;
        background-color: #FAFAFA;
        padding: 30px 80px 5px !important;
    }
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    .login-content-form h2,
    .login-content-responsive-form h2,
    .forgot-password h2 {
        font-size: 2.2rem;
        padding-bottom: 8px;
    }

    .login-content-form .attention,
    .login-content-responsive-form .attention {
        text-align: center;
    }

    .login-content-form h4,
    .login-content-responsive-form h4 {
        font-size: 16px;
    }

    .login-leftcontent {
        padding: 0 15px;
    }

        .login-leftcontent .form-group .input-box {
            padding: 0;
        }

            .login-leftcontent .form-group .input-box .error-msg {
                white-space: normal;
            }

    .login-rightcontent {
        margin-top: 15px;
        padding: 30px 15px 5px !important;
    }

        .login-rightcontent p {
            font-size: 1.4rem;
        }

    .forgot-password .ul-default li {
        font-size: 1.4rem;
        margin: 0 0 0.8rem 2.6rem;
    }

    .forgot-password p {
        font-size: 1.4rem;
        line-height: 1.3;
    }
}

/* inputの幅が400以下になる時の指定 */

@media screen and (max-width: 400px) {
    .forgot-password .content-box {
        margin: 2rem 1.5rem 1rem;
    }

    .forgot-password #divDanger {
        margin: 10px 10px 10px 0;
    }
}

/*新規登録画面*/

.sign-up-form,
.sign-up-comfirm,
.sign-up-complete {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
}

    .sign-up-form h2,
    .sign-up-comfirm h2,
    .sign-up-complete h2 {
        font-size: 26px;
        font-weight: bold;
        margin: 2.2rem 1.5rem 0;
        padding-bottom: 0.4rem;
        border-bottom: 1px solid #d3d3d3;
    }

    .sign-up-form .text-black,
    .sign-up-comfirm .text-black {
        color: #000;
    }

    .sign-up-form .orange {
        color: darkorange;
        line-height: 1.4;
    }

    .sign-up-form .borders {
        border: 1px solid #ddd;
    }

    .sign-up-form .img-profile-user,
    .sign-up-comfirm .img-profile-user {
        width: 150px;
        height: 150px;
    }

    .sign-up-form .img-resize,
    .sign-up-comfirm .img-resize {
        display: inline-block;
        background-color: #FFF;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .sign-up-form .add-field {
        font-size: 1.6rem;
        word-break: break-word;
        min-height: 3.5rem;
        height: auto;
        padding: 1rem 12px 1rem;
        background-color: #f2f2f2;
    }

    .sign-up-form p {
        font-size: 16px;
        line-height: 1.2;
    }

    .sign-up-form .checkbox li {
        cursor: default;
        list-style: none;
        line-height: 1.5
    }

        .sign-up-form .checkbox li span {
            color: #800080;
            font-size: 14px;
            text-decoration: none;
        }

    .sign-up-comfirm .row::before,
    .sign-up-confirm .row::after {
        display: none;
    }


    .sign-up-form .btn,
    .inquiry-form .btn,
    .confirm-form .btn,
    .jp-course-list .btn,
    .community-modal-responsive .btn {
        font-size: 14px;
        color: #fff;
        padding: 6px 14px;
        border: 1px solid #28a4c9;
        border-radius: 4px;
        transition: none;
        white-space: pre-line;
    }

    .sign-up-form .btn-lg,
    .inquiry-form .btn-lg,
    .confirm-form .btn-lg,
    .jp-course-list .btn-lg {
        padding: 10px 16px;
        font-size: 18px;
        line-height: 1.3333333;
        border-radius: 6px;
    }

    .sign-up-form .occupation + .btn-group .btn {
        display: inline-block;
        width: 100%;
        text-align: left;
        font-weight: 400;
        line-height: 1.5;
        color: #495057;
        border: 1px solid #ccc;
        vertical-align: middle;
        background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
        background-size: 12px 10px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: default;
    }

        /* 選択時の枠線 */
        .sign-up-form .occupation + .btn-group .btn:focus {
            border-color: #80bdff;
        }

        .sign-up-form .occupation + .btn-group .btn .caret,
        .sign-up-form .occupation + .btn-group .btn::after {
            display: none;
        }

    .sign-up-form .occupation + .btn-group .dropdown-menu {
        text-align: left;
    }

        .sign-up-form .occupation + .btn-group .dropdown-menu > li > a {
            padding: 0;
        }

            .sign-up-form .occupation + .btn-group .dropdown-menu > li > a label {
                cursor: default;
            }

        .sign-up-form .occupation + .btn-group .dropdown-menu > .active > a {
            background-color: lightgrey;
            background-image: none;
            color: black;
        }

        .sign-up-form .occupation + .btn-group .dropdown-menu > li:hover {
            box-shadow: 0 0 10px 100px #1882A8 inset;
        }

    .sign-up-form .occupation-selected {
        margin-top: -8px;
    }

.regist-form-container .popover {
    top: -42.7344px !important;
}

.regist-form-container #occupationList .form-control {
    box-shadow: none !important;
    -webkit-transition: none !important;
}

    .regist-form-container #occupationList .form-control:focus {
        border-color: #66afe9 !important;
        outline: 0 !important;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6) !important;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6) !important;
    }

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    background-color: #f2f2f2 !important;
    font-size: 1.6rem;
    word-break: break-word;
    width: 100%;
    min-height: 3.5rem;
    height: auto;
    display: block;
    padding: 6px 12px;
    line-height: 1.42857143;
    color: #555;
    background-image: none;
    border: 1px solid #ddd;
    border-radius: 0;
    box-shadow: none;
}

.form-control::-moz-placeholder {
    color: #999;
    opacity: 1;
}

.form-control:-ms-input-placeholder,
.form-control::-webkit-input-placeholder {
    color: #999;
}

.regist-form-container .caret {
    border: none !important;
}

.regist-form-container .multiselect {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555 !important;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc !important;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    margin-bottom: 15px;
    text-align: left;
}

/*セレクトボックスがクリックで閉じないため追加*/
.regist-form-container .multiselect-container {
    display: none;
}

    .regist-form-container .multiselect-container > li > a > label.checkbox, .multiselect-container > li > a > label.radio {
        padding-left: 1rem;
    }

    .regist-form-container .multiselect-container input[type="checkbox"] {
        margin-top: 2px !important;
    }

.regist-form-container .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    background-color: #A9A9A9 !important;
    background-image: none;
    font-weight: bold;
}

.regist-form-container .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    color: #000 !important;
}

.regist-form-container .btn-group {
    width: 100%;
}

.selectedJob {
    cursor: default !important;
}

.sign_up-form-botton {
    padding-top: 13px;
}

    .sign_up-form-botton button {
        clear: none;
        padding: 0 20px;
    }

.sign_up-form-title {
    padding: 15px 0;
    font-weight: bold;
    font-size: 16px;
}

    .sign_up-form-title span,
    .asterisk {
        color: #ed4040;
    }

.sign_up-form-Information {
    text-align: right;
    padding-top: 13px;
}

.sign_up-form-infomation-p p {
    padding-top: 60px;
    text-align: right;
}

.sign_up-period {
    font-size: 20px;
    padding-top: 9px;
}

.period {
    padding: 6px 0;
}

#myModal.account-regist {
    padding: 15px !important;
}

    #myModal.account-regist .modal-dialog {
        max-width: 1030px;
        width: 100%;
        margin: 0 auto;
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }

        #myModal.account-regist .modal-dialog .modal-body img {
            max-width: 1000px;
            width: 100%;
        }

.sign-up-form .birthday .sign_up-period {
    font-size: 18px;
}

.sign-up-form .birthday .select-field {
    padding-left: 0;
}

/*登録確認画面*/

.sign-up-comfirm p,
.sign-up-complete p {
    font-size: 16px;
    line-height: 1.4;
}

.sign-up-comfirm .label-tag,
.sign-up-comfirm .label-tag-two-lines {
    font-size: 10px;
    padding-left: 0;
    padding-right: 0;
}

.sign-up-comfirm .sign_up-form-title,
.sign-up-comfirm .lh-12 {
    line-height: 1.2;
}

.sign-up-comfirm .pc-label {
    display: inline-block !important;
}

.sign-up-comfirm .sp-label {
    display: none !important;
}

.sign-up-comfirm .comfirm-sp-title {
    color: #333 !important;
}

/* Bootstrapのブレイクポイントより。Large（≥992px） */

@media screen and (max-width: 992px) {
    .sign-up-form .birthday .sign_up-period {
        font-size: 16px;
    }
}

/* Bootstrapのブレイクポイントより。Medium（≥768px） */
@media screen and (max-width: 768px) {
    .sign-up-form .birthday .sign_up-period {
        font-size: 13px;
    }

    .sign-up-form .birthday .select-field {
        padding-right: 0.7rem;
    }

    .sign-up-form h2,
    .sign-up-comfirm h2,
    .sign-up-complete h2 {
        font-size: 2.4rem;
    }

    .sign-up-form .img-profile-user,
    .sign-up-comfirm .img-profile-user {
        width: 125px;
        height: 125px;
    }

    .sign-up-form .jp-experience {
        display: block;
        text-align: left;
    }

        .sign-up-form .jp-experience .sign_up-form-title {
            padding-top: 0;
            margin-right: 15px;
            position: relative;
            top: 4px;
        }
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    .sign-up-comfirm .pc-label {
        display: none !important;
    }

    .sign-up-comfirm .sp-label {
        display: inline-block !important;
        color: #fff !important;
        padding: 0.4em 0.6em 0.3em;
        vertical-align: middle;
    }

    .sign-up-comfirm .sign_up-form-title {
        padding: 15px 0 5px;
    }

    .sign-up-comfirm .comfirm-sp-title {
        color: #333 !important;
        margin-right: 15px;
    }

    .sign-up-form h2,
    .sign-up-comfirm h2,
    .sign-up-complete h2 {
        font-size: 2.2rem;
        padding-bottom: 8px;
    }

    .sign-up-form p,
    .sign-up-comfirm p,
    .sign-up-complete p {
        font-size: 14px;
        line-height: 1.2;
        font-weight: normal;
    }

    .sign-up-comfirm .label-tag-two-lines {
        font-size: 10px;
        margin-top: 0;
        margin-bottom: 1.8rem;
        padding-left: 15px;
        padding-right: 0;
    }

    .sign-up-form .jp-experience {
        text-align: right;
    }
}

/*お問合わせ(非ログインユーザー)*/
.change-login-form {
    margin: 20px 40px;
}

    .change-login-form .change-form-group .change-formtitle {
        font-size: 14px;
        margin: 20px 10px;
    }

    .change-login-form .change-form-group label {
        margin: 20px 0;
        font-size: 14px;
        padding-left: 0;
    }

    .change-login-form .change-form-group .radio {
        margin-top: 0;
    }

    .change-login-form .change-form-group .form-control {
        margin: 10px 0;
    }

    .change-login-form p {
        font-size: 14px;
    }

.contact-title h2 {
    font-size: 26px;
    font-weight: bold;
    padding-bottom: 16px;
    border-bottom: 1px solid #d3d3d3;
    margin: 0 40px;
}

/*お問合わせ*/

.inquiry-content-form {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
}

    .inquiry-content-form h2 {
        font-size: 26px;
        font-weight: bold;
        margin: 2.2rem 1.5rem 0;
        padding-bottom: 0.4rem;
        border-bottom: 1px solid #d3d3d3;
    }

.info-head {
    margin: 20px 40px 20px 40px;
    border: 1px solid #CCC;
    padding: 20px;
    line-height: 1.2;
}

    .info-head .text-bk-bold {
        color: black;
        font-weight: bold;
    }

.inquiry-content-form p {
    font-size: 16px;
    line-height: 1.2;
}

.p-message {
    font-size: 16px;
    line-height: 1.5;
}

.contact-message,
.text-red {
    color: red;
}

.inquiry-content-form .text-danger {
    margin: 10px 10px 10px 0 !important;
}

.inquiry-form {
    margin-left: 40px;
    margin-right: 40px;
}

    .inquiry-form textarea {
        height: 214px;
    }

    .inquiry-form .require-id {
        font-size: 16px;
        color: red;
    }

    .inquiry-form label.form-check-label {
        font-weight: normal;
    }

.conversion-button {
    font-size: 26px;
    font-weight: bold;
}

.confirm-form {
    line-height: 1.5;
    margin: 0 auto;
}

    .confirm-form .form-group {
        margin-bottom: 35px;
    }

    .confirm-form .dd-text-size {
        font-size: 16px;
    }

/* Bootstrapのブレイクポイントより。Medium（≥768px） */

@media screen and (max-width: 768px) {
    .inquiry-content-form h2 {
        font-size: 2.4rem;
    }

    .confirm-form .border-left {
        border-left: none;
    }
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    .inquiry-content-form h2 {
        font-size: 2.2rem;
        padding-bottom: 8px;
    }

    .info-head {
        margin: 15px;
        padding: 15px;
        line-height: 1.8rem;
    }

        .info-head p {
            font-size: 1.4rem;
        }

    .inquiry-form {
        margin: 30px 15px 0;
    }
}

/*モーダル用スタイル*/
#open01,
#open02,
#open03,
#open04,
#open05 {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    position: absolute;
}

.close_overlay {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    text-indent: -9999px;
    position: absolute;
    background: #000;
    opacity: 0.5;
    z-index: 500;
}

.modal_window {
    top: 50%;
    left: 50%;
    margin: -150px 0 0 -200px;
    width: 300px;
    text-align: center;
    display: block;
    background: #fff;
    position: absolute;
    z-index: 10;
}

/*お問い合わせページ用のモーダル
上のスタイル（modal-window）を修正すると別ページで崩れる可能性があるため、
新規のクラスを下記に追加*/

.confirm-modal {
    top: 40% !important;
    left: 50% !important;
    margin: 0 auto !important;
    margin-left: -250px !important;
    padding: 0 !important;
    width: 500px !important;
    text-align: center !important;
    display: block !important;
    background: #fff !important;
    position: absolute !important;
    z-index: 1000 !important;
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    .confirm-modal {
        margin-left: -150px !important;
        width: 300px !important;
    }
}

.modal_window h2 {
    margin-bottom: 20px;
    width: 300px;
    height: 50px;
    line-height: 30px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    text-indent: 15px;
    background: #000;
    padding: 10px 0;
}

.modal_window p {
    padding: 0 15px 15px 15px;
    font-size: 12px;
    line-height: 160%;
    text-align: left;
}

@-webkit-keyframes modalFadeIn {
    0% {
        opacity: 0;
        display: block;
    }

    100% {
        opacity: 1;
    }
}

div#modal div:target {
    opacity: 1;
    display: block;
}
/*コースページボタンパターン*/
.right .course-box p,
.course-detail .registered {
    font-size: 14px;
    margin-bottom: 20px;
}

.right .course-box .cancel {
    color: red;
}


.course-detail .registered {
    line-height: 20px;
    color: #e44e63;
}

/*ボタンの大きさ固定*/
.btn {
    min-width: 60px;
}

.last_btn {
    text-align: center;
    clear: both;
}

    .last_btn .btn {
        width: 200px;
    }

.last_btn_b {
    text-align: center;
}

    .last_btn_b .btn {
        width: 250px;
    }

/* Bootstrapのブレイクポイントより。Small（≥576px） */

@media screen and (max-width: 576px) {
    .sign-up-comfirm .last_btn .btn {
        width: 140px !important;
        white-space: pre-line;
        overflow-wrap: break-word;
    }

    .last_btn .two-btns {
        width: 92%;
    }
}

/* ツールチップの大きさ*/
.popover {
    max-width: 800px;
}

.button-center {
    text-align: center;
}

.thanks-change {
    line-height: 130%;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    padding: 50px;
}


/*受講取消ボタン*/
.btn-cancel {
    color: #fff;
    background-color: #d396d3;
    border-color: #d598d5;
}

    .btn-cancel:focus,
    .btn-cancel.focus {
        color: #fff;
        background-color: #d598d5;
        border-color: #cc99ff;
    }

    .btn-cancel:hover {
        color: #fff;
        background-color: #d598d5;
        border-color: #cc77ff;
    }

    .btn-cancel:active,
    .btn-cancel.active,
    .open > .dropdown-toggle.btn-cancel {
        color: #fff;
        background-color: #d396d3;
        border-color: #cc77ff;
    }

        .btn-cancel:active:hover,
        .btn-cancel.active:hover,
        .open > .dropdown-toggle.btn-cancel:hover,
        .btn-cancel:active:focus,
        .btn-cancel.active:focus,
        .open > .dropdown-toggle.btn-cancel:focus,
        .btn-cancel:active.focus,
        .btn-cancel.active.focus,
        .open > .dropdown-toggle.btn-cancel.focus {
            color: #fff;
            background-color: #cc77ff;
            border-color: #cc99ff;
        }

    .btn-cancel:active,
    .btn-cancel.active,
    .open > .dropdown-toggle.btn-cancel {
        background-image: none;
    }

    .btn-cancel.disabled,
    .btn-cancel[disabled],
    fieldset[disabled] .btn-cancel,
    .btn-cancel.disabled:hover,
    .btn-cancel[disabled]:hover,
    fieldset[disabled] .btn-cancel:hover,
    .btn-cancel.disabled:focus,
    .btn-cancel[disabled]:focus,
    fieldset[disabled] .btn-cancel:focus,
    .btn-cancel.disabled.focus,
    .btn-cancel[disabled].focus,
    fieldset[disabled] .btn-cancel.focus,
    .btn-cancel.disabled:active,
    .btn-cancel[disabled]:active,
    fieldset[disabled] .btn-cancel:active,
    .btn-cancel.disabled.active,
    .btn-cancel[disabled].active,
    fieldset[disabled] .btn-cancel.active {
        background-color: #9966ff;
        border-color: #9977ff;
    }

    .btn-cancel .badge {
        color: #9966ff;
        background-color: #fff;
    }

a {
    outline: none !important;
}

    a:focus, *:focus {
        outline: none !important;
    }

    a:active {
        outline: none !important;
    }

/*日本語コース検索モーダル*/

.CourseSearch {
    width: 100% !important;
    height: 100vh;
    position: relative;
}

    .CourseSearch .modal-content {
        width: 90%;
        height: 90%;
        max-width: 1200px;
        margin: 10px auto !important;
        overflow: auto;
        overflow-y: scroll;
        font-size: 16px;
        padding: 30px 40px;
        border: none;
        border-radius: 6px 0 0 6px;
    }

    .CourseSearch .modal-body > .row {
        margin-left: 0;
        margin-right: 0;
        border-bottom: 1px solid #ddd;
    }

    .CourseSearch .modal-body .category.row:last-child {
        border-bottom: none;
    }

    /*iPhone6s,7(safari)でカラム落ちするのを解消*/
    .CourseSearch .modal-body .row::before,
    .CourseSearch .modal-body .row::after {
        display: none;
    }

    .CourseSearch table {
        width: 100%;
    }

    .CourseSearch input[type="checkbox"],
    .CourseSearch input[type="radio"] {
        display: none;
    }

        .CourseSearch input[type="checkbox"]:disabled + label {
            color: #999 !important;
            background-color: #e5e5e5 !important;
        }

        .CourseSearch input[type="checkbox"]:checked + label,
        .CourseSearch input[type="radio"]:checked + label {
            background: #57CEE2;
            color: #ffffff;
        }

    .CourseSearch dt.subtitle {
        margin: 0 0 10px -10px;
    }

    .CourseSearch dd.level tr,
    .CourseSearch dd.language tr,
    .CourseSearch dd.category tr td,
    .CourseSearch .tuition-fee {
        border: 0.7px solid lightgrey;
    }

    .CourseSearch .tuition-fee-row {
        border-bottom: none !important;
    }

    .CourseSearch dd.level td {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
        font-weight: 700;
        text-align: center;
        border-left: 0.7px solid lightgrey;
    }

        .CourseSearch dd.level td label {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 46px;
            margin-bottom: 0 !important;
            cursor: pointer;
        }

        .CourseSearch dd.level td:first-child {
            border-left: none;
        }

    .CourseSearch dd.language td,
    .CourseSearch dd.category td {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        font-weight: 700;
        text-align: center;
        border-left: 0.7px solid lightgrey;
    }

        .CourseSearch dd.language td label,
        .CourseSearch dd.category td label {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 46px;
            padding: 0 2px;
            margin-bottom: 0 !important;
            line-height: 1.1;
            cursor: pointer;
        }

    .CourseSearch dd.tuition-fee label {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        min-height: 46px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700;
        border-left: 0.7px solid lightgrey;
        text-align: center;
        margin-bottom: 0 !important;
        cursor: pointer;
    }

    .CourseSearch dd.language td:first-child,
    .CourseSearch dd.tuition-fee .tutuionfee_1 {
        border-left: none;
    }

    .CourseSearch dd.category td:last-child {
        border-right: 0.7px solid lightgrey;
    }

    .CourseSearch .modal-footer.row {
        justify-content: center;
    }

    .CourseSearch .modal-footer .modal-inside-btn {
        max-width: 190px;
        width: 100%;
    }


@media screen and (max-width: 992px) {
    .CourseSearch .modal-content {
        border-radius: 6px;
    }

    .CourseSearch label {
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 768px) {
    .CourseSearch .modal-content {
        padding: 0 10px;
    }

    .CourseSearch .modal-body {
        padding: 10px 0 0;
    }
}

@media screen and (max-width: 567px) {
    .CourseSearch {
        width: auto;
        height: auto;
        margin: 0 !important;
    }

        .CourseSearch dt.subtitle {
            padding: 0 10px;
        }

        .CourseSearch dd.level td label {
            min-height: 38px;
        }

        .CourseSearch .modal-header {
            padding: 15px 0;
        }

        .CourseSearch .modal-footer .modal-inside-btn {
            font-size: 1.4rem;
        }

            .CourseSearch .modal-footer .modal-inside-btn.col-5 {
                -ms-flex: 0 0 48%;
                flex: 0 0 48%;
                padding: 10px;
            }

        .CourseSearch label {
            font-size: 1rem;
        }
}

@media screen and (max-width: 400px) {
    .CourseSearch .modal-content {
        width: 93%;
    }

    .CourseSearch .modal-footer {
        padding: 15px 0;
        text-align: right;
        border-top: 1px solid #e5e5e5;
    }

        .CourseSearch .modal-footer .modal-inside-btn {
            font-size: 1.2rem;
        }
}

input[type="radio"] {
    margin-right: 5px;
}

/* 日本語レベルモーダル */

.reg-modal .modal-dialog {
    max-width: 1000px;
    margin: 1.75rem auto;
}

.reg-modal .modal-header {
    border: none !important;
    padding-bottom: 0;
    display: flex;
}

    .reg-modal .modal-header .close {
        padding: 1rem 1rem;
        margin: -1rem -1rem -1rem auto;
    }

.reg-modal .modal-body {
    padding: 0 16px 48px;
}

    .reg-modal .modal-body .row::before,
    .reg-modal .modal-body .row::after {
        display: none;
    }

    .reg-modal .modal-body img {
        max-width: 495px;
        width: 100%;
    }

    .reg-modal .modal-body .level-bar {
        color: #fff;
        font-weight: 700;
        font-size: 24px;
        letter-spacing: 0.2rem;
        padding: 0 8px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .reg-modal .modal-body .c2-box .level-bar {
        border-radius: 0 0 8px 8px;
    }

    .reg-modal .modal-body .a1-box .level-bar {
        border-radius: 8px 8px 0 0;
    }

    .reg-modal .modal-body .level-contents {
        padding: 8px 0 0 16px;
    }

        .reg-modal .modal-body .level-contents li {
            list-style-type: none;
            position: relative;
            padding-left: 0.8em;
            font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
            line-height: 1.5;
            font-size: 16px;
        }

            .reg-modal .modal-body .level-contents li:last-child {
                border-bottom: 1px #c7c7c7 dashed;
                padding-bottom: 8px;
            }

    .reg-modal .modal-body .c2-box .level-contents li:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .reg-modal .modal-body .level-contents li:before {
        border-radius: 50%;
        width: 8px;
        height: 8px;
        display: block;
        position: absolute;
        left: 0;
        top: 0.5em;
        content: "";
    }

    .reg-modal .modal-body .c2-box .level-bar,
    .reg-modal .modal-body .c2-box .level-contents li:before {
        background: rgba(118, 28, 117, 1);
    }

    .reg-modal .modal-body .c1-box .level-bar,
    .reg-modal .modal-body .c1-box .level-contents li:before {
        background: rgba(100, 81, 159, 1);
    }

    .reg-modal .modal-body .b2-box .level-bar,
    .reg-modal .modal-body .b2-box .level-contents li:before {
        background: rgba(104, 163, 215, 1);
    }

    .reg-modal .modal-body .b1-box .level-bar,
    .reg-modal .modal-body .b1-box .level-contents li:before {
        background: rgba(56, 156, 56, 1);
    }

    .reg-modal .modal-body .a2-box .level-bar,
    .reg-modal .modal-body .a2-box .level-contents li:before {
        background: rgba(253, 208, 0, 1);
    }

    .reg-modal .modal-body .a1-box .level-bar,
    .reg-modal .modal-body .a1-box .level-contents li:before {
        background: rgba(232, 65, 136, 1);
    }

.reg-modal .modal-footer {
    border: none;
    padding-top: 0;
}

.sign_up-period-day {
    margin-left: 0.6rem;
    padding: 0rem;
    width: 110%;
}

.day-label {
    margin-left: 4%;
}

.sign_up-period-month {
    margin-left: 0.5rem;
    padding: 0rem;
    width: 250%;
}

.month-label {
    margin-left: 30%
}

.sign_up-period-year {
    margin-left: 0.5rem;
    padding: 0rem;
    width: 140%;
}

.year-label{
    margin-left:18%;
}

/* Bootstrapのブレイクポイントより。Medium（≥768px） */
@media screen and (min-width: 768px) {
    .reg-modal .modal-dialog {
        width: auto;
    }
}

/* Bootstrapのブレイクポイントより。Small（≥576px） */
@media screen and (max-width: 576px) {
    .reg-modal .modal-header {
        padding: 8px;
        padding-bottom: 0 !important;
    }

    .reg-modal .modal-body {
        padding: 8px 8px 24px;
    }

        .reg-modal .modal-body .level-bar {
            font-size: 16px;
            letter-spacing: 0;
        }

        .reg-modal .modal-body .c2-box .level-bar {
            border-radius: 0 0 4.8px 4.8px;
        }

        .reg-modal .modal-body .a1-box .level-bar {
            border-radius: 4.8px 4.8px 0 0;
        }

        .reg-modal .modal-body .level-contents {
            padding: 8px 0 0 8px;
        }

            .reg-modal .modal-body .level-contents li {
                padding-left: 16px;
                font-size: 12.8px;
            }
}
