@charset "utf-8";

/* 共通
-------------------------------------------*/
body.bg_lightgreen {
    background: url(../img/common/bg_lightgreen_3.jpg) repeat-y top center / auto;
}

body.bg_lightgreen_cover {
    background: url(../img/common/bg_lightgreen_3.jpg) repeat-y top center / cover;
}

.curve-white .second-tit {
    margin-top: 62px;
    margin-left: -3px;
}

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

    body.bg_lightgreen,
    body.bg_lightgreen_cover {
        background: url(../img/common/bg_lightgreen_3_sp.jpg) repeat-y top center / auto;
    }

    .curve-white .second-tit {
        margin-top: 0;
        margin-left: 40px;
    }

    .inner567,
    .inner634,
    .inner654,
    .inner760,
    .inner770,
    .inner775,
    .inner790,
    .inner804,
    .inner814,
    .inner830,
    .inner840,
    .inner860,
    .inner870,
    .inner880,
    .inner895,
    .inner900,
    .inner906,
    .inner922,
    .inner930,
    .inner960,
    .inner965,
    .inner968,
    .inner970,
    .inner976,
    .inner980,
    .inner988,
    .inner995,
    .inner1000,
    .inner1018,
    .inner1025,
    .inner1038,
    .inner1040,
    .inner1060,
    .inner1158,
    .inner1176,
    .inner1200,
    .inner1280,
    .inner1324,
    .inner1330,
    .inner1360,
    .inner1680,
    .inner1780 {
        padding: 0px 20px;
    }

    body.under .line_gray {
        margin-left: -22px;
    }

}


/* メインビジュアル【MV】
-------------------------------------------*/
.underMVBl {
    margin: 93px auto 0;
    padding: 0 28px;
    position: relative;
    max-width: 2000px;
    box-sizing: border-box;
}

.underMV_inner {
    overflow: hidden;
}

.underMV_imgwrap {
    position: relative;
    border-radius: 5px;
    overflow: hidden;
}

.underMV_imgwrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
}

.underMV_imgwrap img {
    position: relative;
    z-index: 1;
}

.underMV_txtwrap {
    position: absolute;
    top: min(calc((237 / 1200) * 100vw), 237px);
    left: 0;
    right: 0;
    bottom: 0;
    max-width: min(calc((925 / 1200) * 100vw), 1185px);
    box-sizing: border-box;
    height: auto;
    margin: 0 auto;
    z-index: 3;
    opacity: 0;
    transform: translateX(-70px);
    filter: blur(20px);
    animation: underMV_txtwrap 1.0s ease forwards 0.7s;
}

@keyframes underMV_txtwrap {
    100% {
        opacity: 1;
        transform: translate(0);
        filter: blur(0);
    }
}

.underMV_cate {
    font-family: "source-sans-3-variable", sans-serif;
    font-variation-settings: "wght" 400;
    font-size: min(calc((12 / 1200) * 100vw), 12px);
    line-height: 1;
    letter-spacing: 0.08em;
    display: block;
    color: #fff;
}

body.rinen .underMV_cate,
body.dock-day .underMV_cate {
    padding-left: min(calc((50 / 1200) * 100vw), 50px);
}

body.dock .underMV_cate,
body.dock-course .underMV_cate,
body.dock-course-detail .underMV_cate,
body.dock-flow .underMV_cate,
body.facility .underMV_cate,
body.kenshin .underMV_cate,
body.seikatsu .underMV_cate,
body.gairai-shinryo .underMV_cate,
body.kinen-gairai .underMV_cate,
body.message .underMV_cate,
body.attention .underMV_cate,
body.terms .underMV_cate {
    padding-left: min(calc((65 / 1200)* 100vw), 65px);
}

body.news .underMV_cate {
    padding-left: min(calc((45 / 1200)* 100vw), 45px);
}

body.activityreport .underMV_cate {
    padding-left: min(calc((60 / 1200)* 100vw), 60px);
}

body.download .underMV_cate {
    padding-left: min(calc((53 / 1200)* 100vw), 53px);
}

body.health-info .underMV_cate {
    padding-left: min(calc((71 / 1200)* 100vw), 71px);
}

body.hospitals .underMV_cate,
body.corporations-top .underMV_cate,
body.corporations-course .underMV_cate,
body.corporations-apply .underMV_cate,
body.medical-apply .underMV_cate {
    padding-left: min(calc((62 / 1200)* 100vw), 62px);
}

body.silver .underMV_cate {
    padding-left: min(calc((62 / 1200)* 100vw), 62px);
}

body.optout .underMV_cate {
    padding-left: min(calc((60 / 1200)* 100vw), 60px);
}

body.optout.consent .underMV_cate {
    padding-left: min(calc((57 / 1200)* 100vw), 57px);
}

body.irb .underMV_cate {
    padding-left: min(calc((62 / 1200)* 100vw), 62px);
}

body.dock-lunch .underMV_cate,
body.dock-gift .underMV_cate {
    padding-left: min(calc((61 / 1200)* 100vw), 61px);
}

body.reservation .underMV_cate {
    padding-left: min(calc((61 / 1200)* 100vw), 61px);
}

body.policy .underMV_cate {
    padding-left: min(calc((55 / 1200)* 100vw), 55px);
}

body.faq .underMV_cate {
    padding-left: min(calc((61 / 1200)* 100vw), 61px);
}


.underMV_cate::before {
    content: '';
    display: inline-block;
    position: absolute;
    left: 0;
}

/* 見出しのアイコンアニメーション*/
.underMV_cate::before {
    transform: translateY(0) scale(0);
    opacity: 0;
    animation: under_icn_bounce .5s ease forwards 1.5s;
}

@keyframes under_icn_bounce {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* /見出しのアイコンアニメーション）*/
body.rinen .underMV_cate::before,
body.dock-day .underMV_cate::before {
    background: url(../img/common/icn_heart_white.svg) no-repeat center / contain;
    width: min(calc((31.5 / 1200) * 100vw), 31.5px);
    height: min(calc((29.9 / 1200) * 100vw), 29.9px);
    top: min(calc((-8 / 1200) * 100vw), -8px);
}

body.dock .underMV_cate::before,
body.dock-course .underMV_cate::before,
body.dock-course-detail .underMV_cate::before,
body.dock-flow .underMV_cate::before,
body.facility .underMV_cate::before,
body.kenshin .underMV_cate::before,
body.seikatsu .underMV_cate::before,
body.gairai-shinryo .underMV_cate::before,
body.kinen-gairai .underMV_cate::before,
body.message .underMV_cate::before,
body.attention .underMV_cate::before,
body.terms .underMV_cate::before {
    width: min(calc((28.4 / 1200) * 100vw), 28.4px);
    height: min(calc((31 / 1200) * 100vw), 31px);
    top: min(calc((-6 / 1200) * 100vw), -6px);
    left: min(calc((9 / 1200) * 100vw), 9px);
}

body.dock-flow .underMV_cate::before,
body.facility .underMV_cate::before,
body.message .underMV_cate::before,
body.attention .underMV_cate::before,
body.terms .underMV_cate::before {
    top: min(calc((-9 / 1200)* 100vw), -9px);
}

body.dock .underMV_cate::before,
body.dock-course .underMV_cate::before,
body.dock-course-detail .underMV_cate::before,
body.dock-flow .underMV_cate::before,
body.facility .underMV_cate::before,
body.message .underMV_cate::before,
body.attention .underMV_cate::before,
body.terms .underMV_cate::before {
    background: url(../img/common/icn_hospital_white.svg) no-repeat center / contain;
}

body.kenshin .underMV_cate::before {
    background: url(../img/common/icn_hospital_white.svg) no-repeat center / contain;
}

body.seikatsu .underMV_cate::before {
    background: url(../img/common/icn_hospital_white.svg) no-repeat center / contain;
}

body.gairai-shinryo .underMV_cate::before {
    background: url(../img/common/icn_hospital_white.svg) no-repeat center / contain;
}

body.kinen-gairai .underMV_cate::before {
    background: url(../img/common/icn_hospital_white.svg) no-repeat center / contain;
}

body.news .underMV_cate::before {
    background: url(../img/common/icn_pen_white.svg) no-repeat center / contain;
    width: min(calc((15 / 1200)* 100vw), 15px);
    height: min(calc((32 / 1200)* 100vw), 32px);
    top: min(calc((-9 / 1200)* 100vw), -9px);
    left: min(calc((9 / 1200)* 100vw), 9px);
}

body.activityreport .underMV_cate::before {
    background: url(../img/common/icn_report_white.svg) no-repeat center / contain;
    width: min(calc((35 / 1200)* 100vw), 35px);
    height: min(calc((30 / 1200)* 100vw), 30px);
    top: min(calc((-6 / 1200) * 100vw), -6px);
    left: min(calc((2 / 1200)* 100vw), 2px);
}

body.download .underMV_cate::before {
    background: url(../img/common/icn_download_white.svg) no-repeat center / contain;
    width: min(calc((30 / 1200)* 100vw), 30px);
    height: min(calc((38 / 1200)* 100vw), 38px);
    top: min(calc((-12 / 1200)* 100vw), -12px);
    left: min(calc((5 / 1200)* 100vw), 5px);
}

body.health-info .underMV_cate::before {
    background: url(../img/common/icn_health_white.svg) no-repeat center / contain;
    width: min(calc((55 / 1200)* 100vw), 55px);
    height: min(calc((47 / 1200)* 100vw), 47px);
    top: min(calc((-14 / 1200)* 100vw), -14px);
    left: min(calc((5 / 1200)* 100vw), 5px);
}

body.hospitals .underMV_cate::before,
body.corporations-top .underMV_cate::before,
body.corporations-course .underMV_cate::before,
body.corporations-apply .underMV_cate::before,
body.medical-apply .underMV_cate::before {
    background: url(../img/common/icn_three-people_white.svg) no-repeat center / contain;
    width: min(calc((44 / 1200)* 100vw), 44px);
    height: min(calc((31 / 1200)* 100vw), 31px);
    top: min(calc((-7 / 1200)* 100vw), -7px);
    left: min(calc((5 / 1200)* 100vw), 5px)
}

body.silver .underMV_cate::before {
    background: url(../img/common/icn_gymnastics_white.svg) no-repeat center / contain;
    width: min(calc((43 / 1200)* 100vw), 43px);
    height: min(calc((46 / 1200)* 100vw), 46px);
    top: min(calc((-16 / 1200)* 100vw), -16px);
    left: min(calc((5 / 1200)* 100vw), 5px);
}

body.optout .underMV_cate::before {
    background: url(../img/common/icn_beaker_white.svg) no-repeat center / contain;
    width: min(calc((28 / 1200)* 100vw), 28px);
    height: min(calc((42 / 1200)* 100vw), 42px);
    top: min(calc((-13 / 1200) * 100vw), -13px);
    left: min(calc((5 / 1200)* 100vw), 5px);
}

body.optout.consent .underMV_cate::before {
    background: url(../img/common/icn_exclamation_white.svg) no-repeat center / contain;
    width: min(calc((36 / 1200)* 100vw), 36px);
    height: min(calc((36 / 1200)* 100vw), 36px);
    top: min(calc((-10.5 / 1200)* 100vw), -10.5px);
    left: min(calc((5 / 1200)* 100vw), 5px);
}

body.irb .underMV_cate::before {
    background: url(../img/common/icn_ethics_white.svg) no-repeat center / contain;
    width: min(calc((41 / 1200)* 100vw), 41px);
    height: min(calc((32 / 1200)* 100vw), 32px);
    top: min(calc((-10.5 / 1200)* 100vw), -10.5px);
    left: min(calc((2 / 1200)* 100vw), 2px);
}

body.dock-lunch .underMV_cate::before {
    background: url(../img/common/icn_ticket_white.svg) no-repeat center / contain;
    width: min(calc((40 / 1200)* 100vw), 40px);
    height: min(calc((20 / 1200)* 100vw), 20px);
    top: min(calc((-3 / 1200)* 100vw), -3px);
    left: min(calc((2 / 1200)* 100vw), 2px);
}

body.dock-gift .underMV_cate::before {
    background: url(../img/common/icn_gift-ticket_white.svg) no-repeat center / contain;
    width: min(calc((40 / 1200)* 100vw), 40px);
    height: min(calc((20 / 1200)* 100vw), 20px);
    top: min(calc((-5 / 1200)* 100vw), -5px);
    left: min(calc((2 / 1200)* 100vw), 2px);
}

body.reservation .underMV_cate::before {
    background: url(../img/common/icn_monitor_white.svg) no-repeat center / contain;
    width: min(calc((30 / 1200)* 100vw), 30px);
    height: min(calc((28 / 1200)* 100vw), 28px);
    top: min(calc((-5 / 1200) * 100vw), -5px);
    left: 0;
}

body.policy .underMV_cate::before {
    background: url(../img/common/icn_keyopen_white.svg) no-repeat center / contain;
    width: min(calc((28 / 1200)* 100vw), 28px);
    height: min(calc((37 / 1200)* 100vw), 37px);
    top: min(calc((-9 / 1200)* 100vw), -9px);
    left: min(calc((2 / 1200)* 100vw), 2px);
}

body.faq .underMV_cate::before {
    width: min(calc((40 / 1200)* 100vw), 40px);
    height: min(calc((31 / 1200)* 100vw), 31px);
    top: min(calc((-10 / 1200)* 100vw), -10px);
    left: 0;
    background: url(../img/common/icn_book_white.svg) no-repeat center / contain;
}

.underMV_cate_num {
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-size: min(calc((19 / 1200) * 100vw), 19px);
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
    padding-left: .1em;
}

.underMV_tit {
    font-size: min(calc((35 / 1200) * 100vw), 35px);
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: .15em;
    color: #fff;
    margin-top: min(calc((33 / 1200) * 100vw), 33px);
    display: block;
}

body.dock .underMV_tit,
body.dock-course .underMV_tit,
body.dock-course-detail .underMV_tit,
body.download .underMV_tit,
body.kenshin .underMV_tit,
body.dock-gift .underMV_tit,
body.dock-day .underMV_tit,
body.policy .underMV_tit,
body.terms .underMV_tit,
body.attention .underMV_tit,
body.faq .underMV_tit {
    letter-spacing: 0.03em;
}

body.message .underMV_tit {
    letter-spacing: 0.1em;
}

body.facility .underMV_tit {
    letter-spacing: 0.1em;
}

.underMV_tit_s {
    font-size: min(calc((25 / 1200) * 100vw), 25px);
    color: #fff;
    letter-spacing: .1em;
    line-height: 1.4;
    display: block;
    margin-top: min(calc((15 / 1200) * 100vw), 15px);
}


@media screen and (max-width: 1499px) {
    .underMV_txtwrap {
        top: min(calc((140 / 1200) * 100vw), 237px);
    }
}


@media screen and (max-width: 767px) {
    .underMVBl {
        margin: 55px 0 0 0;
        padding: 0;
    }

    .underMV_imgwrap {
        border-radius: 0;
    }

    .underMV_imgwrap::before {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 50%);
    }

    .underMV_txtwrap {
        top: calc((79 / 750)* 100vw);
        max-width: calc((630 / 750)* 100vw);
    }

    .underMV_tit {
        font-size: calc((54 / 750) * 100vw);
        letter-spacing: .15em;
        margin-top: calc((20 / 750) * 100vw);
    }

    .underMV_tit_s {
        font-size: calc((35 / 750) * 100vw);
        margin-top: calc((15 / 750) * 100vw);
    }

    .underMV_cate {
        font-size: calc((34 / 750) * 100vw);
    }

    body.rinen .underMV_cate,
    body.dock-day .underMV_cate {
        padding-left: calc((100 / 750) * 100vw);
    }

    body.message .underMV_cate,
    body.dock .underMV_cate,
    body.dock-course .underMV_cate,
    body.dock-course-detail .underMV_cate,
    body.dock-flow .underMV_cate,
    body.facility .underMV_cate,
    body.kenshin .underMV_cate,
    body.seikatsu .underMV_cate,
    body.gairai-shinryo .underMV_cate,
    body.kinen-gairai .underMV_cate,
    body.message .underMV_cate {
        padding-left: calc((100 / 750) * 100vw);
    }

    body.news .underMV_cate {
        padding-left: calc((75 / 750)* 100vw);
    }

    body.activityreport .underMV_cate {
        padding-left: calc((100 / 750)* 100vw);
    }

    body.download .underMV_cate {
        padding-left: calc((80 / 750)* 100vw);
    }

    body.hospitals .underMV_cate,
    body.corporations-top .underMV_cate,
    body.corporations-course .underMV_cate,
    body.corporations-apply .underMV_cate,
    body.medical-apply .underMV_cate {
        padding-left: calc((130 / 750)* 100vw);
    }

    body.silver .underMV_cate {
        padding-left: calc((91 / 750)* 100vw);
    }

    body.optout .underMV_cate {
        padding-left: calc((81 / 750)* 100vw);
    }

    body.optout.consent .underMV_cate {
        padding-left: calc((89 / 750)* 100vw);
    }

    body.irb .underMV_cate {
        padding-left: calc((89 / 750)* 100vw);
    }

    body.rinen .underMV_cate::before,
    body.dock-day .underMV_cate::before {
        width: calc((63 / 750) * 100vw);
        height: calc((60 / 750) * 100vw);
        top: calc((-15 / 750) * 100vw);
    }

    body.health-info .underMV_cate {
        padding-left: calc((95 / 750)* 100vw);
    }

    body.dock-lunch .underMV_cate,
    body.dock-gift .underMV_cate {
        padding-left: calc((95 / 750)* 100vw);
    }

    body.reservation .underMV_cate {
        padding-left: calc((95 / 750)* 100vw);
    }

    body.policy .underMV_cate {
        padding-left: calc((90 / 750)* 100vw);
    }

    body.attention .underMV_cate,
    body.terms .underMV_cate {
        padding-left: calc((95 / 750)* 100vw);
    }

    body.faq .underMV_cate {
        padding-left: calc((90 / 750) * 100vw);
    }

    body.dock .underMV_cate::before,
    body.dock-course .underMV_cate::before,
    body.dock-course-detail .underMV_cate::before,
    body.kenshin .underMV_cate::before,
    body.seikatsu .underMV_cate::before,
    body.gairai-shinryo .underMV_cate::before,
    body.kinen-gairai .underMV_cate::before,
    body.dock-flow .underMV_cate::before,
    body.facility .underMV_cate::before,
    body.message .underMV_cate::before,
    body.attention .underMV_cate::before,
    body.terms .underMV_cate::before {
        width: calc((57 / 750) * 100vw);
        height: calc((62 / 750) * 100vw);
        top: calc((-1 / 750) * 100vw);
    }

    body.dock-flow .underMV_cate::before,
    body.facility .underMV_cate::before,
    body.message .underMV_cate::before,
    body.attention .underMV_cate::before,
    body.terms .underMV_cate::before {
        top: calc((-16 / 750) * 100vw);
    }

    body.news .underMV_cate::before {
        width: calc((30 / 750) * 100vw);
        height: calc((65 / 750) * 100vw);
        top: calc((-15 / 750) * 100vw);
        left: calc((4 / 750) * 100vw);
    }

    body.activityreport .underMV_cate::before {
        width: calc((60 / 750) * 100vw);
        height: calc((51 / 750) * 100vw);
        top: calc((-8 / 750) * 100vw);
        left: calc((4 / 750) * 100vw);
    }

    body.download .underMV_cate::before {
        width: calc((54 / 750)* 100vw);
        height: calc((68 / 750)* 100vw);
        top: calc((-18 / 750)* 100vw);
        left: calc((4 / 750)* 100vw);
    }

    body.health-info .underMV_cate::before {
        width: calc((76 / 750)* 100vw);
        height: calc((70 / 750)* 100vw);
        top: calc((-22 / 750)* 100vw);
        left: calc((2 / 750)* 100vw);
    }

    body.hospitals .underMV_cate::before,
    body.corporations-top .underMV_cate::before,
    body.corporations-course .underMV_cate::before,
    body.corporations-apply .underMV_cate::before,
    body.medical-apply .underMV_cate::before {
        width: calc((82 / 750) * 100vw);
        height: calc((59 / 750) * 100vw);
        top: calc((-11 / 750) * 100vw);
        left: calc((2 / 750) * 100vw);
    }

    body.silver .underMV_cate::before {
        width: calc((66 / 750)* 100vw);
        height: calc((72 / 750)* 100vw);
        top: calc((-21 / 750)* 100vw);
        left: calc((8 / 750)* 100vw);
    }

    body.optout .underMV_cate::before {
        width: calc((50 / 750)* 100vw);
        height: calc((72 / 750)* 100vw);
        top: calc((-24 / 750)* 100vw);
        left: calc((-1 / 750)* 100vw);
    }

    body.optout.consent .underMV_cate::before {
        width: calc((60 / 750)* 100vw);
        height: calc((60 / 750)* 100vw);
        top: calc((-12 / 750)* 100vw);
        left: calc((1 / 750)* 100vw);
    }

    body.irb .underMV_cate::before {
        width: calc((60 / 750)* 100vw);
        height: calc((46 / 750)* 100vw);
        top: calc((-8 / 750)* 100vw);
        left: calc((1 / 750)* 100vw);
    }

    body.dock-gift .underMV_cate::before {
        width: calc((60 / 750)* 100vw);
        height: calc((60 / 750)* 100vw);
        top: calc((-12 / 750)* 100vw);
        left: calc((1 / 750)* 100vw);
    }

    body.dock-gift .underMV_cate::before {
        width: calc((60 / 750)* 100vw);
        height: calc((60 / 750)* 100vw);
        top: calc((-14 / 750)* 100vw);
        left: calc((1 / 750)* 100vw);
    }

    body.reservation .underMV_cate::before {
        width: calc((55 / 750) * 100vw);
        height: calc((51 / 750) * 100vw);
        top: calc((-9 / 750) * 100vw);
        left: calc((1 / 750) * 100vw);
    }

    body.policy .underMV_cate::before {
        width: calc((60 / 750) * 100vw);
        height: calc((66 / 750) * 100vw);
        top: calc((-21 / 750) * 100vw);
        left: calc((3 / 750) * 100vw);
    }

    body.faq .underMV_cate::before {
        width: calc((60 / 750)* 100vw);
        height: calc((46 / 750)* 100vw);
        top: calc((-12 / 750)* 100vw);
        left: calc((1 / 750)* 100vw);
    }

    .underMV_cate_num {
        font-size: calc((50 / 750)* 100vw);
    }
}


/* 「ページ内リンクエリア」
---------------------------------------------------*/
.inPageAnchorBl {
    padding: 83px 0 0;
}

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

.inPageAnchor_ul li {
    width: 14.4em;
    box-sizing: border-box;
    position: relative;
}

.inPageAnchor_ul li+li::before {
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: #bfbfbf;
    position: absolute;
    left: 0;
    top: 0;
}

.inPageAnchor_ul li a {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.1em;
    color: #00aaaa;
    display: block;
    padding: 0.65em 0 0.75em;
}

.inPageAnchor_ul li a:hover {
    text-decoration: underline;
}

.inPageAnchor_ul li a span {
    position: relative;
    padding-right: min(calc((16 / 1200)* 100vw), 16px);
}

.inPageAnchor_ul li a span::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #00aaaa;
    border-right: 0;
    position: absolute;
    top: 9px;
    right: min(calc((-20 / 1200) * 100vw), -20px);
    transition: all .5s;
    transform: rotate(90deg);
}


@media screen and (max-width: 767px) {
    .inPageAnchorBl {
        padding: 50px 0 0;
    }

    .inPageAnchor_ul {
        display: block;
        border-top: 1px solid #bfbfbf;
    }

    .inPageAnchor_ul li {
        width: auto;
        border-bottom: 1px solid #bfbfbf;
    }

    .inPageAnchor_ul li+li::before {
        display: none;
    }

    .inPageAnchor_ul li a {
        font-size: 1.6rem;
        padding: 0.36em 0;
    }

    .inPageAnchor_ul li a:hover {
        text-decoration: none;
    }

    .inPageAnchor_ul li a span::after {
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 8px solid #00aaaa;
        top: 9px;
        right: -12px;
    }
}


/* num-ol　番号リスト
-------------------------------------------*/
.num-ol {
    padding: 0 1.8em;
}

.num-ol_li {
    display: flex;
    position: relative;
    padding: 2.2em 0 2.3em;
}

.num-ol_2 .num-ol_li {
    padding: 3.5em 0 2.8em;
}

.num-ol_3 .num-ol_li {
    padding: 3em 0;
}

.num-ol_4 .num-ol_li {
    padding: 2.7em 0 2.9em;
}

.num-ol_li::after {
    content: '';
    display: block;
    width: 111%;
    height: 1px;
    background: linear-gradient(90deg, rgba(176, 176, 176, 1) 0%, rgba(219, 218, 218, 1) 50%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    bottom: 0;
    left: -30px;
}

.num-ol_li:last-child::after {
    display: none;
}

.num-ol_li_left {
    background: url(../img/common/icn_speechbubble_green.svg) no-repeat center / contain;
    width: 104.8px;
    height: 88.7px;
    position: absolute;
    left: 12px;
    top: 36px;
    display: flex;
    align-items: center;
}

.num-ol_4 .num-ol_li_left {
    top: 41px;
}

.num-ol_li_left_inner {
    padding-left: 1.8em;
}

.num-ol_li_left_point {
    font-family: "source-sans-3-variable", sans-serif;
    font-variation-settings: "wght" 400;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: center;
    color: #00aaaa;
}

.num-ol_li_left_tit {
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 25px;
    line-height: 1;
    letter-spacing: 0.11em;
    color: #00aaaa;
    text-align: center;
    margin-top: 0.05em;
}

.num-ol_li_right {
    margin: 0 0 0 144px;
    width: calc(100% - 144px);
    box-sizing: border-box;
}

.num-ol_li_right_tit {
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.065em;
    color: #00aaaa;
}

.num-ol_li_right_tit_s {
    font-size: 1.4rem;
    font-weight: 500;
}

.num-ol_li_right_tit sup {
    font-size: 0.75em;
    vertical-align: top;
}

.num-ol_li_right_desc {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.93;
    letter-spacing: 0.02em;
    margin-top: 12px;
}

.num-ol_li_right_chuki-ul {
    margin-top: 15px;
}

.num-ol_2 .num-ol_li_right_chuki-ul {
    margin-top: 7px;
}

.num-ol_li_right_chuki-ul>li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
    text-indent: -1em;
    padding-left: 1em;
}

.num-ol_li_right_imgwrap {
    float: right;
    width: 38%;
    margin: 0 0 1% 7%;
}

.num-ol_li_right_imgwrap img {
    border-radius: 5px;
}

.num-ol_li_right_tit+.num-ol_li_right_dl {
    margin-top: 11px;
}

.num-ol_li_right_dl+.num-ol_li_right_dl {
    margin-top: 3px;
}

.num-ol_li_right_dl {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.54;
    letter-spacing: 0.03em;
}

.num-ol_li_right_dl dt {
    font-weight: 500;
}

.num-ol_li_right_dl dd {
    font-weight: 400;
}

.num-ol_li_right_fig-wrap {
    border-radius: 5px;
    border: 1px solid #d7d7d7;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
    margin-top: 26px;
    padding: 40px 3.2em;
}

.num-ol_li_chuki-tit {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.5;
    position: relative;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 42px;
}

.num-ol_li_chuki-tit+.num-ol_li_ul {
    margin-top: 7px;
}

.num-ol_li_right_desc+.num-ol_li_ul {
    margin-top: 16px;
}

.num-ol_li_ul_li {
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.5;
    position: relative;
    padding-left: 1em;
    text-indent: -1em;
}

.num-ol_li_ul_li+.num-ol_li_ul_li {
    margin-top: 7px;
}

.num-ol_li_ul_li .txt-link {
    font-size: 1.4rem;
}


@media screen and (max-width: 999px) {
    .num-ol {
        padding: 0;
    }
}


@media screen and (max-width: 767px) {
    .num-ol {
        padding: 0;
    }

    .num-ol_li,
    .num-ol_2 .num-ol_li,
    .num-ol_3 .num-ol_li,
    .num-ol_4 .num-ol_li {
        padding: 2em 0;
    }

    .num-ol_li_left,
    .num-ol_2 .num-ol_li_left,
    .num-ol_3 .num-ol_li_left,
    .num-ol_4 .num-ol_li_left {
        width: 70px;
        height: 58.5px;
        left: 0px;
        top: 20px;
    }

    .num-ol_li_left_inner {
        padding-left: 8px;
    }

    .num-ol_li_left_tit {
        font-size: 2.3rem;
        width: 2em;
    }

    .num-ol_li_right {
        margin: 0 0 0 79px;
        width: calc(100% - 79px);
        display: flex;
        flex-direction: column-reverse;
    }

    .num-ol_li_left_point {
        font-size: 1.0rem;
    }

    .num-ol_li_right_imgwrap {
        float: none;
        max-width: 250px;
        width: auto;
        margin: 10px auto 0;
    }

    .num-ol_li_right_tit {
        font-size: 1.6rem;
    }

    .num-ol_li_right_tit_s {
        font-size: 1.2rem;
    }

    .num-ol_li_right_desc {
        font-size: 1.2rem;
        margin-top: 10px;
        margin-left: 0;
    }

    .num-ol_li_right_chuki-ul {
        margin-top: 5px;
    }

    .num-ol_li_right_chuki-ul>li {
        font-size: 1.1rem;
    }

    .num-ol_li_right_fig-wrap {
        margin-top: 16px;
        padding: 30px 15px;
    }

    .num-ol_li_right_dl {
        font-size: 1.2rem;
    }

    .num-ol_li_right_tit+.num-ol_li_right_dl {
        margin-top: 5px;
    }

    .num-ol_li_chuki-tit {
        font-size: 1.2rem;
        line-height: 1.7;
        margin-top: 20px;
    }

    .num-ol_li_ul_li,
    .num-ol_li_ul_li .txt-link {
        font-size: 1.2rem;
        line-height: 1.7;
    }

    .num-ol_li_ul_li+.num-ol_li_ul_li {
        margin-top: 5px;
    }
}


/* 横スクロールプラグイン「ScrollHint」
---------------------------------------------------*/
.scrollable-wrapper {
    overflow-x: auto;
    /* テーブルコンテナを水平スクロール可能にする */
    white-space: nowrap;
    /* テーブルの内容を折り返さないようにする */
    cursor: grab;
    /* ドラッグ可能なことを示すカーソル */
    padding-bottom: 15px;
}

.scrollable-wrapper.scrollable_sp {
    padding-bottom: 0;
    cursor: auto;
    white-space: inherit;
}

.scrollable-wrapper.active {
    cursor: grabbing;
    /* ドラッグ中のカーソル */
}

.scrollable-wrapper.scrollable_sp .scroll-hint-icon-wrap {
    display: none;
}

.scroll-hint-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    left: 0;
    width: 312px;
    height: 200px;
    border-radius: 20px;
    transition: opacity .3s;
    opacity: 0;
    background: rgba(0, 170, 170, .6);
    text-align: center;
    padding: 10px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: 1;
}

.scroll-hint-icon:before {
    display: inline-block;
    width: 44.6px;
    height: 51.8px;
    color: #FFF;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(../img/common/scrollable_thum.svg);
    margin-top: 61px;
}

.scroll-hint-icon:after {
    content: "";
    width: 111.9px;
    height: 193px;
    display: block;
    position: absolute;
    top: 59px;
    left: 0;
    right: 0;
    margin: auto;
    background-repeat: no-repeat;
    background-image: url(../img/common/scrollable_arrow.svg);
    opacity: 0;
    transition-delay: 2.4s;
}

.scroll-hint-text {
    font-family: "source-sans-3-variable", sans-serif;
    font-variation-settings: "wght" 600;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.08em;
    color: #fff;
    text-align: center;
    display: table;
    margin: 20px auto 0;
}


@media screen and (max-width: 767px) {
    .scrollable-wrapper.scrollable_sp {
        white-space: nowrap;
        cursor: grab;
        padding-bottom: 15px;
        overflow-y: hidden !important;
    }

    .scrollable-wrapper.scrollable_sp .scroll-hint-icon-wrap {
        display: block;
    }


    .scroll-hint-icon {
        width: 75%;
        height: 130px;
    }

    .scroll-hint-icon:before {
        margin-top: 17px;
    }

    .scroll-hint-icon:after {
        top: 19px;
    }

    .scroll-hint-text {
        font-size: 1.8rem;
        margin: 15px auto 0;
    }
}


/* モーダル
---------------------------------------------------*/
.modal-open {
    /* モーダルが開いているとき、背景のスクロールを無効 */
    position: fixed;
    width: 100%;
    overflow: hidden;
    top: 0;
    /* スクロール位置を固定 */
}

.modal__bg {
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    width: 200%;
    height: 200%;
    background: rgba(0, 170, 170, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease, visibility .6s ease;
}

.modal__bg.is-active {
    opacity: 1;
    /* 非表示を解除 */
    visibility: visible;
    /* 非表示を解除 */
}

.modal__inner {
    position: fixed;
    z-index: 100001;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    padding: 0 10px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease, visibility .6s ease;
}

.modal__inner.is-active {
    opacity: 1;
    /* 非表示を解除 */
    visibility: visible;
    /* 非表示を解除 */
}

.modal-card {
    width: 100%;
    max-width: 800px;
    height: 85%;
    min-height: 290px;
    max-height: 663px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, .3);
    border-radius: 5px;
    margin: 0 40px;
    position: absolute;
    z-index: 1;
    transform: translate3d(0, 48px, 0);
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease, visibility .6s ease, transform .3s ease-in-out;
    overflow: hidden;
}

.modal-card.is-active {
    position: relative;
    z-index: 2;
    opacity: 1;
    /* 非表示を解除 */
    visibility: visible;
    /* 非表示を解除 */
    transform: translate3d(0, 0, 0);
}

.modal-card_inner {
    max-height: 100%;
    box-sizing: border-box;
    padding: 47px 5.7em 75px;
    height: 100%;
    overflow-y: scroll;
}

.modal-card__close {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 20px;
    right: 20px;
    transition: opacity .5s;
    cursor: pointer;
    z-index: 1;
}

.modal-card__close:hover {
    opacity: 0.5;
}

.modal-card__close::before,
.modal-card__close::after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 2px;
    background: #000;
}

.modal-card__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.modal-card__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 767px) {
    .modal__inner {
        padding: 0;
    }

    .modal-card {
        margin: 0;
        width: calc(100% - 40px);
    }

    .modal-card_inner {
        padding: 45px 20px;
    }

    .modal-scale-imgwrap img {
        pointer-events: none;
    }

    .modal .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
        animation: none
            /*アニメーション一旦停止*/
        ;
    }

    .modal .modal-card.is-active .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
        animation: scroll-hint-appear 1.2s linear
            /*モーダル開いたらアニメーション再設定*/
        ;
        animation-iteration-count: 2
            /*モーダル開いたらアニメーション再設定*/
        ;
    }

}


/* 2カラムボタンエリア
---------------------------------------------------*/
.two-column-btn_ul {
    display: flex;
    justify-content: space-between;
}

.two-column-btn_ul-center {
    justify-content: center;
}

.two-column-btn_ul+.two-column-btn_ul.two-column-btn_ul-center {
    margin: 65px auto 0;
}

.two-column-btn_ul li {
    width: 45.5%;
    height: 124px;
    box-sizing: border-box;
}

.two-column-btn_ul li .btn-rectangle-lightgreen,
.two-column-btn_ul li .btn-rectangle-green,
.two-column-btn_ul li .btn-faq,
.two-column-btn_ul li .btn-reserve {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 124px;
    box-sizing: border-box;
    border-radius: 5px;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, .1);
    transition: all .5s;
}

.two-column-btn_ul li .btn-rectangle-lightgreen:hover,
.two-column-btn_ul li .btn-rectangle-green:hover,
.two-column-btn_ul li .btn-faq:hover,
.two-column-btn_ul li .btn-reserve:hover {
    box-shadow: none;
    opacity: 0.8;
}

.two-column-btn_ul li .btn-rectangle-lightgreen,
.two-column-btn_ul li .btn-faq {
    background: linear-gradient(180deg, rgba(111, 192, 182, 1) 0%, rgba(101, 178, 166, 1) 100%);
}

.two-column-btn_ul li .btn-rectangle-green,
.two-column-btn_ul li .btn-reserve {
    background: linear-gradient(180deg, rgba(0, 162, 160, 1) 0%, rgba(0, 119, 117, 1) 100%);
}

.two-column-btn_ul li .btn-rectangle-lightgreen_txt,
.two-column-btn_ul li .btn-rectangle-green_txt,
.two-column-btn_ul li .btn-faq_txt,
.two-column-btn_ul li .btn-reserve_txt {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.07em;
    color: #fff;
    padding-right: 0;
    position: relative;
}

.two-column-btn_ul li .btn-rectangle-lightgreen:hover .btn-rectangle-lightgreen_txt,
.two-column-btn_ul li .btn-rectangle-green:hover .btn-rectangle-green_txt,
.two-column-btn_ul li .btn-faq:hover .btn-faq_txt,
.two-column-btn_ul li .btn-reserve:hover .btn-reserve_txt {
    box-shadow: none;
}

.two-column-btn_ul li a.btn-back .btn-rectangle-green_txt {
    font-size: 2rem;
    letter-spacing: .2em;
}

.two-column-btn_ul li .btn-rectangle-lightgreen_txt::before,
.two-column-btn_ul li .btn-rectangle-green_txt::before,
.two-column-btn_ul li .btn-faq_txt::before,
.two-column-btn_ul li .btn-reserve_txt::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 5.5px solid transparent;
    border-bottom: 5.5px solid transparent;
    border-left: 11px solid rgba(255, 255, 255, .5);
    border-right: 0;
    position: absolute;
    top: calc(50% - 5px);
    right: -68px;
    transition: all .5s;
}

.two-column-btn_ul li a.btn-back .btn-rectangle-green_txt::before {
    right: auto;
    left: -82px;
    transform: rotate(180deg);
}

.two-column-btn_ul li a:hover .btn-rectangle-lightgreen_txt::before,
.two-column-btn_ul li a:hover .btn-rectangle-green_txt::before,
.two-column-btn_ul li a:hover .btn-faq_txt::before,
.two-column-btn_ul li a:hover .btn-reserve_txt::before {
    transform: translateX(10px);
}

.two-column-btn_ul li a.btn-back:hover .btn-rectangle-green_txt::before {
    transform: rotate(180deg) translateX(10px);
}

.two-column-btn_ul li .btn-reserve_txt::after {
    content: '';
    display: inline-block;
    width: 31px;
    height: 29px;
    opacity: 0.5;
    background: url(../img/common/icn_pc_white.svg) no-repeat center / contain;
    position: absolute;
    left: -62px;
    top: 1px;
}


@media screen and (max-width: 767px) {
    .two-column-btnArea {
        margin: 69px 0 0;
    }

    .two-column-btn_ul {
        display: block;
    }

    .two-column-btn_ul+.two-column-btn_ul.two-column-btn_ul-center {
        margin: 50px auto 0;
    }

    .two-column-btn_ul li {
        width: auto;
        height: auto;
        box-sizing: border-box;
    }

    .two-column-btn_ul li+li {
        margin-top: 30px;
    }

    .two-column-btn_ul li .btn-rectangle-lightgreen,
    .two-column-btn_ul li .btn-rectangle-green,
    .two-column-btn_ul li .btn-faq,
    .two-column-btn_ul li .btn-reserve {
        height: 100px;
        border-radius: 10px;
        position: relative;
    }

    .two-column-btn_ul li .btn-rectangle-lightgreen:hover,
    .two-column-btn_ul li .btn-rectangle-green:hover,
    .two-column-btn_ul li .btn-faq:hover,
    .two-column-btn_ul li .btn-reserve:hover {
        box-shadow: 5px 5px 20px rgba(0, 0, 0, .1);
        opacity: 1;
    }

    .two-column-btn_ul li .btn-rectangle-lightgreen::before,
    .two-column-btn_ul li .btn-rectangle-green::before,
    .two-column-btn_ul li .btn-faq::before,
    .two-column-btn_ul li .btn-reserve::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 5.5px solid transparent;
        border-bottom: 5.5px solid transparent;
        border-left: 11px solid rgba(255, 255, 255, .5);
        border-right: 0;
        position: absolute;
        top: calc(50% - 4px);
        right: 24px;
        transition: all .5s;
    }

    .two-column-btn_ul li .btn-back::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 5.5px solid transparent;
        border-bottom: 5.5px solid transparent;
        border-right: 11px solid rgba(255, 255, 255, .5);
        border-left: 0;
        position: absolute;
        top: calc(50% - 4px);
        left: 24px;
        transition: all .5s;
    }

    .two-column-btn_ul li .btn-rectangle-lightgreen_txt,
    .two-column-btn_ul li .btn-rectangle-green_txt,
    .two-column-btn_ul li .btn-faq_txt,
    .two-column-btn_ul li .btn-reserve_txt {
        font-size: 1.6rem;
    }

    .two-column-btn_ul li .btn-rectangle-lightgreen_txt::before,
    .two-column-btn_ul li .btn-rectangle-green_txt::before,
    .two-column-btn_ul li .btn-faq_txt::before,
    .two-column-btn_ul li .btn-reserve_txt::before,
    .two-column-btn_ul li a:hover .btn-rectangle-lightgreen_txt::before,
    .two-column-btn_ul li a:hover .btn-rectangle-green_txt::before,
    .two-column-btn_ul li a:hover .btn-faq_txt::before,
    .two-column-btn_ul li a:hover .btn-reserve_txt::before {
        display: none;
    }

    .two-column-btn_ul li .btn-reserve_txt::after {
        width: 25px;
        height: 24px;
        left: -42px;
        top: 2px;
    }
}


/* 「WEB予約」ボタンエリア
---------------------------------------------------*/
.reserve-btnArea {
    margin: 70px auto 0;
}

.reserve-btn_flame {
    padding: 2.7em 1.7em 3.2em;
    background: #fff;
    border: 1px solid #dadada;
    border-radius: 5px;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
}

.reserve-btn_flame .txt-normal-m {
    letter-spacing: 0;
}

.reserve-btn_flame .two-column-btn_ul {
    display: block;
}

.reserve-btn_flame .txt-normal-m+.two-column-btn_ul {
    margin-top: 34px;
}

.reserve-btn_flame .two-column-btn_ul li {
    margin: 0 auto;
    width: 49.9%;
}

.reserve-btn_flame .two-column-btn_ul li .btn-reserve_txt {
    font-size: 2rem;
    letter-spacing: .1em;
}

.reserve-btn_flame .two-column-btn_ul li .btn-reserve_txt::before {
    right: -83px;
}


@media screen and (max-width: 767px) {
    .reserve-btnArea {
        margin: 40px auto 0;
    }

    .reserve-btn_flame {
        padding: 18px 20px;
    }

    .reserve-btn_flame .txt-normal-m+.two-column-btn_ul {
        margin-top: 17px;
    }

    .reserve-btn_flame .two-column-btn_ul li {
        width: auto;
    }

    .reserve-btn_flame .two-column-btn_ul li .btn-reserve_txt {
        font-size: 1.6rem;
    }
}


/* アコーディオン
---------------------------------------------------*/
.accordion_dl {
    border-radius: 5px;
    border: 1px solid #d7d7d7;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
    background-color: #fff;
}

.txt-normal-m+.accordion_dl {
    margin-top: 50px;
}

.accordion_dl+.accordion_dl {
    margin-top: 38px;
}

.grade-tit+.accordion_dl {
    margin-top: 42px;
}

.accordion_dl dt {
    position: relative;
    padding: 33px 50px;
    cursor: pointer;
    transition: all 0.5s;
}

.accordion_dl dt.open {
    padding-bottom: 21px;
}

.accordion_dl dt:hover {
    opacity: 0.6;
}

.accordion_dl dt:focus {
    outline: 2px solid #00aaaa;
}

.accordion_dl dt:focus:not(.focus-visible) {
    outline: none;
}

.accordion_dl dt:after,
.accordion_dl dt:before {
    content: "";
    position: absolute;
    right: 44px;
    top: 33px;
    width: 1px;
    height: 23px;
    background-color: #00aaaa;
    transition: all 0.5s;
}

.accordion_dl dt::after {
    transform: rotate(90deg);
}

.accordion_dl dt.open:before {
    transform: rotate(90deg);
}

.accordion_dl dd ul>li {
    position: relative;
    padding: 25px 38px 29px;
}

.accordion_dl dd ul>li::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(176, 176, 176, 1) 0%, rgba(219, 218, 218, 1) 50%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
}

.accordion_dl dd ul>li:last-child::after {
    display: none;
}

.accordion_dl dd ul>li>a {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    position: relative;
    padding-left: 21px;
    text-decoration: underline 1px;
    text-decoration-skip-ink: none;
    text-underline-offset: 4px;
    text-decoration-color: #b2b2b2;
    display: inline-block;
}

.accordion_dl.affiliate_dl dd ul>li>a {
    padding-right: 2em;
}

.accordion_dl dd ul>li>a:hover {
    text-decoration: none;
    color: #00aaaa;
}

.accordion_dl dd ul>li>a::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 4.5px solid transparent;
    border-bottom: 4.5px solid transparent;
    border-left: 9px solid #00aaaa;
    border-right: 0;
    position: absolute;
    top: 10px;
    left: 0;
    transition: all .5s;
}

.accordion_dl dd ul>li>a::after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 20px;
    background: url(../img/common/icn_download_green.svg) no-repeat center / contain;
    position: relative;
    top: 6px;
    margin: 0 0 0 7px;
}

.accordion_dl.affiliate_dl dd ul>li>a::after {
    display: none;
}

.accordion_dl.affiliate_dl dd ul>li .affiliate_dl_address,
.accordion_dl.affiliate_dl dd ul>li .affiliate_dl_tel {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.15em;
}

.accordion_dl.affiliate_dl dd ul>li .affiliate_dl_address {
    padding-right: 1em;
}

.accordion_tit {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.15em;
    color: #00aaaa;
    position: relative;
    padding-left: 22px;
}

.accordion_tit::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #00aaaa;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 8px;
}

.accordion_dl dd {
    display: none;
    padding: 0 54px 20px;
    position: relative;
}


@media screen and (max-width: 767px) {
    .accordion_dl {
        border-radius: 5px;
    }

    .txt-normal-m+.accordion_dl {
        margin-top: 30px;
    }

    .accordion_dl+.accordion_dl {
        margin-top: 25px;
    }

    .grade-tit+.accordion_dl {
        margin-top: 26px;
    }

    .accordion_dl dt {
        padding: 23px 20px;
    }

    .accordion_dl dt:after,
    .accordion_dl dt:before {
        right: 32px;
        top: 24px;
        width: 1px;
        height: 25px;
    }

    .accordion_dl dt:hover {
        opacity: 1;
    }

    .accordion_dl dt.open {
        padding-bottom: 10px;
    }

    .accordion_dl dd {
        padding: 0 20px 20px;
    }

    .accordion_dl dd ul>li {
        position: relative;
        padding: 12px 10px 15px;
    }

    .accordion_dl.affiliate_dl dd ul>li>a {
        padding-right: 0;
        display: block;
    }

    .accordion_dl.affiliate_dl dd ul>li .affiliate_dl_address,
    .accordion_dl.affiliate_dl dd ul>li .affiliate_dl_tel {
        display: block;
        font-size: 1.4rem;
        margin-top: 5px;
    }

    .accordion_dl.affiliate_dl dd ul>li .affiliate_dl_address {
        padding-right: 0;
    }

    .accordion_dl.affiliate_dl dd ul>li .affiliate_dl_tel a {
        text-decoration: underline 1px;
        text-decoration-skip-ink: none;
        text-underline-offset: 4px;
        text-decoration-color: #b2b2b2;
    }

    .accordion_dl dd ul>li>a {
        font-size: 1.2rem;
        padding-left: 15px;
        padding-right: 0;
    }

    .accordion_dl dd ul>li>a:hover {
        text-decoration: underline 1px;
        text-decoration-skip-ink: none;
        text-underline-offset: 4px;
        text-decoration-color: #b2b2b2;
        color: inherit;
    }

    .accordion_dl dd ul>li>a::before {
        border-top: 3.5px solid transparent;
        border-bottom: 3.5px solid transparent;
        border-left: 7px solid #00aaaa;
        top: 7px;
    }

    .accordion_tit {
        font-size: 1.6rem;
        padding-left: 15px;
    }

    .accordion_tit::before {
        width: 10px;
        height: 10px;
        top: 8px;
    }
}


/* ページネーション（WP-PageNavi）
---------------------------------------------------*/
.wp-pagenavi {
    margin: 62px auto 0;
}

.wp-pagenavi.dummy {
    margin: 62px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    padding: 0 8%;
}

.wp-pagenavi>ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    padding: 0 8%;
}

.wp-pagenavi .page-numbers:not(ul),
.wp-pagenavi span.current,
.wp-pagenavi a.page,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .prev,
.wp-pagenavi .next {
    margin: 8px;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    border-radius: 50%;
    line-height: 50px;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 .15em;
    background-color: #fff;
    border: solid 1px #00aaaa;
    color: #00aaaa;
}

.wp-pagenavi .page-numbers.dots {
    border: none;
}

.wp-pagenavi span.current {
    background-color: #00aaaa;
    border: solid 1px #00aaaa;
    color: #fff;
}

.wp-pagenavi a.page:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover,
.wp-pagenavi .prev:hover,
.wp-pagenavi .next:hover {
    background: #00aaaa;
    color: #fff;
    opacity: 1;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    display: none;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .prev,
.wp-pagenavi .next {
    position: absolute;
    top: 0;
}

.wp-pagenavi .first,
.wp-pagenavi .prev {
    left: -8px;
}

.wp-pagenavi .last,
.wp-pagenavi .next {
    right: -8px;
}

.wp-pagenavi .first::before,
.wp-pagenavi .prev::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 15px solid #00aaaa;
    border-right: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    left: 0;
    margin: auto;
    transition: all .5s;
    transform: rotate(180deg);
}

.wp-pagenavi .first:hover::before,
.wp-pagenavi .prev:hover::before {
    border-left: 15px solid #fff;
}

.wp-pagenavi .last::before,
.wp-pagenavi .next::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 15px solid #00aaaa;
    border-right: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 2px;
    margin: auto;
    transition: all .5s;
}

.wp-pagenavi .last:hover::before,
.wp-pagenavi .next:hover::before {
    border-left: 15px solid #fff;
}

@media screen and (max-width: 767px) {
    .wp-pagenavi {
        margin: 40px auto 0;
    }

    .wp-pagenavi.dummy {
        padding: 0 40px;
        margin: 48px auto 0;
    }

    .wp-pagenavi .first,
    .wp-pagenavi .prev {
        left: -5px;
    }

    .wp-pagenavi .last,
    .wp-pagenavi .next {
        right: -5px;
    }

    .wp-pagenavi .page-numbers:not(ul),
    .wp-pagenavi span.current,
    .wp-pagenavi a.page,
    .wp-pagenavi .extend,
    .wp-pagenavi .first,
    .wp-pagenavi .last,
    .wp-pagenavi .prev,
    .wp-pagenavi .next {
        margin: 4px;
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 2.0rem;
    }

    .wp-pagenavi a.page:hover,
    .wp-pagenavi .first:hover,
    .wp-pagenavi .last:hover,
    .wp-pagenavi .prev:hover,
    .wp-pagenavi .next:hover {
        background: #fff;
        color: #00aaaa;
    }

    .wp-pagenavi .first::before,
    .wp-pagenavi .prev::before {
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 10px solid #00aaaa;
    }

    .wp-pagenavi .first:hover::before,
    .wp-pagenavi .prev:hover::before {
        border-left: 10px solid #00aaaa;
    }

    .wp-pagenavi .last::before,
    .wp-pagenavi .next::before {
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 10px solid #00aaaa;
    }

    .wp-pagenavi .last:hover::before,
    .wp-pagenavi .next:hover::before {
        border-left: 10px solid #00aaaa;
    }
}


/* 「カード型リンク（3カラム）」エリア
-------------------------------------------*/
.cardLink_ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.cardLink_ul.health-info_top {
    margin-bottom: 60px;
}

.txt-normal-m+.cardLink_ul {
    margin-top: 48px;
}

.cardLink_ul li {
    width: 30.2%;
    margin-right: 4.7%;
    box-sizing: border-box;
    display: block;
    border-radius: 5px;
    overflow: hidden;
    background: #00aaaa;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
}

.cardLink_ul.health-info_top li {
    width: 100%;
    margin-right: 0;
}

.cardLink_ul.health-info_top li+li {
    margin-top: 4.7%;
}

.cardLink_ul:not(.health-info_top) li:nth-child(3n+3) {
    margin-right: 0;
}

.cardLink_ul:not(.health-info_top) li:nth-child(n+4) {
    margin-top: 4.7%;
}

.cardLink_ul li a {
    display: block;
}

.cardLink_ul.health-info_top li a {
    display: flex;
    flex-direction: row-reverse;
}

.cardLink_ul li a:hover {
    opacity: .8;
}

.cardLink_ul_imgwrap {
    background-color: #fff;
    padding: 30px;
    margin: 0 auto;
    border-radius: 5px 5px 0 0;
    border-left: 1px solid #d7d7d7;
    border-right: 1px solid #d7d7d7;
    border-top: 1px solid #d7d7d7;
    width: 100%;
    height: 216px;
    box-sizing: border-box;
    display: flex;
    justify-self: center;
    align-items: center;
    overflow: hidden;
}

.cardLink_ul.health-info_top li .cardLink_ul_imgwrap {
    width: 50%;
    height: auto;
    background-color: #fff;
    padding: 2em 3.5em;
    border-radius: 0 5px 5px 0;
    border-left: 1px solid #d7d7d7;
    border-right: 1px solid #d7d7d7;
    border-top: 1px solid #d7d7d7;
    display: flex;
    justify-self: center;
    align-items: center;
    overflow: hidden;
}

.cardLink_ul_imgwrap img {
    transition: all .5s;
    max-height: 155px;
    width: auto;
    text-align: center;
    margin: 0 auto;
    display: block;
    border: 1px solid #eee;
}

.cardLink_ul.health-info_top li .cardLink_ul_imgwrap img {
    transition: all .5s;
    max-height: 361px;
    width: auto;
    text-align: center;
    margin: 0 auto;
    display: block;
}

.cardLink_ul li a:hover .cardLink_ul_imgwrap img {
    transform: scale(1.15);
}

.cardLink_ul.health-info_top li a:hover .cardLink_ul_imgwrap img {
    transform: scale(1.1);
}

.cardLink_ul_txtwrap {
    border: 1px solid #00aaaa;
    border-radius: 0 0 5px 5px;
    padding: 1.45em 1.5em 2.75em;
    min-height: 128px;
    box-sizing: border-box;
    position: relative;
}

.cardLink_ul.health-info_top li .cardLink_ul_txtwrap {
    width: 50%;
    height: auto !important;
    color: #fff;
    border-radius: 0 0 5px 5px;
    padding: 2em 3.5em 3.5em;
    box-sizing: border-box;
    border: none;
    position: relative;
    min-height: auto;
}

.health-info_ul .cardLink_ul_txtwrap {
    padding: 0.8em 1.5em 2.75em;
}

.cardLink_ul_time {
    font-size: 1.3rem;
    color: #fff;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .2em;
    margin-bottom: 0.4em;
    display: inline-block;
}

.cardLink_ul.health-info_top li .cardLink_ul_time {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .2em;
    margin-bottom: 0.8em;
    display: inline-block;
}

.cardLink_ul_tit {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .15em;
    color: #fff;
    margin-bottom: 1em;
}

.cardLink_ul_tit-s {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.86;
    letter-spacing: .05em;
    color: #fff;
    margin-bottom: 1em;
}

.cardLink_ul.health-info_top li .cardLink_ul_tit-s {
    color: #fff;
    margin-bottom: 1em;
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.76;
    letter-spacing: .15em;
}

.cardLink_ul_font-s {
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: .1em;
    color: #fff;
    border-bottom: 1px solid #fff;
    width: fit-content;
    position: absolute;
    bottom: 2.2em;
    right: 2.2em;
}

.cardLink_ul_font-s::after {
    content: '';
    display: block;
    width: 4px;
    height: 1px;
    background-color: #00aaaa;
    position: absolute;
    left: 8px;
    top: 19.5px;
    transition: all .5s;
}

.cardLink_ul li a:hover .cardLink_ul_font-s::after {
    width: 0;
}

.cardLink_ul_font-s_inner {
    position: relative;
    padding-right: 20px;
}

.cardLink_ul_font-s_inner::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 18px;
    background: url(../img/common/icn_download_white.svg) no-repeat center / contain;
    position: absolute;
    right: 0;
    top: -2px;
}

.cardLink_ul_more {
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: .15em;
    color: #fff;
    border-bottom: 1px solid #fff;
    width: fit-content;
    position: absolute;
    bottom: 1.6em;
    right: 1.7em;
    padding-bottom: 3px;
}

.cardLink_ul.health-info_top li .cardLink_ul_more {
    color: #fff;
    width: fit-content;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .2em;
    text-align: right;
    border-bottom: 2px solid #fff;
    margin: 12px 0 0 auto;
    display: table;
    position: absolute;
    bottom: 1.8em;
    right: 2.1em;
    padding: 0 20px 11px 0;
}

.cardLink_ul_more::after {
    content: '';
    display: block;
    width: 5px;
    height: 1px;
    background: #00aaaa;
    position: absolute;
    bottom: -1px;
    left: 8px;
    transition: all .5s;
}

.cardLink_ul.health-info_top li .cardLink_ul_more::after {
    content: '';
    display: block;
    width: 6px;
    height: 2px;
    background-color: #00aaaa;
    position: absolute;
    left: 14px;
    top: 38px;
    transition: all .5s;
}

.cardLink_ul li a:hover .cardLink_ul_more::after {
    width: 0;
}

.cardLink_ul_more_inner {
    position: relative;
    padding-right: 13px;
}

.cardLink_ul.health-info_top li .cardLink_ul_more_inner {
    position: static;
    padding-right: 0;
}

.cardLink_ul_more_inner::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 7px solid #fff;
    border-right: 0;
    position: absolute;
    top: calc(50% - 3px);
    right: 0;
    transition: all .5s;
}

.cardLink_ul.health-info_top li .cardLink_ul_more_inner::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #fff;
    border-right: 0;
    position: absolute;
    top: calc(50% - 8px);
    right: 0;
    transition: all .5s;
}

.cardLink_ul li a:hover .cardLink_ul_more_inner::after {
    right: -5px;
}


@media screen and (max-width: 999px) {
    .cardLink_ul.health-info_top li .cardLink_ul_txtwrap {
        padding: 3em 1.5em 4.5em;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_time {
        font-size: 1.7rem;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_tit-s {
        font-size: 1.9rem;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_more {
        font-size: 2.0rem;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_imgwrap {
        padding: 3em 1.5em 3em;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_imgwrap img {
        max-height: 240px;
    }
}


@media screen and (max-width: 767px) {
    .cardLink_ul {
        display: block;
    }

    .cardLink_ul.health-info_top {
        margin-bottom: 20px;
    }

    .bigCardLink+.cardLink_ul {
        margin-top: 40px;
    }

    .txt-normal-m+.cardLink_ul {
        margin-top: 20px;
    }

    .cardLink_ul li {
        width: auto;
        margin-right: 0;
    }

    .cardLink_ul.health-info_top li+li,
    .cardLink_ul:not(.health-info_top) li:nth-child(n+2) {
        margin-top: 20px;
    }

    .cardLink_ul.health-info_top li a {
        display: block;
    }

    .cardLink_ul li a:hover {
        opacity: 1;
    }

    .cardLink_ul li a:hover .cardLink_ul_imgwrap img {
        transform: scale(1);
    }

    .cardLink_ul_imgwrap {
        padding: 15px;
        height: inherit;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_imgwrap {
        padding: 20px;
        width: 100%;
        border-radius: 5px 5px 0 0;
    }

    .cardLink_ul_imgwrap img {
        max-height: 100px;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_imgwrap img {
        max-height: 180px;
    }

    .cardLink_ul.health-info_top li a:hover .cardLink_ul_imgwrap img {
        transform: scale(1);
    }

    .cardLink_ul_txtwrap {
        padding: 0.4em 15px 1.0em;
        min-height: inherit;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_txtwrap {
        width: auto;
        padding: 20px;
    }

    .health-info_ul .cardLink_ul_txtwrap {
        padding: 0.4em 15px 2.5em;
        min-height: inherit;
    }

    .cardLink_ul_time {
        font-size: 1.1rem;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_time {
        font-size: 1.4rem;
    }

    .cardLink_ul_tit {
        font-size: 1.4rem;
        margin-bottom: 1em;
    }

    .cardLink_ul_tit-s {
        font-size: 1.3rem;
        margin-bottom: 0;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_tit-s {
        font-size: 1.6rem;
    }

    .cardLink_ul_font-s {
        font-size: 1.0rem;
        margin: 10px 0 0 auto;
        position: relative;
        bottom: 0;
        right: 0;
    }

    .cardLink_ul_font-s::after {
        top: 18px;
    }

    .cardLink_ul li a:hover .cardLink_ul_font-s::after {
        width: 4px;
    }

    .cardLink_ul_font-s_inner {
        padding-right: 14px;
    }

    .cardLink_ul_font-s_inner::after {
        width: 11px;
        height: 14px;
        top: 1px;
    }

    .cardLink_ul_more {
        font-size: 1.0rem;
        margin: 5px 0 0 auto;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_more {
        font-size: 1.4rem;
        position: relative;
        right: 0;
        bottom: 0;
    }

    .cardLink_ul li a:hover .cardLink_ul_more::after {
        width: 5px;
    }

    .cardLink_ul.health-info_top li a:hover .cardLink_ul_more::after {
        width: 6px;
    }

    .cardLink_ul.health-info_top li .cardLink_ul_more::after {
        top: 27px;
    }

    .cardLink_ul li a:hover .cardLink_ul_more_inner::after {
        right: 0;
    }
}


/* フォームエリア
-------------------------------------------*/
.contactBl form {
    margin: 63px auto 0;
}

.contactBl form .confirmTit {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.93;
    letter-spacing: .08em;
    margin-bottom: 10px;
    color: #00aaaa;
}

.contactBl form dl {
    padding: 0 2.2em 30px;
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.contactBl form dl+.txt-normal-m {
    margin-top: 33px;
}

.contactBl form .txt-normal-m+dl,
.contactBl form .txt-normal-m+.wpcf7-response-output+dl {
    margin-top: 53px;
}

.contactBl form dl::after {
    content: '';
    display: block;
    width: 121%;
    height: 1px;
    background: linear-gradient(90deg, rgba(176, 176, 176, 1) 0%, rgba(219, 218, 218, 1) 50%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
}

.contactBl form dl.last-dl::after {
    /* display: none; */
}

.contactBl form dl.attachment {
    margin: 40px 0 0 0;
}

.contactBl form dl.privacy_check {
    margin: 50px 0 0 0;
}

.contactBl form dl dt {
    width: 203px;
    box-sizing: border-box;
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 500;
    margin: 16px 40px 0 0;
}

.contactBl form dl dt .required {
    font-size: 1.1rem;
    letter-spacing: .09em;
    font-weight: 500;
    text-align: center;
    color: #fff;
    background-color: #00aaaa;
    border-radius: 40px;
    padding: .2em .8em .3em;
    position: relative;
    top: -.25em;
    margin: 0 0 0 1.2em;
}

.contactBl form dl dd {
    width: calc(100% - 243px);
    box-sizing: border-box;
    font-size: 1.7rem;
    letter-spacing: .12em;
    line-height: 1.5;
    font-weight: 400;
    color: #8f8f8f;
    position: relative;
    word-break: break-all;
}

.contactBl form dl dd p {
    margin: 0;
    color: #323232;
}

.contactBl form dl dd p .wpcf7-radio .wpcf7-list-item {
    display: inline-block;
    margin-right: 2em;
}

.contactBl form label input[type="radio"] {
    /* display: none; */
    opacity: 0;
    position: absolute;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

.contactBl form label input:focus+span {
    outline: 2px solid #00aaaa;
    border-radius: 5px;
}

.contactBl span.wpcf7-list-item {
    display: block;
    margin: 0;
}

::placeholder {
    color: #b0b0b0;
}

.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-radio {
    margin-top: 17px;
    margin-bottom: 19px;
    display: block;
}

.wpcf7-form-control-wrap[data-name="birth-year"],
.wpcf7-form-control-wrap[data-name="birth-month"],
.wpcf7-form-control-wrap[data-name="birth-day"] {
    display: inline-block;
    position: static;
}

.wpcf7-form-control-wrap[data-name="birth-month"],
.wpcf7-form-control-wrap[data-name="birth-day"] {
    margin: 0 0 0 2.3em;
}

.contactBl form dl dd [data-class="wpcf7cf_group"] {
    display: block !important;
}

.contactBl form dl dd .wpcf7-list-item-label {
    display: inline-block;
    position: relative;
    padding: 0 0 0 1.8em;
    cursor: pointer;
    transition: all .5s;
}

.contactBl form dl dd .wpcf7-list-item-label:hover {
    opacity: 0.6;
}

.contactBl form.custom-wpcf7c-confirmed dl dd input[type="radio"][name="radio-696"]+span.wpcf7-list-item-label::after {
    top: 12px;
}

.contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+span {
    display: inline-block;
    position: relative;
    padding: 0 0 0 1.5em;
    cursor: pointer;
    margin: 10px 0 0 0;
}

.contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+span::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 1px solid #000;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: block;
    box-sizing: border-box;
}

.contactBl form.custom-wpcf7c-confirmed dl.privacy_check dd input[type="hidden"]+span::before {
    display: none;
}

.contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+span::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 3px;
    transform: translateY(-50%);
    background: #000;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    display: block;
    box-sizing: border-box;
}

.contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+input+span::after {
    top: 12px;
}

.contactBl form.custom-wpcf7c-confirmed dl.privacy_check dd input[type="hidden"]+span::after {
    display: none;
}

.contactBl input[type="checkbox"]+.wpcf7-list-item-label {
    padding: 0;
    margin: 0;
    text-indent: -1.8em;
    padding-left: 1.8em;
}

.contactBl form label input[type="radio"]+input[type="radio"]+span {
    margin: 0;
}

.contactBl form label input[type="radio"]+span::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 1px solid #00aaaa;
    border-radius: 50%;
    width: 21px;
    height: 21px;
    display: block;
    box-sizing: border-box;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .1);
}

.contactBl form label input[type="radio"]:checked+span::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 4.5px;
    transform: translateY(-50%);
    background: #00aaaa;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    display: block;
    box-sizing: border-box;
}

.contactBl form dl dd input[type="text"],
.contactBl form dl dd input[type="email"],
.contactBl form dl dd input[type="tel"],
.contactBl form dl dd textarea {
    width: 100%;
    box-sizing: border-box;
    height: 60px;
    background: #fff;
    border: 1px solid #00aaaa;
    border-radius: 5px;
    padding: 0.5em 1.7em;
    /* color: #8f8f8f; */
    font-size: 100%;
    letter-spacing: 0.05em;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .1);
}

.contactBl form dl dd textarea {
    height: 165px;
    padding: 1.2em 1.7em;
}

.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-year"] input[type="text"],
.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"],
.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"] {
    width: 109px;
    text-align: center;
}

.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-year"] input[type="text"]+.wpcf7-not-valid-tip,
.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"]+.wpcf7-not-valid-tip,
.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"]+.wpcf7-not-valid-tip {
    position: absolute;
    font-size: .8em !important;
    top: 3.9em;
}

.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-year"] input[type="text"]+.wpcf7-not-valid-tip {
    left: 0;
}

.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"]+.wpcf7-not-valid-tip {
    left: 12.7em;
}

.contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"]+.wpcf7-not-valid-tip {
    left: 25.4em;
}

.contactBl form dl dd label[for="personal_info"] {
    margin: 14px 0 0 0;
    display: inline-block;
}

.contactBl input[type="checkbox"] {
    /* display: none; */
    position: relative;
    width: 19px;
    height: 19px;
    border: 1px solid #00aaaa;
    vertical-align: -3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border-radius: 5px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .1);
    cursor: pointer;
    margin-right: 9px;
}

.contactBl input[type="checkbox"]:checked:before {
    content: '';
    position: absolute;
    top: 3px;
    left: 5.5px;
    transform: rotate(45deg);
    width: 4px;
    height: 8px;
    border-right: 1.5px solid #00aaaa;
    border-bottom: 1.5px solid #00aaaa;
}

.contactBl input[type="checkbox"]:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.contactBl form dl dd .checkbox-parts {
    padding-left: 25px;
    position: relative;
}

.contactBl form dl dd .checkbox-parts::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #000;
}

.contactBl form .contact_btn::after {
    /* content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 4.5px solid transparent;
    border-bottom: 4.5px solid transparent;
    border-left: 9px solid rgba(255, 255, 255, .5);
    border-right: 0;
    position: absolute;
    top: 28px;
    right: 20px;
    transition: all .5s; */
}

.contactBl form .contact_btn:hover::after {
    right: 10px;
}

.contactBl form .contact_btn input {
    width: 300px;
    padding: 0.84em 0.5em;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(0deg, rgba(0, 117, 115, 1) 0%, rgba(59, 163, 160, 1) 100%);
    border: 1px solid #00aaaa;
    border-radius: 100px;
    transition: all .5s;
    z-index: 1;
    color: #fff;
    font-size: 2.0rem;
    line-height: 1.5;
    letter-spacing: 0.15em;
    cursor: pointer;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .1);
}

.contactBl form .contact_btn input.back_btn {
    width: 240px;
    margin-right: 30px;
    background: #fff;
    color: #00aaaa;
}

.contactBl div.wpcf7 .ajax-loader {
    position: absolute;
    top: 150px;
    right: 0px;
}

.contactBl form input[type="submit"]:hover,
.contactBl form dl dd .contact_btn input[type="button"]:hover,
.contactBl form .contact_btn input.back_btn:hover,
.contactBl form .contact_btn input:not([disabled]):hover {
    transition: all 0.5s ease 0s;
    opacity: 0.7;
}

.contactBl form.custom-wpcf7c-confirmed dl dd .contact_btn {
    display: flex;
    justify-content: space-between;
}

.contactBl form.custom-wpcf7c-confirmed dl dd .contact_btn input[type="button"] {
    margin: 0 5% 0 0;
    background: #313131;
    border: 1px solid #000;
}

.contactBl form.custom-wpcf7c-confirmed dl dd label input:checked+span::before {
    position: absolute;
    content: "";
    top: 12px;
    left: 0;
    transform: translateY(-50%);
    border: 1px solid #000;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: block;
    box-sizing: border-box;
}

.contactBl form.custom-wpcf7c-confirmed dl.privacy_check dd label input:checked+span::before {
    display: none;
}

.contactBl form.custom-wpcf7c-confirmed dl.privacy_check dd input[type="hidden"]+span {
    text-indent: -1.8em;
    padding-left: 1.8em;
}

.contactBl form.custom-wpcf7c-confirmed dl.privacy_check dd input[type="hidden"]+span .checkbox-parts::after {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    left: 5px;
    width: 7px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid #db1915;
    border-right: 3px solid #db1915;
}

.wpcf7c-elm-step2 {
    font-size: 100%;
    padding: 20px 0;
}

p[role="status"][aria-live="polite"][aria-atomic="true"] {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.13em;
    color: #f00;
    margin-top: 50px;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    padding: .5em 2em;
    text-align: center;
    font-size: 1.2em;
    font-weight: 500;
    letter-spacing: .1em;
    position: relative;
    top: 100px;
    margin-top: -130px;
    margin-bottom: 150px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: #00aaaa 3px solid;
    color: #00aaaa;
}

.wpcf7 .hidden-fields-container+form.sent .wpcf7-response-output {
    margin-top: 50px;
}

.wpcf7-turnstile {
    width: fit-content;
    margin: 50px auto 0;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .contact_btn+.wpcf7-response-output {
    margin-top: -80px;
}


/* エラー時背景色 */
.wpcf7-not-valid-tip {
    color: #dc3232 !important;
    font-size: 1em !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    margin-top: 10px;
}

/* End /エラー時背景色 */


.contactBl form.custom-wpcf7c-confirmed dl dd input[type="text"],
.contactBl form.custom-wpcf7c-confirmed .wpcf7c-conf,
.contactBl form.custom-wpcf7c-confirmed .wpcf7c-conf:focus {
    background: transparent !important;
    border: #000 1px solid;
    pointer-events: none;
}

div.wpcf7-mail-sent-ok {
    border: 2px solid #88a536;
    font-size: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0;
    margin: 0;
}

div.wpcf7-mail-sent-ng {
    border: 2px solid #ff0000;
    font-size: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0;
    margin: 0;
}

div.wpcf7-spam-blocked {
    border: 2px solid #ffa500;
    font-size: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0;
    margin: 0;
}

div.wpcf7-validation-errors {
    border: 2px solid #f7e700;
    font-size: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0;
    margin: 0;
}

input.wpcf7c-conf,
textarea.wpcf7c-conf {
    border: 0;
    padding: 0;
    background: transparent;
}

@keyframes onAutoFillStart {
    from {}

    to {}
}

.contactBl form.custom-wpcf7c-confirmed input:-webkit-autofill {
    animation-name: onAutoFillStart;
    transition: background-color 50000s ease-in-out 0s;
}

/* 確認画面あり */
.cm4cf7-confirm-value {
    display: inherit;
    padding: 0;
    background: none;
    margin: 16px 40px 0 0;
}

.cm4cf7-confirm-value+*,
.cm4cf7-confirm-value+*+*,
.cm4cf7-return-button+.cm4cf7-return-button,
.cm4cf7-message-for-confirmation+.cm4cf7-message-for-confirmation,
.wpcf7-form.aborted .corporateApply_label,
.wpcf7-form.aborted .txt-normal-m.corporateApply_chuki,
.wpcf7-form.aborted .cm4cf7-message-for-confirmation {
    display: none !important;
}

.cm4cf7-message-for-confirmation {
    border: 3px solid #00aaaa;
    margin-top: 70px;
    position: relative;
    top: 20px;
}

.contactBl .contact_btn {
    margin: 53px auto 0;
    width: fit-content;
    position: relative;
}

.contactBl .contact_btn p {
    display: flex;
    justify-content: center;
}

.contactBl .confirm_area .contact_btn p {
    margin-left: 70px;
}

.cm4cf7-return-button:nth-child(1) {
    width: 230px;
    margin: 0 20px 0 0;
    padding: 0.84em 0.5em;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #00aaaa;
    border-radius: 100px;
    transition: all .5s;
    z-index: 1;
    color: #00aaaa;
    font-size: 2.0rem;
    line-height: 1.5;
    letter-spacing: 0.15em;
    cursor: pointer;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .1);
    /* position: relative; */
}

.cm4cf7-return-button:nth-child(1)::before {
    /* content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 8px solid #00aaaa;
    border-left: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
    transition: all .5s; */
}

.cm4cf7-return-button:nth-child(1):hover::before {
    /* transform: translateX(-10px); */
}

.contactBl form .confirm_area .txt-normal-m+dl::after {
    display: none;
}

.contactBl form .confirm_area dl dd {
    margin-top: 16px;
}

.contactBl form .thanks_area .txt-normal-m {
    font-weight: bold;
}

.contactBl form .thanks_area .confirmTit+.txt-normal-m {
    font-weight: 400;
}

/* /確認画面あり */

/* 確認画面のフィールド背景色や枠線を消す */
.wpcf7c-conf,
.wpcf7c-conf:focus {
    background-color: transparent;
    border: none;
}

:focus {
    /* outline: none; */
}

textarea:focus {
    /* outline: none; */
}


/*Change text in autofill textbox*/
.wpcf7-text:-webkit-autofill {
    box-shadow: 0 0 0 1000px rgba(243, 243, 243, 1) inset;
}

.wpcf7.is_confirm .wpcf7-text:-webkit-autofill {
    box-shadow: 0 0 0 1000px rgba(243, 243, 243, 1) inset;
}

.wpcf7.is_confirm input:-webkit-autofill {
    box-shadow: 0 0 0 1000px rgba(243, 243, 243, 1) inset;
}

input:-webkit-autofill {
    -webkit-text-fill-color: #000 !important;
}

/* / Chromeのオートコンプリートの背景色を消す*/


/* contact form 7 ローディングアイコン変更*/
div.wpcf7 .ajax-loader {
    background-image: none !important;
    vertical-align: baseline !important;
}

div.wpcf7 .ajax-loader::after {
    content: "\f110";
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    animation: rotation 1s linear infinite;
    display: inline-block;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* END /contact form 7 ローディングアイコン変更*/


.contactBl label.select_file {
    padding: 10px 20px;
    color: #fff;
    border: 1px solid #000;
    background-color: #000;
    cursor: pointer;
    display: inline-block;
}

.wpcf7c-elm-step2:not(.wpcf7c-force-hide)+dl+dl+dl+dl+dl+dl+dl+dl dd label.select_file {
    background: transparent !important;
    pointer-events: none;
    color: #000 !important;
}

.contactBl label.select_file:hover {
    transition: all 0.5s ease 0s;
    opacity: 0.5;
}

.contactBl label.select_file input[type="file"] {
    display: none;
}

.contactBl label.select_file+p {
    margin: 10px 0 0 0;
}

.contactBl label.select_file input[type="text"] {
    display: none;
}

.contactBl .eac-input-wrap {
    display: block !important;
}

.contactBl .autoCompleteStyle {
    line-height: 1;
    padding: 10px 10px 9px 2px;
    top: 6px !important;
    color: #969696;
}


@media (max-width: 999px) {
    .contactBl form dl {
        padding: 0 10px 30px;
    }

    .contactBl form dl dt {
        width: 153px;
        margin: 0 30px 0 0;
    }

    .contactBl form dl dt .required {
        font-size: 1.1rem;
        margin: 0 0 0 0.5em;
        display: inline-block;
    }

    .contactBl form dl dd {
        width: calc(100% - 183px);
    }

    .contactBl form dl dd input[type="text"],
    .contactBl form dl dd input[type="email"],
    .contactBl form dl dd input[type="tel"] {
        padding: 0.5em 1em;
    }

    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-year"] input[type="text"],
    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"],
    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"] {
        width: 80px;
    }

    .wpcf7-form-control-wrap[data-name="birth-month"],
    .wpcf7-form-control-wrap[data-name="birth-day"] {
        margin: 0 0 0 1em;
    }

    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"]+.wpcf7-not-valid-tip {
        left: 9em;
    }

    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"]+.wpcf7-not-valid-tip {
        left: 18em;
    }

    .wpcf7-not-valid-tip {
        font-size: 0.8em !important;
        letter-spacing: 0 !important;
    }
}


@media (max-width: 767px) {
    .contactBl form {
        margin: 40px 0 0 0;
    }

    .contactBl form .confirmTit {
        font-size: 2.0rem;
        margin-bottom: 5px;
    }

    .contactBl form dl {
        display: block;
        margin-top: 15px;
        padding: 0 5px 25px;
    }

    .contactBl form dl dt {
        width: auto;
        margin: 0;
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    .contactBl form dl+.txt-normal-m {
        margin-top: 10px;
    }

    .contactBl form .txt-normal-m+dl,
    .contactBl form .txt-normal-m+.wpcf7-response-output+dl {
        margin-top: 30px;
    }

    .contactBl form dl dt .required {
        font-size: 1.0rem;
        margin: 0 0 0 1em;
    }

    .contactBl form dl dd {
        width: auto;
        font-size: 1.4rem;
        margin-top: 5px;
    }

    .contactBl form dl dd input[type="text"],
    .contactBl form dl dd input[type="email"],
    .contactBl form dl dd input[type="tel"],
    .contactBl form dl dd textarea {
        height: 50px;
        padding: 0.5em 0.5em;
        box-shadow: 3px 3px 5px rgba(0, 0, 0, .1);
    }

    .contactBl form dl dd textarea {
        height: 200px;
    }

    .contactBl form dl dd .wpcf7-list-item-label:hover {
        opacity: 1;
    }

    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-year"] input[type="text"],
    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"],
    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"] {
        width: 50px;
    }

    .wpcf7-form-control-wrap[data-name="birth-month"],
    .wpcf7-form-control-wrap[data-name="birth-day"] {
        margin: 0 0 0 0.5em;
    }

    .wpcf7-radio {
        margin-top: 0;
        margin-bottom: 0;
    }

    .wpcf7-not-valid-tip {
        margin-top: 2px;
        font-size: 0.9em !important;
        letter-spacing: 0 !important;
    }

    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-year"] input[type="text"]+.wpcf7-not-valid-tip,
    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-month"] input[type="text"]+.wpcf7-not-valid-tip,
    .contactBl form dl dd .wpcf7-form-control-wrap[data-name="birth-day"] input[type="text"]+.wpcf7-not-valid-tip {
        white-space: nowrap;
        font-size: 0.7em !important;
        top: auto;
    }

    .wpcf7 form.sent .wpcf7-response-output,
    .wpcf7 form.invalid .wpcf7-response-output,
    .wpcf7 form.unaccepted .wpcf7-response-output,
    .wpcf7 form.payment-required .wpcf7-response-output {
        font-size: 1.4rem;
        line-height: 1.67;
        letter-spacing: 0.1em;
        top: 90px;
        margin-top: -100px;
        margin-bottom: 150px;
        font-size: 1.1em;
        padding: .5em;
    }

    .contactBl .contact_btn {
        margin: 33px auto 0;
    }

    .contactBl form .contact_btn input {
        width: 250px;
        margin: 0 auto;
        font-size: 1.6rem;
    }

    .contactBl form .contact_btn input.back_btn {
        width: 250px;
        margin: 50px auto 0;
    }

    .contactBl form input[type="submit"]:hover,
    .contactBl form dl dd .contact_btn input[type="button"]:hover,
    .contactBl form .contact_btn input.back_btn:hover,
    .contactBl form .contact_btn input:not([disabled]):hover {
        opacity: 1;
    }

    .contactBl form .contact_btn::after {
        /* border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 8px solid rgba(255, 255, 255, .5);
        top: 22px;
        right: 15px; */
    }

    .contactBl form .contact_btn:hover::after {
        right: 15px;
    }

    .contactBl form dl.attachment {
        margin: 25px 0 0 0;
    }

    .contactBl form dl.privacy_check {
        margin: 25px 0 0 0;
    }

    .contactBl form dl dd .contact_btn .submit_btn {
        font-size: 109%;
        padding: 10px 0;
    }

    .contactBl form label input[type="radio"]+span {
        padding: 0 0 0 2em;
    }

    .contactBl form label input[type="radio"]+span::before {
        top: 12px;
    }

    .contactBl form label input[type="radio"]:checked+span::after {
        top: 12px;
    }

    .contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+span {
        padding: 0 0 0 2em;
    }

    .contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+span::before {
        top: 12px;
    }

    .contactBl form.custom-wpcf7c-confirmed dl dd input[type="hidden"]+span::after {
        top: 12px;
    }

    /* 確認画面あり */
    .cm4cf7-message-for-confirmation {
        margin-top: 20px;
        margin-bottom: 60px;
        top: 20px;
    }

    .contactBl .contact_btn p {
        display: block;
    }

    .contactBl .confirm_area .contact_btn p {
        margin-left: 0;
    }

    .cm4cf7-return-button:nth-child(1) {
        width: 250px;
        margin: 0 auto;
        font-size: 1.6rem;
    }

    .contactBl form .confirm_area dl {
        display: flex;
        flex-wrap: wrap;
    }

    .contactBl form .confirm_area dl dt {
        width: 125px;
        min-width: 125px;
        margin: 5px 30px 0 0;
    }

    .contactBl form .confirm_area dl dd {
        width: calc(100% - 155px);
        margin-top: 5px;
    }

    /* /確認画面あり */
}


/* ボタン（大）
-------------------------------------------*/
.btn_big,
.btn_big:visited,
.btn_big:link {
    font-size: 2.0rem;
    font-weight: 500;
    padding: 1em 1.8em;
    text-align: center;
    letter-spacing: 0.15em;
    line-height: 1.17;
    color: #fff;
    background: linear-gradient(0deg, rgba(0, 117, 115, 1) 0%, rgba(59, 163, 160, 1) 100%);
    border: 1px solid #00aaaa;
    width: fit-content;
    box-sizing: border-box;
    border-radius: 80px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .1);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    position: relative;
    margin: 0 auto;
}

.btn_big::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 8px solid rgba(255, 255, 255, .7);
    border-right: 0;
    position: absolute;
    top: calc(50% - 3px);
    right: 15px;
    transition: all .5s;
}

.btn_big:hover::after {
    right: 5px;
}


@media (max-width: 767px) {

    .btn_big,
    .btn_big:visited,
    .btn_big:link {
        font-size: 1.6rem;
        line-height: 1.5;
    }

    .btn_big:hover {
        color: #fff;
    }

    .btn_big:hover::after {
        right: 15px;
    }
}


/* ボタン（小）
-------------------------------------------*/
.btn_small,
.btn_small:visited,
.btn_small:link {
    font-size: 1.6rem;
    font-weight: 600;
    padding: 0.9em 1.86em 1em;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.17;
    color: #fff;
    background: linear-gradient(0deg, rgba(0, 117, 115, 1) 0%, rgba(59, 163, 160, 1) 100%);
    border: 1px solid #00aaaa;
    width: fit-content;
    box-sizing: border-box;
    border-radius: 80px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .1);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    position: relative;
    margin: 0 auto;
}

.txt-normal-m+.btn_small {
    margin-top: 32px;
}

.btn_small::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 6px solid rgba(255, 255, 255, .7);
    border-right: 0;
    position: absolute;
    top: calc(50% - 4px);
    right: 15px;
    transition: all .5s;
}

.btn_small:hover::after {
    right: 10px;
}

@media (max-width: 767px) {

    .btn_small,
    .btn_small:visited,
    .btn_small:link {
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .btn_small:hover {
        color: #fff;
    }

    .btn_small::after {
        top: calc(50% - 3px);
        right: 10px;
    }

    .btn_small:hover::after {
        right: 10px;
    }
}


/* 電話エリア
---------------------------------------------------*/
.telArea {
    padding: 80px 0 0;
}

.telArea_desc {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .15em;
    text-align: center;
}

.telArea_tel,
.telArea_tel:link,
.telArea_tel:visited {
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 3.5rem;
    line-height: 1.5;
    letter-spacing: .1em;
    text-align: center;
    margin: 12px auto 0;
    width: fit-content;
    display: table;
    position: relative;
    padding-left: 45px;
}

.telArea_tel,
.telArea_tel:link,
.telArea_tel:visited,
.telArea_tel a,
.telArea_tel a:link,
.telArea_tel a:visited {
    color: #00aaaa;
}

.telArea_tel::before {
    content: '';
    display: inline-block;
    width: 35px;
    height: 35px;
    background: url(../img/common/icn_tel_green.svg) no-repeat center / contain;
    position: absolute;
    left: 0;
    top: 12px;
}

.telArea_time {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .15em;
    text-align: center;
    margin-top: 10px;
}

.telArea_tel_dai {
    font-size: 1.4rem;
    letter-spacing: .2em;
    font-weight: 500;
    color: #323232;
    line-height: 1;
    position: relative;
    top: -.1em;
    left: -.5em;
}


@media (max-width: 767px) {
    .telArea {
        padding: 46px 0 0;
    }

    .telArea_desc {
        font-size: 1.5rem;
    }

    .telArea_tel {
        font-size: 3.3rem;
        line-height: 1.5;
        margin: 5px auto 0;
        padding-left: 40px;
    }

    .tel-link {
        letter-spacing: .05em;
    }

    body.is-mobile .tel-link {
        text-decoration: underline;
    }

    body:not(.is-mobile) .tel-link {
        text-decoration: none;
    }

    body.is-mobile .tel-link.telArea_tel,
    body:not(.is-mobile) .tel-link.telArea_tel {
        text-decoration: none;
        letter-spacing: 0;
    }

    .telArea_tel_dai {
        font-size: 1.2rem;
    }

    .telArea_tel::before {
        width: 30px;
        height: 30px;
        top: 11px;
    }

    .telArea_tel a,
    .telArea_tel a:hover,
    .telArea_tel a:link,
    .telArea_tel a:visited,
    .telArea_tel a:active {
        color: #00aaaa;
        text-decoration: none;
    }

    .telArea_time {
        font-size: 1.2rem;
        margin-top: 5px;
    }
}


@media (max-width: 360px) {
    .telArea_tel {
        font-size: 3.0rem;
        letter-spacing: 0;
        line-height: 1;
        padding-left: 34px;
    }

    .telArea_tel::before {
        width: 25px;
        height: 25px;
        top: 5px;
    }
}


/* flameAloneArea
---------------------------------------------------*/
.flameAloneArea {
    border: 1px solid #dadada;
    border-radius: 5px;
    margin: 0 auto;
    padding: 33px 2.5em 35px;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
}

.txt-normal-m+.flameAloneArea {
    margin-top: 44px;
}

.flameAloneArea_tit {
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.05em;
    position: relative;
    padding-left: 28px;
}

.flameAloneArea_tit::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #00aaaa;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 6px;
}

.flameAloneArea_green-tit {
    font-size: 1.7rem;
    line-height: 1.5;
    font-weight: 500;
    color: #00aaaa;
    letter-spacing: 0.05em;
    position: relative;
    padding-left: 24px;
}

.flameAloneArea_green-tit::before {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    background-color: #00aaaa;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 8px;
}

.flameAloneArea_desc {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.64;
    letter-spacing: 0;
    margin-top: 20px;
    padding-left: 1.75em;
}

.flameAloneArea_desc_2 {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
    padding-left: 1.5em;
}

.flameAloneArea_desc_2+.flameAloneArea_desc_2,
.flameAloneArea_ul_ul+.flameAloneArea_desc_2 {
    margin-top: 8px;
}

.flameAloneArea_green-tit+.flameAloneArea_desc_2 {
    margin-top: 15px;
}

.flameAloneArea_desc_2+.flameAloneArea_ol {
    margin-top: 10px;
}

.flameAloneArea_ul>li+li {
    margin-top: 40px;
}

.flameAloneArea_ol>li {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding-left: 2.8em;
    text-indent: -1.05em;
}

.flameAloneArea_ol>li+li {
    margin-top: 6px;
}

.flameAloneArea_green-tit+.flameAloneArea_ul_ul {
    margin-top: 15px;
}

.flameAloneArea_ul_ul>li {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding-left: 1.5em;
}

.flameAloneArea_ul_ul>li+li {
    margin-top: 6px;
}


@media (max-width: 767px) {
    .flameAloneArea {
        padding: 22px 20px;
    }

    .txt-normal-m+.flameAloneArea {
        margin-top: 33px;
    }

    .flameAloneArea_tit {
        font-size: 1.6rem;
        padding-left: 1.0em;
    }

    .flameAloneArea_tit::before {
        width: 10px;
        height: 10px;
        top: 8px;
    }

    .flameAloneArea_green-tit {
        font-size: 1.5rem;
        padding-left: 20px;
    }

    .flameAloneArea_green-tit::before {
        width: 10px;
        height: 10px;
        top: 8px;
    }

    .flameAloneArea_desc {
        font-size: 1.3rem;
        line-height: 1.8;
        margin-top: 10px;
        padding-left: 1.4em;
    }

    .flameAloneArea_desc_2 {
        font-size: 1.2rem;
        padding-left: 1.4em;
        line-height: 1.7;
    }

    .flameAloneArea_green-tit+.flameAloneArea_desc_2 {
        margin-top: 9px;
    }

    .flameAloneArea_ul>li+li {
        margin-top: 30px;
    }

    .flameAloneArea_ol>li {
        font-size: 1.2rem;
        padding-left: 2.7em;
        line-height: 1.7;
    }

    .flameAloneArea_ul_ul>li {
        font-size: 1.2rem;
        padding-left: 1.4em;
        line-height: 1.7;
    }

    .flameAloneArea_ol>li+li,
    .flameAloneArea_ul_ul>li+li {
        margin-top: 10px;
    }
}


/* figFlame
---------------------------------------------------*/
.figFlame {
    border: 1px solid #dadada;
    border-radius: 5px;
    margin: 0 auto;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
}

.figFlame_tit {
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.13em;
    text-align: center;
    color: #fff;
    background-color: #00aaaa;
    border-radius: 5px 5px 0 0;
    padding: 1.0em 1em 1.2em;
}

.figFlame_inner {
    padding: 40px 3.4em;
}

.figFlame_imgwrap {
    display: block;
    pointer-events: none;
    margin: 0 auto;
}

a.figFlame_imgwrap:focus {
    outline: none;
}


@media (max-width: 767px) {
    .figFlame_tit {
        font-size: 1.8rem;
        letter-spacing: 0.05em;
        padding: 0.5em 1em 0.6em;
    }

    .figFlame_inner {
        padding: 20px;
    }

    .figFlame_imgwrap.sp_expand {
        pointer-events: auto;
        padding: 20px 20px 50px;
        border: 1px solid #dadada;
        border-radius: 5px;
        position: relative;
    }

    .figFlame_imgwrap.sp_expand::after {
        content: '';
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 5px 0 5px 0;
        background: url(../img/common/icn_glass_green.svg) no-repeat center / contain;
        position: absolute;
        right: 0;
        bottom: 0;
        pointer-events: none;
    }
}


/* 回り込み
---------------------------------------------------*/
.txt-normal-l+.wraparound {
    margin-top: 40px;
}

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

.wraparound-imgwrap.img-right {
    float: right;
    width: 44.4%;
    margin: 5px 0 2% 4.5%;
}

.wraparound-imgwrap.img-left {
    float: left;
    width: 50.8%;
    margin: 5px 4.5% 2% 0;
}


@media (max-width: 767px) {
    .txt-normal-l+.wraparound {
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: wrap;
    }

    .txt-normal-l+.wraparound {
        margin-top: 16px;
    }

    .line_gray+.inner930>.wraparound+.txt-normal-l {
        margin-top: 32px;
    }

    .wraparound-imgwrap.img-right,
    .wraparound-imgwrap.img-left {
        float: none;
        width: 100%;
        box-sizing: border-box;
        margin: 15px auto 0;
    }
}


/* secInfo
-------------------------------------------*/
.secInfo {
    padding: 49px 0 0;
}

.secInfo+.secInfo {
    padding-top: 70px;
}

.dockDetailBl .secInfo .third-tit-left {
    margin-top: 0;
}

.secInfo .txt-normal-m {
    margin-top: 22px;
}

.secInfo .btn-txtlink.btn-right {
    margin-top: 21px;
}

.secInfo .accordion_dl dt {
    padding: 45px 50px 38px;
}

.secInfo .accordion_dl dt:after,
.secInfo .accordion_dl dt:before {
    top: 47px;
}

.secInfo .scrollable-wrapper {
    margin-top: 0;
}

.secInfo .accordion_dl dd {
    padding: 0 48px 32px;
}

.secInfo .accordion_dl .txt-normal-m {
    margin-top: -10px;
}

.txt-normal-m+.secInfo_chuki-ul {
    margin-top: 20px;
}

.secInfo_chuki-ul>li {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .08em;
    position: relative;
    padding-left: .6em;
}

.secInfo_chuki-ul>li::before {
    content: '･';
    display: inline-block;
    width: 1em;
    height: 1em;
    position: absolute;
    left: 0;
    top: 0;
}

.secInfo_chuki-ul>li+li {
    margin-top: 8px;
}


@media screen and (max-width: 999px) {
    .secInfo .accordion_dl dd {
        padding: 0 30px 32px;
    }
}


@media screen and (max-width: 767px) {
    .secInfo {
        padding: 33px 0 0;
    }

    .secInfo+.secInfo {
        padding-top: 35px;
    }

    .secInfo .txt-normal-m {
        margin-top: 18px;
    }

    .secInfo .secInfo_chuki-ul .txt-normal-m,
    .txt-normal-m+.secInfo_chuki-ul,
    .secInfo_chuki-ul+.txt-normal-m {
        margin-top: 15px;
    }

    .secInfo .btn-txtlink.btn-right {
        margin-top: 15px;
    }

    .secInfo .accordion_dl dt {
        padding: 24px 20px 20px;
    }

    .secInfo .accordion_dl dt:after,
    .secInfo .accordion_dl dt:before {
        top: 23px;
    }

    .secInfo .accordion_dl dd {
        padding: 0 20px 30px;
    }

    .secInfo_chuki-ul>li {
        font-size: 1.25rem;
        letter-spacing: .08em;
    }
}