    .progressbar_outer {
        /* background-color: #fdf0e9; */
        background-color: #fff;
        height: 180px;
        position: relative;
    }

    @media screen and (max-width: 768px) {
        .progressbar_outer {
            height: 150px;
        }
    }

    .progressbar {
        margin: 0;
        padding: 0;
        counter-reset: step;
        z-index: 0;
        position: absolute;
        width: 40%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -30%);
    }

    .progressbar li {
        list-style-type: none;
        width: 25%;
        float: left;
        font-size: 12px;
        position: relative;
        text-align: center;
        text-transform: uppercase;
        color: #515151;
    }

    #nopay_comp .progressbar li {
        width: 33%;
    }

    main.freeWorkshop .progressbar li {
        width: calc( 100% / 3);
    }

    .progressbar li:before {
        width: 50px;
        height: 38px;
        content: counter(step);
        counter-increment: step;
        line-height: 30px;
        display: block;
        text-align: center;
        margin: 0 auto 10px auto;
        border-radius: 50%;
        background-color: #fff;
        margin-top: -13px;
        border: 3px solid #ddd;
        /* padding-top: 12px; */
        padding-top: 10px;
        padding-bottom: 2px;
        font-size: 16px;
        color: #aaa;
        box-sizing: unset;
    }

    .progressbar li:after {
        width: 100%;
        height: 2px;
        content: '';
        position: absolute;
        background-color: #ddd;
        top: 15px;
        left: -50%;
        z-index: -1;
    }

    .progressbar li:first-child:after {
        content: none;
    }

    .progressbar li.active {
        font-weight: 600;
    }

    .progressbar li.active:before {
        border: 2px solid #9d802e;
        color: #9d802e;
    }

    .progressbar li.active::after {
        background: linear-gradient(to right, #9d802e, #fff);
    }

    .progressbar li.success {
        font-weight: 600;
    }

    .progressbar li.success:before {
        background-color: #9d802e;
        border: 3px solid #9d802e;
        content: '';
        color: #fff;
    }

    .progressbar li.success::after {
        background-color: #9d802e;
    }

    .check {
        position: absolute;
        top: 15px;
        left: 50%;
        transform: translateX(-50%);
        line-height: 1.8;
    }

    .progressbar li.success .check::after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 18px;
        height: 8px;
        border-left: 3px solid #fff;
        border-bottom: 3px solid #fff;
        transform: translate(-50%, -50%) rotate(-50deg);
    }

    .workshop_sec {
        width: 100%;
    }

    /* #application_low .workshop_sec {
        background: #fdf0e9;
    } */

    #application_low .contents {
        padding: 0px 70px 100px;
    }
    .progressbar_sec .wave{
        background: #fff;
    }
    #application_low  .workshop_form_login{
        padding: 60px;
    }
    #application_low  .workshop_form_login h4{
        margin-top: 0;
    }

    @media screen and (max-width:768px) {
        #application_low .contents {
            padding: 0px 30px 70px;
        }
    }

    .workshop_outer {
        margin: 0 auto;
        margin-top: 50px;
        max-width: 1000px;
        letter-spacing: 1px;
        margin-bottom: 100px;
        font-weight: 500;
        padding-left: 50px;
        padding-right: 50px;
    }

    #application_low .workshop_outer {
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 100px;
    }

    .workshop_info_wrapper {
        color: #005e66;
        padding-top: 25px;
        padding-bottom: 25px;
        border-bottom: 1px solid #cacaca;
    }
    .workshop_info_wrapper div img {
    width: 100% !important;
    }
    /*#application_low .workshop_info_wrapper {
    color: #fdf0e9;
}*/

    .workshop_category {
        background-color: #005e66;
        color: #fff;
        margin-right: 20px;
        padding: 10px 15px;
        display: inline-block;
        font-weight: 600;
    }
    /*#application_low .workshop_category {
    background-color: #fdf0e9;
    color: #005e66;
}*/

    .workshop_sec .workshop_date {
        display: inline-block;
        color: #005e66;
        font-weight: 600;
        margin-top: 10px;
    }

    #activity_detail .workshop_info_wrapper .workshop_date {
        color: #005e66;
        font-size: 1.6rem;
        /*  padding-top: 5px;*/
        display: block;
        padding-bottom: 20px;
    }

    .workshop_info_wrapper h3 {
        margin: 20px auto;
        font-size: 21px;
        font-weight: 700;
    }

    .item_name {
        border: 1px solid #005e66;
        margin-right: 10px;
        padding: 8px;
        width: 120px;
        display: inline-block;
        text-align: center;
        font-weight: 600;
        font-size: .8em;
    }
    /*#application_low .item_name {
    border: 1px solid #fdf0e9;
}*/

    .item_value {
        font-weight: 500;
        display: inline-block;
        margin: 5px 0;
    }

    .item_value>a {
        color: #9d802e;
    }

    .settle_cls {
        background-color: #005e66;
        margin-right: 10px;
        padding: 8px;
        width: 120px;
        display: inline-block;
        text-align: center;
        font-weight: 600;
        font-size: .8em;
        color: #fff;
    }

    .place {
        line-height: 25px;
    }

    .workshop_info_wrapper p {
        letter-spacing: 1px;
        line-height: 25px;
    }

    #application_low .workshop_info_wrapper p {
        color: #005e66;
    }

    .form_sec {
        position: relative;
        padding: 60px;
        margin-right: 0;
        margin-left: 0;
    }
    .form_sec.cofirm_form_sec{
        background: #effaed;
        padding: 30px 60px 60px 60px;
    }

    .workshop_form_login{
        padding: 120px 60px;
    }
    .ws_form_sec_pay{
        padding: 60px 60px 120px 60px;
        background: #fffaf0;
    }

    #signup.form_sec {
        padding: 0;
    }

    #signup.form_sec .go_back {
        margin: 30px auto 0;
    }

    #signup.form_sec .go_back:first-of-type {
        margin: 50px auto 30px;
    }

    #signup.login .form_sec{
        padding: 120px 60px 60px 60px;
    }
    .admin_form_sec.form_sec{
        padding: 30px 60px 60px 60px;
        background: #effaed;
    }
    .admin_form_sec.form_sec h4{
        margin-top: 0;
    }
    /*#application_low .form_sec form>p:last-of-type {
        max-width: 1000px;
        margin: 0 auto;
    }*/

    .alert-danger {
        max-width: 1000px;
        margin: 0 auto 30px;
        border-radius: 5px;
        font-size: 1.1em;
        padding: 20px;
        font-weight: 500;
        border: 2px solid #e75f93;
        font-size: .8em!important;
    }

    .form_sec input,
    .form_sec select {
        border: none;
        background-color: #f2f3f3;
        border-radius: 0;
        cursor: pointer;
    }

    .select_wrapper {
        width: 100%;
        position: relative;
    }

    .select_wrapper select {
        width: 100%;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .select_wrapper::after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        width: 8px;
        height: 8px;
        margin-top: -6px;
        pointer-events: none;
        border-left: 2px solid #000;
        border-bottom: 2px solid #000;
        transform: rotate(-45deg);
    }

    .form_sec h4,
    .contact_tel_sec h4 {
        font-size: 22px;
        line-height: 1.6em;
        color: #005e66;
        margin-top: 40px;
        margin-bottom: 20px;
    }

    .contact_tel_sec h4 {
        margin-bottom: 0px;
        margin-top: 0;
    }

    .form_outer {
        max-width: 1000px;
        margin: 0 auto;
        background-color: #fff;
        font-weight: 500;
    }

    .form_outer>.frm_item:nth-of-type(1) {
        padding-top: 0;
    }

    .frm_item {
        padding-top: 35px;
        padding-bottom: 35px;
        border-bottom: 1px solid #cacaca;
        margin-top: 0;
        margin-bottom: 0;
    }

    .form-group .row {
        margin-left: 0;
        margin-right: 0;
    }

    .form_outer .frm_item:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }

    .required_badge {
        margin-left: 20px;
        font-size: .7em;
        background-color: #005e66;
        color: #fff;
        padding: 3px 7px;
        white-space: nowrap;
    }

    .col-form-label {
        font-weight: 600;
    }

    input::placeholder {
        color: #999999!important;
    }

    input:-ms-input-placeholder {
        color: #999999!important;
    }

    input::-ms-input-placeholder {
        color: #999999!important;
    }

    #zip01+p {
        margin: auto 10px;
        font-weight: 600;
        color: #212529;
        padding-top: 0;
    }

    .custom-control-label {
        padding-top: 4px;
    }

    .form_outer p {
        line-height: 1.4em;
        color: #212529;
        padding-top: 8px;
    }

    .form_outer.afterbtn_txt p {
        font-size: 1.1em;
        line-height: 1.4em;
    }

    .caution {
        color: #b73d2b !important;
        font-size: .8em!important;
    }

    .custom-radio {
        padding-top: 6px;
    }

    .agreement div {
        padding-top: 10px;
        padding-left: 40px;
    }

    .agreement_label {
        font-size: .8em;
    }

    .agreement_label .required_badge {
        margin-left: 10px;
        white-space: nowrap;
    }

    .agreement a {
        color: #9d802e;
        text-decoration: underline;
        line-height: 20px;
        line-height: 25px;
        transition: all 300ms 0s ease;
    }

    .agreement a:hover {
        opacity: 0.7;
    }

    select {
        background-color: #f2f3f3;
    }

    select+p {
        margin-left: 10px;
    }
    .submit_btn button{
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .function_form .submit_btn {
        margin-top: 0px;
    }

    .sp_footer_sns_area {
        display: block;
    }

    .sp_footer_sns_area {
        display: block;
        text-align: center;
        padding: 30px 0;
    }

    .sp_footer_sns_area>div {
        font-weight: 600;
        color: #868787;
        margin: 30px auto;
        margin-bottom: 20px;
        line-height: 25px;
        letter-spacing: 1px;
    }

    .sp_footer_sns_area img {
        max-width: 40px;
        transition: all 300ms 0s ease;
    }

    .sp_footer_sns_area img:hover {
        opacity: 0.7;
    }
    /* --- confirm --- */

    .confirm_form .frm_item {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .submit_btn {
        text-align: center;
        margin-top: 80px;
        margin-bottom: 30px;
        box-sizing: border-box;
    }

    .submit_btn+.submit_btn {
        margin-top: 50px;
    }

    .submit_btn button {
        text-align: center;
        margin: 0 auto;
        padding: 0;
        border: none;
        background: transparent;
    }

   .submit_btn button a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 300px;
        height: 50px;
        background: #fff;
        border: solid 1px #005e66;
        border-radius: 30px;
        position: relative;
        text-decoration: none;
    }
    .submit_btn button a::after{
        content: "";
        width: 35px;
        height: 20px;
        background-image: url(../images/btn_arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        transition: .3s;
    }
    .submit_btn button a:hover::after{
        right: 10px;
    }
    .submit_btn button a span{
        display: block;
        font-size: 16px;
        color: #005e66;
    }
        /* .submit_btn button a {
        overflow: hidden;
        padding: 12px 50px;
        box-sizing: border-box;
        font-size: 18px;
        color: #fff;
        font-weight: normal;
        position: relative;
        transition: 0.5s;
        min-width: 200px;
        letter-spacing: 0.01em;
        text-align: center;
        border: 2px solid #9d802e;
    }
    .submit_btn button a:hover {
        text-decoration: none !important;
    }

    .submit_btn button a::before {
        content: "";
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 101%;
        background: #9d802e;
        transform: scaleX(1);
        -webkit-transform: scaleX(1);
        -moz-transform: scaleX(1);
        -ms-transform: scaleX(1);
        -o-transform: scaleX(1);
        transform-origin: 0 100%;
        transition: transform 0.6s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -webkit-transition: transform 0.6s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -moz-transition: transform 0.6s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -ms-transition: transform 0.6s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -o-transition: transform 0.6s cubic-bezier(0.53, 0.21, 0, 1) 0s;
    }

    .submit_btn button a:hover::before {
        right: -1px;
        transform: scaleX(0);
        -webkit-transform: scaleX(0);
        -moz-transform: scaleX(0);
        -ms-transform: scaleX(0);
        -o-transform: scaleX(0);
        transform-origin: 100% 0;
        border-radius: 0 0 0 20px;
        -webkit-border-radius: 0 0 0 20px;
        -moz-border-radius: 0 0 0 20px;
        -ms-border-radius: 0 0 0 20px;
        -o-border-radius: 0 0 0 20px;
    }

    .submit_btn button a::after {
        content: "";
        background-image: url("../images/svg/arrowR_white.svg");
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        position: absolute;
        right: 12px;
        top: 50%;
        width: 22px;
        height: 12px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -webkit-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -moz-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -ms-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -o-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
    }

    _::-webkit-full-page-media,
    _:future,
     :root .submit_btn button a::after {
        transition: 0s;
        -webkit-transition: 0s;
        -moz-transition: 0s;
        -ms-transition: 0s;
        -o-transition: 0s;
    }

    .submit_btn button a:hover::after {
        background-image: url("../images/svg/arrowR_yellow.svg");
    }

    .submit_btn button a span {
        position: relative;
        transition: color 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -webkit-transition: color 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -moz-transition: color 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -ms-transition: color 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -o-transition: color 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        z-index: 1;
    }

    .submit_btn button a:hover span {
        color: #9d802e;
    } */

    /* .go_back a:hover {
        color: inherit;
    } */
    /* --- contact --- */

    .contact_sec {
        width: 100%;
    }

    .contact_outer {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 50px;
        padding: 30px 50px;
        max-width: 1000px;
        letter-spacing: 1px;
        margin-bottom: 100px;
        font-weight: 500;
        background: #fff;
        border-radius: 30px;
    }

    .contact_info_wrapper {
        color: #005e66;
        padding: 25px 0;
        border-bottom: 1px solid #cacaca;
    }

    .contact_info_wrapper:first-child {
        padding: 0 0 25px;
    }

    .contact_info_wrapper:last-child {
        border-bottom: none;
    }

    .contact_info_wrapper h3 {
        margin: 20px auto;
        font-size: 21px;
        font-weight: 700;
    }

    .contact_info_wrapper p {
        letter-spacing: 1px;
        line-height: 25px;
    }

    .contact_info_wrapper.l-info_pay ul li{
     margin-bottom: 0;
    }
    .contact_info_wrapper.l-info_pay span{
     display: block;
     font-size: 12px;
    }

    .form_sec textarea {
        background-color: #f2f3f3;
        border-radius: 0;
    }

    .gender {
        padding-top: 6px;
    }

    .contact_tel_sec {
        text-align: center;
        padding: 50px 0;
        background: #effaed;
    }

    .contact_tel_sec h3 {
        font-size: 26px;
        font-weight: 900;
        text-align: center;
        margin: 30px;
        letter-spacing: 1px;
    }

    .phone_number_area {
        margin: 30px auto 15px auto;
        display: flex;
        width: 360px;
        align-items: center;
        justify-content: center;
        border: 2px solid #000000;
        padding: 10px 25px;
        box-sizing: border-box;
        font-size: 32px;
        line-height: 3.4rem;
        color: #E75F93;
        font-weight: bold;
        position: relative;
        transition: 0.5s;
        letter-spacing: 0.06em;
        background-color: #fff;
    }

    .phone_number_area img {
        max-width: 50px;
        margin-right: 15px;
    }

    .phone_number_area a {
        color: #E75F93;
    }

    @media all and (-ms-high-contrast: none) {
        .phone_number_area a {
            height: 40px;
        }
        .submit_btn button {
            height: 60px;
            padding: 5px 50px;
        }
    }

    .phone_number_area a:hover {
        color: #E75F93!important;
        text-decoration: none!important;
        cursor: auto;
    }

    .contact_tel_sec p {
        font-size: 1.2em;
        font-weight: 500;
        letter-spacing: 1px;
        line-height: 25px;
        color: #333;
    }
    /* --- contact-comp --- */

    .success_wrapper p {
        width: 100%;
        line-height: 35px;
        margin: 0 auto;
        font-size: 18px;
        font-weight: 500;
    }

    .go_back {
        display: table;
        position: relative;
        color: #005e66;
        text-decoration: none;
        transition: all 300ms 0s ease;
        margin: 30px auto 30px auto;
        padding: 0 40px;
        font-weight: 500;
        border: none;
        background: none;
    }

    .go_back:first-of-type {
        margin: 50px auto 30px auto;
    }

    .go_back::before {
        content: "";
        background-image: url(../images/btn_arrow_login.svg);
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
        position: absolute;
        left: 0;
        top: 50%;
        width: 32px;
        height: 20px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -webkit-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -moz-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -ms-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
        -o-transition: 0.4s cubic-bezier(0.53, 0.21, 0, 1) 0s;
    }

    .go_back:hover::before{
        left: -20px;
        text-decoration: none!important;
    }

    .go_back a {
        color: #005e66;
        text-decoration: none;
    }

    .go_back img {
        max-width: 20px;
        position: absolute;
        top: 50%;
        right: 50%;
        transform: translateY(-50%) scale(-1, 1);
    }

    .go_back .go_back_img_right {
        max-width: 20px;
        position: absolute;
        top: 50%;
        right: 50%;
        transform: translate(120%, -50%);
    }
    /* --- comp --- */

    .success_sec,
    .error_sec {
        width: 100%;
    }
    .success_sec .success_info_wrapper{
        padding: 25px 0;
    }
    .success_sec .success_info_wrapper h3{
        color: #005e66;
    }
    .success_sec .success_info_wrapper p{
        color: #005e66;
    }

    .success_outer,
    .error_outer {
        margin: 0 auto;
        margin-top: 50px;
        max-width: 1000px;
        letter-spacing: 1px;
        margin-bottom: 100px;
        font-weight: 500;
        padding-left: 50px;
        padding-right: 50px;
    }

    .success_wrapper,
    .error_wrapper {
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .success_outer h4,
    .error_outer h4 {
        font-size: 26px;
        font-weight: 900;
        text-align: center;
        margin: 30px;
        letter-spacing: 1px;
    }

    .success_wrapper p,
    .error_wrapper p {
        line-height: 35px;
        margin: 0 auto;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
    }

    .link_btn {
        border: 2px solid #000000;
        padding: 20px 50px;
        box-sizing: border-box;
        font-size: 1.2rem;
        line-height: 3.4rem;
        color: #000000;
        font-weight: bold;
        position: relative;
        transition: 0.5s;
        letter-spacing: 0.06em;
        background-color: #fff;
        min-width: 280px;
    }

    .link_btn::before {
        content: "";
        background: url(../images/arrowR.png);
        background-size: 26px;
        background-position: center center;
        position: absolute;
        right: 12px;
        top: 50%;
        width: 26px;
        height: 26px;
        transform: translateY(-50%);
    }

    .link_btn:hover {
        background: #E75F93;
        color: #fff;
        text-decoration: none!important;
    }

    .settle_btn {
        background: #E75F93;
        border: 2px solid #000000;
        padding: 20px 50px;
        box-sizing: border-box;
        font-size: 1.2rem;
        line-height: 3.4rem;
        color: #fff;
        font-weight: bold;
        position: relative;
        transition: 0.5s;
        letter-spacing: 0.06em;
        min-width: 280px;
    }

    .settle_btn::before {
        background: #E75F93;
        content: "";
        background: url(../images/arrowR02.png);
        background-size: 26px;
        background-position: center center;
        position: absolute;
        right: 12px;
        top: 50%;
        width: 26px;
        height: 26px;
        transform: translateY(-50%);
    }
    /* --- function --- */

    .function_form .frm_item span {
        padding-top: 15px;
        margin: auto 10px;
    }

    .card_icons img {
        max-width: 40px;
    }

    .remember div {
        padding-top: 10px;
        padding-left: 40px;
    }

    .security_input {
        margin-right: 35px;
    }
    /* --- signup --- */

    .form_outer .text-muted {
        font-size: .9em;
        line-height: 1.4em;
        padding-top: 8px;
    }

    .frm_link {
        color: #E75F93!important;
        text-decoration: none!important;
    }

    .frm_link:hover {
        color: #E75F93;
        opacity: 0.7;
    }
    /* --- mypage --- */

    h4 {
        font-size: 26px;
        font-weight: 900;
        text-align: center;
        margin: 50px auto;
        letter-spacing: 1px;
    }

    .workshop_list_outer {
        max-width: 1000px;
        margin: 30px auto;
    }

    .lsit_item {
        padding: 20px 40px;
        background-color: #fff;
        margin-bottom: 30px;
    }

    .held_workshop {
        background-color: #dfdfdf;
    }

    .held_workshop .link_btn {
        background: #dfdfdf;
    }

    .held_workshop .link_btn:hover {
        background: #E75F93;
    }

    .workshop_list_outer .workshop_info_wrapper:first-child {
        padding-top: 0;
        padding-bottom: 0;
        border-bottom: 1px solid #cacaca;
    }

    .workshop_lsit_wrapper {
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: none;
    }

    .workshop_link {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .workshop_link .link_btn {
        padding: 10px 50px;
    }

    .workshop_link .settle_btn,
    .workshop_link .link_btn {
        padding: 10px 50px;
        min-width: calc( 7.36em + 104px);
        display: inline-block;
        box-sizing: border-box;
        line-height: 1.2rem;
    }

    .unconfirmed {
        color: #ee0000;
    }

    .cancel_text {
        line-height: 30px;
    }

    #classlist a:hover {
        text-decoration: none!important;
    }

    .held_workshop .settle_btn {
        background: #E75F93;
    }

    .workshop_link .settle_btn {
        padding: 10px 50px;
        color: #fff;
    }

    .workshop_link .settle_btn:hover {
        background: #fff;
        /*  color: #E75F93;*/
        color: #000000;
        text-decoration: none;
    }

    .workshop_link .settle_btn::before {
        transition: 0.5s;
    }

    .workshop_link .settle_btn:hover::before {
        background-image: url(../images/arrowR.png);
    }
    /* --- class --- */

    .class_top_image_area img {
        width: 100%;
    }

    .class_outer {
        padding: 50px;
    }

    .class_outer h3 {
        margin: 25px auto;
        font-family: "Avenir Next", 'Ubuntu', Trebuchet MS, sans-serif;
    }

    .class_outer h3:first-child {
        margin-top: 0;
    }

    .class_outer p {
        font-weight: 500;
        line-height: 32px;
        margin-bottom: 50px;
    }

    .column_row {
        display: flex;
        flex-wrap: wrap;
    }

    .column_3 {
        width: calc(25% - 20px);
        padding: 10px;
    }
    /* --- information --- */

    .info_view_all dt ul li:last-child {
        width: 100%!important;
        text-align: left!important;
    }

    .pagination_wrapper {
        margin-top: 50px;
    }

    .pagination_wrapper .pagination {
        text-align: center;
    }

    .pagination {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .pagination li {
        width: 35px;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 5px;
        margin: 0 10px;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .page_active {
        background-color: #E75F93;
    }

    .page_active a {
        color: #fff;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .pagination li a {
        width: 100%;
    }

    .pagination li:hover {
        background-color: #E75F93;
    }

    .pagination li:first-child:hover,
    .pagination li:last-child:hover {
        background-color: #fff;
    }

    .pagination li:hover a {
        color: #fff;
    }

    .pagination img {
        max-width: 30px;
        padding-top: 5px;
    }

    .page_pre img {
        transform: scale(-1, 1);
    }

    .info_view_all .contents {
        padding-left: 0;
        padding-right: 0;
    }
    /* --- terms --- */
    .l-h2{
        font-weight: bold;
    }
    .term_sec {
        padding: 120px;
        text-align: left;
    }

    .term_sec>h2 {
        text-align: center;
        color: #005e66;
    }

    .term_sec p {
        color: #005e66;
        font-size: 1.6rem;
        line-height: 2.8rem;
        word-wrap: break-word !important;
    }

    .term_sec ul {
        list-style: none;
        padding-left: 0;
    }

    .term_sec ul li {
        text-indent: -1em;
        padding-left: 1em;
        line-height: 2.4rem;
        font-size: 1.6rem;
        font-weight: normal;
        margin-bottom: 10px;
        word-wrap: break-word;
    }

    .term_sec ul li ul {
        margin-top: 10px;
    }

    .term_sec a {
        color: #9d802e;
        text-decoration: underline;
        transition: 0.5s;
    }

    .term_sec a:hover {
        opacity: 0.7;
        text-decoration: none;
    }

    .term_sec .contact_outer{
        margin-bottom: 0;
    }

    .contact_form_sec{
        background: #effaed;
        padding: 20px 60px 60px 60px;
    }
    .contact_form_sec h4{margin-top: 0;}
    /* --- bookmark --- */

    .more_btn::before {
        content: none!important;
    }
    .term_sec ul li.cancel_li span{
        display: block;
        font-size: 12px;
        padding-left: 14px;
        text-indent: -14px;
        margin-top: 5px;
    }
    /* 20250128 */
    .function_form .debit-card-area .ttl-txt{
        position: relative;
        font-size: 18px;
        color: #005e66;
        font-weight: bold;
        margin-bottom: 15px;
        text-align: center;
        padding-top: 0;
        margin-top: 10%;
    }
    .function_form .debit-card-area .ttl-txt span{
        position: relative;
        display: inline-block;
        background: #fff;
        padding: 5px 10px;
        z-index: 2;
    }
    .function_form .debit-card-area .ttl-txt::after{
        content: "";
        width: 100%;
        height: 1px;
        background: #005e66;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    .function_form .debit-card-area ul li{
        text-align: left;
        margin-bottom: 20px;
        font-size: 14px!important;
        line-height: 1.4;
    }
    .function_form .debit-card-area ul li:last-of-type{
        margin-bottom: 0px;
    }
    .function_form .debit-card-area ul li span.bold{
        display: block;
        font-weight: bold;
        padding: 0!important;
        margin-bottom: 5px;
        font-size: 16px!important;
        color: #005e66;
    }
    .function_form .debit-card-area .hosoku-txt{
        padding: 0!important;
        text-align: left;
        font-size: 14px;
        margin-top: 30px;
    }
    .function_form .debit-card-area .ttl-txt span br.sp-block{display: none;}

    @media screen and (max-width: 768px) {
        .progressbar {
            width: 90%;
        }
        .progressbar li {
            font-size: 0.7em;
        }
        .progressbar li:before {
            width: 40px;
            height: 34px;
            padding-top: 6px;
        }
        .progressbar li:after {
            top: 10px;
        }
        .progressbar li.success .check::after {
            top: -5px;
        }
        .workshop_sec {
            margin: 0 auto;
        }
        .workshop_info_wrapper {
            padding-top: 17px;
            padding-bottom: 17px;
        }
        .workshop_info_wrapper h3 {
            line-height: 1.6em;
            margin: 20px auto 0;
        }
        .workshop_category {
            padding: 5px 10px;
            font-size: .8em;
        }
        .workshop_sec .workshop_date {
            font-size: .9em;
        }
        .workshop_outer {
            padding-left: 0;
            padding-right: 0;
        }
        .form_sec {
            padding: 50px 20px;
        }
        .form_sec h4 {
            font-size: 22px;
            text-align: center;
            letter-spacing: 1px;
            margin: 20px auto;
        }
        .form_sec h4:nth-of-type(2) {
            margin: 0px auto 20px !important;
        }
        .submit_btn {
            margin-top: 40px;
            margin-bottom: 10px;
        }
        .function_form .submit_btn {
            margin-top: 20px;
        }
        .form_outer .frm_item:last-child {
            padding-bottom: 20px;
        }
        .form_outer.afterbtn_txt p {
            font-size: 14px;
        }
        .required_badge {
            margin-left: 10px;
        }
        /* --- comp --- */
        .success_sec,
        .error_sec {
            margin: 0 auto;
        }
        .success_outer,
        .error_outer {
            padding: 15px;
            margin-bottom: 50px;
        }
        .success_outer h4,
        .error_outer h4 {
            font-size: 22px;
            font-weight: 900;
            text-align: center;
            letter-spacing: 1px;
            margin: 20px auto;
        }
        .frm_item {
            padding-top: 15px;
            padding-bottom: 25px;
        }
        .success_wrapper p,
        .error_wrapper p {
            width: 95%;
            line-height: 25px;
            margin: 0 auto;
            font-size: 1em;
            text-align: left;
        }
        .submit_btn {
            margin-bottom: 50px;
        }
        .workshop_link.submit_btn {
            margin-bottom: 0px;
            line-height: 1.4rem;
        }
        /* --- function --- */
        .security_input {
            margin-right: 0;
        }
        .card_icons img {
            max-width: 42px;
        }
        /* --- contact --- */
        .contact_sec {
            width: 90%;
            margin: 0 auto;
        }
        .contact_info_wrapper {
            padding: 20px 15px;
            border-bottom: 1px solid #cacaca;
        }
        .contact_info_wrapper:first-child {
            padding: 20px;
        }
        .contact_info_wrapper h3 {
            margin: 0 auto 10px;
            font-size: 16px;
            line-height: 1.6em;
        }
        .contact_info_wrapper p {
            margin-bottom: 0;
            font-size: 14px;
            line-height: 1.6em;
        }
        .term_sec ul li {
            margin-bottom: 0;
            font-size: 1.4rem;
            line-height: 1.6em;
            margin-bottom: 10px;
        }
        .contact_category {
            padding: 5px 10px;
            font-size: .8em;
        }
        .contact_date {
            font-size: .7em;
        }
        .contact_outer {
            margin-top: 0;
            margin-bottom: 0;
            padding: 0;
        }
        .phone_number_area {
            width: calc(80% - 10px);
            /* padding: 10px 0px; */
            letter-spacing: 0.02em;
            font-size: 6vw;
            -webkit-text-size-adjust: 100%;
            -ms-text-size-adjust: 100%;
            white-space: nowrap;
        }
        .phone_number_area img {
            max-width: 10vw;
        }
        /* --- mypage --- */
        .lsit_item {
            padding: 20px;
        }
        .workshop_info_wrapper h3 {
            font-size: 1em;
        }
        .item_name {
            font-size: .9em;
            padding: 6px 8px;
        }
        .item_value {
            font-size: .9em;
        }
        .settle_cls {
            font-size: .9em;
        }
        .link_btn {
            font-size: 1em;
        }
        .settle_btn {
            font-size: 1em;
        }
        .go_back {
            font-size: .8em;
            margin: 30px auto;
            padding: 0 20px;
        }
        .cancel_text {
            line-height: 25px;
            font-size: .7em;
        }
        #classlist .listinner article {
            width: 100%;
            margin-left: 0;
            margin-bottom: 30px;
        }
        /* --- class --- */
        .class_outer {
            padding: 50px 0px;
        }
        .class_outer p {
            font-size: 1.4rem;
        }
        .column_3 {
            width: calc(50% - 10px);
            padding: 5px;
        }
        /* p.btnStyle01 a {
            padding: 15px 0;
        } */
        #activity_detail section:first-of-type .workshop_info_wrapper:first-of-type {
            border-bottom: 0;
            padding-bottom: 0;
        }
        #activity_detail section:first-of-type .workshop_info_wrapper:nth-of-type(2) {
            border-bottom: 0;
            padding-top: 0;
            padding-bottom: 0;
        }
        /* --- information --- */
        #info dd ul {
            padding-right: 20px;
        }
        .pagination li {
            width: 30px;
            height: 30px;
        }
        /* --- terms --- */
        .term_sec {
            padding: 120px 20px;
        }
        .submit_btn button{
            width: 100%;
        }

        .contact_tel_sec h4 {
            font-size: 16px;
        }
        .go_back::before{
            left: -20px;
        }

        #application_low .workshop_form_login{
            padding: 60px 20px;
        }
        .admin_form_sec.form_sec{
            padding: 30px 20px 60px 20px;
        }
        .contact_outer{
            border-radius: 20px;
        }
        .function_form .debit-card-area .ttl-txt span br.sp-block{display: block;}
        .function_form .debit-card-area ul li span.bold{padding-left: 16px !important; text-indent: -16px;}
    }

    @media screen and (max-width:600px) {
        #info dd ul {
            padding-right: 0;
        }
    }
    
    @media screen and (max-width:420px) {
        #signup.login .form_sec{padding: 120px 5px 60px 5px;}
    }
    @media screen and (max-width:360px) {
        .form_sec {
            padding: 50px 10px;
        }
    }
