@charset "utf-8";

.top_mv_slider {
    margin-top: -38.80882352941176vw;
    margin-left: -8vw;
}

.top_mv_slider .swiper-slide-prev {
    margin-top: 0px;
}

.top_mv_slider .swiper-slide-active {
    margin-top: 10.147vw;
}

.top_mv_slider .swiper-slide-next {
    margin-top: -2.206vw;
}

.mv_wrap.top {
    width: 100%;
    height: 100svh;
}

.sec3 {
    background: url(../img/top/webp/sec3_bg.webp);
    background-size: cover;
}

.sec4 {
    background: url(../img/top/webp/sec4_bg.webp);
    background-size: cover;
}

@media screen and (min-width:768px) {
    .sec5 {
    	background: url(../img/top/webp/sec5_bg.webp);
    	background-size: cover;
	}
}

@media screen and (max-width:767px) {
	.sec5 {
		background: url(../img/top/webp/sec5_bg-sp.webp);
    	background-size: cover;
	}
   }

.sec6 {
    background: url(../img/top/webp/sec6_bg.webp);
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
    padding:1.471vw 0 0;
}

.sec7 {
    background: url(../img/top/webp/sec7_bg.webp);
    background-size: cover;
}

.sec8 {
    /*background: url(../img/top/sec7_bg.png);*/
    background-size: cover;
}

.sec10 {
    background: url(../img/top/webp/sec10_bg.webp);
    background-size: cover;
}

.sec11 {
    background: #FAFAFA;
}

.sec13 {
    background: url(../img/top/webp/sec13_bg.webp);
    background-size: cover;
}

.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_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;
}

.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;
}

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

.sec8 .more_center {
    margin-top: .8vw;
}

.sec10 .more_center,
.sec12 .more_center {
    margin-top: 1.471vw;
}

.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;
}

.more_center a:hover {
    background: #212121;
    opacity: 1;
}

a.view_more {
    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;
}

.swiper-container.topics {
    overflow: hidden;
}

.topics_wrap {
    margin-top: 4.411764705882353vw;
}

.post_tag {
    display: flex;
    margin: 0.662vw 0 0.294vw;
    align-items: center;
}

.category {
    display: flex;
    line-height: normal;
}

.category span {
    font-size: 0.882vw;
    font-family: Inter;
    padding: 0.221vw 0.735vw;
    margin-right: 0.294vw;
    color: #fff;
}

p.date {
    font-family: Inter;
    font-size: 0.882vw;
    font-style: normal;
    font-weight: 500;
    line-height: 1.103vw;
    letter-spacing: 0.035vw;
    color: #9e9e9e;
}

span.campaign {
    background: #BED1D7;
}

span.news {
    background: #00C0B5;
}

span.event {
    background: #F1A9CE;
}

span.blog {
    background: #FF7742;
}

h3.post_title {
    color: var(--System-Gray-900, #212121);
    font-family: "Noto Sans JP";
    font-size: 1.176vw;
    font-style: normal;
    font-weight: 500;
    line-height: 1.765vw;
    letter-spacing: 0.047vw;
    text-align: left;
}

.sec1, .sec3, .sec4, .sec5, .sec7, .sec8, .sec9, .sec10, .sec11, .sec12, .sec13, .sec14, .sec15, .sec16, .sec17 {
    padding: 1.471vw 0;
}

.sec1 {
    background: url(../img/top/webp/sec1_bg.webp);
    background-size: cover;
}

.topics_wrap {
    margin-top: 1.471vw;
    position: relative;
}

.d-pc-flex.justify-content-pc-between.ba {
    margin-top: 4.412vw;
}

.sec2 {
    background: url(../img/top/sec2_bg.webp);
    background-size: cover;
    background-position: right;
    padding: 2.206vw 0;
}

.bg-image-2.d-pc-flex .flex {
    width: 45%;
    margin: 0 0 0 auto;
}

.sec2_h2 {
    width: 29.77941176470588vw;
    margin-bottom: 1.4705882352941175vw;
}

h3.type1 {
    font-size: 1.4705882352941175vw;
    text-align: left;
    color: #fff;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.037vw;
    margin-bottom: 1.4705882352941175vw;
}

p.type2 {
    font-style: normal;
    font-size: 1.1764705882352942vw;
    font-weight: 400;
    line-height: 2.206vw;
    letter-spacing: 0.074vw;
    text-align: left;
}

.tag_wrap {
    display: flex;
}

.tag_wrap p {
    font-size: 1.1764705882352942vw;
    padding: 0 0.85882352942vw 
}

.flex {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

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

.voice_img {
    width: 10.882352941176471vw;
    margin: auto;
}

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

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

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

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

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

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

.voice_img {
    width: 10.882352941176471vw;
    margin: 0 auto -3.6764705882352944vw;
}

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;
}

.sec4 .flex {
    margin-top: 1.412vw;
}

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

.sec5 .flex {
    margin-top: 1.471vw;
    align-items: center;

    h3 {
        font-size: 2.2058823529411766vw;
        display: inline-block;
        margin: 0 auto 20px;
        text-align: left;
        color: var(--System-Gray-000, #FFF);
        font-family: "Noto Sans JP";
        font-style: italic;
        font-weight: 700;
        line-height: 2.794117647058824vw;
        letter-spacing: 0.037vw;
        width: 35.294117647058826vw;
    }

    .txt_box {
        width: 35.294117647058826vw;
        margin: auto;
        text-align: left;
        position: relative;
    }

    p {
        font-family: "Noto Sans JP";
        font-size: 1.176vw;
        font-style: normal;
        font-weight: 400;
        line-height: 2.206vw; /* 187.5% */
        letter-spacing: 0.074vw;
    }

    a {
        color: #fff;
        border: solid 1px;
        margin-top: 1.4705882352941175vw;
    }

    a:hover {
        background: #fff;
        color: #212121;
        opacity: 1;
        border: solid 1px;
        margin-top: 1.4705882352941175vw;
    }

    p.no {
        position: absolute;
        right: -1.85vw;
        padding-right: .8vw;
        bottom: -3.68vw;    
        font-size: 8.38235294117647vw;
        font-family: Inter;
        font-style: italic;
        font-weight: 600;
        line-height: normal;
        opacity: 0.2;
    }

    .in_flex {
        display: flex;
        margin-top: 1.4705882352941175vw;

        .name_icon {
            position: relative;
            display: flex;
            flex-direction: column;
            width: 8.617647vw;
            margin-right: 1vw;
            align-items: center;
            z-index: 2;

            p {
                font-size: .9058823529411765vw;
            }
        }
    }
}

.sec5 .flex.first {
    margin-top: 1.471vw;
}

.flex_50 {
    width: 50%;
}

.sec6 .flex_h2_wrap {
    margin-bottom: 1.471vw;
}

.sec6 .flex_in {
    width: 42.1vw;
    margin: 0 0 0.7352941176470588vw 0.5376470588235294vw;
    position: relative;
}

.sec6 .flex_in:first-child {
    width: 42.1vw;
    margin: 0 0.5376470588235294vw 0.7352941176470588vw 0;
}

.ab_txt_wrap {
    position: absolute;
    top: 4vw;
    left: 8%;
    width: 84%;
    text-align: left;
}

.service_ttl_wrap {
    display: flex;
    margin-bottom: 1vw;

    h3 {
        color: var(--System-Gray-000, #FFF);
        font-family: Inter;
        font-size: 2.647vw;
        font-style: normal;
        font-weight: 600;
        line-height: 3.088vw; /* 116.667% */
        letter-spacing: 0.037vw;
        display: flex;
        flex-direction: column;

        span {
            font-family: "Noto Sans JP";
            font-size: 1.324vw;
            font-style: normal;
            font-weight: 500;
            line-height: normal;
            letter-spacing: 0.037vw;
            color: #fff;
        }
    }

    p.service_price {
        background: linear-gradient(74deg, #FF7742 -0.04%, #FFBF5E 82.82%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: 3.162vw;
        font-family: 'Inter';
        font-style: italic;
        font-weight: 500;
        margin-left: 0.588vw;
        display: inline-block;

        span.a_tag {
            position: relative;
            width: 4.779vw;
            display: inline-block;
            font-size: 1.324vw;
            text-align: center;
            vertical-align: middle;
            background: #fff;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0.588vw;
            line-height: 1.1;
            font-style: normal;
        }

        span.a_tag:after {
            position: absolute;
            content: "";
            width: 4.412vw;
            height: 4.412vw;
            display: inline-block;
            font-size: 1.324vw;
            text-align: center;
            vertical-align: middle;
            border: solid 1px #fff;
            border-radius: 50%;
            left: 0.147vw;
            top: -0.882vw;
        }

        span.b_tag {
            position: relative;
            width: 4.779vw;
            display: inline-block;
            font-size: 1.324vw;
            text-align: center;
            vertical-align: middle;
            background: #fff;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0.588vw;
        }

        span.b_tag:after {
            position: absolute;
            content: "";
            width: 4.412vw;
            height: 4.412vw;
            display: inline-block;
            font-size: 1.324vw;
            text-align: center;
            vertical-align: middle;
            border: solid 1px #fff;
            border-radius: 50%;
            left: 0.221vw;
            top: -1.029vw;
        }

        span.wht {
            background: #fff;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            padding: 0 0.221vw;
            margin-right: -0.294vw;
        }

        span.yen {
            font-size: 1.618vw;
            font-family: 'Noto Sans JP';
            font-style: normal;
            margin-left: 0.368vw;
        }
    }
}

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

    .service_ttl_wrap {

        flex-direction: column;

        h3 {
            color: var(--System-Gray-000, #FFF);
            font-family: Inter;
            font-size: 9.231vw;
            font-style: normal;
            font-weight: 600;
            line-height: 10.769vw; /* 116.667% */
            letter-spacing: 0.128vw;
            display: flex;
            flex-direction: column;

            span {
                font-family: "Noto Sans JP";
                font-size: 4.615vw;
                font-style: normal;
                font-weight: 500;
                line-height: normal;
                letter-spacing: 0.128vw;
                color: #fff;
            }
        }

        p.service_price {
            background: linear-gradient(74deg, #FF7742 -0.04%, #FFBF5E 82.82%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-size: 11.026vw;
            font-family: 'Inter';
            font-style: italic;
            font-weight: 500;
            margin-left: 0;
            display: inline-block;
    
            span.a_tag {
                position: relative;
                width: 16.667vw;
                display: inline-block;
                font-size: 4.615vw;
                text-align: center;
                vertical-align: middle;
                background: #fff;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-left: 0;
                line-height: 1.1;
                font-style: normal;
            }
    
            span.a_tag:after {
                position: absolute;
                content: "";
                width: 15.385vw;
                height: 15.385vw;
                display: inline-block;
                font-size: 4.615vw;
                text-align: center;
                vertical-align: middle;
                border: solid 1px #fff;
                border-radius: 50%;
                left: 0.513vw;
                top: -3.077vw;
            }
    
            span.b_tag {
                position: relative;
                width: 16.667vw;
                display: inline-block;
                font-size: 4.615vw;
                text-align: center;
                vertical-align: middle;
                background: #fff;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-left: 0;
            }
    
            span.b_tag:after {
                position: absolute;
                content: "";
                width: 15.385vw;
                height: 15.385vw;
                display: inline-block;
                font-size: 4.615vw;
                text-align: center;
                vertical-align: middle;
                border: solid 1px #fff;
                border-radius: 50%;
                left: 0.769vw;
                top: -3.59vw;
            }
    
            span.wht {
                background: #fff;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                padding: 0 0.769vw;
                margin-right: -1.026vw;
            }
    
            span.yen {
                font-size: 5.641vw;
                font-family: 'Noto Sans JP';
                font-style: normal;
                margin-left: 1.282vw;
            }
        }
    }

}

.rec_box {
    width: 47.059vw;
    text-align: left;
}

h3.sec7_h3 {
    font-size: 1.4705882352941175vw;
    font-style: normal;
    font-weight: 500;
    margin: 1.4705882352941175vw 0 1.1764705882352942vw;
    letter-spacing: 0.037vw;
    color: #fff;
}

.sec7 p.sec7_p2 {
    font-size: 1.324vw;
    font-style: normal;
    font-weight: 500;
    margin: 1.4705882352941175vw 0 1.1764705882352942vw;
    letter-spacing: 0.037vw;
    color: #fff;
    width: 39.706vw;
}

.sec7 p.sec7_p {
    font-size: 1.4705882352941175vw;
}

.sec7 p {
    font-size:1.029vw;
}

a.view_more.l-gray {
    color: #fff;
    background: #9e9e9e;
    margin-top: 1.1764705882352942vw;
}

a.view_more.l-gray:hover {
    opacity: 1;
    background: #212121;
}

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

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

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

.sec9_left {
    width: 35vw;
    text-align: left;
}

.sec9_left p.str {
    color: var(--System-Gray-900, #212121);
    font-family: "Noto Sans JP";
    font-size: 1.176vw;
    font-style: normal;
    font-weight: 400;
    line-height: 2.206vw;
    letter-spacing: 0.074vw;
    margin-top: 1.471vw;
}

.sec9_left 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;
    margin-top: 1.471vw;
}

.sec9_left a:hover {
    background-color: #212121;
    opacity: 1;
}

.sec9_center {
    margin: 0 2vw 0 3vw;
    background: #fff;
    text-align: left;
    position: relative;
    width: 16vw;
}

.sec9_center:after {
    content: "";
    position: absolute;
    bottom: -4.12vw;
    left: 7.5%;
    width: 85%;
    height: 4.12vw;
    background: #f5f5f5;
}

.sec9_center h3 {
    color: var(--System-Gray-000, #FFF);
    text-align: center;
    font-family: Inter;
    font-size: 1.618vw;
    font-style: normal;
    font-weight: 600;
    line-height: 1.618vw;
    letter-spacing: 0.037vw;
    background: linear-gradient(75deg, #212121 19.5%, #3D3D3D 62.3%, #8B8A8A 108.9%);
    padding: 1.765vw 2.206vw;
    margin: -3.309vw 1.029vw 0;
}

.sec9_center .tab_btn {
    padding: 1.471vw 1.471vw;
    border-bottom: dotted 2px #E0E0E0;
}

.sec9_center .tab_btn.active {
    border-bottom: dotted 2px #757575;
}

.sec9_center .tab_btn p {
    color: #9e9e9e;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.037vw;
    line-height: 1.471vw;
}

.tab_btn.active p.blue {
    color: #BED1D7;
}

.tab_btn.active p.green {
    color: #60C0BA;
}

.tab_btn.active p.orange {
    color: #ff9166;
}

.tab_btn.active p.purple {
    color: #F1A9CE;
}

.b1 .tab_btn.active p.blue {
    color: #BED1D7;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.037vw;
}

.f1 .tab_btn.active p.green {
    color: #60C0BA;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.037vw;
}

.f2 .tab_btn.active p.orange {
    color: #FF9166;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.037vw;
}

.f3 .tab_btn.active p.orange {
    color: #FF9166;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.037vw;
}

.f4 .tab_btn.active p.orange {
    color: #FF9166;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.037vw;
}

.f5 .tab_btn.active p.purple {
    color: #F1A9CE;
    text-align: left;
    font-family: Inter;
    font-size: 1.912vw;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.037vw;
}

.tab_btn p.space_name {
    color: #9E9E9E;
    font-family: Inter;
    font-size: 1.029vw;
    font-style: normal;
    font-weight: 300;
    line-height: 1.324vw;
    letter-spacing: 0.037vw;
    margin-top: 0.368vw;
}

.tab_btn.active p.space_name {
    color: #212121;
}

.tab_btn.active p.blue {
    color: #BED1D7;
}

.sec9_right {
    width: 29.235vw;
    margin-top: -3.309vw;
    padding-bottom: 3.309vw;
    height: 44.088235vw;
    background: #fff;
}

.sec9_right #mainBox {
    width: 25.8vw;
    padding: 1.7647058823529411vw;
}

p.floor {
    text-align: left;
    font-family: Inter;
    font-size: 2.647vw;
    font-style: normal;
    font-weight: 600;
    line-height: 1.471vw; /* 55.556% */
    letter-spacing: 0.037vw;
    margin-top: 0.809vw;
}

p.floor.orange {
    color: #f99166;
}

.sec9 {
    background: #faf7f2;
    padding-bottom: 0;
    position: relative;
    overflow: hidden;
    padding-top: 5.956vw;
}

.b1 .sec9 {
    background: #DAECF2;
}

.f1 .sec9 {
    background: #EBFAF8;
}

.f2 .sec9,
.f3 .sec9,
.f4 .sec9 {
    background: #FAF7F2;
}

.f5 .sec9 {
    background: #F2E6EC;
}

.b1 p.floor {
    color: #BED1D7;
}

.f1 p.floor {
    color: #60C0BA;
}

.f2 p.floor {
    color: #FF9166;
}

.f3 p.floor {
    color: #FF9166;
}

.f4 p.floor {
    color: #FF9166;
}

.f5 p.floor {
    color: #F1A9CE;
}

.room {
    color: var(--System-Gray-900, #212121);
    text-align: left;
    font-family: Inter;
    font-size: 1.471vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1.324vw; /* 90% */
    letter-spacing: 0.037vw;
    margin: 0.956vw 0 0.956vw;
}

.room_jp {
    color: var(--System-Gray-900, #212121);
    text-align: left;
    font-family: Inter;
    font-size: 1.471vw;
    font-style: normal;
    font-weight: 400;
    line-height: 2vw;
    letter-spacing: 0.037vw;
    margin: 0.956vw 0 1.471vw;
}

.blk {
    color: var(--System-Gray-900, #212121);
    text-align: left;
    /* 本文 */
    font-family: "Noto Sans JP";
    font-size: 1.176vw;
    font-style: normal;
    font-weight: 400;
    line-height: 2.206vw; /* 187.5% */
    letter-spacing: 0.074vw;
    margin-top: 1.838vw;
}

.sec10 .d-pc-flex.justify-content-pc-between {
    margin-top: 1vw;
}

.faq_wrap {
    margin-top: 1vw;
    text-align: left;
}

.flex_4 {
    width: 24%;
}

.cst_price {
    .flex_4 {
        min-width: 24%;
        &:not(:first-child) {
            margin-left: 1%;
        }
    }
    .cst_daytime {
        .price_card_wrap {
            .n3 {
                .t-cat {
                    background: rgb(255,119,66);
                    background: linear-gradient(45deg, rgba(255,119,66,1) 0%, rgba(0,192,181,0.91) 100%);
                }
                h3 {
                    font-size: 1.8vw;
                }
                .service_price {
                    background: linear-gradient(90deg, #00c0b5 0%, #ff7742 100%);
                    color: transparent;
                    -webkit-background-clip: text;
                    background-clip: text;
                    -webkit-text-fill-color: transparent;
                    text-fill-color: transparent;
                }
                .md_wrap {
                    margin-top: 20px;
                    .cst_s {
                        margin-left: 10px;
                        font-size: .8vw;
                        color: #757575;
                    }    
                }

                h4.md {
                    position: relative;
                    color: #fcfcfc;
                    background: #212121;
                    font-weight: 400;
                    font-size: .9vw;
                    padding: 0 1vw;
                    display: inline-block;
                    z-index: 2;
                }
            
                .md p {
                    position: relative;
                    top: -12px;
                    color: #212121;
                    font-size: 1vw;
                    border: 1px solid var(--System-Gray-400, #BDBDBD);
                    background: #fff;
                    padding: 8px 0;
                    line-height: 1.5;

                }
                .md {
                    &:nth-child(1) {
                        p {
                            padding: 15px 0 8px; 
                        }
                    }
                    &:nth-child(2) {
                        p {
                            margin-top: 10px;
                        }
                    }
                }
            }
        }
    }
    @media screen and (min-width:768px) {
        overflow-x: auto;
    }
    @media screen and (max-width:767px) {
        .cst_daytime {
            .price_card_wrap {
                .n1 {
                    
                    .flex_plan {
                        .gray {
                            font-size: 12px;
                        }
                    }
                }
                .n3 {
                    .t-cat {
                        background: rgb(255,119,66);
                        background: linear-gradient(45deg, rgba(255,119,66,1) 0%, rgba(0,192,181,0.91) 100%);
                    }
                    h3 {
                        font-size: 5.5vw;
                        font-weight: 500;
                    }
                    .service_price {
                        background: linear-gradient(90deg, #00c0b5 0%, #ff7742 100%);
                        color: transparent;
                        -webkit-background-clip: text;
                        background-clip: text;
                        -webkit-text-fill-color: transparent;
                        text-fill-color: transparent;
                    }
                    .md_wrap {
                        margin-top: 20px;
                        .cst_s {
                            margin-left: 10px;
                            font-size: 2.8vw;
                            color: #757575;
                        }    
                    }
    
                    h4.md {
                        font-size: 3.9vw;
                        padding: 0 2vw;
                    }
                
                    .md p {
                        font-size: 3.4vw;
    
                    }
                    .md {
                        margin-bottom: 0;
                    }
                }
            }
        }
    }
}

/* TOP 料金 */

.price_card_wrap {
    padding: 1vw .5vw;
    background: #fcfcfc;
    height: 48vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.price_card.n1 {

    p.t-cat {
        background: linear-gradient(88deg, #00C0B5 -20.23%, #5DF3CF 207.39%);
        font-family: 'Inter';
        font-size: 1.618vw;
        line-height: 1.5;
        font-weight: 600;
    }

    h3 {
        font-size: 2vw;
        font-weight: 500;
        margin-top: 1vw;
    }

    p.service_price {
        background: linear-gradient(89deg, #00C0B5 -8.51%, #5DF3CF 197.88%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: 3.162vw;
        font-family: 'Inter';
        font-style: italic;
        font-weight: 500;
        margin-left: 0;
        display: inline-block;
        line-height: 1.2;

        span.b_tag {
            position: relative;
            width: 4.079vw;
            display: inline-block;
            font-size: 1.124vw;
            text-align: center;
            vertical-align: middle;
            background: #212121;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0;
            font-style: normal;
        }

        span.b_tag:after {
            position: absolute;
            content: "";
            width: 3.412vw;
            height: 3.412vw;
            display: inline-block;
            font-size: 1.324vw;
            text-align: center;
            vertical-align: middle;
            border: solid 1px #212121;
            border-radius: 50%;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }

        span.yen {
            font-size: 1.618vw;
            font-family: 'Noto Sans JP';
            font-style: normal;
            margin-left: 0.368vw;
        }

        span.s-sml {
            background: #818181;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0;
            font-size: .8vw;
            font-style: normal;
        }
    }

    p.gray {
        color: #818181;
        font-size: 1vw;
    }

    .new_tokuten {
        display: flex;
        margin-bottom: 7px;

        p.price_tag {
            position: relative;
            line-height: 1.2;
            letter-spacing: 2px;
        }

        .ribbon14 {
            display: inline-block;
            position: absolute;
            top: 0;
            right: -55px;
            margin: 0;
            padding: 10px 6px;
            z-index: 2;
            width: 40px;
            text-align: center;
            font-size: 17px;
            color: white;
            background: #00C0B5;
        }

        .ribbon14:after {
            content: '';
            position: absolute;
            left: 0;
            top: 100%;
            height: 0;
            width: 0;
            border-left: 26px solid #00C0B5;
            border-right: 26px solid #00C0B5;
            border-bottom: 10px solid transparent;
        }

        .tokuten_detail {
            margin-left: 70px;
        }

        span.span1 {
            color: #212121;
            font-size: 1vw;
        }

        span.span2 {
            font-size: 25px;
            color: #34c0b4;
            font-weight: 500;
            line-height: 1;
            letter-spacing: 1px;
        }

        span.span3 {
            color: #818181;
            font-size: 12px;
            display: inline-block;
            vertical-align: text-top;
        }
    }

    h4.md {
        position: relative;
        color: #fcfcfc;
        background: #212121;
        font-weight: 400;
        font-size: .9vw;
        padding: 0 1vw;
        display: inline-block;
        z-index: 2;
    }

    div.md {
        margin-bottom: -8px;
    }

    .md p {
        position: relative;
        top: -12px;
        color: #212121;
        font-size: 1vw;
        border: 1px solid var(--System-Gray-400, #BDBDBD);
        background: var(--bg-grn-bg, #EBFAF8);
        padding: 15px 0 8px;
        line-height: 1.5;

        span.sml {
            display: block;
            font-size: .8vw;
            color: #9c9c9c;
        }
    }

    .plan_img {
        margin-top: 20px;
    }
}

.price_card.n1.n2 {
    p.t-cat {
        background: linear-gradient(89deg, #00C0B5 -109.23%, #5DF3CF 112.39%);
    }

    p.service_price {
        background: linear-gradient(89deg, #00C0B5 -109%, #5DF3CF 112.88%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .ribbon14 {
        display: inline-block;
        position: absolute;
        top: 0;
        right: -55px;
        margin: 0;
        padding: 10px 6px;
        z-index: 2;
        width: 40px;
        text-align: center;
        font-size: 17px;
        color: white;
        background: #5DF3CF;
    }

    .ribbon14:after {
        content: '';
        position: absolute;
        left: 0;
        top: 100%;
        height: 0;
        width: 0;
        border-left: 26px solid #5DF3CF;
        border-right: 26px solid #5DF3CF;
        border-bottom: 10px solid transparent;
    }
}

.price_card.n3 {

    p.t-cat {
        background: linear-gradient(74deg, #FF7742 -0.03%, #FFBF5E 181.06%);
        font-family: 'Inter';
        font-size: 1.618vw;
        line-height: 1.5;
        font-weight: 600;
    }

    p.org {
        background: var(--grd-org-grd, linear-gradient(74deg, #FF7742 -0.04%, #FFBF5E 82.82%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    h3 {
        font-size: 2vw;
        font-weight: 500;
        margin-top: 1vw;
    }

    p.service_price {
        background: linear-gradient(74deg, #FF7742 -0.03%, #FFBF5E 181.06%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: 3.162vw;
        font-family: 'Inter';
        font-style: italic;
        font-weight: 500;
        margin-left: 0;
        display: inline-block;
        line-height: 1.2;
        letter-spacing: -1px;

        span.b_tag {
            position: relative;
            width: 3.579vw;
            display: inline-block;
            font-size: 1.124vw;
            text-align: center;
            vertical-align: middle;
            background: #212121;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0;
            font-style: normal;
        }

        span.b_tag:after {
            position: absolute;
            content: "";
            width: 3.412vw;
            height: 3.412vw;
            display: inline-block;
            font-size: 1.324vw;
            text-align: center;
            vertical-align: middle;
            border: solid 1px #212121;
            border-radius: 50%;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }

        span.yen {
            font-size: 1.618vw;
            font-family: 'Noto Sans JP';
            font-style: normal;
            margin-left: 0.368vw;
        }

        span.s-sml {
            background: #818181;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0;
            font-size: .8vw;
            font-style: normal;
        }
    }

    p.gray {
        color: #818181;
        font-size: 1vw;
    }

    .new_tokuten {
        display: flex;
        margin-bottom: 7px;

        p.price_tag {
            position: relative;
            line-height: 1.2;
            letter-spacing: 2px;
        }

        .tokuten_detail {
            margin-left: 70px;
        }
    }

    .pes_basic {
        display: flex;
        justify-content: space-between;
        padding: 1vw 0;
        border-top: dotted 1px #c6c6c6;

        .flex_plan {



        p.service_price {
            background: linear-gradient(74deg, #FF7742 -0.03%, #FFBF5E 181.06%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-size: 1.662vw;
            font-family: 'Inter';
            font-style: italic;
            font-weight: 500;
            margin-left: 0;
            display: inline-block;
            line-height: 1.2;
            letter-spacing: -1px;
            padding-right: 0.074vw;

            span.b_tag {
                position: relative;
                width: 2.279vw;
                font-size: .8vw;
                font-style: normal;
                margin-top: 1px;
            }

            span.b_tag:after {
                position: absolute;
                content: "";
                width: 2.112vw;
                height: 2.112vw;
                display: inline-block;
                font-size: 1vw;
                text-align: center;
                vertical-align: middle;
                border: solid 1px #212121;
                border-radius: 50%;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
            }

            span.yen {
                font-size: 0.818vw;
                font-family: 'Noto Sans JP';
                font-style: normal;
                margin-left: 0.168vw;
            }

            p.gray {
                color: #818181;
                font-size: .9vw;
            }

            .pes_basic {
                display: flex;
                justify-content: space-between;
                margin-top: 10px;
            }
        }
    }

        .plan_img {
            margin-top: 20px;
        }
    }
}

.price_card.n3.blks {

    p.t-cat {
        background: #212121;
    }

    p.service_price {
        color: #7879F1;
        background-clip: unset;
        -webkit-text-fill-color: unset;
        background: unset;

        span.c_tag {
            font-size: .9vw;
            position: relative;
            width: 3.579vw;
            display: inline-block;
            text-align: center;
            vertical-align: middle;
            background: #212121;
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            margin-left: 0;
        }

        span.c_tag:after {
            position: absolute;
            content: "";
            width: 3.812vw;
            height: 3.812vw;
            display: inline-block;
            font-size: .9vw;
            text-align: center;
            vertical-align: middle;
            border: solid 1px #212121;
            border-radius: 50%;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }
    }
}

@media screen and (min-width:768px) and ( max-width:1080px) {

    .mv_wrap.top {
        width: 100%;
        height: 600px;
    }

    .price_card_wrap {
        padding: 1vw .5vw;
        background: #fcfcfc;
        height: 49vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .price_card.n1 {
        h3 {
            font-size: 1.5vw;
        }
    }

    .price_card.n2 {
        h3 {
            font-size: 1.5vw;
        }
    }

    .price_card.n3 {
        h3 {
            font-size: 1.5vw;
        }
    }

    .price_card.n3.blks {
        & p.service_price {

            span.b_tag {
                letter-spacing: 1px;
            }

            span.c_tag {
                font-size: .9vw;
                position: relative;
                width: 3.579vw;
                display: inline-block;
                text-align: center;
                vertical-align: middle;
                background: #212121;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-left: 0;
                left: -2px;
                font-style: normal;
            }

            span.c_tag:after {
                position: absolute;
                content: "";
                width: 3.812vw;
                height: 3.812vw;
                display: inline-block;
                font-size: .9vw;
                text-align: center;
                vertical-align: middle;
                border: solid 1px #212121;
                border-radius: 50%;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
            }
        }
    }

    .price_card.n1 {
        & .new_tokuten {

            .tokuten_detail {
                margin-left: 6vw;
            }

            span.span2 {
                font-size: 1.838vw;
            }

            span.span3 {
                font-size: 0.882vw;
            }

            .ribbon14 {
                display: inline-block;
                position: absolute;
                top: 0;
                right: -5.044vw;
                margin: 0;
                padding: 0.735vw 0.441vw;
                z-index: 2;
                width: 3.941vw;
                text-align: center;
                font-size: 1.25vw;
                color: white;
                background: #5DF3CF;
            }

            .ribbon14:after {
                content: '';
                position: absolute;
                left: 0px;
                top: 100%;
                height: 0;
                width: 0;
                border-left: 2.4342vw solid #5DF3CF;
                border-right: 2.4342vw solid #5DF3CF;
                border-bottom: 1.35vw solid transparent;
            }
        }
    }
}

@media screen and (max-width: 767px) {
    .price_card_wrap {
        padding: 5vw 2vw;
        min-height: 162vw;

        .price_card.n3 {

            display: flex;
            flex-direction: column;
            justify-content: space-between;
            height: 100%;

            .blks_inner {
                margin-bottom: 20vw;
            }

            p.t-cat {
                font-size: 22px;
            }

            h3 {
                font-size: 5.5vw;
                font-weight: 500;
                margin-top: 2vw;
            }

            p.service_price {
                font-size: 11vw;
            
                span.b_tag {
                    position: relative;
                    width: 10.579vw;
                    display: inline-block;
                    font-size: 3.824vw;
                    text-align: center;
                    vertical-align: middle;
                    background: #212121;
                    -webkit-text-fill-color: transparent;
                    -webkit-background-clip: text;
                    margin-left: 0;
                    left: -5px;
                    font-style: normal;
                }

                span.b_tag:after {
                    position: absolute;
                    content: "";
                    width: 12.412vw;
                    height: 12.412vw;
                    display: inline-block;
                    font-size: 3.324vw;
                    text-align: center;
                    vertical-align: middle;
                    border: solid 1px #212121;
                    border-radius: 50%;
                    left: 50%;
                    top: 50%;
                    transform: translate(-50%, -50%);
                }

                span.c_tag:after {
                    position: absolute;
                    content: "";
                    width: 14.812vw;
                    height: 14.812vw;
                    display: inline-block;
                    font-size: .9vw;
                    text-align: center;
                    vertical-align: middle;
                    border: solid 1px #212121;
                    border-radius: 50%;
                    left: 52%;
                    top: 50%;
                    transform: translate(-50%, -50%);
                }

                span.c_tag {
                    font-size: 3.4vw;
                    position: relative;
                    width: 15.579vw;
                    display: inline-block;
                    text-align: center;
                    vertical-align: middle;
                    background: #212121;
                    -webkit-text-fill-color: transparent;
                    -webkit-background-clip: text;
                    margin-left: 0;
                    margin-right: 1px;
                    text-align: center;
                }

                span.yen {
                    font-size: 4.218vw;
                    font-family: 'Noto Sans JP';
                    font-style: normal;
                    margin-left: 1vw;
                }

                span.s-sml {
                    font-size: 3vw;
                    font-style: normal;
                }
            }

            p.gray {
                font-size: 3.5vw;
            }

            .pes_basic {
                display: flex;
                justify-content: space-between;
                padding: 10px 0;
                border-top: dotted 1px #c3c3c3;
                
        
                .flex_plan {
        
                    p.service_price {
                        background: linear-gradient(74deg, #FF7742 -0.03%, #FFBF5E 181.06%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        font-size: 6vw;
                        font-family: 'Inter';
                        font-style: italic;
                        font-weight: 500;
                        margin-left: 0;
                        display: inline-block;
                        line-height: 1.2;
                        letter-spacing: -1px;
                        padding-left: 5px;
            
                        span.b_tag {
                            position: relative;
                            width: 6.15vw;
                            font-size: 3vw;
                            top: -2px;
                            left: -2px;
                            font-style: normal;
                        }
            
                        span.b_tag:after {
                            position: absolute;
                            content: "";
                            width: 7.112vw;
                            height: 7.112vw;
                            display: inline-block;
                            font-size: 1vw;
                            text-align: center;
                            vertical-align: middle;
                            border: solid 1px #212121;
                            border-radius: 50%;
                            left: 50%;
                            top: 50%;
                            transform: translate(-50%, -50%);
                        }
            
                        span.yen {
                            font-size: 2.818vw;
                            font-family: 'Noto Sans JP';
                            font-style: normal;
                            margin-left: 0.168vw;
                        }
            
                        p.gray {
                            color: #818181;
                            font-size: .9vw;
                        }
            
                        .pes_basic {
                            display: flex;
                            justify-content: space-between;
                            margin-top: 10px;
                        }
                    }
                }
            }
        }

        .price_card.n1 {

            display: flex;
            flex-direction: column;
            justify-content: space-between;
            height: 100%;

            p.t-cat {
                background: linear-gradient(88deg, #00C0B5 -20.23%, #5DF3CF 207.39%);
                font-family: 'Inter';
                font-size: 22px;
                line-height: 1.5;
                font-weight: 600;
            }
        
            h3 {
                font-size: 5.5vw;
                font-weight: 500;
                margin-top: 2vw;
            }
        
            p.service_price {
                background: linear-gradient(89deg, #00C0B5 -8.51%, #5DF3CF 197.88%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                font-size: 11vw;
                font-family: 'Inter';
                font-style: italic;
                font-weight: 500;
                margin-left: 0;
                display: inline-block;
                line-height: 1.2;
        
                span.b_tag {
                    position: relative;
                    width: 11.579vw;
                    display: inline-block;
                    font-size: 3.524vw;
                    text-align: center;
                    vertical-align: middle;
                    background: #212121;
                    -webkit-text-fill-color: transparent;
                    -webkit-background-clip: text;
                    margin-left: 0;
                    left: -5px;
                    font-style: normal;
                }
        
                span.b_tag:after {
                    position: absolute;
                    content: "";
                    width: 12.412vw;
                    height: 12.412vw;
                    display: inline-block;
                    font-size: 3.324vw;
                    text-align: center;
                    vertical-align: middle;
                    border: solid 1px #212121;
                    border-radius: 50%;
                    left: 50%;
                    top: 50%;
                    transform: translate(-50%, -50%);
                }
        
                span.yen {
                    font-size: 4.218vw;
                    font-family: 'Noto Sans JP';
                    font-style: normal;
                    margin-left: 1vw;
                }
        
                span.s-sml {
                    background: #818181;
                    -webkit-text-fill-color: transparent;
                    -webkit-background-clip: text;
                    margin-left: 0;
                    font-size: 3vw;
                    font-style: normal;
                }
            }
        
            p.gray {
                color: #818181;
                font-size: 3vw;
            }
        
            .new_tokuten {
                display: flex;
                margin-bottom: 7px;
        
                p.price_tag {
                    position: relative;
                    line-height: 1.2;
                    letter-spacing: 2px;
                }
        
                .ribbon14 {
                    display: inline-block;
                    position: absolute;
                    top: 0;
                    right: -55px;
                    margin: 0;
                    padding: 10px 6px;
                    z-index: 2;
                    width: 40px;
                    text-align: center;
                    font-size: 17px;
                    color: white;
                    background: #00C0B5;
                }
        
                .ribbon14:after {
                    content: '';
                    position: absolute;
                    left: 0;
                    top: 100%;
                    height: 0;
                    width: 0;
                    border-left: 26px solid #00C0B5;
                    border-right: 26px solid #00C0B5;
                    border-bottom: 10px solid transparent;
                }
        
                .tokuten_detail {
                    margin-left: 70px;
                }
        
                span.span1 {
                    color: #212121;
                    font-size: 4vw;
                }
        
                span.span2 {
                    font-size: 25px;
                    color: #34c0b4;
                    font-weight: 500;
                    line-height: 1;
                    letter-spacing: 1px;
                }
        
                span.span3 {
                    color: #818181;
                    font-size: 12px;
                    display: inline-block;
                    vertical-align: text-top;
                }
            }
        
            h4.md {
                position: relative;
                color: #fcfcfc;
                background: #212121;
                font-weight: 400;
                font-size: 3.9vw;
                padding: 0 3vw;
                display: inline-block;
                z-index: 2;
            }
        
            div.md {
                margin-bottom: -8px;
            }
        
            .md p {
                position: relative;
                top: -12px;
                color: #212121;
                font-size: 3.4vw;
                border: 1px solid var(--System-Gray-400, #BDBDBD);
                background: var(--bg-grn-bg, #EBFAF8);
                padding: 10px 0 0px;
                line-height: 1.75;
            }
        
            .plan_img {
                margin-top: 20px;
            }
        }
    }
}


/* TOP 料金 */

.google_review {
    margin-top: 1vw;
}

.ti-header.source-Google {
    display: none !important;
}

.d-pc-flex.contents {
    flex-wrap: wrap;
    margin-top: 1.412vw;
}

.flex_img {
    width: 50%;
}

.access_wrap {
    margin-left: 5%;
    width: 38%;
}

p.ac_walk {
    display: flex;
    align-items: center;
    margin-bottom: 0.735vw;
    text-align: left;
    color: var(--System-Gray-000, #FFF);
    font-family: "Noto Sans JP";
    font-size: 1.176vw;
    font-style: normal;
    font-weight: 700;
    line-height: 2.206vw;
    letter-spacing: 0.074vw;
}

p.ac_walk span {
    margin: 0 0.147vw;
}

span.station {
    font-size: 1.765vw;
}

span.ac_1 {
    font-size: 1.324vw;
}

p.ac_walk.nihon svg { 
    width: 2.868vw;
    height: 1.765vw;
}

p.ac_walk.nanba svg { 
    width: 4.044vw;
    height: 1.765vw;
}

a.view_map {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12.985vw;
    color: #fff;
    padding: 0.535vw 2.941vw;
    margin: 1.471vw 0 2.206vw;
    border: solid 1px;
    font-family: Inter;
    font-size: 1.029vw;
}

a.view_map:hover {
    color: #212121;
    background: #fff;
    border: solid 1px #fff;
    opacity: 1;
}

a.view_map:hover:after {
    content: "";
    position: absolute;
    background: url(../img/common/link_hover.png);
    background-size: cover;
    top: 40%;
    right: 18.5%;
    width: 10px;
    height: 10px;
}

a.view_map span {
    display: flex;
    width: 0.882vw;
    height: 0.882vw;
    align-items: center;
    margin: 0.294vw 0 0 0.294vw;
}

table.ac_table {
    color: #fff;
    font-weight: 700;
}

table.ac_table tr {
    position: relative;
    height: 3.015vw;
}

table.ac_table tr:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 0.074vw;
    background-image: linear-gradient(to right, #9e9e9e, #9e9e9e 1px, transparent 1px, transparent 2px);
    background-size: 0.221vw 0.074vw;
    background-repeat: repeat-x;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

table.ac_table th {
    width: 26.9%;
}

table.ac_table th,
table.ac_table td {
    padding: 0.515vw 0;
    vertical-align: top;
    text-align: left;
    position: relative;
    font-size: 1.2vw;
}

table.ac_table td a {
    color: #fff;
    text-decoration: underline;
}

.w860 {
    width: 63.235vw;
    margin: auto;
}

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

.sec16 {
    padding: 0;
}

.sec16 .flex_in {
    width: 50%;
}

.mv_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 1px;
    grid-row-gap: 1px;
    height: 100%;
}

.mv_grid > div {
    overflow: hidden;
}

.mv_1 {
    position: relative;
    grid-area: 1 / 1 / 3 / 3;
    animation-delay: 1.4s!important;
}

.mv_6 {
    position: relative;
    grid-area: 1 / 3 / 2 / 4;
    animation-delay: 1.5s!important;
}

.mv_4 {
    position: relative;
    grid-area: 2 / 3 / 3 / 3;
    animation-delay: 1.6s!important;
}

.mv_5 {
    position: relative;
    grid-area: 3 / 3 / 4 / 3;
    animation-delay: 1.7s!important;
}

.mv_2 {
    position: relative;
    grid-area: 3 / 1 / 4 / 2;
    animation-delay: 1.8s!important;
}

.mv_3 {
    position: relative;
    grid-area: 3 / 2 / 4 / 2;
    animation-delay: 1.9s!important;
}

.mv_grid > div:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation-name: fadeIn;
    transition: all .4s ease-out;
}

.no-webp .mv_1:after {
    background:url(../img/mv/mv_1.jpg);
    background-size: cover;
}

.no-webp .mv_2:after {
    background:url(../img/mv/mv_4.jpg);
    background-size: cover;
}

.no-webp .mv_3:after {
    background:url(../img/mv/mv_5.jpg);
    background-size: cover;
}

.no-webp .mv_4:after {
    background:url(../img/mv/mv_3.jpg);
    background-size: cover;
}

.no-webp .mv_5:after {
    background:url(../img/mv/mv_6.jpg);
    background-size: cover;
}

.no-webp .mv_6:after {
    background:url(../img/mv/mv_2.jpg);
    background-size: cover;
}

.webp .mv_1:after {
    background: url(/wp-content/uploads/top01pc.webp);
    background-size: cover;
  }
  
  .webp .mv_2:after {
    background: url(/wp-content/uploads/top04.webp);
    background-size: cover;
  }
  
  .webp .mv_3:after {
    background: url(/wp-content/uploads/top05.webp);
    background-size: cover;
  }
  
  .webp .mv_4:after {
    background: url(/wp-content/uploads/top03.webp);
    background-size: cover;
  }
  
  .webp .mv_5:after {
    background: url(/wp-content/uploads/top06.webp);
    background-size: cover;
  }
  
  .webp .mv_6:after {
    background: url(/wp-content/uploads/top02.webp);
    background-size: cover;
  }

.mv_txt {
    position: absolute;
    width: auto;
    top: unset;
    left: 3%;
    bottom: 7%;
    z-index: 1;
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform 0.5s linear;
    -moz-transition: -moz-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}



.mv_grid > div a {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    z-index: 2;
    position: relative;
}

.mv_grid > div a:hover {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
}

.mv_grid > div:hover:after {
    transform: scale(1.05); /* 背景画像の拡大率を調整 */
    overflow: hidden;
}

.mv_grid > div:hover .mv_txt {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); /* 背景画像の拡大率を調整 */
    overflow: hidden;
}

/* fadeUpをするアイコンの動き */

.fadeUp{
    animation-name: fadeUpAnime;
    animation-duration:0.2s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes fadeUpAnime{
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in { 
    font-size:40px;
    opacity:0;
    animation-name: fade-In; /*←@keyframesにも同じ名前を記述*/
    animation-duration: 1s;
    animation-fill-mode: forwards; 
}

@keyframes fade-In {  /*←animation-nameにも同じ名前を記述*/
    0% {
        opacity: 0;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    } 
}

.swiper-button-next.topics {
    background: url(../img/top/next.svg);
    background-size: cover;
    width: 32px;
    height: 32px;
    top: 55%;
}

.swiper-button-prev.topics {
    background: url(../img/top/prev.svg);
    background-size: cover;
    width: 32px;
    height: 32px;
    top: 55%;
}

/* before after slider */

.before_after_wrap {
    position: relative;
    margin: 40px 0 0;
    overflow: hidden;
    padding: 0 0 40px;

    .swiper-pagination-bullet {
        background-color: #9E9E9E !important;
        opacity: 1 !important;
        margin: 0 7px !important;
    }

    .swiper-pagination-bullet-active {
        background-color: #212121 !important;
    }
}

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

    .before_after_wrap {
        margin: 0px 0;
        overflow: unset;
    }

    table.ac_table tr {
        position: relative;
        height: auto;
        display: block;
    }

}

/* before after btn */

.flex_h2_wrap a.diet, 
.flex_h2_wrap a.posture {
    width: auto;
    padding: 0 16px;
}

a.diet:hover {
    background: linear-gradient(256deg, rgba(0, 192, 181, 0.91) -97.26%, #FF7742 102.56%);
    font-weight: 700;
    opacity: 1;
}

.flex_h2_wrap a.diet.-active {
    background: linear-gradient(256deg, rgba(0, 192, 181, 0.91) -97.26%, #FF7742 102.56%);
    font-weight: 700;
    opacity: 1;
}

a.posture:hover {
    background: var(--grd-grn-grd, linear-gradient(88deg, #00C0B5 -8.35%, #5DF3CF 98.83%));
    font-weight: 700;
    opacity: 1;
}

.flex_h2_wrap a.posture.-active {
    background: var(--grd-grn-grd, linear-gradient(88deg, #00C0B5 -8.35%, #5DF3CF 98.83%));
    font-weight: 700;
    opacity: 1;
}

.tab-panel.js-tab-panel.-active {
    display: block;
}

.tab-panel.js-tab-panel {
    display: none;
}

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

    .flex_h2_wrap a.diet, .flex_h2_wrap a.posture {
        width: auto;
        height: unset;
        padding: 0 16px;
        line-height: inherit;
        margin-top: 10px;
    }

    .footer_menu_policy {
        display: flex;
        flex-direction: column;
        margin-bottom: 15px;
    }

    .footer_menu_policy a {
        display: block;
        margin-left: 0;
        height: 15px;
        margin-top: 10px;
        line-height: 1.5;
    }

}

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

    h2.default_h2 {
        font-family: Inter;
        font-size: 8.205vw;
        font-style: normal;
        font-weight: 600;
        line-height: 9.744vw;
        letter-spacing: 0.128vw;
        text-transform: uppercase;
    }

    .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;
    }

    .mv_wrap.top {
        width: 100%;
        height: auto;
    }

    .mv_grid {
        display: flex;
        flex-direction: column;
    }

    .mv_grid > div {
        overflow: hidden;
        height: 57vw;
    }

    .sec1 {
        padding: 20px 0 0;
    }

    .sec1 .inner_wrap {
        width: 92.64710882vw;
        margin-left: 7.352891176vw;
    }

    .topics_wrap {
        margin-left: 7.352891176vw;
        padding-bottom: 40px;
        margin-bottom: 40px;
        margin: 20px 0 20px 7.352891176vw;
    }

    .sec1 .more_center {
        width: 85.29421782vw;
    }

    .more_center {
        display: flex;
        justify-content: center;
        margin-bottom: 20px;
    }

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

    .swiper-button-next.topics {
        top: 45%;
        right: 30px;
    }
    
    .swiper-button-prev.topics {
        top: 45%;
        left: -30px;
    }

    .swiper-pagination.topics {
        height: 25px;
        width: 83%;
    }

    .swiper-pagination-bullet {
        background-color: #9E9E9E !important;
        opacity: 1 !important;
        margin: 0 7px !important;
    }

    .swiper-pagination-bullet-active {
        background-color: #212121 !important;
    }

    .webp .sec2 {
        background: url(../img/top/sp/sec2_bg.webp);
        background-size: cover;
        padding: 10.441176470588236vw 0 7.352941176470589vw;
    }

    .no-webp .sec2 {
        background: url(../img/top/sp/sec2_bg.png);
        background-size: cover;
        padding: 10.441176470588236vw 0 7.352941176470589vw;
    }

    .sec3 {
        padding: 20px 0 0;
    }

    /*ここからvw変更*/

    .category span {
        text-align: center;
        font-family: Inter;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 15px;
        letter-spacing: 0.56px;
        padding :3px 10px;
        margin-top: 10px;
    }

    p.date {
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 15px;
        letter-spacing: 0.48px;
        margin: 8px 2px 0;
    }

    h3.post_title {
        font-size: 16px;
        line-height: 1.2;
        margin-top: 3px;
    }

    .bg-image-2.d-pc-flex .flex {
        width: 100%;
    }

    .sec2 {
        padding: 129px 0 60px;
    }

    .sec2_h2 {
        width: 317px;
        margin-bottom: 20px;
    }

    h3.type1 {
        font-size: 16px;
        margin-bottom: 20px;
    }

    p.type2 {
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: 1px;
        margin-bottom: 20px;
    }

    .sec2 .flex img {
        max-width: 81vw;
        margin: auto;
    }

    .sec3 .flex_h2_wrap {
    
        .h2_wrap {
            flex-direction: column;
            align-items: flex-start;

            h2 {
                line-height: 1.2;
                margin-bottom: 5px;
            }
        }

        .tag_wrap p {
            font-size: 12px;
            padding: 0 10px;
            margin-top: 20px;
        }
    }

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

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

    .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;
    }

    .sec5 {
        padding: 20px 0;
    }

    .sec5 .flex_h2_wrap .h2_wrap {
        flex-direction: column;
        align-items: flex-start;

            h2 {
                line-height: 1.2;
                margin-bottom: 5px;
            }
    }

    .sec5 {
        .flex.first {
            margin-top: 40px;
        }

        .flex {
            align-items: flex-start;
            flex-direction: column;
            margin-top: 30px;

            .flex_50 {
                width: 93%;
            }

            .flex_50.txt {
                width: 86%;
                margin: 0 7.5%;
            }

            .txt_box {
                width: 100%;
            }

            h3 {
                font-size: 5.641vw;
                font-weight: 700;
                line-height: 9.744vw;
                letter-spacing: 0.128vw;
                margin-top: 7.692vw;
                margin-bottom: 5.128vw;
                width: 100%;
            }

            p {
                font-size: 16px;
                font-style: normal;
                font-weight: 400;
                line-height: 30px; /* 187.5% */
                letter-spacing: 1px;
            }

            p.no {
                font-size: 29.231vw;
                right: 0px;
                bottom: -35px;
                width: 40vw;
                letter-spacing: -.5vw;
            }

            p.no.p_02 {
                bottom: 60px;
            }

            a {
                font-size: 14px;
                padding: 10px 34px;
                width: auto;
                margin-top: 20px;
                width: 90px;
                line-height: 16px;
            }

            .in_flex {
                margin-top: 20px;

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

                .name_icon {
                    width: 77px;
                    height: 100px;
                    margin: 3px;

                    p {
                        font-size: 2.233vw;
                    }
                }

                .name_icon:nth-child(4) {
                    margin-right: 0;
                }
            }
        }
        .flex.th2 {
            flex-direction: column-reverse;
            align-items: flex-end;
        }
    }

    .sec6 {
        padding: 20px 0;
        background: url(../img/top/sp/sec6_bg.webp);
        background-size: 100%;
        background-repeat: no-repeat; 

        .flex {
            flex-direction: column;
        }

        .flex_in,
        .flex_in:first-child {
            width: 100%;
            margin: 0 auto 20px;
        }

        .flex_h2_wrap {
            margin-bottom: 40px;
        }
    }

    .sec7 {
        background: url(../img/top/sp/webp/sec7_bg.webp);
        background-size: cover;
        padding: 20px 0 20px;

        .rec_box {
            width: 100%;
        }

        p.sec7_p {
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 26px;
            letter-spacing: 0.5px;
            margin-top: 4px;
        }

        p.sec7_p2 {
            font-size: 4.615vw;
            width: 100%;
            line-height: 6.667vw;
            letter-spacing: 0.128vw;
            margin-bottom: 4.103vw;
        }

        h3.sec7_h3 {
            font-family: "Noto Sans JP";
            font-size: 18px;
            font-style: normal;
            font-weight: 500;
            line-height: 26px;
            letter-spacing: 0.5px;
            margin-bottom: 16px;
        }

        p {
            width: 100%;
            font-size: 14px;
            font-style: normal;
            font-weight: 400;
            line-height: 26px;
            letter-spacing: 1px;
            margin-bottom: 16px;
        }

        a.view_more.l-gray {
            font-size: 14px;
            padding: 10px 40px;
            width: auto;
            margin-top: 0;
            display: inline-block;
            line-height: 10px;
        }
    }

    .sec8 {
        padding: 20px 0;

        .main_slide_wrap {
            margin: 20px 0 20px;
        }
    }

    .sec8 .more_center {
        margin-top: 20px;
        margin-bottom: 0;
    }

    .sec9 {
        padding: 20px 0 0;

        .inner_wrap {
            width: 96%;
        }
    }
    
    .sec9_left {
        width: 85.29411764705883vw;
        margin: 0 auto 20px;

        a {
            font-size: 14px;
            padding: 10px 40px;
            width: auto;
            margin-top: 0;
            display: inline-block;
            line-height: 10px;
        }
    }

    p.room_jp {
        font-size: 4.103vw;
        margin: 12px 0 20px 8px;
        line-height: 6vw;
    }

    .sec9_center {
        margin: 15px 2% 0 0;
        padding-bottom: 21.795vw;
        background: #fff;
        text-align: left;
        position: relative;
        width: 30%;

        h3 {
            font-size: 3.59vw;
            font-style: normal;
            font-weight: 600;
            line-height: 14px;
            letter-spacing: 0.5px;
            margin: -25px 11.5px 0;
            padding: 8px 0;
            width: 23vw;
            display: inline-block;
        }

        .tab_btn {
            padding: 20px 10px 14px;

            p {
                font-size: 20px;
                font-style: normal;
                font-weight: 500;
                line-height: 16px; /* 80% */
                letter-spacing: 0.5px;
            }

            p.space_name {
                font-size: 10px;
                font-style: normal;
                font-weight: 300;
                line-height: 14px; /* 140% */
                letter-spacing: 0.5px;
            }
        }
    }

    .b1 .tab_btn.active p.blue,
    .f1 .tab_btn.active p.green,
    .f2 .tab_btn.active p.orange,
    .f3 .tab_btn.active p.orange,
    .f4 .tab_btn.active p.orange,
    .f5 .tab_btn.active p.purple {
        font-size: 20px;
        line-height: 16px;
    }

    .sec9_center:after {
        content: "";
        position: absolute;
        bottom: -30px;
        height: 30px;
        background: #f5f5f5;
    }

    .sec9_right {
        width: 68%;
        margin-top: 0;
        height: 137.8vw;
        padding-bottom: 5.309vw;

        p.floor {
            font-size: 30px;
            font-style: normal;
            font-weight: 600;
            line-height: 20px;
            letter-spacing: 0.5px;
            margin-left: 8px;
        }

        p.room {
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 18px;
            letter-spacing: 0.5px;
            margin: 12px 0 12px 8px;
        }

        #mainBox {
            padding: 20px 16px;
            width: auto;
        }
    }

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

    .sec9_left p.str {
        margin: 20px auto 20px;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px; /* 187.5% */
        letter-spacing: 1px;
    }

    .sec10 {
        padding: 20px 0 1px;

        .swiper-pagination.sp_price .swiper-pagination-bullet-active {
            background: #fff !important;
        }
    }

    .sec11 {
        padding: 20px 0 1px;

        .cp_qa .cp_actab label {
            font-size: 16px;
            font-style: normal;
            font-weight: 700;
            letter-spacing: 0.5px;
            position: relative;
            display: block;
            margin: 0 0 0 0;
            padding: 1em 2em 1em 2.8em;
            cursor: pointer;
            text-indent: 0;
        }

        .cp_qa .cp_actab label::before {
            width: 30px;
            height: 30px;
            left: 5px;
            top: 50%;
        }

        .cp_qa .cp_actab label::after {
            right: 5px;
        }
    }

    .sec12 {
        padding: 20px 0 1px;
    }

    .sec13 {
        padding: 20px 0 20px;

        .d-pc-flex.contents {
            margin-top: 30px;

            .flex_img {
                width: 86%;
                margin: 0 7%;
            }

            .access_wrap {
                margin: 40px 7% 0;
                width: 86%;
            }

            p.ac_walk {
                font-size: 14px;
                font-style: normal;
                font-weight: 400;
                line-height: 30px;
                letter-spacing: .5px;
            }

            span.station {
                font-size: 20px;
                font-style: normal;
                font-weight: 500;
                line-height: 34px;
                letter-spacing: 0.5px;
            }

            span.ac_1 {
                font-size: 16px;
                font-style: normal;
                font-weight: 500;
                line-height: normal;
                letter-spacing: 0.32px;
            }

            p.ac_walk span {
                margin-left: 2px;
            }

            p.ac_walk.nihon svg {
                width: 37.927px;
                height: 23.591px;
                margin-left: 2px;
            }

            p.ac_walk.nanba svg {
                width: 52.655px;
                height: 23.977px;
                margin-left: 2px;
            }

            a.view_map {
                width: 163px;
                font-size: 14px;
                font-style: normal;
                font-weight: 400;
                line-height: 16px;
                padding: 10px 40px;
            }
        }

        table.ac_table {
            width: 100%;
        }

        table.ac_table tr:before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 100%;
            height: 0.3vw;
            background-image: linear-gradient(to right, #9e9e9e, #9e9e9e 1px, transparent 1px, transparent 2px);
            background-size: 0.821vw 1.821vw;
            background-repeat: repeat-x;
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
        }

        table.ac_table th {
            width: 20vw;
        }

        table.ac_table td,
        table.ac_table th {
            color: #fff;
            font-size: 14px;
            font-weight: 400;
            letter-spacing: 1px;
            padding: 10px 0;
        }
    }

    .sec14 {
        padding: 20px 0;

        .w860 {
            width: 92%;
        }
    }

    .sec15 {
        padding: 20px 0;
        .w860 {
            width: 265px;
        }

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

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

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

    .sec16 .flex {
        flex-direction: column;

        .flex_in {
            width: 100%;
        }
    }

    .sec17 {
        padding: 20px 0;
    }

    .no-webp .mv_1:after {
        background:url(../img/mv/mv_1.jpg);
        background-size: cover;
    }
    
    .no-webp .mv_2:after {
        background:url(../img/mv/mv_2.jpg);
        background-size: cover;
    }
    
    .no-webp .mv_3:after {
        background:url(../img/mv/mv_3.jpg);
        background-size: cover;
    }
    
    .no-webp .mv_4:after {
        background:url(../img/mv/mv_4.jpg);
        background-size: cover;
    }
    
    .no-webp .mv_5:after {
        background:url(../img/mv/mv_5.jpg);
        background-size: cover;
    }
    
    .no-webp .mv_6:after {
        background:url(../img/mv/mv_6.jpg);
        background-size: cover;
    }
    
    .webp .mv_1:after {
        background: url(/wp-content/uploads/top01sp.webp);
        background-size: cover;
    }
    
    .webp .mv_2:after {
        background: url(/wp-content/uploads/top02.webp);
        background-size: cover;
    }
    
    .webp .mv_3:after {
        background: url(/wp-content/uploads/top03.webp);
        background-size: cover;
    }
    
    .webp .mv_4:after {
        background: url(/wp-content/uploads/top04.webp);
        background-size: cover;
    }
    
    .webp .mv_5:after {
        background: url(/wp-content/uploads/top05.webp);
        background-size: cover;
    }
    
    .webp .mv_6:after {
        background: url(/wp-content/uploads/top06.webp);
        background-size: cover;
    }

    .price_card.n1 {
        & .md p {
            span.sml {
                display: block;
                font-size: 3vw;
                color: #9c9c9c;
            }
        }
    }

}