@charset "utf-8";

ul.header_menu {
    display: flex;
    justify-content: flex-end;
    margin-right: 1.352941vw;
}

.mdd_wrap {
    position: absolute;
    width: 7.352941176470589vw;
    top: 7.352941176470589vw;
    left: 50%;
    transform: translate(-50%, 0);
    background: rgba(33, 33, 33, 0.20);
    display: none;
}

.mdd_wrap ul.sub-menu li {
    margin-bottom: 1.471vw;
    height: 21px;
    justify-content: center;
}

.mdd_wrap ul.sub-menu li a {
    padding: 10px 0;
    color: #fff;
}

.mdd_wrap ul.sub-menu li a:hover {
    text-decoration: underline;
    font-weight: 500;
}

.flex_header {
    position: fixed;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 0 0;
    z-index: 99;
    background: rgba(33, 33, 33, 0.20);
}

.flex_header.page {
    position: fixed;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 0 0;
    z-index: 99;
}

.page_header_logo {
    width: 9.412vw;
    margin: 1.544vw 0 1.544vw 4.265vw;
}

.flex_header.headerColorScroll {
    position: fixed;
    display: flex;
    width: 100%;
    padding: 3.824vw 0 0;
    z-index: 99;
    background: rgb(0 0 0 / 10%);
}

ul.header_menu li {
    position: relative;
    height: 7.352941176470589vw;
    display: flex;
    align-items: center;
    list-style: none;
    margin-left: 0;
}

ul.header_menu li a {
    text-align: center;
    font-family: Inter;
    font-size: .968vw;
    font-style: normal;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.037vw;
    padding: 0 1.029vw;
    color: #9e9e9e;
}

span.menu__Item {
    display: block;
    width: 100%;
    color: #fff;
    line-height: 26px;
    letter-spacing: 0.2px;
}

ul.header_menu li a.current {
    font-weight: 500;
    color: #9e9e9e;
}

ul.header_menu.page li a.current {
    font-weight: 500;
    color: #9e9e9e;
}

.mdd_wrap ul.sub-menu li a.current {
    text-decoration: underline;
}

.default_h1_wrap {
    position: absolute;
    top: 44%;
}

h1.default_h1.mv {
    font-size: 4.6vw;
}

.inner_wrap {
    width: 85.29411764705883vw;
    margin: auto;
}

footer {
    background: url(../img/common/webp/footer_bg.webp);
    background-size: cover;
}

.page_contents {
    padding: 9.706vw 0 3.353vw;
}

.inner_wrap {
    width: 85.29411764705883vw;
    margin: auto;
}

/*  PAGE H1  */

.flex_h1_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.h1_wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}

h1.default_h1 {
    color: var(--System-Gray-900, #212121);
    font-family: Inter;
    font-size: 3.9vw;
    font-style: normal;
    font-weight: 600;
    line-height: 5.588vw;
    letter-spacing: 0.037vw;
    text-align: left;
}

h1.default_h1.wht {
    color: #fff;
}

.default_h1 span {
    color: var(--System-Gray-500, #fff);
    font-family: "Noto Sans JP";
    font-size: 1.4705882352941175vw;
    font-style: normal;
    font-weight: 400;
    line-height: 2.353vw;
    letter-spacing: 0.037vw;
    margin-left: 0;
    display: block;
}

/*  PAGE H2  */

.flex_h2_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

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

h2.default_h2 {
    color: var(--System-Gray-900, #212121);
    font-family: Inter;
    font-size: 3.9vw;
    font-style: normal;
    font-weight: 600;
    line-height: 5.588vw;
    letter-spacing: 0.037vw;
    text-align: left;
}

h2.default_h2.wht {
    color: #fff;
}

.h2_wrap p {
    color: var(--System-Gray-500, #9E9E9E);
    font-family: "Noto Sans JP";
    font-size: 1.4705882352941175vw;
    font-style: normal;
    font-weight: 400;
    line-height: 2.353vw;
    letter-spacing: 0.037vw;
    margin-left: 1.1029411764705883vw;
}

/*.swiper-button-next {
    background: url(../img/common/next.svg) !important;
    background-size: contain !important;
    width: 48px !important;
    height: 48px !important;
    top: 50% !important;
    margin-top: 0 !important;
    right: 0 !important;
    transform: translate(0,-50%);
}

.swiper-button-prev {
    background: url(../img/common/prev.svg) !important;
    background-size: contain !important;
    width: 48px !important;
    height: 48px !important;
    top: 50% !important;
    margin-top: 0 !important;
    left: 0 !important;
    transform: translate(0,-50%);
}*/

.swiper-button-next:after, .swiper-button-prev:after {
    display: none;
}

.flex_h2_wrap a {
    color: var(--System-Gray-000, #FFF);
    text-align: center;
    font-family: Inter;
    font-size: 1.029vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1.176vw;
    display: flex;
    width: 11.98529411764706vw;
    height: 2.6470588235294117vw;
    align-items: center;
    justify-content: center;
    background: #9e9e9e;
}

.sec4.d-pc-flex {
    padding: 1.471vw 0;
}

.sec4 .flex {
    margin-top: 20px;
    display: flex;
    align-items: flex-start;
}

.more_center {
    display: flex;
    justify-content: center;
    margin: 2.941vw 0 0;
}

.more_center a {
    color: var(--System-Gray-000, #FFF);
    text-align: center;
    font-family: Inter;
    font-size: 1.029vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1.176vw;
    display: flex;
    width: 11.98529411764706vw;
    height: 2.6470588235294117vw;
    align-items: center;
    justify-content: center;
    background: #9e9e9e;
}

.post_img {
    height: 25vw;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.clm3 {
    width: 30%;
    margin: 0 auto;
}

.clm3:first-child {
    margin-left: 0;
}

.top_pc2 {
    position: relative;    
}

.pc_y_pagenation {
    bottom: -20px!important;
}

.voice_txt_box {
    background: url(../img/top/voice_card_bg_1.png);
    background-size: cover;
    padding-bottom: 6.294118vw;
}

.voice_txt_box.men {
    background: url(../img/top/voice_card_bg_2.png);
    background-size: cover;
}

.voice_name_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1.6176470588235297vw;
}

p.name {
    font-size: 1.4705882352941175vw;
    color: #FF7742;
    font-family: "Noto Sans JP";
    font-weight: 700;
    line-height: 2.31vw;
    letter-spacing: 0.077vw;
    margin-right: 0.368vw;
}

p.name.men {
    color: #00C0B5;
}

p.type3 {
    color: #9E9E9E;
    font-size: 1.0294117647058822vw;
    font-weight: 500;
}

p.voice_message {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    color: var(--System-Gray-900, #212121);
    text-overflow: ellipsis;
    font-family: "Noto Sans JP";
    font-size: 1.029vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1.912vw;
    letter-spacing: 0.074vw;
    margin-top: 0.735vw;
    padding: 0 1.471vw;
}

.b p.name {
    font-size: 1.4705882352941175vw;
    color: #00C0B5;
    font-family: "Noto Sans JP";
    font-weight: 700;
    line-height: 2.31vw;
    letter-spacing: 0.077vw;
}

article {
    margin: auto;
}

.thumbnail_slider {
    position: relative;
    width: 77.941vw;
    margin: auto;
}

.thumbnail_slider .swiper-container {
    position: relative;
    width: 66.912vw;
    margin: 80px auto;
    overflow: hidden;
}

.view_btn {
    display: inline-block;
}

/*  FACILITY画像切り替え  */


.flex_tab_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 20px;
}

.main-image-container {
    width: 52%;
}

.thumbnails {
    display: flex;
    flex-wrap: wrap;
    width: 47%;
    margin-left: 1%;
}

.thumbnails
.thumbnail {
    width: 46%;
    margin: 2%;
}

.only-sp {
    display: none;
}

.sec16 .flex_in {
    position: relative;
    margin: 0 auto;
    height: 18.676vw;
    display: block;
    overflow: hidden;
    cursor: pointer;
}

.sec16 .flex_in img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	height: auto;
    width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
    overflow: hidden;
}
.sec16 .flex_in:hover img:nth-of-type(2) {
	opacity: 0;
}

.sec16 .flex_in picture img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	height: auto;
    width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
    overflow: hidden;
}
.sec16 .flex_in:hover picture img:nth-of-type(2) {
	opacity: 0;
}

.sec17 {
    text-align: center;

    h2 {
        font-family: Inter;
        font-size: 28px;
        font-style: normal;
        font-weight: 600;
        line-height: 38px;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        color: #fff;
    }

    p.wht {
        font-family: "Noto Sans JP";
        font-size: 1.176vw;
        font-style: normal;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: 1px;
        color: #fff;
    }

    .contact_btn_box {
        width: 25.735vw;
        margin: 1.471vw 1.103vw 0;
    }

    .flex.center {
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 2;
    }
}

ul.flex_menu li a {
    color: #fff;
    margin: 1.029vw 0;
    font-size: 1.176vw;
    text-align: left;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #212121;
}

.facility_txt p {
    color: #212121;
    text-align: left;
}

.footer_float.only-pc {
    position: fixed;
    top: 20%;
    right: 0;
    z-index: 99;


    .float {
        margin-bottom: 14px;
        width: 3.823529411764706vw;
    }
}

/* トレーナー紹介 */

.commit_sec2 {
    position: relative;
    background: var(--System-Gray-050, #FAFAFA);
    padding: 20px 0 20px;
}

.commit_sec2:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 16.911764705882355vw;
    bottom: 0;
    left: 0;
    background: linear-gradient(254deg, rgba(0, 192, 181, 0.91) -13.78%, #FF7742 104.89%);
    z-index: 0;
}

.trainer_flex {
    display: flex;

    .flex {
        margin-bottom: 10px;
    }
}

.t_card_inner {
    padding: 20px;
    background: #fff;
}

.trainer_img {
    width: 47%;
    margin-right: 3%;
}

.trainer_txt_wrap {
    width: 50%;
    text-align: left;

    h3 {
        color: #3B4043;
        font-family: Inter;
        font-size: 28px;
        font-style: normal;
        font-weight: 600;
        line-height: 1.21;
        letter-spacing: 0.5px;
        margin-bottom: 10px;

        span {
            color: var(--System-Gray-500, #9E9E9E);
            font-family: "Noto Sans JP";
            font-size: 18px;
            font-style: normal;
            font-weight: 500;
            line-height: 1.38;
            letter-spacing: 0.5px;
            display: block;
        }
    }

    p {
        color: #212121;
        margin-right: 10px;
    }

    p.staff_message {
        font-size: 14px;
    }

    span.th_cat {
        padding: 4px 10px;
        color: #fff;
        background: var(--System-Gray-900, #212121);
        margin-right: 10px;
        font-size: 14px;
    }

    h4 {
        color: var(--org, #FF7742);
        font-family: "Noto Sans JP";
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 32px;
        letter-spacing: 0.5px;
        border-bottom: 1px dashed var(--System-Gray-500, #9E9E9E);
        margin-bottom: 10px;
    }

    ul {
        padding-left: 27px;
    }

    li {
        color: #212121;
        list-style: disc;
        line-height: 1.5;
        margin-bottom: 8px;
        font-size: 1.176vw;
    }
}

#breadcrumb {
    background: var(--bg-blk-bg, linear-gradient(46deg, #212121 27.88%, #3D3D3D 62.04%, #8B8A8A 99.25%));
}

#breadcrumb ul {
    display: flex;
    padding: 0.735vw 1.471vw;
}

#breadcrumb ul li {
    color: #fff;
    padding-left: 1.471vw;
    position: relative;
    margin-left: 0;
    list-style: none;
}

#breadcrumb ul li:before {
    content: ">";
    position: absolute;
    left: 5px;
    font-size: 1.176vw;
}

#breadcrumb ul li:first-child:before {
    content: "";
}

#breadcrumb ul li a {
    color: #fff;
    text-decoration: underline;
}

.social_logo {
    width: 19.706vw;
    margin: 0 auto 0 0;
}

.social_btn {
    width: 6.985vw;
    margin: auto 2vw;
}

span#cn-notice-text {
    ext-align: left;
}

span#cn-notice-text a {
    color: #fff;
    display: inline-block;
    text-decoration: underline;
}

a#cn-accept-cookie {
    color: #fff !important;
}

a#cn-refuse-cookie {
    color: #fff !important;
}


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

    .only-pc {
        display: none !important;
    }

    .only-sp {
        display: block;
    }

    .post_img {
        width: 70vw;
        height: 70vw;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    #breadcrumb ul li {
        color: #fff;
        padding-left: 4.145vw;
        position: relative;
    }

    #breadcrumb ul li:before {
        content: ">";
        position: absolute;
        left: 1vw;
        font-size: 4.145vw;
    }

    h1.default_h1.mv.wht {
        font-size: 8.231vw;
    }

    .default_h1_wrap span {
        font-size: 3.877vw;
        margin-top: 10px;
        display: block;
        font-weight: 400;
        letter-spacing: 0.3px;
    }

    .more_center a {
        width: 41.026vw;
        height: 8.718vw;
        font-size: 3.59vw;
    }

    .h2_wrap p {
        font-size: 4.145vw;
        line-height: 2;
    }

    .trainer_flex {
        flex-direction: column;
    }

    .trainer_img {
        width: 100%;
    }

    .trainer_txt_wrap {
        width: 100%;
        margin-top: 20px;

        li {
            font-size: 4.145vw;
        }

        .flex {

            p {
                margin-bottom: 10px;
                font-size: 4.145vw;
            }
        }
    }

    .trainer_flex {
        .flex {
            flex-direction: column;
            margin-bottom: 10px;
        }
    }

    .sec16 .flex_in {
        position: relative;
        margin: 0 auto;
        height: 199px;
        display: block;
        overflow: hidden;
        cursor: pointer;
    }
    .sec16 .flex_in img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 100%;
        width: 100%;
        display: block;
        -webkit-transition: .4s ease-in-out;
        transition: .4s ease-in-out;
    }
    .sec16 .flex_in:hover img:nth-of-type(2) {
        opacity: 0;
    }

    .sec17 {
        background: url(../img/common/sp/cta_bg.webp);
        background-size: cover;
        padding: 60px 0;
        text-align: center;

        .contact_btn_box {
            width: 93.333vw;
            margin: 2.667vw 4vw;
        }

        p.wht {
            font-family: "Noto Sans JP";
            font-size: 4.145vw;
            font-style: normal;
            font-weight: 400;
            line-height: 26px;
            letter-spacing: 1px;
            color: #fff;
        }
    }

    footer {
        background: var(--bg-blk-bg, linear-gradient(246deg, #212121 27.88%, #3D3D3D 62.04%, #8B8A8A 99.25%));
    }
    
    footer .flex {
        flex-direction: column;
        text-align: left;
    }
    
    ul.flex_menu {
        margin: 0 0;
        width: auto;
    }
    
    ul.flex_menu li a {
        color: #fff;
        margin: 14px 0 0;
        font-size: 16px;
        text-align: left;
    }
    
    footer .d-pc-flex {
        margin: 0 25px;
        padding: 20px 0 10px;
    }

    .footer_logo {
        width: 43.59vw;
    }

    .cprt {
        width: 86%;
        padding: 15px 0 60px;
        flex-direction: column-reverse;
    }

    .sec17 {
        padding: 20px 0;
    }

    .sec17 .flex.center {
        flex-direction: column;
    }

    .footer_menu_policy a:first-child {
        margin-left: 0;
    }

    .sec15 {
        .w860 {
            width: 265px;
        }

        .d-pc-flex {
            justify-content: space-evenly;
            display: flex;
            flex-wrap: wrap;
        }

        .social_logo {
            width: 228px;
            margin: 0 auto 30px;
        }

        .social_btn {
            width: 64px;
            margin: auto auto;
        }
    }

    .sec16 .flex {
        flex-direction: column;

        .flex_in {
            width: 100%;
        }
    }

    h2.default_h2 {
        font-family: Inter;
        font-size: 32px;
        font-style: normal;
        font-weight: 600;
        line-height: 38px;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    .before_after_wrap {
        padding: 20px 0 0;
        position: relative;
    }

    .swiper-pagination.sp_be_af {
        height: 25px;
        width: 100% !important;
        bottom: 0 !important;
    }

    .before_after_wrap .swiper-container {
        padding-bottom: 0;
    }

    .sec4 .flex.only-pc {
        display: none;
    }

    .voice_txt_box {
        padding-bottom: 65px;
    }

    p.name,
    p.name.men {
        padding-top: 14px;
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 31.412px;
        letter-spacing: 1.047px;
    }

    p.voice_message {
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: 1px;
        margin-top: 10px;
    }

    .swiper-pagination.topics.sp-only.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        left: -7.352891176vw;
    }

    .sec4.d-pc-flex {
        padding: 20px 0 10px;
    }

    .sec4.d-pc-flex {
        h2.default_h2 {
            font-size: 8.205vw;
        }
        .h2_wrap p {
            font-size: 16px;
        }
        .flex_h2_wrap {
            flex-direction: column;
            align-items: flex-start;
        }
        .flex_h2_wrap a {
            font-size: 14px;
            padding: 10px 40px;
            width: auto;
            margin-top: 20px;
        }
    }

    .sec4.d-pc-flex .more_center {
        margin-top: 0;
    }

    .sec8.d-pc-flex {
        h2.default_h2 {
            font-size: 32px;
        }
        .h2_wrap p {
            font-size: 16px;
            line-height: 26px;
        }
        .flex_h2_wrap {
            flex-direction: column;
            align-items: flex-start;
        }
        .flex_h2_wrap a {
            font-size: 14px;
            padding: 10px 40px;
            width: auto;
            margin-top: 20px;
        }
        .facility_txt p {
            font-family: "Noto Sans JP";
            font-size: 14px;
            font-style: normal;
            font-weight: 400;
            line-height: 26px; /* 185.714% */
            letter-spacing: 1px;
            margin: 20px 0 30px;
            text-align: left;
        }
        .main_slide_wrap {
            margin-bottom: 20px;
        }
        .cp_qa .cp_actab label {
            font-size: 16px;
            font-style: normal;
            font-weight: 700;
            line-height: 22px;
            letter-spacing: 0.5px;
        }
    }

    .page_header_logo.only-sp {
        position: fixed;
        z-index: 99;
        top: 0;
        width: 23vw;
    }

    .flex_header.only-sp.delayed-element {
        width: 100%;
        height: 15.467vw;
        top: 0;
    }

    .only-sp.wrap {
        width: 100%;
        height: 15.467vw;
        top: 0;
        background: rgba(33, 33, 33, 0.20);
        position: fixed;
        z-index: 9;
    }

    .commit_sec2:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 60.911765vw;
        bottom: 0;
        left: 0;
        background: linear-gradient(254deg, rgba(0, 192, 181, 0.91) -13.78%, #FF7742 104.89%);
        z-index: 0;
    }
}