@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * COMMON..............共通パーツ
 * VARIABLE-HIDE.......可変幅による表示非表示
 * HEADER..............ヘッダーパーツ
 * FOOTER..............フッターパーツ
 * CONTENTS............各種コンテンツ
 */





/*------------------------------------*\
    $COMMON
\*------------------------------------*/
.wrap {
    position: relative;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .wrap {
        max-width: 480px;
        margin-inline: auto;
    }
}





/**
 * Hide contents
 */
/* Hide elements */
.hide {
    content-visibility: auto;
    display: none;
}

/* Hide scrollbar */
.non-scrollbar {
    -ms-overflow-style: none; /* Edge */
    scrollbar-width: none; /* Firefox */
}
.non-scrollbar::-webkit-scrollbar { /* Safari */
    content-visibility: auto;
    display: none;
}





/*------------------------------------*\
    $VARIABLE-HIDE
\*------------------------------------*/
.portrait,
.landscape,
.less768,
.over768,
.less1024,
.over1024,
.less1280,
.over1280 { content-visibility: auto }

/* Aspect ratio */
@media screen and (orientation: landscape) {
    .portrait { display: none }
}
@media screen and (orientation: portrait) {
    .landscape { display: none }
}

/* iPad */
@media screen and (min-width: 768px) {
    .less768 { display: none }
}
@media screen and (max-width: 767px) {
    .over768 { display: none }
}

/* iPad Pro */
@media screen and (min-width: 1024px) {
    .less1024 { display: none }
}
@media screen and (max-width: 1023px) {
    .over1024 { display: none }
}

/* laptop */
@media screen and (min-width: 1280px) {
    .less1280 { display: none }
}
@media screen and (max-width: 1279px) {
    .over1280 { display: none }
}





/*------------------------------------*\
    $HEADER
\*------------------------------------*/
.header {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-inline: min(40px, 100% * (20 / 375));
}
@media screen and (min-width: 768px) {
    .header { padding-block: 20px }
}
@media screen and (max-width: 767px) {
    .header { padding-block: 12px }
}

    @media screen and (min-width: 768px) {
        .header__logo {
            width: 196px;
            padding-inline: 4px;
        }
    }
    @media screen and (max-width: 767px) {
        .header__logo {
            width: 88px;
        }
    }

    .header__nav {
        display: flex;
        align-items: center;
    }
    @media screen and (min-width: 768px) {
        .header__nav {
            column-gap: min(50px, 100vw * (50 / 1920));
        }
    }

        .header__nav__tel {
            color: var(--primaryColor);
            text-align: right;
            white-space: nowrap;
        }
        @media screen and (min-width: 768px) {
            .header__nav__tel {
                font-weight: 500;
            }
        }
        @media screen and (max-width: 767px) {
            .header__nav__tel {
                margin-right: -16px;
                font-weight: 700;
                font-size: 1.2rem;
                line-height: calc(19 / 12);
            }
        }

            .header__nav__tel__number { letter-spacing: .2em }
            @media screen and (min-width: 768px) {
                .header__nav__tel__number {
                    padding-right: 5px;
                    font-size: 1.6rem;
                    line-height: 1.625;
                }
            }
            @media screen and (max-width: 767px) {
                .header__nav__tel__number {
                    padding-right: 6px;
                }
            }

            .header__nav__tel__time { letter-spacing: .2em }
            @media screen and (min-width: 768px) {
                .header__nav__tel__time {
                    font-size: 1.3rem;
                    line-height: calc(23 / 13);
                }
            }


        @media screen and (min-width: 768px) {
            .header__nav__btn {
                display: flex;
                justify-content: center;
                align-items: center;
                column-gap: 6px;
                height: 60px;
                padding-inline: 20px;
                border-radius: 99px;
                background-color: var(--secondaryColor);
                color: white;
                font-size: 1.6rem;
                font-weight: 700;
                letter-spacing: .2em;
                white-space: nowrap;
            }
        }
        @media screen and (min-width: 1024px) {
            .header__nav__btn { width: 300px }
        }
        @media screen and (max-width: 767px) {
            .header__nav__btn { display: none }
        }

            .header__nav__btn__icon {
                display: block;
                width: 18px;
                height: 18px;
                background-image: url(../images/icon-search.svg);
                background-repeat: no-repeat;
                background-size: contain;
            }





/*------------------------------------*\
    $FOOTER
\*------------------------------------*/
.footer {
    padding-inline: min(40px, 100% * (20 / 375));
    border-image-source: linear-gradient(white, white);
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw;
    background-color: white;
    color: var(--neutralColor1);
}
@media screen and (min-width: 1024px) {
    .footer { padding-block: 54px }
}
@media screen and (max-width: 1023px) {
    .footer {
        padding-top: 30px;
        padding-bottom: 102px;
    }
}

    .footer__content {}
    @media screen and (min-width: 1024px) {
        .footer__content {
            display: grid;
            grid-template-areas: 'bnr1 copy bnr2';
            grid-template-columns: 1fr 280px 1fr;
            grid-column-gap: 24px;
            justify-content: space-between;
            align-items: center;
        }
    }
    @media screen and (max-width: 1023px) {
        .footer__content {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
    }

        .footer__banner { grid-area: bnr1 }
        @media screen and (min-width: 1024px) {
            .footer__banner { max-width: 465px }
        }
        @media screen and (max-width: 1023px) {
            .footer__banner { max-width: 232px }
        }

        .footer__banner--multiple {
            grid-area: bnr2;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        @media screen and (min-width: 1024px) {
            .footer__banner--multiple { column-gap: 16px }
        }
        @media screen and (max-width: 1023px) {
            .footer__banner--multiple {
                column-gap: 8px;
                max-width: 345px;
                margin-top: 10px;
                margin-inline: -5px;
            }
        }
        
        .copyright {
            grid-area: copy;
            display: block;
            font-size: 1.0rem;
            line-height: 1.6;
            padding-left: .3em;
            text-align: center;
            letter-spacing: .3em;
        }
        @media screen and (max-width: 1023px) {
            .copyright { margin-top: 26px }
        }



@media screen and (min-width: 768px) {
    .fixed-button { display: none }
}
@media screen and (max-width: 767px) {
    .fixed-button {
        position: fixed;
        z-index: 9999;
        left: 0;
        right: 0;
        bottom: 20px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 14px;
        max-width: 335px;
        margin-inline: auto;
    }
}

    .fixed-button__line,
    .fixed-button__tel {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 8px;
        height: 61px;
        padding-left: .2em;
        border: 1px solid white;
        border-radius: 10px;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.3125;
        letter-spacing: .2em;
        text-align: center;
    }
    .fixed-button__line { background-color: var(--secondaryColor) }
    .fixed-button__tel { background-color: #aa976b }

        .fixed-button__tel::before {
            content: "";
            display: block;
            width: 12px;
            height: 15px;
            background-image: url(../images/icon-tel.png);
            background-repeat: no-repeat;
            background-size: contain;
        }

        :is(.fixed-button__line, .fixed-button__tel) span { font-size: 1.2rem }





/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
.main { padding-inline: calc(100% * (20 / 375)) }

.section {
    max-width: min(100%, 1200px);
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .section {
        margin-top: 84px;
        margin-bottom: 104px;
    }
}
@media screen and (max-width: 767px) {
    .section {
        margin-top: 32px;
        margin-bottom: 52px;
    }
}

    .section__content {}



/* Parts */
.content-title,
.content-title--image {
    padding-left: .1em;
    margin-bottom: calc(1em - 4px);
    color: var(--primaryColor);
    line-height: 1.6;
    letter-spacing: .1em;
    text-align: center;
}
@media screen and (min-width: 768px) {
    .content-title,
    .content-title--image { font-size: 4.8rem }
}
@media screen and (max-width: 767px) {
    .content-title,
    .content-title--image { font-size: 2.8rem }
}

    .content-title--image { margin-inline: auto }
    @media screen and (min-width: 768px) {
        .content-title--image { width: 332px }
    }
    @media screen and (max-width: 767px) {
        .content-title--image { width: 166px }
    }


.button { margin-inline: auto }
@media screen and (min-width: 768px) {
    .button { max-width: 450px }
}
@media screen and (max-width: 767px) {
    .button { max-width: 325px }
}

    .button__bubble {
        padding-left: .1em;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .1em;
        text-align: center;
    }
    @media screen and (min-width: 768px) {
        .button__bubble {
            margin-bottom: 16px;
            font-size: 1.6rem;
        }
    }
    @media screen and (max-width: 767px) {
        .button__bubble {
            margin-bottom: 8px;
            font-size: 1.4rem;
        }
    }

    .button__body {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 7px;
        border-radius: 99px;
        background-color: var(--secondaryColor);
        font-weight: 700;
        letter-spacing: .1em;
        white-space: nowrap;
    }
    @media screen and (min-width: 768px) {
        .button__body {
            height: 80px;
            font-size: 2.0rem;
        }
    }
    @media screen and (max-width: 767px) {
        .button__body {
            height: 60px;
            font-size: 1.6rem;
        }
    }

        .button__body__icon {
            aspect-ratio: 1 / 1;
            background-image: url(../images/icon-search.svg);
            background-repeat: no-repeat;
            background-size: contain;
        }
        @media screen and (min-width: 768px) {
            .button__body__icon { width: 18px }
        }
        @media screen and (max-width: 767px) {
            .button__body__icon { width: 13px }
        }



/* Key visual */
.kv {
    width: calc(100% / (1 - (40 / 375)));
    padding-inline: calc(100% * (20 / 375));
    margin-inline: calc((-100% / (1 - (40 / 375))) * (20 / 375));
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
}
@media screen and (min-width: 768px) {
    .kv {
        height: 800px;
        padding-top: 116px;
        background-image: url(../images/kv-pc.jpg);
        background-image:
            image-set(
                url(../images/kv-pc.jpg) 1x,
                url(../images/kv-pc@2x.jpg) 2x
            );
        background-image:
            -webkit-image-set(
                url(../images/kv-pc.jpg) 1x,
                url(../images/kv-pc@2x.jpg) 2x
            );
    }
}
@media screen and (min-width: 1024px) {
    .kv { padding-top: 152px }
}
@media screen and (max-width: 767px) {
    .kv {
        height: 760px;
        padding-top: 86px;
        background-image: url(../images/kv-sp.jpg);
        background-image:
            image-set(
                url(../images/kv-sp.jpg) 1x,
                url(../images/kv-sp@2x.jpg) 2x
            );
        background-image:
            -webkit-image-set(
                url(../images/kv-sp.jpg) 1x,
                url(../images/kv-sp@2x.jpg) 2x
            );
    }
}

    .kv__title { text-align: center }
    @media screen and (min-width: 768px) {
        .kv__title {
            margin-bottom: 40px;
        }
    }
    @media screen and (max-width: 767px) {
        .kv__title {
            margin-bottom: 24px;
        }
    }

        .kv__title__catchphrase {
            padding-inline: .3em;
            color: white;
            line-height: 1.5;
            letter-spacing: .3em;
        }
        @media screen and (min-width: 768px) {
            .kv__title__catchphrase {
                margin-bottom: 24px;
                font-size: 3.2rem;
            }
        }
        @media screen and (max-width: 767px) {
            .kv__title__catchphrase {
                margin-bottom: 22px;
                font-size: 1.6rem;
            }
        }

        .kv__title__main {
            padding-left: .2em;
            color: var(--primaryColor);
            line-height: 1.25;
            letter-spacing: .2em;
            white-space: nowrap;
        }
        @media screen and (min-width: 768px) {
            .kv__title__main {
                font-size: 7.2rem;
            }
        }
        @media screen and (max-width: 767px) {
            .kv__title__main {
                font-size: 3.6rem;
            }
        }

            .kv__title__main > span { font-size: calc(1em * (56 / 72)) }


    .kv__content {
        width: min(866px, 100% * (300 / 335));
        margin-inline: auto;
    }
    @media screen and (min-width: 768px) {
        .kv__content {
            display: grid;
            grid-template-areas:
                'image description'
                'image list';
            grid-template-columns: 175px 1fr;
            grid-column-gap: calc(100% * (71 / 866));
            align-content: space-between;
        }
    }

        .kv__content__image {
            grid-area: image;
        }
        @media screen and (max-width: 767px) {
            .kv__content__image {
                width: 131px;
                margin-inline: auto;
                margin-bottom: 25px;
            }
        }

        .kv__content__description {
            grid-area: 'description';
            height: max-content;
        }
        @media screen and (min-width: 768px) {
            .kv__content__description {
                font-size: 2.4rem;
                line-height: 1.6;
            }
        }
        @media screen and (max-width: 767px) {
            .kv__content__description {
                margin-bottom: 25px;
                font-size: 1.6rem;
                line-height: 1.51875;
                text-align: center;
            }
        }

            .kv__content__description span {
                color: var(--primaryColor);
                font-weight: 500;
            }


        .kv__content__list {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-column-gap: 5%;
            grid-area: 'list';
            max-width: 600px;
            height: max-content;
            margin-top: auto;
        }

            .kv__content__item { aspect-ratio: 1 / 1 }



/* Video */
.video,
.video--large {
    position: relative;
    aspect-ratio: 457 / 925;
    margin-inline: auto;
    overflow: hidden;
}
.video::before,
.video--large::before {
    content: "";
    aspect-ratio: 457 / 925;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    background-image: url(../images/frame-phone.png);
    background-image:
        image-set(
            url(../images/frame-phone.png) 1x,
            url(../images/frame-phone@2x.png) 2x
        );
    background-image:
        -webkit-image-set(
            url(../images/frame-phone.png) 1x,
            url(../images/frame-phone@2x.png) 2x
        );
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: contain;
    pointer-events: none;
}
@media screen and (min-width: 768px) {
    .video {
        width: 240px;
        padding-top: 2px;
        padding-inline: 2px;
    }
    .video--large {
        width: 457px;
        padding-top: 4px;
        padding-inline: 4px;
        margin-bottom: 60px;
    }
}
@media screen and (max-width: 767px) {
    .video {
        width: 228px;
        padding-top: 1px;
        padding-inline: 1px;
    }
    .video--large {
        width: 228px;
        padding-top: 2px;
        padding-inline: 2px;
        margin-bottom: 40px;
    }
}

    :is(.video, .video--large)  .video-js {
        aspect-ratio: 936 / 1910;
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    @media screen and (min-width: 768px) {
        .video .video-js,
        .video .video-js .vjs-tech { border-radius: 40px }
        .video--large .video-js,
        .video--large .video-js .vjs-tech { border-radius: 80px }
    }
    @media screen and (max-width: 767px) {
        .video .video-js,
        .video .video-js .vjs-tech { border-radius: 20px }
        .video--large .video-js,
        .video--large .video-js .vjs-tech { border-radius: 40px }
    }

        .video--large .vjs-big-play-button {
            transform: translate(-50%, -50%);
            margin: 0 !important;
            border: none !important;
            border-radius: 100% !important;
            background-color: black !important;
        }
        @media screen and (min-width: 768px) {
            .video--large .vjs-big-play-button {
                width: 116px !important;
                height: 116px !important;
            }
        }
        @media screen and (max-width: 767px) {
            .video--large .vjs-big-play-button {
                width: 58px !important;
                height: 58px !important;
            }
        }

            .video--large .vjs-big-play-button .vjs-icon-placeholder::before {
                line-height: 1 !important;
            }
            @media screen and (min-width: 768px) {
                .video--large .vjs-big-play-button .vjs-icon-placeholder::before {
                    font-size: 12rem !important;
                }
            }
            @media screen and (max-width: 767px) {
                .video--large .vjs-big-play-button .vjs-icon-placeholder::before {
                    font-size: 6rem !important;
                }
            }



/* Introduction */
.intro {}

    .intro__content {
        padding-left: .1em;
        text-align: center;
        line-height: 2;
        letter-spacing: .1em;
    }
    @media screen and (min-width: 768px) {
        .intro__content {
            margin-top: 52px;
            margin-bottom: 48px;
            font-size: 1.6rem;
        }
    }
    @media screen and (max-width: 767px) {
        .intro__content {
            margin-top: 24px;
            margin-bottom: 28px;
        }
    }

        @media screen and (min-width: 768px) {
            .intro__content__text + .intro__content__text {
                margin-top: 20px;
            }
        }
        @media screen and (max-width: 767px) {
            .intro__content__text + .intro__content__text {
                margin-top: 26px;
            }
        }

            .intro__content__text > mark {
                background-image: linear-gradient(var(--shadowColor), var(--shadowColor));
                background-repeat: no-repeat;
                background-position: 0 100%;
                color: var(--primaryColor);
            }
            @media screen and (min-width: 768px) {
                .intro__content__text > mark {
                    background-size: 100% 10px;
                }
            }
            @media screen and (max-width: 767px) {
                .intro__content__text > mark {
                    background-size: 100% 7.5px;
                }
            }



/* Strength */
.strength {}

    .strength__list { margin-inline: auto }
    @media screen and (min-width: 768px) {
        .strength__list {
            max-width: 800px;
            margin-bottom: 56px;
        }
    }
    @media screen and (max-width: 767px) {
        .strength__list {
            max-width: 300px;
            margin-bottom: 36px;
        }
    }

        .strength__item { background-color: var(--neutralColor1) }
        @media screen and (min-width: 768px) {
            .strength__item {
                display: grid;
                grid-template-columns: 91px 1fr;
                grid-column-gap: calc(100% * (56 / 668));
                align-items: center;
                min-height: 200px;
                padding-inline: 8.25%;
                border-radius: 20px;
            }
            .strength__item + .strength__item { margin-top: 30px }
        }
        @media screen and (max-width: 767px) {
            .strength__item {
                padding-top: 55px;
                padding-bottom: 46px;
                border-radius: 10px;
            }
            .strength__item + .strength__item { margin-top: 20px }
        }

            .strength__icon {
                aspect-ratio: 1 / 1;
                display: block;
            }
            @media screen and (max-width: 767px) {
                .strength__icon {
                    width: 128px;
                    margin-inline: auto;
                    margin-bottom: 32px;
                }
            }

            .strength__content {}

                .strength__title {
                    color: var(--primaryColor);
                    font-weight: 700;
                    line-height: 1.6;
                    letter-spacing: .1em;
                }
                @media screen and (min-width: 768px) {
                    .strength__title {
                        margin-bottom: 12px;
                        font-size: 2.4rem;
                    }
                }
                @media screen and (max-width: 767px) {
                    .strength__title {
                        padding-left: .1em;
                        margin-bottom: 17px;
                        font-size: 1.8rem;
                        text-align: center;
                    }
                }

                    @media screen and (min-width: 768px) {
                        .strength__title span {
                            font-size: 1.4rem;
                        }
                    }
                    @media screen and (max-width: 767px) {
                        .strength__title span {
                            font-size: 1.2rem;
                        }
                    }


                .strength__text { letter-spacing: .1em }
                @media screen and (min-width: 768px) {
                    .strength__text {
                        font-size: 1.6rem;
                        line-height: 1.6;
                    }
                }
                @media screen and (max-width: 767px) {
                    .strength__text {
                        padding-left: .1em;
                        font-size: 1.4rem;
                        line-height: 2;
                        text-align: center;
                    }
                }



/* Slider */
.slider {}

    .slider__content { position: relative }
    @media screen and (max-width: 767px) {
        .slider__content {
            max-width: 275px;
            margin-inline: auto;
        }
    }
    
        .slider__list {}
        @media screen and (min-width: 768px) {
            .slider__list { margin-bottom: calc(100% * (80 / 1200)) }
        }
        @media screen and (max-width: 767px) {
            .slider__list { margin-bottom: 40px }
        }

            @media screen and (min-width: 768px) {
                .slider__item {
                    width: min(650px, 100vw * (650 / (1200 / (335 / 375))));
                    padding-right: min(100px, 100vw * (100 / (1200 / (335 / 375))));
                }
            }
            @media screen and (max-width: 767px) {
                .slider__item { width: 275px }
            }

                .slider__bubble {
                    padding-left: .2em;
                    color: var(--primaryColor);
                    font-weight: 700;
                    text-align: center;
                    line-height: 1.5;
                    letter-spacing: .2em;
                }
                @media screen and (min-width: 768px) {
                    .slider__bubble {
                        margin-bottom: calc(1em * (16 / 24));
                        font-size: min(2.4rem, 100vw * (24 / (1200 / (335 / 375))));
                    }
                }
                @media screen and (max-width: 767px) {
                    .slider__bubble {
                        margin-bottom: 8px;
                        font-size: 1.6rem;
                    }
                }

                .slider__image { aspect-ratio: 550 / 400 }
                @media screen and (min-width: 768px) {
                    .slider__image { margin-bottom: calc(100% * (26 / 550)) }
                }
                @media screen and (max-width: 767px) {
                    .slider__image { margin-bottom: 13px }
                }

                .slider__content {}

                    .slider__title {
                        font-weight: 700;
                        line-height: 1.6;
                        letter-spacing: .1em;
                    }
                    @media screen and (min-width: 768px) {
                        .slider__title {
                            margin-bottom: calc(1em * (26 / 30));
                            font-size: min(3.0rem, 100vw * (30 / (1200 / (335 / 375))));
                        }
                    }
                    @media screen and (max-width: 767px) {
                        .slider__title {
                            margin-bottom: 13px;
                            font-size: 1.5rem;
                        }
                    }

                    .slider__content__list {
                        display: flex;
                        flex-wrap: wrap;
                        align-items: center;
                        gap: 12px;
                    }

                        .slider__content__item, .slider__content__item--strong {
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            border: 1px solid var(--primaryColor);
                            font-weight: 700;
                        }
                        .slider__content__item--strong {
                            background-color: var(--primaryColor);
                            color: var(--neutralColor2);
                        }
                        @media screen and (min-width: 768px) {
                            .slider__content__item, .slider__content__item--strong {
                                column-gap: 13px;
                                height: 52px;
                                border-radius: 12px;
                            }
                            .slider__content__item {
                                column-gap: calc(1em * (13 / 24));
                                height: calc(1em * (52 / 24));
                                padding-inline: calc(1em * (15 / 24));
                                border-radius: calc(1em * (12 / 24));
                                font-size: min(2.4rem, 100vw * (24 / (1200 / (335 / 375))));
                            }
                            .slider__content__item--strong {
                                column-gap: calc(1em * (13 / 30));
                                height: calc(1em * (52 / 30));
                                padding-inline: calc(1em * (28 / 30));
                                border-radius: calc(1em * (12 / 30));
                                font-size: min(3.0rem, 100vw * (30 / (1200 / (335 / 375))));
                            }
                        }
                        @media screen and (max-width: 767px) {
                            .slider__content__item, .slider__content__item--strong {
                                column-gap: 5px;
                                height: 26px;
                                border-radius: 6px;
                            }
                            .slider__content__item {
                                padding-inline: 7px;
                                font-size: 1.2rem;
                            }
                            .slider__content__item--strong {
                                padding-inline: 12px;
                                font-size: 1.5rem;
                            }
                        }

                            .slider__content__item span {
                                display: flex;
                                align-items: center;
                            }
                            @media screen and (min-width: 768px) {
                                .slider__content__item span {
                                    column-gap: calc(1em * (11 / 24));
                                    line-height: calc(28 / 24);
                                }
                            }
                            @media screen and (max-width: 767px) {
                                .slider__content__item span {
                                    column-gap: 5px;
                                    line-height: calc(14 / 12);
                                }
                            }

                                .slider__content__icon { aspect-ratio: 20 / 28 }
                                @media screen and (min-width: 768px) {
                                    .slider__content__icon {
                                        width: calc(1em * (20 / 24));
                                    }
                                }
                                @media screen and (max-width: 767px) {
                                    .slider__content__icon {
                                        width: 10px;
                                    }
                                }


    .slider__nav {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    @media screen and (min-width: 768px) {
        .slider__nav {
            column-gap: 12px;
            margin-bottom: calc(100% * (76 / 1200));
        }
    }
    @media screen and (max-width: 767px) {
        .slider__nav {
            column-gap: 6px;
            margin-bottom: 36px;
        }
    }

        .slider__nav > button {
            aspect-ratio: 1 / 1;
            display: block;
            border-radius: 100%;
            background-color: white;
            transition:
                width 0.3s var(--easeOutQuart),
                background-color 0.3s var(--easeOutQuart);
        }
        .slider__nav > button.tns-nav-active { background-color: var(--primaryColor) }
        @media screen and (min-width: 768px) {
            .slider__nav > button { width: 12px }
            .slider__nav > button.tns-nav-active { width: 18px }
        }
        @media screen and (max-width: 767px) {
            .slider__nav > button { width: 6px }
            .slider__nav > button.tns-nav-active { width: 9px }
        }


    .slider__button {
        aspect-ratio: 30 / 44.6;
        position: absolute;
        display: block;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .slider__button.is-prev { background-image: url(../images/icon-arrow-prev.svg) }
    .slider__button.is-next { background-image: url(../images/icon-arrow-next.svg) }
    @media screen and (min-width: 768px) {
        .slider__button {
            top: min(229px, 100vw * (229 / (1200 / (335 / 375))));
            width: 30px;
        }
        .slider__button.is-prev { left: max(-48px, -100vw * (48 / (1200 / (335 / 375)))) }
        .slider__button.is-next { right: max(-48px, -100vw * (48 / (1200 / (335 / 375)))) }
    }
    @media screen and (min-width: 1440px) {
        .slider__button.is-prev { left: -113px }
        .slider__button.is-next { right: -113px }
    }
    @media screen and (max-width: 767px) {
        .slider__button {
            top: 118px;
            width: 15px;
        }
        .slider__button.is-prev { left: -36px }
        .slider__button.is-next { right: -36px }
    }



/* Support */
.support {
    border-style: solid;
    border-color: var(--primaryColor);
    text-align: center;
}
@media screen and (min-width: 768px) {
    .support {
        max-width: 1002px;
        padding-top: 62px;
        padding-bottom: 68px;
        border-width: 2px;
        border-radius: 20px;
    }
}
@media screen and (max-width: 767px) {
    .support {
        max-width: 326px;
        padding-block: 30px;
        border-width: 1px;
        border-radius: 10px;
    }
}

    .support__content {
        background-image: url(../images/icon-note.svg);
        background-repeat: no-repeat;
        background-position: 50% 0;
    }
    @media screen and (min-width: 768px) {
        .support__content {
            padding-top: 242px;
            background-size: 183px;
        }
    }
    @media screen and (max-width: 767px) {
        .support__content {
            padding-top: 130px;
            background-size: 92px;
        }
    }

        .support__list {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            column-gap: 18px;
            row-gap: 16px;
            padding-left: .3em;
            color: var(--primaryColor);
            letter-spacing: .3em;
        }
        @media screen and (min-width: 768px) {
            .support__list {
                margin-bottom: 48px;
                font-size: 2.4rem;
                line-height: calc(58 / 24);
            }
        }
        @media screen and (max-width: 767px) {
            .support__list {
                margin-bottom: 20px;
                font-size: 1.8rem;
                line-height: calc(43 / 18);
            }
        }

            .support__item {
                border: 1px solid var(--primaryColor);
                border-radius: 99px;
            }
            @media screen and (min-width: 768px) {
                .support__item {
                    width: 320px;
                }
            }
            @media screen and (max-width: 767px) {
                .support__item {
                    width: 234px;
                }
            }


        .support__text {
            padding-left: .3em;
            line-height: 2;
            letter-spacing: .3em;
        }
        @media screen and (min-width: 768px) {
            .support__text { font-size: 2.4rem }
        }
        @media screen and (max-width: 767px) {
            .support__text { font-size: 1.8rem }
        }

            .support__text span { color: var(--primaryColor) }



/* Flow */
.flow {}

    @media screen and (min-width: 768px) {
        .flow__list {
            display: flex;
            flex-wrap: wrap;
            gap: 52px;
            width: min(572px, 100%);
            margin-inline: auto;
            margin-bottom: 76px;
        }
    }
    @media screen and (min-width: 1280px) {
        .flow__list {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-column-gap: calc((100% * (160 / 1200)) / 3);
            width: 100%;
        }
    }
    @media screen and (max-width: 767px) {
        .flow__list {
            max-width: 295px;
            margin-inline: auto;
            margin-bottom: 34px;
        }
    }

        @media screen and (min-width: 768px) {
            .flow__item {
                display: flex;
                flex-direction: column;
                width: min(100%, 260px);
            }
        }
        @media screen and (max-width: 767px) {
            .flow__item + .flow__item { margin-top: 40px }
        }

            .flow__image { aspect-ratio: 295 / 193 }

            .flow__content {
                background-color: var(--neutralColor1);
            }
            @media screen and (min-width: 768px) {
                .flow__content {
                    flex-grow: 1;
                    padding-top: 32px;
                    padding-bottom: 36px;
                    border-radius: 0 0 20px 20px;
                }
            }
            @media screen and (max-width: 767px) {
                .flow__content {
                    padding-top: 36px;
                    padding-bottom: 48px;
                    border-radius: 0 0 10px 10px;
                }
            }

                .flow__title {
                    color: var(--primaryColor);
                    font-size: 2.4rem;
                    line-height: calc(32 / 24);
                    text-align: center;
                    white-space: nowrap;
                }
                @media screen and (min-width: 768px) {
                    .flow__title {
                        padding-left: .3em;
                        margin-bottom: 16px;
                        letter-spacing: .3em;
                    }
                }
                @media screen and (max-width: 767px) {
                    .flow__title {
                        padding-left: .2em;
                        margin-bottom: 20px;
                        font-weight: 700;
                        letter-spacing: .2em;
                    }
                }

                .flow__text {
                    line-height: 1.6;
                    letter-spacing: .1em;
                }
                @media screen and (min-width: 768px) {
                    .flow__text {
                        padding-inline: 10%;
                        font-size: 1.4rem;
                    }
                }
                @media screen and (max-width: 767px) {
                    .flow__text {
                        padding-inline: 8%;
                        font-size: 1.5rem;
                    }
                }


/* Banner */
@media screen and (min-width: 768px) {
    .banner { max-width: 670px }
}
@media screen and (max-width: 767px) {
    .banner { max-width: 335px }
}



/* Browser back */
.back {
    aspect-ratio: 2 / 3;
    position: fixed;
    inset: 0;
    width: min(400px, 100% * (335 / 375));
    margin: auto;
}
.back::backdrop {
    background-color: rgb(0 0 0 / 0.5);
}



/* License */
@media screen and (min-width: 768px) {
    .license { max-width: 800px }
}
@media screen and (max-width: 767px) {
    .license { max-width: 325px }
}






