@charset "UTF-8";

/* service-common */

html {
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 0.1em;
    overflow-x: hidden;
}

img {
    width: 100%;
    vertical-align: bottom;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

article {
    width: 85.29411764705883vw;
    margin: 0 auto;
}

section.sec02 article {
    width: 85.29411764705883vw;
    margin: 0 auto;
}

li {
    list-style: none;
}

.white {
    color: #FFFFFF;
}

.gray {
    color: #EEEEEE;
}

.dark_gray {
    color: #757575;
}

.inter {
    font-family: "Inter", sans-serif;
}

.view_btn {
    font-family: "Inter", sans-serif;
    color: #FFFFFF;
    font-size: 1.0294117647058822vw;
    border: 1px solid #fff;
    padding: 0.4352941176470588vw 0 0;
    text-decoration: none;
    width: 11.98529411764706vw;
    height: 2.2470588235294117vw;
    text-align: center;
}


.title_flex {
    display: flex;
    justify-content: space-between;
}

.single_bnr {
    width: 65%;
    margin: 20px auto;
}

@media(max-width:767px) {
    body {
        font-size: 4.102564102564102vw !important;
    }

    article {
        width: 84.61538461538461vw;
    }

    .view_btn {
        font-size: 3.5897435897435894vw;
        padding: 1.3vw 0 0;
        width: 41.026vw;
        height: 7.42vw;
    }

    .single_bnr {
        width: 100%;
        margin: 20px auto;
    }
}

@media(max-width:767px) {

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

}

/* MV */

.mv {
    width: 100vw;
}

.mv_pc {
    width: 100%;
}

@media(max-width:767px) {}

/* slide */

.gym_slider {
    margin-bottom: 20px;
    margin-top: -4.411764705882353vw;

    /* スライドの動き等速 */
    .swiper-wrapper {
        transition-timing-function: linear;
    }

    /* 画像のサイズ調整 */
    .service-slider {
        margin-bottom: 20px;

        .swiper-slide {
            height: auto;
        }
    }

    .service_bnr-slider {
        .swiper-slide {
            height: 100%;
            width: auto !important;
        }
    }
}


@media(max-width:767px) {
    .gym_slider {
        margin-bottom: 7.6923076923076925vw;
        margin-top: -4.411764705882353vw;

        .service_bnr-slider {
            .swiper-slide {
                height: 17.3vw;
                width: 100% !important;
            }
        }
    }
}


/* sec01 */

.sec01 {
    background-image: url(../img/service_gym/webp/sec01-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 20px 5.352941vw;

    h2 {
        font-size: 1.7647058823529411vw;
        font-weight: 700;
        margin-bottom: 2.5735294117647056vw;
        line-height: 1.5;
        text-align: center;

        span {
            font-size: 2.5vw;
            font-weight: 600;
        }
    }

    .sec01-wrap {
        background: rgba(255, 255, 255, 0.80);
        padding: 20px 2.941176470588235vw;

        ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            width: 77.132353vw;
            margin: 0 auto;

            li {
                width: 24.573529411764707vw;

                &:nth-child(4),
                &:nth-child(5),
                &:nth-child(6) {
                    margin-top: 2.941176470588235vw;
                }

                img {
                    margin-bottom: 0;
                }

                p {
                    font-size: 1.3235294117647058vw;
                    color: #212121;
                }
            }
        }
    }
}

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

        .sec01 {
            padding: 20px 3.8461538461538463vw;
            margin-top: 0;

            h2 {
                font-size: 6.153846153846154vw;
                margin-bottom: 20px;

                span {
                    font-size: 8.717948717948717vw;
                }
            }

            .sec01-wrap {
                padding: 12.82051282051282vw 5.128205128205128vw;

                .sec01-slider_wrap {
                    position: relative;

                    .swiper-horizontal>.swiper-pagination-bullets,
                    .swiper-pagination-bullets.swiper-pagination-horizontal,
                    .swiper-pagination-custom,
                    .swiper-pagination-fraction {
                        bottom: -7.6923076923076925vw !important;
                    }

                    /* ページネーションのサイズと色 */
                    .swiper-pagination-bullet {
                        background-color: #212121;
                        height: 1.5384615384615385vw;
                        width: 1.5384615384615385vw;
                    }
                }

                ul {
                    flex-wrap: nowrap;
                    width: 78.71794871794872vw;
                    transition-timing-function: linear;

                    li {

                        &:nth-child(4),
                        &:nth-child(5),
                        &:nth-child(6) {
                            margin-top: 0;
                        }

                        img {
                            margin-bottom: 3.076923076923077vw;
                        }

                        p {
                            font-size: 4.615384615384616vw;
                            text-align: left;
                        }
                    }
                }
            }
        }
    }
}

/* sec02 */

.sec02 {
    margin-top: 2.941vw;
    border-color: #FAFAFA;

    .title_wrap {
        width: 55.73529411764706vw;
        margin: 0 auto;
        position: relative;
        margin-bottom: 7.352941176470589vw;

        h2 {
            font-size: 2.6470588235294117vw;
            font-weight: 700;
            text-align: center;
        }

        span {
            font-size: 4.5588235294117645vw;
            font-weight: 600;
            line-height: 0.97;
            position: absolute;
            top: -50%;
            width: 100%;
            right: 0%;
            z-index: -1;
            text-align: center;
        }
    }

    ul {
        display: flex;
        justify-content: space-between;
        margin-bottom: 20px;

        li {
            width: 15.616911764705883vw;
        }
    }

    .reason {
        background-image: url(../img/service_gym/webp/reason-bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 15.073529411764705vw 0 7.720588235294118vw;
        text-align: center;

        .reason_inner {
            width: 57.35294117647059vw;
            margin: 0 auto;
            position: relative;
        }

        .ab_txt_wrap {
            position: absolute;
            top: 52%;
            width: 57.35294117647059vw;
            transform: translate(0, -50%);
            
            h3 {
                font-size: 2.353vw;
                display: inline-block;
                vertical-align: baseline;
                color: #fafafa;
                font-weight: 500;

                span.img {
                    width: 14.706vw;
                    margin-bottom: 0.441vw;
                    margin-right: 0.441vw;
                }

                span.inter {
                    text-align: center;
                    font-size: 2.794vw;
                    font-style: normal;
                    font-weight: 600;
                    line-height: 3.885vw;
                    letter-spacing: 0.044vw;
                    font-family: 'inter';
                }

                span.sml {
                    display: inline-block;
                    font-size: 2.059vw;
                    margin-bottom: 0.294vw;
                }

                span {
                    display: inline-block;
                    vertical-align: bottom;
                }

                span.txt38 {
                    font-size: 2.279vw;
                    vertical-align: bottom;
                }

                span.txt32 {
                    margin-bottom: 0.221vw;
                }
            }

            .hash_wrap {
                margin-top: 1.471vw;

                ul {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: space-evenly;

                    li {
                        width: 45%;
                        background: #212121;
                        border-radius: 5.882vw;
                        margin-bottom: 0.735vw;
                        padding: .3vw 0;
                    }
                }
            }
        }
    }
}

@media(max-width:767px) {

    .sec02 {
        margin-top: 35px;

        .title_wrap {
            width: 92.3076923076923vw;
            margin-bottom: 20px;

            h2 {
                font-size: 7.179487179487179vw;
                line-height: 1.21;
                text-align: center;

            }

            span {
                font-size: 8.205128205128204vw;
                top: -3.8461538461538463vw;
                letter-spacing: 0.005em;
            }
        }

        ul {
            li {
                width: initial;
            }
        }

        /* slide */

        /* スライドの動き等速 */
        .swiper-wrapper {
            margin-bottom: 7.352941176470589vw;
        }

        /* 画像のサイズ調整 */
        .sec02-slider {
            margin-bottom: 20px;
        }

        .reason {
            background-image: url(../img/service_gym/sp/webp/reason-bg.webp);
            padding: 25.64102564102564vw 0 15.384615384615385vw;

            .reason_inner {
                width: 84.125vw;
                margin: 0 auto;
                position: relative;
            }
    
            .ab_txt_wrap {
                position: absolute;
                top: 52%;
                width: 84.125vw;
                transform: translate(0, -50%);
                
                h3 {
                    font-size: 2.353vw;
                    display: inline-block;
                    vertical-align: baseline;
                    color: #fafafa;
                    font-weight: 500;
    
                    span.img {
                        width: 38.974vw;
                        margin-bottom: 1.441vw;
                        margin-right: 0.441vw;
                    }
    
                    span.inter {
                        text-align: center;
                        font-size: 6.667vw;
                        font-style: normal;
                        font-weight: 600;
                        line-height: 10.885vw;
                        letter-spacing: 0.044vw;
                        font-family: 'inter';
                    }
    
                    span.sml {
                        display: inline-block;
                        font-size: 6.154vw;
                        margin-bottom: 0.294vw;
                    }
    
                    span {
                        display: inline-block;
                        vertical-align: bottom;
                    }
    
                    span.txt38 {
                        font-size: 6.154vw;
                        vertical-align: bottom;
                    }
    
                    span.txt32 {
                        margin-bottom: 0vw;
                        font-size: 7.179vw;
                    }
                }
    
                .hash_wrap {
                    margin-top: 5.471vw;
    
                    ul {
                        display: flex;
                        flex-direction: column;
                        flex-wrap: wrap;
                        align-items: center;
                        justify-content: space-evenly;
    
                        li {
                            width: 95%;
                            background: #212121;
                            border-radius: 5.882vw;
                            margin-bottom: 2.735vw;
                            padding: .3vw 0;
                            font-size: 3.8vw;
                        }
                    }
                }
            }
        }
    }
}

/* sec03 */

.sec03 {
    padding: 7.352941176470589vw 0 4.705882352941177vw;

    .title_wrap {
        display: flex;
        align-items: center;

        h2 {
            font-size: 4.117647058823529vw;
            font-weight: 600;
            margin-right: 1.1029411764705883vw;
        }

        span {
            color: #9E9E9E;
            font-size: 1.4705882352941175vw;
        }
    }
}

@media(max-width:767px) {
    .sec03 {
        padding: 20.51282051282051vw 0;

        .title_wrap {
            display: flex;
            align-items: center;
            text-align: left;

            h2 {
                font-size: 8.205128205128204vw;
                margin-right: 2.051282051282051vw;
                letter-spacing: 0.005em;
            }

            span {
                font-size: 4.102564102564102vw;
            }
        }
    }
}

/* cta */

.cta {
    background-color: #EBFAF8;
    padding: 20px 0;

    .cta_wrap {
        background-image: url(../img/service_gym/webp/cta-bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 3.2352941176470593vw 0;
        width: 63.23529411764706vw;
        margin: 0 auto;
        text-align: center;

        h2 {
            font-size: 7.352941176470589vw;
            line-height: 0.91;
            font-weight: 800;
            font-style: italic;
            color: transparent;
            -webkit-text-stroke: 1px rgb(255, 255, 255);
            margin-bottom: 1.8382352941176472vw;
        }

        p {
            font-size: 1.4705882352941175vw;
            font-weight: 500;
            margin-bottom: 20px;
        }

        img {
            width: 25.735294117647058vw;
            margin: 0 auto;
        }
    }
}

@media(max-width:767px) {

    .cta {

        .cta_wrap {
            background-image: url(../img/service_gym/sp/webp/cta-bg.webp);
            padding: 13.846153846153847vw 0;
            width: 84.61538461538461vw;

            h2 {
                font-size: 15.384615384615385vw;
                margin-bottom: 4.615384615384616vw;
            }

            p {
                font-size: 4.102564102564102vw;
                letter-spacing: 0.005em;
                margin: 0 auto 7.6923076923076925vw;
                width: 64.1025641025641vw;
            }

            img {
                width: 71.7948717948718vw;
                margin: 0 auto;
            }
        }
    }
}

/* sec04 */

.sec04 {
    background-image: url(../img/service_gym/webp/reason_big-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 2.941vw 0 20px;

    .title_wrap {
        /* width: 37.4264705882353vw; */
        margin: 0 auto;
        position: relative;
        margin-bottom: 20px;
        text-align: center;

        h2 {
            font-size: 2.6470588235294117vw;
            font-weight: 700;
            z-index: 1;
            position: relative;
        }

        span {
            font-size: 4.5588235294117645vw;
            font-weight: 600;
            line-height: 0.97;
            position: absolute;
            top: -20%;
            width: 100%;
            right: 0%;
            z-index: 0;
            opacity: 0.2;
        }
    }
}

@media(max-width:767px) {

    .sec04 {
        background-image: url(../img/service_gym/webp/reason_big-bg.webp);
        padding: 10.256vw 0 20px;
    
        p {
            font-size: 4.050632911392405vw;
        }

        .title_wrap {
            width: 92.3076923076923vw;
            margin-bottom: 20px;

            h2 {
                font-size: 7.179487179487179vw;
                line-height: 1.21;

            }

            span {
                font-size: 8.205128205128204vw;
                top: -3.8461538461538463vw;
                letter-spacing: 0.005em;
            }
        }
    }

}

/* sec04-01 */

.sec04-01 {
    margin-bottom: 20px;


    .sec04-01_wrap {
        display: flex;
        align-items: center;
        margin-bottom: 20px;

        .sec04-01_swiper {
            width: 50vw;
        }

        .sec04-01_dis {
            width: 35.294117647058826vw;
            text-align: left;
            margin-left: 7.352941176470589vw;
            position: relative;

            h3 {
                font-size: 2.2058823529411766vw;
                font-weight: 700;
                font-style: italic;
                margin-bottom: 1.4705882352941175vw;
            }

            p {
                margin-bottom: 1.4705882352941175vw;
            }

            span {
                position: absolute;
                opacity: 0.2;
                font-size: 8.38235294117647vw;
                font-style: italic;
                font-weight: 600;
                top: 11.029411764705882vw;
                right: 0;
                padding-right: .7vw;
            }
        }
    }

}

.thumbnail-container {
    width: 77.94117647058823vw;
    margin: 0 auto;
    position: relative;

    .thumb_img {
        width: 12.5vw !important;
    }

    .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
        opacity: 1;
    }

    /* 矢印のクリック範囲など */
    .splide__arrow {
        background-color: transparent;
        /* ボタンの背景を透明にする */
        height: 3.6764705882352944vw;
        transition: .2s;
        width: 3.6764705882352944vw;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        opacity: 0;
    }

    .swiper-button-next {
        right: -20px;
    }

    .swiper-button-prev {
        left: -68px;
    }

    /* 矢印共通のスタイル */
    .splide__arrow::before {
        background-repeat: no-repeat;
        background-size: contain;
        bottom: 0;
        content: "";
        height: 3.6764705882352944vw;
        left: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 3.6764705882352944vw;
    }

    /* 前の矢印 */
    .thum-prev01::before {
        background-image: url(../img/service_gym/prev-btn.svg);
    }

    /* 次の矢印 */
    .thum-next01::before {
        background-image: url(../img/service_gym/next-btn.svg);
    }

    /* 次のスライドが無い場合の矢印 */
    .splide__arrow:disabled::before {
        opacity: .5;
    }

}

@media(max-width:767px) {

    .sec04-01 {
        margin-bottom: 20px;


        .sec04-01_wrap {
            display: block;
            margin-bottom: 20px;

            .sec04-01_swiper {
                width: 92.3076923076923vw;
            }

            .sec04-01_dis {
                width: 84.61538461538461vw;
                margin: 20px auto 0;
                position: relative;

                h3 {
                    font-size: 5.641025641025641vw;
                    margin-bottom: 20px;
                    letter-spacing: 0.005em;
                }

                p {
                    margin-bottom: 20px;
                    letter-spacing: 0.08em;
                }

                span {
                    font-size: 29.230769230769234vw;
                    top: 38.58974358974359vw;
                    right: -5vw;
                    width: 40vw;
                    letter-spacing: -.5vw;
                }
            }
        }
    }

    .thumbnail-container {
        width: 84.61538461538461vw;

        .thumb_img {
            width: 27.692307692307693vw !important;
        }

        /* 矢印のクリック範囲など */
        .splide__arrow {
            height: 7.435897435897436vw;
            transition: .2s;
            width: 7.435897435897436vw;
        }

        .swiper-button-next:after,
        .swiper-button-prev:after {
            opacity: 0;
        }

        .swiper-button-next {
            right: -20px;
        }

        .swiper-button-prev {
            left: -20px;
        }

        /* 矢印共通のスタイル */
        .splide__arrow::before {
            background-repeat: no-repeat;
            background-size: contain;
            bottom: 0;
            content: "";
            height: 7.435897435897436vw;
            left: 0;
            margin: auto;
            position: absolute;
            top: 0;
            width: 7.435897435897436vw;
        }

        /* 前の矢印 */
        .thum-prev01::before {
            background-image: url(../img/service_gym/prev-btn.svg);
        }

        /* 次の矢印 */
        .thum-next01::before {
            background-image: url(../img/service_gym/next-btn.svg);
        }

        /* 次のスライドが無い場合の矢印 */
        .splide__arrow:disabled::before {
            opacity: .5;
        }
    }
}

/* sec04-02 */

.sec04-02 {
    display: flex;
    justify-content: right;
    align-items: center;
    margin-bottom: 20px;

    .sec04-02_dis {
        width: 35.294117647058826vw;
        text-align: left;
        margin-right: 7.352941176470589vw;
        position: relative;

        h3 {
            font-size: 2.2058823529411766vw;
            font-weight: 700;
            font-style: italic;
            margin-bottom: 1.4705882352941175vw;
        }

        p {
            margin-bottom: 1.4705882352941175vw;
        }

        img {
            z-index: 2;
            position: relative;
            width: 23.411765vw;
        }

        span {
            position: absolute;
            opacity: 0.2;
            font-size: 8.38235294117647vw;
            font-style: italic;
            font-weight: 600;
            top: 14.191176470588236vw;
            right: 0;
            z-index: 1;
            padding-right: .7vw;
        }
    }

    .sec04-02_img {
        width: 50vw;
    }

}

@media(max-width:767px) {

    .sec04-02 {
        margin-bottom: 20px;
        flex-direction: column-reverse;

        .sec04-02_img {
            width: 92.3076923076923vw;
            margin-left: auto;
        }

        .sec04-02_dis {
            width: 84.61538461538461vw;
            margin: 20px auto 0;
            position: relative;

            h3 {
                font-size: 5.641025641025641vw;
                margin-bottom: 20px;
                letter-spacing: 0.005em;
            }

            p {
                margin-bottom: 20px;
                letter-spacing: 0.08em;
            }

            img {
                width: 85.38461538461539vw;
            }

            span {
                font-size: 29.230769230769234vw;
                top: 22.28205128205128vw;
                right: -5.128205128205128vw;
                width: 40vw;
                letter-spacing: -.5vw;
            }
        }
    }
}


/* sec04-03 */

.sec04-03 {
    margin-bottom: 20px;
}

.sec04-03_wrap {
    display: flex;
    align-items: center;
    margin-bottom: 20px;

    .sec04-03_swiper {
        width: 50vw;
    }

    .sec04-03_dis {
        width: 35.294117647058826vw;
        text-align: left;
        margin-left: 7.352941176470589vw;
        position: relative;

        h3 {
            font-size: 2.2058823529411766vw;
            font-weight: 700;
            font-style: italic;
            margin-bottom: 1.4705882352941175vw;
        }

        p {
            margin-bottom: 1.4705882352941175vw;
        }

        span {
            position: absolute;
            opacity: 0.2;
            font-size: 8.38235294117647vw;
            font-style: italic;
            font-weight: 600;
            top: 11.029411764705882vw;
            right: 0;
            padding-right: .7vw;
        }
    }
}

.thumbnail-container_03 {
    width: 77.94117647058823vw;
    margin: 0 auto;
    position: relative;

    .thumb_img {
        width: 12.5vw !important;
    }

    .slider-thumbnail_03 .swiper-slide.swiper-slide-thumb-active {
        opacity: 1;
    }

    /* 矢印のクリック範囲など */
    .splide__arrow {
        background-color: transparent;
        /* ボタンの背景を透明にする */
        height: 3.6764705882352944vw;
        transition: .2s;
        width: 3.6764705882352944vw;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        opacity: 0;
    }

    .swiper-button-next {
        right: -20px;
    }

    .swiper-button-prev {
        left: -68px;
    }

    /* 矢印共通のスタイル */
    .splide__arrow::before {
        background-repeat: no-repeat;
        background-size: contain;
        bottom: 0;
        content: "";
        height: 3.6764705882352944vw;
        left: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 3.6764705882352944vw;
    }

    /* 前の矢印 */
    .thum-prev03::before {
        background-image: url(../img/service_gym/prev-btn.svg);
    }

    /* 次の矢印 */
    .thum-next03::before {
        background-image: url(../img/service_gym/next-btn.svg);
    }

    /* 次のスライドが無い場合の矢印 */
    .splide__arrow:disabled::before {
        opacity: .5;
    }
}

@media(max-width:767px) {

    .sec04-03 {
        margin-bottom: 20px;


        .sec04-03_wrap {
            display: block;
            margin-bottom: 20px;

            .sec04-03_swiper {
                width: 92.3076923076923vw;
            }

            .sec04-03_dis {
                width: 84.61538461538461vw;
                margin: 20px auto 0;
                position: relative;

                h3 {
                    font-size: 5.341025641025641vw;
                    margin-bottom: 20px;
                    letter-spacing: 0.005em;
                }

                p {
                    margin-bottom: 20px;
                    letter-spacing: 0.08em;
                }

                span {
                    font-size: 29.230769230769234vw;
                    top: 30.589744vw;
                    width: 40vw;
                    letter-spacing: -.5vw;
                }
            }
        }
    }

    .thumbnail-container_03 {
        width: 84.61538461538461vw;

        .thumb_img {
            width: 27.692307692307693vw !important;
        }

        /* 矢印のクリック範囲など */
        .splide__arrow {
            height: 7.435897435897436vw;
            transition: .2s;
            width: 7.435897435897436vw;
        }

        .swiper-button-next:after,
        .swiper-button-prev:after {
            opacity: 0;
        }

        .swiper-button-next {
            right: -20px;
        }

        .swiper-button-prev {
            left: -20px;
        }

        /* 矢印共通のスタイル */
        .splide__arrow::before {
            background-repeat: no-repeat;
            background-size: contain;
            bottom: 0;
            content: "";
            height: 7.435897435897436vw;
            left: 0;
            margin: auto;
            position: absolute;
            top: 0;
            width: 7.435897435897436vw;
        }

        /* 前の矢印 */
        .thum-prev03::before {
            background-image: url(../img/service_gym/prev-btn.svg);
        }

        /* 次の矢印 */
        .thum-next03::before {
            background-image: url(../img/service_gym/next-btn.svg);
        }

        /* 次のスライドが無い場合の矢印 */
        .splide__arrow:disabled::before {
            opacity: .5;
        }
    }
}


/* sec04-04 */

.sec04-04 {
    display: flex;
    justify-content: right;
    align-items: center;
    margin-bottom: 0;

    .sec04-04_dis {
        width: 35.294117647058826vw;
        text-align: left;
        margin-right: 7.352941176470589vw;
        position: relative;

        h3 {
            font-size: 2.2058823529411766vw;
            font-weight: 700;
            font-style: italic;
            margin-bottom: 1.4705882352941175vw;
        }

        p {
            margin-bottom: 1.4705882352941175vw;
        }

        img {
            z-index: 2;
            position: relative;
            width: 29.411764705882355vw;
        }

        span {
            position: absolute;
            opacity: 0.2;
            font-size: 8.38235294117647vw;
            font-style: italic;
            font-weight: 600;
            top: 11.191176470588236vw;
            right: 0;
            z-index: 1;
            padding-right: .7vw;
        }
    }

    .sec04-04_img {
        width: 50vw;
    }

}

@media(max-width:767px) {

    .sec04-04 {
        margin-bottom: 0;
        flex-direction: column-reverse;

        .sec04-04_img {
            width: 92.3076923076923vw;
            margin-left: auto;
        }

        .sec04-04_dis {
            width: 84.61538461538461vw;
            margin: 20px auto 0;
            position: relative;

            h3 {
                font-size: 5.641025641025641vw;
                margin-bottom: 20px;
                letter-spacing: 0.005em;
            }

            p {
                margin-bottom: 20px;
                letter-spacing: 0.08em;
            }

            img {
                width: 85.38461538461539vw;
            }

            span {
                font-size: 29.230769230769234vw;
                top: 43.58974358974359vw;
                right: 0;
                width: 40vw;
                letter-spacing: -.5vw;
            }
        }
    }
}

/* sec05 */

.sec05 {
    background-image: url(../img/service_gym/webp/sec05-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 20px 0 20px;
    text-align: center;

    img {
        width: 35.22058823529412vw;
    }

    .sec05-wrap {
        width: 73.52941176470588vw;
        margin: -3.4558823529411766vw auto 0;
        background-color: #FAFAFA;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 4.852941176470589vw 0 2.941176470588235vw;

        img {
            width: 23.01470588235294vw;
            margin-right: 4.191176470588235vw;
        }

        .note_wrap {
            width: 39.705882352941174vw;
            text-align: left;

            h4 {
                font-weight: 400;
                margin-bottom: 1.4705882352941175vw;
            }

            .user_voice_wrap {
                background-color: #FFFFFF;
                padding: 1.0294117647058822vw 0;

                p {
                    width: 36.76470588235294vw;
                    margin: 0 auto;
                }

                .dark_gray {
                    font-size: 1.0294117647058822vw;
                }

                .user_voice {
                    border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
                    margin-bottom: 0.5147058823529411vw;
                    color: #212121;
                }
            }
        }
    }
}

@media(max-width:767px) {

    .sec05 {
        background-image: url(../img/service_gym/webp/sec05-bg.webp);
        padding: 15.384615384615385vw 0;

        img {
            width: 86.66666666666667vw;
        }

        .sec05-wrap {
            width: 92.3076923076923vw;
            margin: -10.76923076923077vw auto 0;
            display: block;
            padding: 21.53846153846154vw 0 10.256410256410255vw;

            img {
                width: 73.33333333333333vw;
                margin-right: 0;
                margin-bottom: 6.666666666666667vw;
            }

            .note_wrap {
                width: 76.92307692307693vw;
                margin: 0 auto;

                h4 {
                    font-size: 3.5897435897435894vw;
                    margin-bottom: 5.128205128205128vw;
                }

                .user_voice_wrap {
                    padding: 3.5897435897435894vw 0;

                    p {
                        width: 66.66666666666666vw;
                    }

                    .dark_gray {
                        font-size: 3.5897435897435894vw;
                    }

                    .user_voice {
                        border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
                        margin-bottom: 1.7948717948717947vw;
                        font-size: 4.050632911392405vw;
                    }
                }
            }
        }
    }
}

/* sec06 */

.sec06 {
    padding: 20px 0 20px;

    .title_wrap {
        display: flex;
        align-items: center;

        h2 {
            font-size: 4.117647058823529vw;
            font-weight: 600;
            margin-right: 1.1029411764705883vw;
        }

        span {
            color: #9E9E9E;
            font-size: 1.4705882352941175vw;
        }
    }

    .more_center {
        margin-top: 10px;
    }

    .title_dis {
        text-align: left;
        width: 61.76470588235294vw;
    }

    .view_btn {
        background-color: #9e9e9e;
        border: initial;
    }
}

@media(max-width:767px) {

    .sec06 {
        padding: 20px 0;

        .title_flex {
            display: block;
        }

        .title_wrap {
            display: flex;
            align-items: center;
            text-align: left;
            margin-bottom: 20px;

            h2 {
                font-size: 8.205128205128204vw;
                margin-right: 2.051282051282051vw;
                letter-spacing: 0.005em;
            }

            span {
                font-size: 4.102564102564102vw;
            }
        }

        .title_dis {
            text-align: left;
            width: 84.61538461538461vw;
            font-size: 3.5897435897435894vw;
        }

        .view_btn-sp {
            width: 100%;
            text-align: left;
            margin-bottom: 20px;
        }
    }
}

/* sec07 */

.sec07 {

    background-image: url(../img/service_gym/webp/sec07-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    padding: 20px 0 20px;

    h2 {
        width: 68.31102941176471vw;
        margin: 0 auto 2.941176470588235vw;
    }

    .flex {
        display: flex;
        justify-content: space-around;
        align-items: initial;

        .sec07-img_wrap {

            img {
                margin-bottom: 0.8823529411764706vw;
                width: 20.588235294117645vw;
            }

            p {
                font-size: 1.4705882352941175vw;
                font-weight: 500;
                letter-spacing: 0.05em;
                width: 23.52941176470588vw;
            }
        }
    }

    .sec07-dis_wrap {
        width: 73.52941176470588vw;
        background: none;
        border: solid 1px #fff;
        padding: 2.6470588235294117vw 0;
        margin: 2.2058823529411766vw auto 0;

        h3 {
            font-size: 2.2058823529411766vw;
            text-align: center;

            span {
                font-size: 2.3529411764705883vw;
            }
        }

        p {
            width: 61.76470588235294vw;
            margin: 0 auto;
            text-align: left;
        }
    }
}

@media(max-width:767px) {

    .sec07 {
        background-image: url(../img/service_gym/sp/webp/sec07-bg.webp);
        padding: 20px 0 20px;

        article {
            width: 100%;
        }

        h2 {
            width: 85.12820512820512vw;
            margin: 0 auto 20px;
        }

        .sec07-slider_wrap {
            position: relative;
            margin-bottom: 20px;

            .sec07-img_wrap {
                    text-align: center;
                
                img {
                    margin-bottom: 20px;
                }

                p {
                    font-size: 4.128205vw;
                    letter-spacing: 0.05em;
                    text-align: left;
                    display: flex;
                    justify-content: center;
                }

                /* slide */
                /* スライドの動き等速 */
                .swiper-wrapper {
                    transition-timing-function: linear;
                }
            }

            .swiper-horizontal>.swiper-pagination-bullets,
            .swiper-pagination-bullets.swiper-pagination-horizontal,
            .swiper-pagination-custom,
            .swiper-pagination-fraction {
                bottom: -7.6923076923076925vw !important;
            }

            /* ページネーションのサイズと色 */
            .swiper-pagination-bullet {
                background-color: #fff;
                height: 1.5384615384615385vw;
                width: 1.5384615384615385vw;
            }
        }

        .sec07-dis_wrap {
            width: 92.3076923076923vw;
            padding: 7.6923076923076925vw 0;
            margin: 0 auto;

            h3 {
                font-size: 5.128205128205128vw;
                line-height: 1.5;
                margin-bottom: 20px;

                span {
                    font-size: 5.641025641025641vw;
                }
            }

            p {
                width: 82.05128205128204vw;
                font-size: 4.145vw;
            }
        }
    }
}

/* sec08 */

.sec08 {
    padding: 2.941vw 0 20px;

    .title_wrap {
        margin: 0 auto;
        position: relative;
        margin-bottom: 20px;
        text-align: center;

        h2 {
            font-size: 2.6470588235294117vw;
            font-weight: 700;
            z-index: 1;
        }

        span {
            font-size: 4.5588235294117645vw;
            font-weight: 600;
            line-height: 0.97;
            position: absolute;
            top: -50%;
            width: 100%;
            right: 0%;
            z-index: -1;
        }
    }

    ul li {
        margin-bottom: 2.911764705882353vw;

        &:last-child {
            margin-bottom: 0;
        }
    }

    .flow_card {
        border: solid 1px #bdbdbd;
    }

    .flow_inner {
        display: flex;
        align-items: center;

        .txt_wrap {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            width: 75%;

            p.nom {
                font-size: 8vw;
                color: #e0e0e0;
                font-weight: 500;
                font-family: 'Inter';
                width: 18%;
                margin-left: 2%;
                letter-spacing: -2px;
            }

            .txt {
                display: inline-block;
                width: 74%;
                margin-left: 4%;

                h3 {
                    font-size: 20px;
                    color: #212121;
                }

                p {
                    color: #212121;
                }
            }
        }
    
        .img {
            width: 25%;
            margin: 0 2% 0 1%;
        }
    }

    .triangle-bottom {
        position: absolute;
        display: inline-block;
        border-style: solid;
        border-width: 25px 40px 0 40px;
        border-color: #bdbdbd transparent transparent transparent;
        left: 50%;
        transform: translate(-50%, 0);
    }
}

@media(max-width:767px) {

    .sec08 {
        padding: 20px 0 20px;

        .title_wrap {
            width: 74.87179487179488vw;
            margin-bottom: 20px;

            h2 {
                font-size: 7.179487179487179vw;
                line-height: 1.21;
            }

            span {
                font-size: 8.205128205128204vw;
                top: -3.8461538461538463vw;
                letter-spacing: 0.005em;
                z-index: -1;
            }
        }

        ul li {
            margin-bottom: 30px;

            &:last-child {
                margin-bottom: 0;
            }
        }

        .flow_card {
            position: relative;

            .flow_inner {
                flex-direction: column;

                .txt_wrap {
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    width: 100%;
                    padding-top: 10px;

                    p.nom {
                        position: absolute;
                        right: 5px;
                        top: 0;
                        font-size: 19vw;
                        width: auto;
                        margin-left: 0;
                        line-height: 1.2;
                        z-index: -1;
                    }
        
                    .txt {
                        display: inline-block;
                        width: 90%;
                        margin-left: 5%;
                    }
                }

                .img {
                    width: 89%;
                    margin: 3% 0 5%;
                }
            }
        }
    }
}

/* sec09 */

.sec09 {
    background-color: #fafafa;
    padding: 20px 0 20px;

    .title_wrap {
        display: flex;
        align-items: center;

        h2 {
            font-size: 4.117647058823529vw;
            font-weight: 600;
            margin-right: 1.1029411764705883vw;
        }

        span {
            color: #9E9E9E;
            font-size: 1.4705882352941175vw;
        }
    }

    .title_dis {
        text-align: left;
        width: 61.76470588235294vw;
    }

    .view_btn {
        background-color: #9e9e9e;
        border: initial;
    }

    /* accordion */

    .accordion {
        margin-left: auto;
        margin-right: auto;
        margin-top: 4.411764705882353vw;
        position: relative;
        width: 100%;
    }

    .accordion-title {
        cursor: pointer;
        font-size: 1.3235294117647058vw;
        padding: 1.25vw 1.4705882352941175vw;
        position: relative;
        text-align: left;
        font-weight: 700;
        display: flex;

        img {
            width: 2.6470588235294117vw;
            height: 2.6470588235294117vw;
            text-align: center;
            margin-right: 0.8823529411764706vw;
        }
    }

    .accordion-content {
        display: none;
        padding: 1.4705882352941175vw 6.985294117647059vw 2.2058823529411766vw 2.2058823529411766vw;
    }

    .content-flex {
        display: flex;

        span {
            font-size: 1.6176470588235297vw;
            font-weight: 600;
            margin-right: 1.397058823529412vw;
        }
    }

    .accordion-content p {
        color: #9E9E9E;
        text-align: left;
    }

    /* タイトルの背景色 */
    .accordion-item .accordion-title {
        border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
    }

    /* 縦線 */
    .accordion-title::before {
        background: #212121;
        /* 線の色 */
        content: "";
        height: 2px;
        /* 線の太さ */
        position: absolute;
        right: 25px;
        top: 50%;
        /* 線の位置を縦中央に */
        transform: rotate(90deg);
        /* 線を縦に */
        transition: transform .3s ease-in-out;
        width: 15px;
        /* 線の幅 */
    }

    /* 横線 */
    .accordion-title::after {
        background: #212121;
        /* 線の色 */
        content: "";
        height: 2px;
        /* 線の太さ */
        position: absolute;
        right: 25px;
        top: 50%;
        /* 線の位置を縦中央に */
        transition: opacity .3s ease-in-out;
        width: 15px;
        /* 線の幅 */
    }

    /* 縦線(クリック後) */
    .accordion-title.open::before {
        transform: rotate(180deg);
    }

    /* 横線(クリック後) */
    .accordion-title.open::after {
        opacity: 0;
    }
}

@media(max-width:767px) {

    .sec09 {
        padding: 20px 0 20px;

        .title_flex {
            display: block;

            .view_btn-sp {
                text-align: left;
            }
        }

        .title_wrap {
            display: flex;
            align-items: center;
            text-align: left;
            margin-bottom: 20px;

            h2 {
                font-size: 8.205128205128204vw;
                margin-right: 2.051282051282051vw;
                letter-spacing: 0.005em;
            }

            span {
                font-size: 4.102564102564102vw;
            }
        }

        /* accordion */

        .accordion {
            margin-top: 7.6923076923076925vw;
        }

        .accordion-title {
            font-size: 4.102564102564102vw;
            padding: 3.076923076923077vw 9.230769230769232vw 3.076923076923077vw 2.564102564102564vw;

            img {
                width: 7.6923076923076925vw;
                height: auto;
                margin-right: 2.051282051282051vw;
            }
        }

        .accordion-content {
            padding: 3.076923076923077vw 9.230769230769232vw 3.076923076923077vw 2.564102564102564vw;
        }

        .content-flex {

            span {
                font-size: 4.615384615384616vw;
                font-weight: 600;
                margin-right: 4.102564102564102vw;
            }
        }

        .accordion-content p {
            color: #9E9E9E;
            text-align: left;
        }

        /* タイトルの背景色 */
        .accordion-item .accordion-title {
            border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
        }

        /* 縦線 */
        .accordion-title::before {
            right: 10px;
        }

        /* 横線 */
        .accordion-title::after {
            right: 10px;
        }
    }

}

.message_swiper {
    background-image: url(../img/service_gym/webp/bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 5.352941vw;
    .message_wrap {
        max-width: 1360px;
        margin-right: auto;
        margin-left: auto;
        .inner_message {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
        }
        .message_txt_wrap {
            width: 45%;
            .ttl_wrap {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                padding: 15px 20px;
                background-color: rgba(255,255,255,0.5);
                .mes_name {
                    width: 50%;
                    font-family: Inter;
                    font-size: 1.4vw;
                    font-weight: 600;
                    line-height: 1.6;
                    .name {
                        display: block;
                        font-size: 1.05vw;
                        font-weight: 400;
                    }
                }
                ul {
                    width: 45%;
                    margin-left: 5%;
                    li {
                        font-size: 1vw;
                     }
                }
            }
            .txt_wrap {
                h3 {
                    margin-top: 20px;
                    font-size: 1.357vw;
                    font-weight: bold;
                    color: #fff;
                }
                p {
                    margin-top: 15px;
                    font-size: 1.176vw;
                }
            }
        }
        .message_img {
            width: 44%;
            margin-left: 11%;
        }
    }
    @media screen and (max-width:767px) {
        background-image: url(../img/service_gym/sp/webp/bg-sp.webp);
        padding: 35px 5.352941vw;
        background-position: right;
        .inner_message {
            .message_txt_wrap {
                width: 100%;
                display: flex;
                flex-wrap: wrap;
                flex-direction: column-reverse;
                .ttl_wrap {
                    margin-top: 20px;
                    .mes_name {
                        width: 100%;
                        padding-bottom: 10px;
                         font-family: Inter;
                        font-size: 4.5vw;
                        font-weight: 600;
                        .name {
                            display: block;
                            font-size: 4vw;
                            font-weight: 400;
                        }
                    }
                    ul {
                        width: 100%;
                        margin-left: 0;
                        padding-top: 10px;
                        border-top: 1px #fff dashed;
                        li {
                            font-size: 4vw;

                        }
                    }
                }
                .txt_wrap {
                    h3 {
                        font-size: 5.357vw;
                    }
                    p {
                        font-size: 4.050632911392405vw;
                    }
                }
            }
            .message_img {
                width: 100%;
                margin-top: 20px;
                margin-left: 0;
            }
        }   
    }
}