@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap&family=Quicksand:wght@300..700&display=swap');
/* @import url("https://use.typekit.net/'+config.kitId+"); */



/*========================================================
# 変数
==========================================================*/
/* フォント */
:root {
    --font-ja-mincho: "Noto Serif JP", system-ui;
    --font-ja-gothic: "Noto Sans JP", system-ui;
    --font-ja-maru: "Zen Maru Gothic", serif;
    --font-en-gothic: "Open Sans", system-ui;
    --font-en-gothic-sub: "Quicksand", sans-serif;
}

/* カラー */
:root {
    --bg-color: #faf3e7;
    --accent-color01: #e69c37;
    --accent-color02: #73a757;

    --design-color01: #f1a039;
    --design-color02: #a0c9d5;

    --font-color01: #383838;
    --font-color02: #24242f;
    --font-color03: #a1a1a1;
}

/*========================================================
# 基本設定
==========================================================*/
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-ja-gothic);
    font-size: 100%;
    line-height: 1.6875;
    color: #000;
    position: relative;
    z-index: 0;
}


/* 表示・非表示
====================================================*/
@media (min-width: 960px) {
    .is_tab {
        display: none;
    }

    .is_sp {
        display: none;
    }

    .is_tab-sp {
        display: none;
    }

}

@media (min-width: 768px) and (max-width: 959px) {
    .is_pc {
        display: none;
    }

    .is_sp {
        display: none;
    }
}

@media (max-width: 767px) {
    .is_pc {
        display: none;
    }

    .is_tab {
        display: none;
    }

    .is_pc-tab {
        display: none;
    }
}



/*========================================================
# 全体共通パーツ
==========================================================*/

/* bg-main
=============================================*/
.bg_main {
    background: var(--bg-color);
    position: relative;
}

/* swiper 共通
=============================================*/
.swiper_container {
    position: relative;
}

.swiper>.swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    -o-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.scroll_down {
    display: inline-block;
    position: absolute;
    z-index: 2;
    bottom: 250px;
    left: max(-80px, -1.148rem + -4.78vw, -5rem);

    @media (max-width: 1450px) {
        bottom: 0;
    }

    @media (max-width: 767px) {
        bottom: -118px;
        left: 12px;
    }
}

.scroll_down span {
    display: block;
    font-size: 15px;
    font-weight: 700;
    writing-mode: vertical-lr;
    color: #ffc500;
    margin-left: .7em;
    letter-spacing: 0.1em;

    @media (max-width: 767px) {
        color: #fff;
        font-size: 9px;
        margin-left: 1em;
    }
}

.scroll_down:before,
.scroll_down:after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 2px;
    height: 400px;
}

@media (max-width: 767px) {

    .scroll_down:before,
    .scroll_down:after {
        height: 184px;
    }
}

.scroll_down:before {
    background: #fff;
}

.scroll_down:after {
    background: #ffc500;
}

.scroll_down:after {
    animation: sdl01 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}


/* ly-All
=============================================*/
.ly_wrapper {
    overflow: hidden;
    max-width: 3500px;
    margin: 0 auto;
}

.ly_main-width {
    width: clamp(300px, 92%, 1920px);
    margin: 0 auto;
}


/* headLine
=============================================*/
.headLine {
    display: inline-block;
    font-family: var(--font-en-gothic);
    font-size: clamp(0.563rem, 0.413rem + 0.75vw, 1.313rem);
    font-weight: 600;
    color: var(--font-color01);
    padding-bottom: .7em;
    position: relative;

    @media (max-width: 767px) {
        padding-bottom: .9em;
    }

    &::before {
        position: absolute;
        content: "";
        background: var(--accent-color01);
        width: clamp(1.675rem, 1.401rem + 1.12vw, 2.75rem);
        height: 2px;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    &.concept {
        &::before {
            left: 0;
            transform: translateX(0);
        }

        @media (max-width: 767px) {
            &::before {
                left: 50%;
                transform: translateX(-50%);
            }
        }
    }

    &.service {
        &::before {
            left: 0;
            transform: translateX(0);
        }
    }

    &.top-support {
        padding-top: 1.3em;
        padding-bottom: 0;
        margin-top: 1.3em;

        &::before {
            background: var(--accent-color01);
            top: 0;
            left: 0;
            transform: translateX(0);
        }
    }
}


.headLine-ja {
    display: block;
    font-family: var(--font-ja-maru);
    font-size: clamp(1.25rem, 0.9rem + 1.75vw, 3rem);
    font-weight: 500;
    font-feature-settings: 'palt';
    color: var(--font-color01);
    letter-spacing: 0.08em;
    margin-top: .7em;
    line-height: 1.6;
}




/*========================================================
/* header
==========================================================*/
.header {
    position: absolute;
    width: clamp(300px, 98%, 1812px);

    .inner {
        position: relative;
    }
}

.header_logo {
    width: clamp(18.75rem, 17.083rem + 3.47vw, 21.25rem);
    position: absolute;
    top: 2em;
    left: 9.8%;
    z-index: 10;

    @media (max-width: 1450px) {
        left: 3%;
    }

    @media (max-width: 959px) {
        z-index: 7;
    }

    @media (max-width: 767px) {
        width: clamp(12.5rem, 7.974rem + 18.57vw, 16.875rem);
        top: 1.3em;
        left: 5%;
    }
}

.header_nav {
    position: fixed;
    width: clamp(24.375rem, 100vw, 218.75rem);
    top: 2.7em;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9 !important;

    @media (max-width: 959px) {
        width: 16.25rem;
        top: 0;
        left: auto;
        transform: translateX(0);
    }
}

.header_menu {
    width: min(1020px, 53%);
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 2%;
    background: var(--accent-color01);
    border-radius: 100vh;
    margin-right: 10.8%;
    padding: 0 2.2%;
    float: right;

    @media (max-width: 1920px) {
        margin-right: 8%;
    }

    @media (max-width: 1450px) {
        width: min(796px, 63%);
        margin-right: 2%;
    }

    @media (max-width: 959px) {
        width: 16.25rem;
        display: block;
        padding: 33% 2.5em;
        margin-right: 0;
        background: none;
        height: 100vh;
        gap: 2%;
    }

    >li{
        padding: 1.3em 0;

        a {
            font-family: var(--font-ja-maru);
            font-size: clamp(0.875rem, 0.438rem + 0.73vw, 1.313rem);
            font-weight: 500;
            letter-spacing: .1em;
            color: #fff;
            white-space: nowrap;

            @media (max-width: 959px) {
                display: block;
                font-size: 18px;
                color: var(--accent-color01);
            }
        }

        @media (max-width: 959px) {
            padding: .5em 0;
        }
    }
}

.support_list {
    position: relative;

    span {
        display: inline-block;
        vertical-align: middle;
        width: clamp(0.438rem, 0.188rem + 0.42vw, 0.688rem);
        margin-left: 3px;
        transition: transform 0.5s ease;
        transform: rotate(0deg);
    }

    .support_menu {
        visibility: hidden;
        opacity: 0;
        transition: all .3s;
        position: absolute;
        top: calc(100% + clamp(0rem, -0.25rem + 0.42vw, 0.25rem));
        left: 50%;
        transform: translate(-50%);
        text-align: center;
        background-color: #f6eb87;

        li {
            padding: .7em .5em;

            &:not(:last-child) {
                border-bottom: 1px solid white;
            }

            a {
                font-size: clamp(0.938rem, 0.89rem + 0.2vw, 1.125rem);
                color: #f1a039;
            }
        }

        @media (max-width: 959px) {
            position: relative;
            width: 90%;
            top: 0;
            left: 1em;
            transform: translate(0);
            visibility: visible;
            opacity: 1;
            display: none;
            transition: none;
            text-align: left;
            background-color: #fff;

            li {
                border-bottom: 1px solid var(--accent-color01) !important;
            }
        }
    }

    @media (min-width: 960px) {
        &:hover .support_menu {
            visibility: visible;
            opacity: 1;
        }

        &:hover > a span {
            transform: rotate(180deg);
        }
    }

    @media (max-width: 959px) {
        &:active .support_menu {
            visibility: visible;
            opacity: 1;
        }

        &.active > a span {
            transform: rotate(180deg);
        }
    }
}



.header_sns {
    display: flex;
    column-gap: 9px;
    align-items: center;

    @media (max-width: 1450px) {
        column-gap: 5px;
    }

    @media (max-width: 959px) {
        margin-top: 1em;
    }

    .insta {
        width: clamp(1rem, 0.125rem + 1.46vw, 1.875rem);
    }

    .fb {
        width: clamp(1rem, 0.125rem + 1.46vw, 1.875rem);
    }

    @media (max-width: 959px) {

        .insta,
        .fb {
            width: 30px;
        }
    }
}

/* drawer */
.drawer--right.drawer-open .drawer-hamburger {
    right: 0%;
}

@media (max-width: 959px) {
    .drawer-hamburger {
        width: 60.5px;
        height: 60.5px;
        background-color: var(--accent-color01);
        border-radius: 50px;
        margin: 5% 2% 0 0;
        padding: 12.2px;
        box-sizing: border-box;
        z-index: 10;

        &:hover {
            background-color: var(--accent-color01);
            opacity: 0.8;
            cursor: pointer;
        }

        @media (max-width: 500px) {
            margin: 6% 2% 0 0;
        }
    }
}

@media (max-width: 959px) {
    .drawer-hamburger-icon::before {
        top: -9.5px;
        background-color: #fff;
    }

    .drawer-hamburger-icon {
        margin-left: auto;
        margin-right: auto;
        top: -4px;
        background-color: #fff;
    }

    .drawer-hamburger-icon::after {
        top: 9.3px;
        background-color: #fff;
    }
}

.drawer-overlay {
    z-index: 8;
}


/*========================================================
/* footer
==========================================================*/
.footer {
    padding-top: min(34%, 448px);
    padding-bottom: 64px;
    color: #fff;
    background: var(--design-color01);
    width: 100%;
    height: auto;
    top: 0;
    left: 0;

    @media (max-width: 767px) {
        padding: 40% 0 15%;
    }

    .inner {
        width: clamp(300px, 85%, 1440px);
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;

        @media (max-width: 959px) {
            width: clamp(300px, 94%, 960px);
        }

        @media (max-width: 767px) {
            width: clamp(300px, 85%, 768px);
        }
    }
}

.footer_info {
    width: clamp(17.5rem, 15.142rem + 9.67vw, 26.75rem);

    @media (max-width: 767px) {
        width: 100%;
    }

    .logo {
        width: 100%;
        margin-bottom: 2.4em;

        @media (max-width: 767px) {
            width: clamp(15.625rem, 6.676rem + 44.74vw, 28.125rem);
        }
    }

    p {
        font-size: clamp(0.75rem, 0.713rem + 0.19vw, 0.938rem);
        font-family: var(--font-ja-gothic);
        line-height: 1.5;
        letter-spacing: 0.1em;

        &.add {
            margin-bottom: .7em;

            &:first-of-type {
                margin: 0;
            }
        }

        a {
            font-weight: 500;

            span {
                font-size: clamp(0.563rem, 0.483rem + 0.33vw, 0.875rem);
                padding-left: 8px;
            }
        }
    }
}

.footer_nav {
    width: 63%;
    padding-top: 27px;
}

.footer_menu {
    width: 100%;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;

    a {
        font-size: clamp(0.831rem, 0.51rem + 0.67vw, 1.313rem);
        font-weight: 500;

        @media (max-width: 959px) {
            line-height: 2;
        }
    }

    .footer_sns {
        display: flex;
        align-items: center;

        li:not(:first-child) {
            margin-left: 9px;
        }

        .insta {
            width: clamp(1.375rem, 1.042rem + 0.69vw, 1.875rem);
        }

        .fb {
            width: clamp(1.438rem, 1.104rem + 0.69vw, 1.938rem);
        }
    }

}


.footer_Copyright {
    font-family: var(--font-ja-gothic);
    font-size: 9px;
    font-weight: 600;
    text-align: center;
    padding: 5px 0;
    background: var(--bg-color);

    @media (max-width: 767px) {
        margin-bottom: clamp(4.25rem, 1.834rem + 12.08vw, 7.625rem);
    }
}


/* 追従ボタン - spのみ
=============================================*/
.sp_follow-btn {
    display: none;

    @media (max-width: 767px) {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        background: var(--accent-color01);
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        z-index: 1;
    }

    li {
        width: min(100%, 190px);

        &:not(:first-child) {
            border-left: 1px solid #fff;
        }

        a {
            display: block;
            width: 100%;

            img {
                width: min(152px, 100%);
                margin: 0 auto;
            }
        }
    }
}



/*========================================================
# page-top
==========================================================*/

.mv-container {
    position: relative;
    width: min(100%, 3500px);
    margin: 0 auto;
    padding-bottom: min(24.1%, 11.6em);

    @media (max-width: 767px) {
        padding: 5em 0 5%;
    }

    @media (max-width: 428px) {
        padding-bottom: 12%;
    }
}


/* mainVisual
=============================================*/
.mainVisual {
    width: 94.5%;
    margin: 0 0 0 auto;

    @media (max-width: 767px) {
        width: 100%;
    }
}


.sub-copy {
    font-family: var(--font-en-gothic-sub);
    font-size: 13px;
    color: #606060;
    letter-spacing: 0.1em;
    text-align: right;
    margin-top: 1.5em;
    padding-right: 1em;

    @media (min-width: 768px) and (max-width: 990px) {
        display: none;
    }

    @media (max-width: 767px) {
        position: absolute;
        font-size: 8px;
        text-align-last: left;
        letter-spacing: 0.04em;
        line-height: 1.3;
        bottom: .5em;
        right: 1em;
    }

    br {
        display: none;

        @media (max-width: 1320px) {
            display: block;
        }
    }
}

.mv_slider {
    width: 100%;
}

.mv-inner {
    width: 100%;
    max-width: 100%;
    height: 966px;
    position: relative;

    @media (max-width: 767px) {
        height: 446px;
    }

    img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -1;
    }

    &::before {
        position: absolute;
        content: "";
        background: url("../img/top/clipPath.svg") no-repeat left bottom / contain;
        width: 100%;
        height: 100%;
        left: -1px;
        bottom: -1px;
    }

    @media (max-width: 767px) {
        &::before {
            background: none;
        }
    }
}

/* swiper */
.swiper-pagination_mv {
    position: absolute;
    text-align: center !important;
    bottom: 30px !important;
    z-index: 1;

    @media (max-width: 1720px) {
        width: calc(100% - 780px) !important;
        text-align: left !important;
        right: 0;
        left: auto !important;
    }

    @media (min-width:767px) and (max-width: 921px) {
        display: none;
    }
}

.swiper-pagination_mv .swiper-pagination-bullet {
    width: 14px !important;
    height: 14px !important;
    background: transparent;
    border: 1px solid #fff;

    @media (max-width: 767px) {
        width: 8px !important;
        height: 8px !important;
    }
}

.swiper-pagination_mv .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--bg-color);
}

.swiper-pagination_mv .swiper-pagination-bullet {
    display: inline-block;
    opacity: 1;
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px) !important;

    @media (max-width: 767px) {
        margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 6px) !important;
    }
}



/* concept
=============================================*/
.concept.pc {
    max-width: 590px;
    width: 100%;
    position: absolute;
    top: 685px;
    left: 11.4%;
    z-index: 4;

    &::before {
        position: absolute;
        content: '';
        top: 50%;
        right: clamp(37.5rem, 34.875rem + 4.38vw, 40.125rem);
        transform: translateY(-50%);
        background: url(../img/decoration/deco_img01.png) no-repeat center center / contain;
        width: clamp(6.75rem, 0.375rem + 10.63vw, 13.125rem);
        height: clamp(6.25rem, 0.5rem + 9.58vw, 12rem);
    }

    @media (max-width: 959px) {
        &::before {
            display: none;
        }
    }

    @media (max-width: 767px) {
        position: static;
        text-align: center;
        width: clamp(300px, 85%, 768px);
        margin: 9% auto;
    }

    .tit {
        font-size: clamp(1.313rem, 0.861rem + 1.85vw, 2.25rem);
        color: #606060;

        @media (max-width: 767px) {
            display: none;
        }
    }

    .txt {
        font-family: var(--font-ja-gothic);
        margin-top: 3.6em;
        padding-right: 3em;
        font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
        font-weight: 400;
        line-height: 2;

        @media (max-width: 767px) {
            text-align: left;
            margin-top: 2em;
            padding: 0;
        }
    }

    /* @media (max-width: 767px) {
        .scroll_down {
            display: none;
        }
    } */
}

/* sp */
.concept.sp {
    display: none;

    @media (max-width: 767px) {
        display: block;
        padding: 7% 7% 10%;
        position: relative;
    }
}



/*  facility
==========================================================*/
.facility {
    margin-bottom: 8%;

    @media (max-width: 959px) {
        margin-bottom: 25%;
    }

    .tit {
        text-align: center;
        margin-bottom: 5em;

        .headLine::before {
            left: 50%;
            transform: translateX(-50%);
        }

        @media (max-width: 767px) {
            margin-bottom: 3em;
        }
    }

    .inner {
        width: clamp(273px, 92%, 1461px);
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        gap: 3%;

        @media (max-width: 959px) {
            flex-flow: column;
        }

        .fac-wrap {
            position: relative;

            @media (max-width: 959px) {
                &:nth-of-type(n+2) {
                    margin-top: 10%;
                }
            }

            .txt-box {
                position: absolute;
                top: 50%;
                left: 5.7%;
                transform: translateY(-50%);
                color: #fff;

                .fac-name {
                    font-family: var(--font-ja-maru);
                    font-size: clamp(1.313rem, 0.5rem + 1.35vw, 2.125rem);
                    font-weight: 500;
                    line-height: 1.1em;

                    span {
                        vertical-align: middle;
                        font-size: clamp(0.938rem, 0.563rem + 0.63vw, 1.313rem);
                    }

                    @media (max-width: 959px) {
                        font-size: clamp(0.875rem, -0.064rem + 4.69vw, 2.75rem);

                        span {
                            font-size: clamp(0.563rem, -0.001rem + 2.82vw, 1.688rem);
                        }
                    }
                }

                .add {
                    display: block;
                    font-size: clamp(0.688rem, 0.5rem + 0.31vw, 0.875rem);
                    padding-left: 1em;
                    position: relative;
                    margin: 1.2em 0 1.4em;

                    &::before {
                        position: absolute;
                        content: '';
                        top: 50%;
                        left: 0;
                        transform: translateY(-50%);
                        background: url(../img/top/fac_add-icon.png) no-repeat center center / contain;
                        width: 1em;
                        height: 1em;
                    }

                    @media (max-width: 959px) {
                        font-size: clamp(0.5rem, 0.072rem + 1.76vw, 1.125rem);
                    }

                    @media (max-width: 460px) {
                        margin: 0.5em 0 0.8em;
                    }
                }

                .btn {
                    width: fit-content;

                    a {
                        display: block;
                        font-size: clamp(0.625rem, 0.454rem + 0.7vw, 0.875rem);
                        color: #000;
                        padding: 1.1em 3.5em;
                        background-color: #fff;
                        border-radius: 100vh;
                    }
                }
            }
        }
    }
}



/*  instagram
==========================================================*/
.instagram {
    position: relative;
    padding-bottom: clamp(85px, 22%, 245px);

    &::before {
        position: absolute;
        content: '';
        top: clamp(2.813rem, -22.375rem + 41.98vw, 28rem);
        right: 6%;
        background: url(../img/decoration/deco_img02.png) no-repeat center center / contain;
        width: clamp(10.875rem, 8.75rem + 3.54vw, 13rem);
        height: clamp(6.438rem, -0.416rem + 28.12vw, 13.063rem);
    }

    @media (max-width: 767px) {
        &::before {
            background: url(../img/decoration/deco_img02_sp.png) no-repeat center center / contain;
            top: -6%;
            right: 4%;
            width: clamp(6.125rem, -3.703rem + 40.32vw, 15.625rem);
            height: clamp(6.438rem, -0.416rem + 28.12vw, 13.063rem);
        }
    }

    .insta_bg {
        height: 484px;
        width: 100vw;
        z-index: 0;
        background: url(../img/top/insta_bg.jpg) no-repeat center center / cover;

        @media (max-width: 767px) {
            height: 365px;
            background: url(../img/top/insta_bg_sp.jpg) no-repeat center center / cover;
        }
    }

    .txt_box {
        width: min(648px, 90%);
        margin: -400px auto 0;
        margin-bottom: 5%;

        @media (max-width: 767px) {
            margin-top: -300px;
        }

        .insta_logo {
            width: clamp(2.313rem, 2.153rem + 0.65vw, 2.938rem);
            margin: 0 auto 15px;
        }

        .tit {
            width: clamp(7.125rem, 5.755rem + 5.62vw, 12.5rem);
            margin: 0 auto;
        }

        .txt {
            margin-top: 2.75em;
            line-height: 1.8em;
            font-size: clamp(0.825rem, 0.78rem + 0.18vw, 1rem);
        }
    }

    .insta-feeds {
        width: min(1052px, 80%);
        margin: 0 auto;

        @media (max-width: 767px) {
            top: 5.6%;
            width: 78%;

            .txt_box {
                width: 100%;
                padding-bottom: 6%;

                .txt {
                    width: fit-content;
                    margin: 1.5em auto 0;
                }
            }
        }
    }

    .insta_Card {
        margin: 0 auto;
        height: fit-content;

        @media (max-width: 767px) {
            width: min(360px, 100%);
        }
    
        .insta-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
            gap:  clamp(1.25rem, -1.25rem + 4.17vw, 3.75rem);

            @media (max-width: 959px) {
                gap: 1.5rem 4%;
            }

            @media (max-width: 767px) {
                display: flex;
                flex-flow: column;
                height: 480px;
                overflow-y: scroll;
                border: 5px solid #000;
                -ms-overflow-style: none;
                border-radius: 20px;
                gap: 0;
                background-color: #fff;

                &::-webkit-scrollbar{
                    display: none;
                }
            }
        }

        /* 投稿 */
        .insta-media {
            overflow: hidden;
            background-color: #fff;
            box-shadow: 0px 0px 10px -5px #777;
            border-radius: 20px;
            padding-bottom: 6.8%;

            &:hover {
                opacity: .8;
            }
    
            .post_img {
                aspect-ratio: 100 / 107;
                object-fit: cover;
                object-position: center center;
            }
    
            .caption {
                text-align: left;
                width: 95%;
                margin: 0 auto;
                padding-top: 3%;
                line-height: 1.1em;

                .txt {
                    display: -webkit-box; /* 必須 */
                    -webkit-box-orient: vertical; /* 必須 */
                    line-clamp: 6;
                    -webkit-line-clamp: 6; /* 行数を制限 */
                    overflow: hidden; /* はみ出た部分を非表示 */
                }

                .post_info {
                    display: flex;
                    align-items: center;
                    color: #3f3f3f;
                    font-size: clamp(0.563rem, 0.483rem + 0.33vw, 0.875rem);
                    column-gap: 10px;

                    .insta_icon {
                        width: clamp(1.563rem, 1.222rem + 1.7vw, 2.5rem);
                        clip-path: circle(50% at 50% 50%);
                    }
                }
    
                .txt {
                    font-size: clamp(0.688rem, 0.619rem + 0.34vw, 0.875rem);
                    text-align: left;
                    margin-top: .5em;
                }
            }

            @media (max-width: 767px) {
                padding-bottom: 8%;
                overflow: visible;
                border-radius: 0;
                display: flex;
                flex-flow: column;
                box-shadow: none;

                &:nth-of-type(n+2) {
                    border-top: 1px solid #cdcdcd;
                }

                .post_img {
                    order: 2;
                    border-radius: 5px;
                }

                .caption {
                    display: contents;

                    .post_info {
                        order: 1;
                        padding: 1.5em 1em 1em;

                        .User {
                            display: flex;
                            column-gap: 20px;
                        }
                    }

                    .txt {
                        order: 3;
                        padding-left: 1em;
                    }
                }
            }
        }
    }

    .btn {
        font-family: var(--font-ja-maru);
        font-size: clamp(1.188rem, 1.108rem + 0.33vw, 1.5rem);
        text-align: center;
        margin: 8.1% auto 1em;
        width: fit-content;

        @media (max-width: 767px) {
            margin-top: 48px;
        }

        a {
            display: block;
            padding: .8em 2.5em;
            background: url(../img/top/insta-btn_bg.jpg) no-repeat top left / cover;
            border-radius: 100vh;
            position: relative;
            font-weight: 500;
            color: #fff;

            &::before {
                position: absolute;
                content: "";
                background: url(../img/top/btn-arrow_wh.png)no-repeat center center /contain;
                width: 1em;
                height: 0.6em;
                top: 50%;
                right: 8%;
                transform: translateY(-50%);
            }
        }
    }

    .insta_name {
        width: fit-content;
        font-family: var(--font-en-gothic);
        font-size: clamp(1.313rem, 1.233rem + 0.33vw, 1.625rem);
        color: var(--font-color01);
        margin: 0 auto;

        a {
            position: relative;
            padding-left: 30px;
            letter-spacing: .1em;

            &::before {
                position: absolute;
                content: "";
                top: 53%;
                left: 0;
                transform: translateY(-50%);
                width: clamp(1.188rem, 1.108rem + 0.33vw, 1.5rem);
                height: clamp(1.188rem, 1.108rem + 0.33vw, 1.5rem);
                background: url(../img/top/insta_logo.png) no-repeat center center / contain;
            }
        }
    }
}





/* all-service
=============================================*/
.all-service {
    background: var(--accent-color01);
    padding: 6.2% 0 9.2%;
    position: relative;

    &::before {
        position: absolute;
        content: '';
        top: 95%;
        right: 12.7%;
        background: url(../img/decoration/deco_img04.png) no-repeat center center / contain;
        width: clamp(9.063rem, 6.8rem + 9.28vw, 17.938rem);
        height: clamp(6.5rem, 5.337rem + 4.77vw, 11.063rem);
    }

    @media (max-width: 1299px) {
        &::before {
            right: 10%;
        }
    }

    @media (max-width: 767px) {
        padding: 15% 0 21.5%;

        &::before {
            top: 98%;
            right: 6%;
        }
    }

    .container {
        background: #fff;
        width: min(70%, 970px);
        padding: min(5.7%, 3.2em);
        margin: 0 auto 2% 10%;
        position: relative;

        &::before {
            position: absolute;
            content: '';
            left: 91%;
            bottom: 61%;
            background: url(../img/decoration/deco_img03.png) no-repeat center center / contain;
            width: clamp(7.125rem, 5.95rem + 5.88vw, 13rem);
            height: clamp(7.125rem, 5.95rem + 5.88vw, 13rem);
        }

        @media (max-width: 767px) {
            width: clamp(300px, 88%, 768px);
            margin: 0 auto 11%;

            &::before {
                left: auto;
                right: 8%;
            }
        }

        .tit {
            font-size: clamp(1.313rem, 1.217rem + 0.39vw, 1.688rem);
            margin-top: 1.5em;

            @media (min-width: 635px) {
                .is_sp_line {
                    display: none;
                }
            }
        }

        .sub-tit {
            font-family: var(--font-en-gothic-sub);
            font-size: clamp(0.5rem, 0.436rem + 0.26vw, 0.75rem);
            color: #606060;
            margin-top: 2em;
            letter-spacing: 0.1em;
        }
    }
}

.service_slider {
    .item {
        position: relative;
        width: clamp(17.85rem, 13.717rem + 16.95vw, 34.063rem);

        .txt {
            position: absolute;
            bottom: 2.4em;
            left: 50%;
            transform: translateX(-50%);
            font-family: var(--font-ja-gothic);
            font-size: clamp(0.875rem, 0.684rem + 0.78vw, 1.625rem);
            font-weight: 600;
            color: #fff3da;
            line-height: 1.4em;
            white-space: nowrap;
        }

        .key_img {
            position: absolute;
            top: 32px;
            left: 26.8px;
            width: clamp(6.375rem, 4.893rem + 6.08vw, 12.188rem);

            @media (max-width: 767px) {
                top: 17px;
                left: 14px;
            }
        }
    }
}

/* swiper */
.pagination_box {
    position: relative;
    bottom: -6vw;
    left: 9.5%;

    @media (max-width: 767px) {
        width: min(375px, 100%);
        top: 60px;
        left: 50%;
        transform: translateX(-50%);
    }

    &::before {
        position: absolute;
        content: "";
        background: url(../img/top/service-pagination_img.png) no-repeat center center /contain;
        width: clamp(2.563rem, 2.324rem + 0.98vw, 3.5rem);
        height: clamp(0.438rem, 0.39rem + 0.2vw, 0.625rem);
        bottom: 1.5em;
        left: 4px;
    }

    @media (max-width: 767px) {
        &::before {
            left: 5%;
        }
    }
}

.swiper-pagination_all-service {
    position: absolute;

    @media (max-width: 767px) {
        text-align: center;
    }
}

/* .swiper-pagination_all-service .swiper-pagination-bullet {

} */




.swiper-pagination {
    z-index: 1;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    text-align: left;
}

/* Swiperのbulletの間隔を直接上書き */
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 clamp(0.188rem, 0.173rem + 0.06vw, 0.25rem);
}


.all-service-pagination .swiper-pagination-bullet {
    position: relative;
    display: inline-block;
    width: clamp(3.563rem, 3.25rem + 1.56vw, 5.125rem) !important;
    height: 5px !important;
    background: #ece9e3;
    border-radius: 2.6px;
    opacity: 1;
}

.all-service-pagination .swiper-pagination-bullet::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #a8c9ff;
    border-radius: 2.6px;
}

.all-service-pagination .swiper-pagination-bullet-active::before {
    animation: paginationActive 6.5s linear forwards;
}


@keyframes paginationActive {
    100% {
        width: 100%;
        opacity: 1;
    }
}




/* one-day
=============================================*/
.one-day {
    margin: 9% auto 19%;
    width: 85%;

    @media (max-width: 959px) {
        width: 91%;
        margin: 23% auto;
    }

    @media (max-width: 767px) {
        margin: 30% auto 35%;
    }

    .tab_area {
        display: flex;
        flex-wrap: wrap;

        >.tab {
            display: block;
            width: clamp(7.5rem, 4.375rem + 15.63vw, 23.125rem);
            font-family: var(--font-ja-maru);
            font-size: clamp(0.75rem, 0.4rem + 1.44vw, 2.125rem);
            font-weight: 500;
            color: #fff;
            text-align: center;
            padding: 1em 0;
            border-radius: 25px 25px 0 0;
            cursor: pointer;
            float: left;
            order: -1;

            &.routine{
                background-color: var(--accent-color02);
                margin-right: 7px;
            }

            &.flow {
                background-color: var(--accent-color01);
            }

            @media (max-width: 767px) {
                border-radius: 8.5px 8.5px 0 0;
            }
        }

        input {
            display: none;
    
            &:checked + .tab {
                position: relative;
    
                &.routine::before {
                    position: absolute;
                    content: "";
                    top: 100%;
                    left: 0;
                    width: 100%;
                    height: 15px;
                    background-color: var(--accent-color02);
                }
    
                &.flow::before {
                    position: absolute;
                    content: "";
                    top: 100%;
                    left: 0;
                    width: 100%;
                    height: 15px;
                    background-color: var(--accent-color01);
                }
    
                @media (max-width: 767px) {
                    &.tab::before {
                        height: 5px;
                    }
                }
    
                & + .content {
                    display: block;
                }
            }
        }
    }

    .content {
        display: none;
        background: #fff;
        width: 100%;
        height: clamp(103.875rem, 54.375rem + 103.13vw, 178.125rem);
        outline-offset: -15px;
        outline: 2px solid var(--accent-color02);

        @media (max-width: 767px) {
            height: auto;
            padding-bottom: 15%;
            outline-offset: -5px;
        }

        .tit-wrap{
            text-align: center;
            padding-top: 9.5%;

            @media (max-width: 767px) {
                padding-top: 15%;
            }
        }

        .list {
            width: max(640px, 73%);
            margin: 0 auto;

            @media (max-width: 767px) {
                width:87%;
            }
        }

        .item {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            font-size: clamp(1.25rem, 0.947rem + 1.24vw, 2.438rem);
            position: relative;

            &:first-of-type {
                margin-top: min(177px, 10%);
            }

            &:nth-of-type(n+2) {
                margin-top: 11.5%;

                @media (max-width: 767px) {
                    margin-top: 15%;
                }
            }

            &:not(:last-of-type) {
                &::before {
                    position: absolute;
                    content: "";
                    top: 0;
                    left: 1.7em;
                    width: 4px;
                    height: calc(100% + 3.4em);
                    background-color: var(--accent-color02);
                }

                @media (max-width: 767px) {
                    &::before {
                        display: none;
                    }
                }
            }

            @media (max-width: 767px) {
                display: grid;
                width: fit-content;
            }

            .time,
            .num {
                width: clamp(4.375rem, 3.355rem + 4.18vw, 8.375rem);
                color: #f1f4ea;
                text-align: center;
                flex-shrink: 0;
                position: relative;
                z-index: 1;

                span {
                    display: block;
                    font-size: clamp(0.5rem, 0.373rem + 0.52vw, 1rem);
                }

                &.time {
                    font-size: clamp(1.25rem, 0.947rem + 1.24vw, 2.438rem);

                    &::before {
                        position: absolute;
                        content: "";
                        top: 50%;
                        left: 50%;
                        transform: translate(-50%, -50%);
                        width: 100%;
                        height: 3.1em;
                        background: url(../img/top/routine-time_bg.png) no-repeat center center / contain;
                        z-index: -1;
                    }
                }

                &.num {
                    font-size: clamp(1.875rem, 1.19rem + 2.81vw, 4.563rem);

                    &::before {
                        position: absolute;
                        content: "";
                        top: 50%;
                        left: 50%;
                        transform: translate(-50%, -50%);
                        width: 100%;
                        height: 3.1em;
                        background: url(../img/top/process-flow_bg.png) no-repeat center center / contain;
                        z-index: -1;
                    }
                }
            }

            .title {
                font-family: var(--font-ja-maru);
                font-size: clamp(1.188rem, 0.837rem + 1.44vw, 2.563rem);
                font-weight: 500;
                color: var(--accent-color02);
                white-space: nowrap;
                padding: 0 1.69em 0 .68em;
            }

            .txt {
                font-size: clamp(0.875rem, 0.763rem + 0.46vw, 1.313rem);
                line-height: 1.5em;
                margin-top: 3em;

                .str {
                    font-size: clamp(1rem, 0.873rem + 0.52vw, 1.5rem);
                    font-weight: 500;
                    color: var(--accent-color02);
                    letter-spacing: .1em;
                }

                @media (max-width: 767px) {
                    grid-column-start: 2;
                    grid-row-start: 3;
                    margin-top: 1em !important;
                }
            }

            .img {
                width: 39.2%;
                border-radius: 20px;
                overflow: hidden;
                flex-shrink: 0;
                margin: -4% auto 0 3%;

                @media (max-width: 767px) {
                    width: 100%;
                    grid-column-start: 2;
                    margin: 7% 0 0 0 !important;
                    border-radius: 11px;
                }

                @media (max-width: 450px) {
                    width: 100%;
                }
            }

            .text-box {
                flex-grow: 1;

                &.colum {
                    display: flex;

                    .txt {
                        margin: 0;
                    }
                }

                @media (max-width: 767px) {
                    display: contents !important;
                    justify-content: start !important;
                }
            }
        }

        /*  routine
        ==========================================================*/
        &.routine {
            .model {
                width: max(636px, 70%);
                color: var(--accent-color02);
                margin: 4% auto 0;
                border: 2px solid var(--accent-color02);
                border-radius: 100vh;

                .txt {
                    padding: .65em 0;
                    font-size: clamp(1rem, 0.888rem + 0.46vw, 1.438rem);
                    text-align: center;
                }

                @media (max-width: 767px) {
                    margin-top: 12%;
                    width: 251px;
                    border-radius: 50%;
                    aspect-ratio: 1 / 1;
                    position: relative;

                    .txt {
                        position: absolute;
                        top: 50%;
                        left: 50%;
                        transform: translate(-50%, -50%);
                        width: 100%;
                        padding: 0;
                        line-height: 1.4em;
                    }
                }
            }
        }

        /*  flow
        ==========================================================*/
        &.flow {
            outline: 2px solid var(--accent-color01);

            .headLine::before {
                background-color: var(--accent-color02);
            }

            .item {
                &:not(:last-of-type)::before {
                    background-color: var(--accent-color01);
                }

                .text-box {
                    margin-top: .6em;
                }

                .title {
                    color: var(--accent-color01);

                    @media (max-width: 767px) {
                        margin-top: 0.6em;
                    }
                }

                .txt .str {
                    color: var(--accent-color01);
                }

                .img {
                    margin-top: -1.3%;
                }

                .cost {
                    width: fit-content;
                    padding: 1em 1.5em;
                    margin-top: 1.3em;
                    font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
                    border-radius: 10px;
                    border: 1px solid var(--accent-color01);

                    @media (max-width: 767px) {
                        grid-column-start: 2;
                        grid-row-start: 4;
                        padding: 1em;
                    }

                    .name {
                        &:nth-of-type(n+2) {
                            margin-top: 10px;
                        }

                        &.keihi {
                            color: #606060;
                        }
                    }

                    .price {
                        font-size: clamp(1.063rem, 0.951rem + 0.46vw, 1.5rem);
                        color: var(--accent-color01);
                    }
                }
            }

            .point {
                margin: 15% auto 0;
                width: clamp(640px, 80%, 1125px);
                text-align: center;

                @media (max-width: 767px) {
                    width: 90%;
                }

                .title {
                    width: 86%;
                    margin: 0 auto -1.25em;
                    border-radius: 100vh;
                    padding: .75em 0;
                    background-color: var(--accent-color01);
                    font-family: var(--font-ja-maru);
                    font-size: clamp(1.125rem, 0.833rem + 0.61vw, 1.563rem);
                    font-weight: 500;
                    color: #fff;
                    letter-spacing: .1em;
                    position: relative;

                    &::before {
                        position: absolute;
                        content: "";
                        top: 99%;
                        left: 50%;
                        transform: translateX(-50%);
                        width: 18px;
                        height: 17px;
                        background-color: var(--accent-color01);
                        clip-path: polygon(100% 0, 0 0, 50% 100%);
                    }

                    @media (max-width: 767px) {
                        width: 96%;
                        padding: 1.2em 0;

                        &::before {
                            width: 13px;
                            height: 11px;
                        }
                    }

                    span {
                        font-size: clamp(1rem, 0.888rem + 0.46vw, 1.438rem);
                        font-weight: 500;
                        color: #000;
                    }
                }

                .txt {
                    padding: 3.5em 0;
                    background-color: #f5f2d0;
                    border-radius: 20px;
                    font-size: clamp(1rem, 0.92rem + 0.33vw, 1.313rem);
                    line-height: 1.75em;

                    .str {
                        font-weight: 500;
                        font-size: clamp(1rem, 0.92rem + 0.33vw, 1.313rem);
                        color: var(--accent-color01);
                        border-bottom: 1px solid var(--accent-color01);
                    }

                    @media (max-width: 767px) {
                        padding: 2.5em 1.2em;
                        text-align: left;
                        letter-spacing: .08em;
                    }
                }
            }
        }
    }
}



/*  overview
==========================================================*/
.overview {
    position: relative;

    &::before {
        position: absolute;
        content: '';
        top: -15%;
        left: -1%;
        background: url(../img/decoration/deco_img05.png) no-repeat center center / contain;
        width: clamp(8rem, 4.782rem + 13.2vw, 20.625rem);
        height: clamp(6.25rem, 3.765rem + 10.2vw, 16rem);
    }

    @media (max-width: 959px) {
        &::before {
            top: -10%;
        }
    }

    @media (max-width: 767px) {
        &::before {
            top: -7%;
            left: 63%;
        }
    }

    >.tit-wrap {
        text-align: center;
    }

    .inner {
        width: max(912px, 74%);
        margin: 0 auto;
        padding-top: 8.4%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        row-gap: 50px;

        @media (max-width: 959px) {
            width: min(550px, 88%);
            row-gap: 35px;
            flex-flow: column;
        }
    }

    .container {
        width: 48%;
        padding-bottom: 2%;
        background-color: #fff;
        position: relative;

        &::before {
            position: absolute;
            content: "";
            top: 0;
            left: 0;
            width: 11.7px;
            height: 100%;
            background-color: var(--accent-color01);
        }

        .tit-wrap {
            padding-left: 8.2%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: radial-gradient(circle, #ece9e3 2px, transparent 2px) repeat-x left bottom / 8px 2px;

            .tit {
                padding-left: .7em;
                font-family: var(--font-ja-maru);
                font-size: clamp(1.125rem, 0.934rem + 0.78vw, 1.875rem);
                font-weight: 500;
                line-height: 1.3em;
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    top: 1em;
                    left: 0;
                    transform: translateY(-0.45em);
                    width: 11px;
                    height: 11px;
                    background: var(--accent-color01);
                    border-radius: 50%;
                }
            }

            .tit_img {
                width: clamp(4.125rem, 3.408rem + 2.94vw, 6.938rem);
            }

            @media (max-width: 959px) {
                padding-left: 5%;
            }

            @media (max-width: 767px) {
                padding-left: 7%;

                .tit::before {
                    width: 6px;
                    height: 6px;
                }
            }
        }

        @media (max-width: 959px) {
            width: 100%;
            aspect-ratio: auto;

            &::before {
                width: 6px;
            }
        }
    }

    .inner_txt {
        padding: 3% 3% 0 8.2%;
        margin: 0 auto;
        font-size: clamp(0.938rem, 0.863rem + 0.38vw, 1.313rem);

        @media (max-width: 959px) {
            padding: 3% 2% 5% 5%;
        }

        @media (max-width: 767px) {
            padding-left: 7%;
        }

        >ul {
            li {
                line-height: 1.3em;
                padding-left: .5em;
                position: relative;

                &:nth-of-type(n+2) {
                    margin-top: .5em;
                }

                &::before {
                    position: absolute;
                    content: "";
                    top: 1em;
                    left: 0;
                    transform: translateY(-0.5em);
                    width: 3px;
                    height: 3px;
                    background: #000;
                    border-radius: 50%;
                }

                span {
                    letter-spacing: .1em;
                    font-size: clamp(1.125rem, 1.045rem + 0.33vw, 1.438rem);
                    font-weight: 500;
                    color: var(--accent-color01);

                    &.sub {
                        font-size: clamp(0.875rem, 0.811rem + 0.26vw, 1.125rem);
                        font-weight: 400;
                        color: #000;
                    }

                    &.foods {
                        font-size: clamp(0.938rem, 0.874rem + 0.26vw, 1.188rem);
                    }
                }
            }

            &.price-wrap li:nth-of-type(n+2) {
                margin-top: 0;
            }

            @media (max-width: 959px) {
                li:nth-of-type(n+2) {
                    margin-top: .7em !important;
                }
            }
        }

        >.txt {
            line-height: 1.65em;

            .sub {
                font-size: clamp(0.875rem, 0.811rem + 0.26vw, 1.125rem);
            }

            .str {
                font-size: clamp(1.063rem, 0.935rem + 0.52vw, 1.563rem);
                font-weight: 500;
                color: var(--accent-color01);
                border-bottom: 1px solid var(--accent-color01);
            }

            &.price {
                margin: 1em auto .5em;
                letter-spacing: .1em;
                line-height: 1.3em;

                @media (max-width: 767px) {
                    margin-bottom: 0;
                }
            }
        }
    }
    .total {
        width: 86%;
        padding: 1em 1em;
        background-color: #f3f0ce;
        text-align: center;
        margin: 0 auto;

        @media (max-width: 959px) {
            width: 92%;
            padding: 1em 0;
        }

        @media (max-width: 767px) {
            width: max(252px, 56%);
            margin-bottom: 5%;
        }
        .txt {
            line-height: 1.3em;
            font-weight: 500;

            span {
                font-size: clamp(1.313rem, 1.201rem + 0.46vw, 1.75rem);
                font-weight: 500;
                color: var(--accent-color01);
                letter-spacing: .1em;
                margin-left: .5em;

                @media (max-width: 767px) {
                    display: block;
                    margin-top: 0.5em;
                    margin-left: 0;
                }
            }
        }

        .nb {
            font-size: clamp(0.875rem, 0.811rem + 0.26vw, 1.125rem);
            margin-top: .8em;
            letter-spacing: .1em;
            line-height: 1.5em;
        }
    }
}



/* top-support
=============================================*/
.top-support {
    width: min(87%, 1400px);
    margin: 12.7% auto;
    position: relative;

    .column {
        display: flex;
        border-radius: 30px;
        overflow: hidden;
        position: relative;

        @media (max-width: 959px) {
            flex-wrap: wrap;
        }

        &::before {
            position: absolute;
            content: "";
            background: url("../img/top/support_clipPath.svg") no-repeat left bottom / cover;
            height: 100%;
            width: clamp(32.5rem, 26.188rem + 10.52vw, 38.813rem);
            left: 0;
            bottom: 0px;
        }

        @media (max-width: 1100px) {
            &::before {
                width: clamp(29.375rem, 16.518rem + 21.43vw, 31.25rem);
            }
        }

        @media (max-width: 959px) {
            &::before {
                display: none;
            }
        }
    }

    .txt_box {
        width: 422px;
        margin-left: max(38px, 5.2%);
        padding: 2.5% 0 4.6%;
        position: relative;
        color: #fff;

        @media (max-width: 959px) {
            width: 100%;
            margin: -33.5% 0 0 0;
            padding: 14% 7% 11%;
            order: 2;
            background: url("../img/top/support_clipPath_sp.svg") no-repeat top center / cover;
        }
    
        .tit {
            color: #fff;

            @media (max-width: 959px) {
                margin-top: 0;
            }
    
            span {
                font-size: clamp(0.813rem, 0.494rem + 1.31vw, 2.063rem);
                font-weight: 500;
                margin-left: -0.36em;
            }
        }

        .headLine {
            font-weight: 400;
            color: #fff;
        }
    
        .txt {
            font-family: var(--font-ja-gothic);
            font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
            line-height: 2;
        }
    
        .btn {
            font-family: var(--font-ja-maru);
            font-size: clamp(0.688rem, 0.576rem + 0.46vw, 1.125rem);
            text-align: center;
            margin: 2em 0 0 0;
            width: 70%;
    
            a {
                display: block;
                padding: .8em 0;
                border: .25px solid #fff;
                background: #fff;
                border-radius: 100vh;
                position: relative;
                font-weight: 500;
                color: var(--font-color01);
                font-size: clamp(1rem, 0.873rem + 0.52vw, 1.5rem);
    
                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/top/btn-arrow.png)no-repeat center center /contain;
                    width: clamp(0.5rem, 0.42rem + 0.33vw, 0.813rem);
                    height: clamp(0.625rem, 0.513rem + 0.46vw, 1.063rem);
                    top: 50%;
                    right: 10%;
                    transform: translateY(-50%);
                }
    
                &:hover {
                    background-color: rgba(255, 255, 255, 0.8);
                    border: .25px solid rgba(255, 255, 255, 0.8);
    
                    opacity: 1;
                }
            }

            @media (max-width: 959px) {
                margin: 2em auto 0;
                width: min(438px, 81%);
            }
        }
    }
    
    .support_img {
        width: 70%;
    
        @media (max-width: 959px) {
            width: 99.8%;
            height: auto;
        }
    
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top right;
    
            @media (max-width: 1580px) {
                object-position: top 0px left 85%;
            }
        }
    }
}




/* access
=============================================*/
.access {
    width: min(90%, 1342px);
    margin: 15.1% auto 13.6%;
    text-align: center;
    position: relative;

    &::before {
        position: absolute;
        content: '';
        top: -5.7%;
        left: 92%;
        background: url(../img/decoration/deco_img06.png) no-repeat center center / contain;
        width: clamp(7rem, 6.124rem + 3.59vw, 10.438rem);
        height: clamp(7.75rem, 5.743rem + 8.24vw, 15.625rem);
    }

    @media (max-width: 959px) {
        margin-bottom: 26.6%;

        &::before {
            background: url(../img/decoration/deco_img06_sp.png) no-repeat center center / contain;
            top: -2.7%;
            left: -5.4%;
        }
    }

    @media (max-width: 767px) {
        width: 90%;
        margin: 37% auto max(210px, 31%);
    }

    @media (max-width: 400px) {
        &::before {
            top: -5%;
            left: -6%;
        }
    }

    .inner {

        .tit {
            margin-top: .5em;
        }

        .column {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 6.4% 0 23%;

            @media (max-width: 959px) {
                flex-flow: column;
                margin-bottom: 33%;
            }

            @media (max-width: 767px) {
                margin-bottom: max(180px, 47%);
            }

            &:nth-of-type(n+2) {
                margin: 0;
            }
        }

        .info {
            width: min(500px, 45%);
            text-align: left;
            color: #606060;

            @media (max-width: 959px) {
                order: 1;
                width: 95%;
                margin: 0 auto;
                display: flex;
                flex-flow: column-reverse;
            }

            .tag {
                width: clamp(8.563rem, 7.313rem + 6.25vw, 14.813rem);
                margin-bottom: 28px;

                @media (max-width: 959px) {
                    margin: 6% 0 15px;
                }
            }

            .logo {
                width: clamp(15.313rem, 12.938rem + 11.88vw, 27.188rem);
                margin-bottom: 2em;

                @media (max-width: 959px) {
                    margin-top: 3em;
                }

                @media (max-width: 767px) {
                    margin: 4% 0;
                }
            }

            p {
                font-size: clamp(0.813rem, 0.733rem + 0.33vw, 1.125rem);
                line-height: 1.8;
                letter-spacing: 0.1em;
                a {
                    span {
                        font-size: clamp(0.625rem, 0.561rem + 0.26vw, 0.875rem);
                        line-height: 1em;
                        padding-left: .8em;
                    }
                }
            }

            .sns {
                display: flex;
                align-items: center;
                margin-top: 1.4em;
                column-gap: 8px;

                li {
                    width: clamp(1.563rem, 1.483rem + 0.33vw, 1.875rem);

                    @media (max-width: 959px) {
                        width: 30px;
                    }
                }
            }

            .img {
                margin-top: 3em;
                border-radius: 40px;
                overflow: hidden;
                width: 89%;

                &.is-tab_sp {
                    display: none;
                }

                @media (max-width: 959px) {
                    width: 100%;
                    margin: 1.5em auto 0;
                    border-radius: 27px;
                    order: 1;

                    &.is-pc {
                        display: none;
                    }

                    &.is-tab_sp {
                        display: block;
                    }
                }
            }
        }

        .access-ishiwara,
        .access-honjou {
            margin-top: 1em;
            text-align-last: left;

            li {
                font-size: clamp(0.625rem, 0.561rem + 0.26vw, 0.875rem);
                padding-left: 20px;
                background: url(../img/top/accsess_list-icon_blue.png) no-repeat;
                background-size: 1.3em auto;
                line-height: 1.57em;

                &:nth-of-type(n+2) {
                    margin-top: .4em;
                }
            }

            &.access-honjou li {
                background: url(../img/top/accsess_list-icon_pink.png) no-repeat;
                background-size: 1.3em auto;
            }

            @media (max-width: 959px) {
                padding-left: 1em;
            }
        }

        .Gmap {
            width: max(44.8%, 380px);
            height: min(58vw, 800px);
            line-height: 0;

            @media (max-width: 959px) {
                width: 100%;
                aspect-ratio: 3 / 4;
                margin-top: clamp(1.5rem, 1.118rem + 1.57vw, 3rem);
                order: 2;
            }

            iframe {
                width: 100%;
                height: 100%;
                border-radius: 50px;

                @media (max-width: 767px) {
                    border-radius: 28px;
                }
            }

            .link-img {
                width: clamp(8.375rem, 7.722rem + 2.68vw, 10.938rem);
                margin-top: 1em;
                padding-left: 1em;
            }
        }
    }
}


/*========================================================
/* contact
==========================================================*/
.contact {
    width: 100%;
    height: min(48.3vw, 928px);
    position: relative;

    @media (max-width: 767px) {
        height: max(253px, 46vw);
    }

    .parallax-wrap {
        height: 100%;

        .simpleParallax {
            height: 100% !important;
        }
    }

    .inner {
        width: clamp(18rem, 5.9rem + 60.5vw, 78.5rem);
        background: #fff;
        text-align: center;
        margin: 0 auto;
        padding: 7.8% 7%;
        position: absolute;
        top: 43.5%;
        left: 50%;
        transform: translateX(-50%);

        @media (max-width: 767px) {
            top: 30%;
            padding: 7.8% 4%;
        }

        .headLine {
            &::before {
                background: var(--accent-color01);
            }
        }

        .tit {
            margin-top: 0.6em;
        }

        .list {
            margin-top: 7.6%;

            li {
                position: relative;
                margin-top: 4.9%;
                font-family: var(--font-ja-maru);
                color: #fff;
            }

            .tel {
                font-size: clamp(1rem, 0.6rem + 2vw, 3rem);
                letter-spacing: .1em;

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/icon_tel.png)no-repeat center /contain;
                    width: clamp(1.425rem, 0.577rem + 3.48vw, 4.75rem);
                    height: clamp(0.65rem, 0.242rem + 1.67vw, 2.25rem);
                    top: 50%;
                    left: 10%;
                    transform: translateY(-50%);
                    z-index: 2;
                }

                @media (max-width: 767px) {
                    &::before {
                        left: 8%;
                    }
                }
            }

            .mail {
                font-size: clamp(1rem, 0.57rem + 1.76vw, 2.688rem);

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/icon_mail.png)no-repeat center /contain;
                    width: clamp(1.775rem, 0.746rem + 4.22vw, 5.813rem);
                    height: clamp(0.481rem, 0.19rem + 1.2vw, 1.625rem);
                    top: 50%;
                    left: 8%;
                    transform: translateY(-50%);
                    z-index: 2;
                }

                a {
                    background-color: var(--design-color02);
                }
            }

            a {
                display: block;
                background: var(--accent-color02);
                border-radius: 100vh;
                padding: 1em;
                position: relative;
                font-weight: 500;

                @media (max-width: 767px) {
                    padding: 0 .5em 0 23%;
                    height: clamp(2.813rem, 1.14rem + 6.86vw, 9.375rem);
                    line-height: clamp(2.813rem, 1.14rem + 6.86vw, 9.375rem);
                    text-align: left;
                }

                dl {
                    position: absolute;
                    top: 50%;
                    right: 8%;
                    transform: translateY(-50%);
                    font-family: var(--font-ja-gothic);
                    letter-spacing: 0.05em;
                    text-align: center;

                    dt {
                        font-size: clamp(0.5rem, 0.388rem + 0.46vw, 0.938rem);
                        font-weight: 300;
                    }

                    dd {
                        font-size: clamp(0.625rem, 0.338rem + 1.18vw, 1.75rem);
                        font-weight: 300;
                        margin-top: .4em;
                    }
                }
            }
        }
    }
}


/*========================================================

# support / sub-page

==========================================================*/


/* sub-mainVisual
=============================================*/
.sub-mainVisual {
    width: 94.5%;
    margin: 0 0 0 auto;
    position: relative;
    border-radius: 0 0 0 60px;
    overflow: hidden;

    @media (max-width: 767px) {
        border-radius: 0 0 0 40px;
    }
}



/* support
=============================================*/
.support {
    width: min(95%, 1374px);
    margin: 0 auto;
    padding: 8.8% 0;
    text-align: center;

    @media (max-width: 767px) {
        padding: 9% 0 34%;
    }

    .headLine {
        &::before {
            background: var(--accent-color01);
        }
    }

    .tit {
        margin-top: 0.6em;
    }

    .inner {
        margin: 12.8% auto 0;

        .container {
            display: flex;
            align-items: center;
            margin-top: 11.3%;
            gap: max(60px, 13%);
            position: relative;

            @media (max-width: 959px) {
                margin-top: 10%;
                gap: clamp(1.875rem, -3.151rem + 10.47vw, 3.125rem);
            }

            @media (max-width: 767px) {
                display: block;

                &:not(:first-child) {
                    margin-top: 30%;
                }
            }

            &:nth-child(even) {
                flex-direction: row-reverse;
            }

            .img {
                width: min(673px, 47%);

                @media (max-width: 767px) {
                    width: 97%;
                    margin: 0 auto;
                }
            }
        }

        figcaption {
            width: max(340px, 34%);
            text-align: left;

            @media (max-width: 767px) {
                width: 100%;
                text-align: center;
            }

            .tit {
                font-family: var(--font-ja-maru);
                font-size: clamp(1.25rem, 1.123rem + 0.52vw, 1.75rem);
                font-weight: 500;
                color: var(--accent-color01);
                position: relative;
                z-index: 0;

                @media (max-width: 767px) {
                    margin-top: min(20%, 87px);
                    display: inline-block;
                }

                .num {
                    position: relative;
                    color: #f1eee8;
                    font-size: clamp(1.5rem, 1.309rem + 0.78vw, 2.25rem);
                    margin-right: 1em;
                    letter-spacing: .1em;

                    &::before {
                        position: absolute;
                        content: "";
                        background: url(../img/support/deco_num_back.png) no-repeat center center /contain;
                        width: clamp(3.25rem, 2.836rem + 1.7vw, 4.875rem);
                        height: clamp(2.813rem, 2.207rem + 2.48vw, 5.188rem);
                        top: 54%;
                        left: 50%;
                        transform: translate(-50%, -50%);
                        z-index: -1;
                    }
                }
            }

            .txt {
                font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
                line-height: 2.06;
                margin-top: 3em;
                text-align-last: left;

                .num03 {
                    display: none;
                }

                @media (min-width: 960px) {
                    .str {
                        color: var(--accent-color01);
                        font-size: clamp(1rem, 0.952rem + 0.2vw, 1.188rem);
                        font-weight: 500;

                        &.border {
                            border-bottom: 1px solid var(--accent-color01);
                        }
                    }
                }

                @media (min-width: 768px) and (max-width: 1290px) { /* 改行 */
                    .num03 {
                        display: block;
                    }
                }

                @media (max-width: 767px) {
                    line-height: 2.2;

                    &.num03-txt {
                        width: fit-content;
                        margin-inline: auto;
                    }
                }

                @media (max-width: 450px) {
                    .num03 {
                        display: block;
                    }
                }
            }

            .support-menu {
                display: flex;
                font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
                column-gap: 2em;
                margin-top: 2em;
                text-align: left;

                li:nth-of-type(n+2) {
                    margin-top: .5em;
                }

                @media (max-width: 767px) {
                    column-gap: 1em;
                    justify-content: center;
                    white-space: nowrap;
                }
            }
        }
    }

    .deco01 {
        z-index: 1;

        &::before {
            position: absolute;
            content: '';
            top: 62%;
            left: 30%;
            background: url(../img/decoration/deco_img07.png) no-repeat center center / contain;
            width: clamp(7.25rem, 4.319rem + 12.03vw, 18.75rem);
            height: clamp(5.125rem, 3.022rem + 8.63vw, 13.375rem);
            z-index: 2;
        }

        @media (max-width: 959px) {
            &::before {
                left: 28%;
            }
        }

        @media (max-width: 767px) {
            &::before {
                top: 40%;
                left: auto;
                right: 0;
            }
        }

        @media (max-width: 480px) {
            &::before {
                top: 30%;
            }
        }
    }

    .deco02 {
        z-index: 1;

        &::before {
            position: absolute;
            content: '';
            top: 75%;
            right: 8.3%;
            background: url(../img/decoration/deco_img08.png) no-repeat center center / contain;
            width: clamp(6.063rem, 4.8rem + 6.31vw, 12.375rem);
            height: clamp(6.063rem, 4.8rem + 6.31vw, 12.375rem);
            z-index: 2;
        }

        @media (max-width: 767px) {
            &::before {
                top: clamp(7.5rem, -2.567rem + 50.34vw, 21.563rem);
                left: clamp(12.5rem, -3.607rem + 80.54vw, 35rem);
                right: auto;
            }
        }
    }

    .deco03 {
        z-index: 1;

        &::before {
            position: absolute;
            content: '';
            top: 75%;
            left: -3.2%;
            background: url(../img/decoration/deco_img09.png) no-repeat center center / contain;
            width: clamp(6.625rem, 4.395rem + 9.15vw, 15.375rem);
            height: clamp(5.438rem, 3.621rem + 7.45vw, 12.563rem);
            z-index: 2;
        }

        @media (max-width: 767px) {
            &::before {
                top: clamp(7.063rem, -1.528rem + 42.95vw, 19.063rem);
            }
        }
    }

    .deco04 {
        z-index: 1;

        &::before {
            position: absolute;
            content: '';
            top: 60.5%;
            right: .8%;
            background: url(../img/decoration/deco_img10.png) no-repeat center center / contain;
            width: clamp(6.063rem, 4.8rem + 6.31vw, 12.375rem);
            height: clamp(6.063rem, 4.8rem + 6.31vw, 12.375rem);
            z-index: 2;
        }

        @media (max-width: 767px) {
            &::before {
                top: clamp(7.5rem, -2.567rem + 50.34vw, 21.563rem);
            }
        }
    }
}



/*  qa
==========================================================*/
.qa {
    .tit-wrap {
        text-align: center;

        .headLine {
            &::before {
                background: var(--accent-color01);
            }
        }
    }

    >.inner {
        width: max(670px, 74.5%);
        margin: 0 auto;
        padding-top: 6%;

        @media (max-width: 767px) {
            width: min(93%, 592px);
        }
    }
}

.qa_box {
    outline-offset: -2px;
    outline: 2px solid var(--accent-color01);
    border-radius: 20px;
    overflow: hidden;
    font-family: var(--font-ja-maru);
    letter-spacing: .1em;
    height: var(--acc-height--closed ,auto);
    transition: height .25s ease;

    &.is-opened{
        height: var(--acc-height--opened ,auto);
        transition: height .38s ease;

        .question::before {
            transform: translateY(-50%) rotate(135deg);
        }
    }

    &:nth-of-type(n+2) {
        margin-top: 2.15em;

        @media (max-width: 767px) {
            margin-top: 1.9em;
        }
    }

    .question {
        display: flex;
        align-items: flex-start;
        background-color: var(--accent-color01);
        font-size: clamp(1rem, 0.841rem + 0.65vw, 1.625rem);
        color: #fff;
        padding: 1.26em 0 1.26em 1em;
        pointer-events: none;
        gap: .8em;
        --iconWidth: clamp(2.063rem, 1.585rem + 1.96vw, 3.938rem);

        &::-webkit-details-marker {
            display: none;
        }

        .icon {
            width: var(--iconWidth);
            text-align: center;
            font-size: clamp(1rem, 0.793rem + 0.85vw, 1.813rem);
            font-weight: 500;
            position: relative;
            z-index: 1;

            &::before {
                position: absolute;
                content: "";
                top: 50%;
                left: 50%;
                transform: translate(-51%, -47%);
                width: 100%;
                aspect-ratio: 1 / 1;
                background-color: var(--accent-color02);
                border-radius: 50%;
                z-index: -1;
            }
        }

        p {
            line-height: 1.3em;
            width: calc(100% - var(--iconWidth));
        }

        @media (max-width: 767px) {
            cursor: pointer;
            pointer-events: all;
            position: relative;
            padding: 1.5em 1.5em 1.5em 1em;
            gap: 0.3em;
            letter-spacing: 0.06em;

            &::before {
                position: absolute;
                display: inline-block;
                content: "";
                top: 50%;
                transform: translateY(-50%);
                right: 1em;
                background: url(../img/support/qa_btn-arrow.png) no-repeat center center / contain;
                width: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
                height: clamp(1.25rem, -0.509rem + 3.66vw, 1.688rem);
                transition: all .35s;
            }
        }

        @media (max-width: 400px) {
            padding-left: 0.5em;

            &::before {
                right: 0.5em;
            }
        }

        @media (max-width: 358px) {
            .q04_line {
                display: none;
            }
        }
    }

    .answer {
        background-color: #fff;
        padding: 1.84em 1em;
        display: flex;
        font-size: clamp(1rem, 0.841rem + 0.65vw, 1.625rem);
        align-items: flex-start;
        justify-content: center;
        gap: .8em;
        --iconWidth: clamp(1rem, 0.793rem + 0.85vw, 1.813rem);

        .icon {
            width: var(--iconWidth);
            text-align: center;
            font-size: var(--iconWidth);
            font-weight: 500;
            color: var(--accent-color01);
            margin-top: 4px;
        }

        p {
            line-height: 1.5em;
            width: calc(100% - var(--iconWidth));
            letter-spacing: 0em;
        }

        @media (max-width: 767px) {
            padding: 1em;
            gap: 0.5em;

            .icon {
                width: 1em;
            }

            .p {
                width: calc(100% - 1em);
            }
        }
    }
}


.qa_more_wrap {
    margin-top: 9.4%;
    position: relative;
    z-index: 1;

    &::before {
        position: absolute;
        content: '';
        top: 14.3%;
        right: 24.4%;
        background: url(../img/support/qa_more_dec.png) no-repeat center center / contain;
        width: clamp(3.063rem, 2.728rem + 1.37vw, 4.375rem);
        height: clamp(4.5rem, 3.735rem + 3.14vw, 7.5rem);
        z-index: 2;
    }

    @media (max-width: 1240px) {
        &::before {
            right: 14%;
        }
    }

    @media (max-width: 767px) {
        margin-top: 22.4%;

        &::before {
            top: clamp(1.563rem, -2.688rem + 21.25vw, 7.5rem);
            right: clamp(0.375rem, -4.368rem + 23.71vw, 7rem);
            background: url(../img/support/qa_more_dec_sp.png) no-repeat center center / contain;
        }
    }

    .inner {
        padding: 9.6% 0;
        position: relative;
        z-index: 1;

        &::before {
            position: absolute;
            content: "";
            background: url(../img/support/qa_more_bg.jpg) no-repeat center center / cover;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100vw;
            height: 100%;
            z-index: -1;
        }

        @media (max-width: 767px) {
            padding: 29% 0 19%;

            &::before {
                background: url(../img/support/qa_more_bg_sp.jpg) no-repeat center center / cover;
                top: 0;
                transform: translate(-50%, 0);
            }
        }

        .headLine-ja {
            text-align: center;
            padding-bottom: 1rem;
            margin: 0 auto 1.2em;
            position: relative;

            &::before {
                position: absolute;
                content: "";
                left: 50%;
                bottom: 0;
                transform: translateX(-50%);
                width: 12em;
                height: 12px;
                background: url(../img/support/qa_more_line.png) no-repeat center center / cover;
            }

            @media (max-width: 767px) {
                margin-bottom: 1.6em;
            }
        }

        .text-box {
            width: fit-content;
            text-align: center;
            margin: 0 auto;

            .txt {
                text-align: left;
                font-size: clamp(1rem, 0.92rem + 0.33vw, 1.313rem);
                line-height: 1.8em;
                letter-spacing: .1em;
            }

            @media (max-width: 767px) {
                width: 83vw;
            }
        }

        .btn {
            margin: 4% auto 0;
            width: fit-content;

            a {
                display: block;
                padding: .8em 2.9em;
                border: .25px solid var(--accent-color02);
                background-color: var(--accent-color02);
                border-radius: 100vh;
                font-family: var(--font-ja-maru);
                font-size: clamp(1.063rem, 0.951rem + 0.46vw, 1.5rem);
                color: #fff;
                letter-spacing: .1em;
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/support/btn-arrow_wh.png)no-repeat center center /contain;
                    width: clamp(0.5rem, 0.42rem + 0.33vw, 0.813rem);
                    height: clamp(0.625rem, 0.513rem + 0.46vw, 1.063rem);
                    top: 50%;
                    right: 10%;
                    transform: translateY(-50%);
                }

                &:hover {
                    border: .25px solid rgba(109, 153, 138, 0.8);
                    background-color: rgba(109, 153, 138, 0.8);
                    opacity: 1;
                }
            }

            @media (max-width: 767px) {
                margin-top: 14%;
            }
        }
    }
}


/* staff
=============================================*/
.staff {
    background: #fff;
    width: min(95%, 1467px);
    margin: 14.8% auto 22%;
    outline: 2px solid var(--accent-color02);
    outline-offset: -15px;

    @media (max-width: 767px) {
        width: 100%;
        outline-offset: -7px;
        outline: 1px solid var(--accent-color02);
        margin: 29.5% auto 22%;
    }

    .inner {
        text-align: center;
        padding: 10.6% 11.1% 14%;

        @media (max-width: 959px) {
            padding: 10.6% 7.1% 14%;
        }

        @media (max-width: 767px) {
            padding: 15.6% 8.1% 19.3%;
        }

        .tit {
            margin-top: 0.6em;
        }
    }

    .container {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 12%;
        gap: 0 5em;

        @media (max-width: 959px) {
            margin-top: 18%;
            gap: 0;
        }

        @media (max-width: 767px) {
            display: block;

            &:nth-of-type(n+2) {
                margin-top: 40%;
            }
        }

        .img {
            width: 36%;
            margin-left: 4.3%;
            border-radius: 30px;
            overflow: hidden;

            @media (max-width: 767px) {
                width: 80%;
                margin: 0 auto;
                border-radius: 16.5px;
            }
        }

        figcaption {
            width: 50%;
            text-align: left;
            font-family: var(--font-ja-gothic);

            @media (max-width: 767px) {
                width: 100%;
                margin: 13% auto 0;
            }

            .position {
                font-size: clamp(0.438rem, 0.326rem + 0.46vw, 0.875rem);
                margin-top: 2.4em;
            }

            .name {
                font-size: clamp(1.563rem, 1.355rem + 0.85vw, 2.375rem);
                margin-top: .7em;
                padding-bottom: 0.7em;
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    width: 100%;
                    height: 2px;
                    left: 0;
                    bottom: 0;
                    background-color: var(--accent-color02);
                }
            }

            dl {
                margin-top: 8.5%;

                @media (max-width: 767px) {
                    &:nth-of-type(n+2) {
                        margin-top: 15%;
                    }
                }

                dt {
                    font-size: clamp(0.813rem, 0.685rem + 0.52vw, 1.313rem);
                    padding-left: 1.3em;
                    position: relative;

                    &::before {
                        position: absolute;
                        content: "";
                        background: url(../img/support/square.jpg) no-repeat center center /contain;
                        width: 12.7px;
                        height: 12.7px;
                        top: 50%;
                        left: 0;
                        transform: translateY(-50%);
                    }
                }

                dd {
                    font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
                    line-height: 1.6em;
                    margin-top: 1.5em;

                    @media (max-width: 767px) {
                        margin-top: .8em;
                    }
                }
            }
        }
    }
}




/*========================================================
    soon Page
==========================================================*/
.soon-wrap {
    .soon-img {
        width: 94.5%;
        aspect-ratio: 18 / 5;
        margin-left: auto;
        border-radius: 0 0 0 clamp(2.5rem, 1.974rem + 2.16vw, 4.563rem);
        background: url(../img/soon/soon.jpg) no-repeat center / cover;
    }

    .text-box {
        padding: 5% 0 12%;
    }

    .soon-tit {
        font-family: var(--font-en-gothic);
        font-size: clamp(2.344rem, 0.923rem + 7.1vw, 6.25rem);
        color: #508b79;
        font-weight: 500;
        text-align: center;
    }

    .soon-txt {
        text-align: center;
        margin-top: 1em;
        font-family: var(--font-ja-gothic);
        font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
        color: #606060;
        line-height: 1.4em;
    }

    @media (max-width: 767px) {
        .soon-img {
            aspect-ratio: 73 / 37;
        }

        .text-box {
            padding: 20% 0 35%;
        }
    }
}



/*========================================================
    Animation
==========================================================*/

.line {
    --clip: 0%;

    &::before {
        clip-path: inset(0px var(--clip) 0px 0px);
    }
}

.nameLine {
    --clip: 0%;

    &::before {
        clip-path: inset(0px var(--clip) 0px 0px);
    }
}