@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * COMMON..............共通パーツ
 * VARIABLE-HIDE.......可変幅による表示非表示
 * HEADER..............ヘッダーパーツ
 * FOOTER..............フッターパーツ
 * MAIN................メイン
 * TRADELAW............特商法
 * PRIVACY.............プライバシーポリシー
 */





/*------------------------------------*\
    $COMMON
\*------------------------------------*/
.wrap {
    position: relative;
    width: 100%;
    margin-inline: auto;
}
@media screen and (orientation: landscape) {
    /* .wrap { max-width: 1440px } */
}
@media screen and (orientation: portrait) {
    .wrap { max-width: 512px }
}


/**
 * Block contents
 */
.block,
.block--modifier {
    padding-inline: 0px;
}

    .block__element {
        width: min(1000px, 100%);
        margin-inline: auto;
    }

        .block__content {
            padding-top: 0;
            padding-inline: 0;
            padding-left: 0;
        }


/**
 * 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;
}


/**
 * Title
 */
.title {
    margin-bottom: 1.2em;
    font-weight: 500;
    text-align: center;
    font-size: clamp(2.4rem, calc(100vw * (30 / 1440)), 3.0rem);
}






/*------------------------------------*\
    $VARIABLE-HIDE
\*------------------------------------*/
/* 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: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    background-color: var(--primaryColor200);
}

    .header__logo {
        width: clamp(113px, calc(100% * (147 / 1440)), 147px);
        padding-left: clamp(20px, calc(100% * (120 / 1440)), 120px);
        margin-top: clamp(10px, calc(100% * (14 / 1440)), 14px);
        box-sizing: content-box;
    }

        .header__logo img {
            aspect-ratio: 147 / 53;
            width: 100%;
            object-fit: contain;
        }

    .header__option {
        display: block;
        width: clamp(173px, calc(100% * (230 / 1440)), 230px);
        height: clamp(60px, calc(100vw * (80 / 1440)), 80px);
        padding-top: 6px;
        padding-left: clamp(22px, calc(100% * (30 / 1440)), 30px);
        background-color: var(--secondaryColor);
        color: white;
        font-size: clamp(1.3rem, calc(100% * (16 / 1440)), 1.6rem);
        text-align: center;
        clip-path: polygon(
            clamp(22px, calc(100% * (30 / 1440)), 30px) 0,
            100% 0,
            100% 100%,
            0 100%
        );
    }

        .header__option span {
            margin-left: .06em;
            letter-spacing: .06em;
        }

        .header__option__deco {
            font-size: clamp(1.8rem, calc(100% * (20 / 1440)), 2.0rem);
            font-weight: 700;
            line-height: 1.9;
        }
        @media screen and (orientation: landscape) {
            .header__option__deco {
                width: 9em;
                margin-top: 2px;
                border-radius: 99px;
                background-color: white;
                color: var(--secondaryColor);
            }
        }
        @media screen and (orientation: portrait) {
            .header__option__deco { margin-top: -2px }
        }
        



/*------------------------------------*\
    $FOOTER
\*------------------------------------*/
.footer {
    padding-block: 18px;
    padding-inline: calc(100% * (32 / 375));
    background-color: var(--primaryColor300);
    color: white;
}

    .footer__nav {
        max-width: 1000px;
        margin-inline: auto;
    }
    @media screen and (max-width: 767px) {
        .footer__nav { margin-bottom: 24px }
    }

        .footer__nav__list {
            font-size: 1.6rem;
            letter-spacing: .1em;
        }
        @media screen and (min-width: 768px) {
            .footer__nav__list {
                display: flex;
                justify-content: center;
            }
        }

            @media screen and (min-width: 768px) {
                .footer__nav__item:not(:last-of-type)::after {
                    content: "　　|　　";
                }
            }
            @media screen and (max-width: 767px) {
                .footer__nav__item {
                    margin-block: 1em;
                    text-align: center;
                }
            }
    

    .copyright {
        margin-top: 1.5em;
        font-size: 1.2rem;
        line-height: calc(16 / 12);
        text-align: center;
    }





/*------------------------------------*\
    $MAIN
\*------------------------------------*/
.main { padding-inline: calc(100% * (16 / 375)) }
.main > section:not(.kv) {
    width: min(100%, 1000px);
    margin-inline: auto;
}



.kv {
    position: relative;
    width: auto;
    margin-inline: calc(-100% * (16 / 343));
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: contain;
    overflow: hidden;
}
@media screen and (orientation: landscape) {
    .kv {
        aspect-ratio: 1440 / 586;
        margin-bottom: calc(100% * (14 / 1440));
        background-image: url(../images/kv.png);
    }
}
@media screen and (orientation: portrait) {
    .kv {
        aspect-ratio: 375 / 608;
        background-image: url(../images/kv-sp.jpg);
        padding-bottom: 60%;
        margin-bottom: calc(100% * (24 / 343));
        box-sizing: content-box;
    }
    .kv.is-only { margin-bottom: calc(-100% * (112 / 343)) }
}

    .kv__logo {
        aspect-ratio: 333 / 121;
        position: absolute;
        filter:
            drop-shadow(0px 0px 0.6px rgba(255 255 255 / 0.069))
            drop-shadow(0px 0px 1.6px rgba(255 255 255 / 0.166))
            drop-shadow(0px 0px 3.3px rgba(255 255 255 / 0.307))
            drop-shadow(0px 0px 6.4px rgba(255 255 255 / 0.53))
            drop-shadow(0px 0px 12px rgba(255 255 255 / 1));
    }
    .kv__logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    @media screen and (orientation: landscape) {
        .kv__logo {
            top: calc(100% * (193 / 586));
            left: calc(100% * (355 / 1440));
            width: calc(100% * (333 / 1440));
        }
    }
    @media screen and (orientation: portrait) {
        .kv__logo {
            top: calc(100% * (176 / 833));
            left: 50%;
            transform: translateX(-50%);
            width: calc(100% * (240 / 375));
        }
    }

    .kv__catchphrase-1 {
        position: absolute;
        color: white;
        font-weight: 700;
        letter-spacing: .06em;
        text-shadow: 0 0 20px rgb(var(--primaryColorRGB) / 0.5);
        white-space: nowrap;
    }
    .kv__catchphrase-1 strong {
        margin-left: -0.38em;
        font-size: 1.875em;
        letter-spacing: .06em;
        vertical-align: -0.05em;
    }
    @media screen and (orientation: landscape) {
        .kv__catchphrase-1 {
            top: calc(100% * (55 / 586));
            left: calc(100% * (230 / 1440));
            font-size: calc(100vw * (32 / 1440));
        }
    }
    @media screen and (orientation: portrait) {
        .kv__catchphrase-1 {
            top: calc(100% * (40 / 833));
            left: calc(100% * (53 / 375));
            font-size: min(3.3rem, calc(100vw * (24 / 375)));
        }
    }

    .kv__catchphrase-2 {
        position: absolute;
        color: white;
        font-weight: 500;
        line-height: 0;
        text-align: center;
        white-space: nowrap;
        filter:
            drop-shadow(0px 0px 0.6px rgb(240 144 23 / 0.8))
            drop-shadow(0px 0px 1.6px rgb(240 144 23 / 0.8))
            drop-shadow(0px 0px 3.3px rgb(240 144 23 / 0.8))
            drop-shadow(0px 0px 6.4px rgb(240 144 23 / 0.8))
            drop-shadow(0px 0px 12px rgb(240 144 23 / 0.8));
    }
    .kv__catchphrase-2 span {
        font-size: calc(1em * (22 / 26.4));
    }
    .kv__catchphrase-2 strong {
        font-size: calc(1em * (55 / 26.4));
        vertical-align: -0.1em;
    }
    @media screen and (orientation: landscape) {
        .kv__catchphrase-2 {
            top: calc(100% * (100 / 586));
            left: calc(100% * (1057 / 1440));
            font-size: calc(100vw * (26.4 / 1440));
        }
    }
    @media screen and (orientation: portrait) {
        .kv__catchphrase-2 {
            top: calc(100% * (346 / 833));
            left: calc(100% * (204 / 375));
            font-size: min(3.0rem, calc(100vw * (22 / 375)));
        }
    }

    .kv__list {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        font-weight: 500;
        text-align: center;
        line-height: 1.8;
    }
    @media screen and (orientation: landscape) {
        .kv__list {
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-column-gap: calc(100% * (36 / 986));
            width: calc(100% * (986 / 1440));
            top: calc(100% * (351 / 586));
            font-size: calc(100vw * (20 / 1440));
        }
    }
    @media screen and (orientation: portrait) {
        .kv__list {
            top: calc(100% * (535 / 833));
            left: 50%;
            transform: translateX(-50%);
            width: calc(100% * (343 / 375));
            font-size: min(2.0rem, calc(100vw * (15 / 375)));
        }
    }

        .kv__item {
            background-repeat: no-repeat;
            background-size: contain;
        }
        .kv__item:nth-of-type(odd) {
            background-image: url(../images/bg-ribon-01.png);
            background-position: 100% 50%;
        }
        .kv__item:nth-of-type(even) {
            background-image: url(../images/bg-ribon-02.png);
        }
        @media screen and (orientation: landscape) {
            .kv__item {
                height: calc(100vw * (205 / 1440));
                padding-top: 2.3em;
            }
            .kv__item:nth-of-type(even) { background-position: 50% calc(100vw * (21 / 1440)) }
        }
        @media screen and (orientation: portrait) {
            .kv__item:nth-of-type(odd) {
                aspect-ratio: 460 / 205;
                padding-top: 2.3em;
            }
            .kv__item:nth-of-type(even) {
                aspect-ratio: 475 / 173;
                padding-top: 1.1em;
                background-position: 50% 50%;
            }
            .kv__item + .kv__item { margin-top: calc(100% * (12 / 343)) }
        }

            .kv__bigger { font-size: 1.5em }
            .kv__large { font-size: 1.3em }
            .kv__large span { font-size: calc(1em * (30 / 26)) }
            .kv__medium { font-size: 1.2em }
            .kv__item strong {
                font-size: calc(1em * (40 / 26));
                line-height: 1;
            }

            .kv__line {
                position: relative;
                white-space: nowrap;
            }
            .kv__line::before {
                content: "";
                position: absolute;
                top: 1.5em;
                left: 0;
                width: 100%;
                height: 0.2em;
                background-color: var(--secondaryColor);
            }




.sec-line {
    position: relative;
    padding-bottom: 68px;
}
@media screen and (min-width: 1024px) {
    .sec-line {
        background-image:
            url(../images/illust-line-01.png),
            url(../images/illust-line-02.png);
        background-repeat: no-repeat;
        background-position:
            0 calc(100% - 62px),
            100% calc(100% - 62px);
        background-size:
            82px,
            81px;
    }
}


    .sec-line__title {
        padding-top: clamp(32px, calc(100% * (54 / 1000)), 54px);
        margin-bottom: 36px;
        color: var(--primaryColor300);
        font-weight: 500;
        text-align: center;
    }

        .sec-line__title p {
            padding-left: .04em;
            font-size: clamp(1.6rem, calc(100vw * (24 / 1440)), 2.4rem);
            letter-spacing: .04em;
        }

        .sec-line__title h2 {
            padding-left: .2em;
            font-size: clamp(2.4rem, calc(100vw * (40 / 1440)), 4.0rem);
            letter-spacing: .2em;
        }

        .sec-line__title h2 > strong {
            font-size: 1.5em;
            line-height: 1;
        }


    .sec-line__btn {
        position: relative;
        transform: translateZ(0);
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 600px;
        height: clamp(64px, calc(100vw * (100 / 1440)), 100px);
        padding-left: .1em;
        margin-inline: auto;
        border-radius: 99px;
        background-color: var(--secondaryColor);
        background-image: url(../images/icon-arrow.png);
        background-repeat: no-repeat;
        background-position: calc(100% - 1.25em) 50%;
        background-size: 1.0625em;
        color: white;
        font-size: clamp(2.0rem, calc(100vw * (32 / 1440)), 3.2rem);
        font-weight: 500;
        letter-spacing: .1em;
        filter: drop-shadow(0 5px 0 rgb(81 45 0 / 0.7));
    }

        .sec-line__btn span { position: relative }
        .sec-line__btn span::before {
            content: "";
            position: absolute;
            top: calc(50% - 0.84375em);
            right: calc(100% + .625em);
            width: 1.6875em;
            height: 1.6875em;
            background-image: url(../images/icon-line.png);
            background-repeat: no-repeat;
            background-size: contain;
        }








.sec01 {
    margin-bottom: calc(100% * (60 / 1440));
}

    .sec01__list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        column-gap: max(calc(100% * (50 / 775)), 24px);
        row-gap: 24px;
        width: 100%;
        max-width: 775px;
        margin-inline: auto;
        font-size: clamp(2.0rem, calc(100vw * (30 / 847)), 3.0rem);
        letter-spacing: .04em;
    }
    @media screen and (orientation: portrait) {
        .sec01__list {
            font-size: clamp(2.0rem, calc(100vw * (20 / 768)), 2.4rem);
        }
    }

        .sec01__item {
            display: flex;
            justify-content: center;
            align-items: center;
            width: calc(100% * (225 / 775));
            min-width: 146px;
            aspect-ratio: 225 / 246;
            padding-bottom: calc(100% * (21 / 775));
            background-repeat: no-repeat;
            background-size: contain;
            color: white;
            letter-spacing: .04em;
            text-align: center;
        }
        .sec01__item:nth-of-type(1) { background-image: url(../images/icon-bubble-01.png) }
        .sec01__item:nth-of-type(2) { background-image: url(../images/icon-bubble-02.png) }
        .sec01__item:nth-of-type(3) { background-image: url(../images/icon-bubble-03.png) }

            .sec01__item span { font-size: 0.8em }






.sec02 {
    padding-top: clamp(48px, calc(100% * (55 / 1440)), 55px);
    padding-bottom: clamp(64px, calc(100% * (72 / 1440)), 72px);
    border-image-source: linear-gradient(var(--primaryColor100), var(--primaryColor100));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw;
}

    .sec02__reason {
        margin-bottom: clamp(72px, calc(100% * (95 / 1440)), 95px);
    }

        .sec02__reason__frame {
            position: relative;
            padding-bottom: 41px;
        }
        @media screen and (orientation: landscape) {
            .sec02__reason__frame::before {
                content: "";
                aspect-ratio: 254 / 356;
                position: absolute;
                bottom: 0;
                right: 0;
                z-index: 1;
                width: 25.4%;
                background-image: url(../images/illust-reason.png);
                background-repeat: no-repeat;
                background-size: contain;
            }
        }


        .sec02__reason__list {
            width: fit-content;
            min-width: min(520px, 100%);
            max-width: 830px;
            padding-top: max(28px, calc(100% * (30 / 1440)));
            padding-bottom: max(32px, calc(100% * (60 / 1440)));
            padding-inline: max(24px, calc(100% * (90 / 1440)));
            margin-inline: auto;
            border-radius: max(16px, calc(100vw * (30 / 1440)), 30px);
            background-color: white;
            box-shadow:
                0px 0px 1.6px rgb(var(--primaryColorRGB) / 0.078),
                0px 0px 3.9px rgb(var(--primaryColorRGB) / 0.189),
                0px 0px 7.2px rgb(var(--primaryColorRGB) / 0.311),
                0px 0px 12.1px rgb(var(--primaryColorRGB) / 0.422),
                0px 0px 20px rgb(var(--primaryColorRGB) / 0.5);
            font-size: clamp(1.6rem, calc(100vw * (30 / 1440)), 3.0rem);
        }

            .sec02__reason__item {
                padding-top: .7em;
                padding-bottom: calc(1em * (13 / 30));
                padding-left: calc(1em * (52 / 30));
                background-image: url(../images/icon-check.png);
                background-repeat: no-repeat;
                background-position: 0 1em;
                background-size: calc(1em * (32 / 30));
                border-bottom: 1px solid rgb(var(--primaryColorRGB) / 0.5);
            }


        .sec02__reason__arrow {
            position: relative;
            z-index: 1;
            max-width: 350px;
            height: 130px;
            margin-inline: auto;
            margin-top: 20px;
            margin-bottom: 30px;
        }
        .sec02__reason__arrow::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            width: 100%;
            height: 100%;
            background-image: linear-gradient(#f2fbfe, #128ef1);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
        }

            .sec02__reason__arrow__text {
                position: relative;
                transform: translateY(40px);
                z-index: 1;
                display: block;
                width: 260px;
                margin-inline: auto;
                font-size: 3.0rem;
                font-weight: 500;
            }

                .sec02__reason__arrow__text .text-2 {
                    font-size: 4.0rem;
                    font-weight: 700;
                }
                .sec02__reason__arrow__text text {
                    stroke: white;
                    stroke-width: 3px;
                    letter-spacing: .04em;
                }


        .sec02__reason__detail {
            margin-bottom: clamp(64px, calc(100% * (95 / 1000)), 95px);
        }

        .sec02__title {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: max(20px, calc(100% * (30 / 1000)));
            font-size: clamp(1.7rem, calc(100vw * (30 / 1440)), 3.0rem);
            font-weight: 500;
            line-height: 1;
            letter-spacing: .16em;
        }

            .sec02__title img {
                width: 6.9em;
                margin-right: calc(1em * (14 / 30));
            }
            .sec02__title span {
                margin-bottom: .2em;
                color: var(--secondaryColor);
                font-size: calc(1em * (40 / 30));
                font-weight: 700;
                line-height: 1;
                letter-spacing: .04em;
            }
            .sec02__title span:has(> strong) {
                margin-bottom: .4em;
            }
            .sec02__title strong {
                font-size: 1.5em;
                line-height: 1;
            }
            .sec02__title > strong {
                font-size: 2em;
            }


        .sec02__reason__text {
            color: var(--primaryColor300);
            font-size: clamp(1.6rem, calc(100vw * (20 / 1440)), 2.0rem);
            line-height: 2;
            letter-spacing: .04em;
            text-align: center;
        }

            .sec02__reason__text span {
                position: relative;
                white-space: nowrap;
            }
            .sec02__reason__text span::before {
                content: "";
                position: absolute;
                bottom: -0.2em;
                left: 0;
                width: 100%;
                height: 4px;
                background-color: var(--secondaryColor);
            }
            .sec02__reason__text strong {
                font-size: 1.7em;
                font-weight: 500;
                line-height: calc(40 / 34);
                vertical-align: -0.1em;
            }


    .sec02__merit {}

        .sec02__merit__list {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            column-gap: min(16px, 2%);
            row-gap: 20px;
            margin-top: max(36px, calc(100% * (48 / 1000)));
        }

            .sec02__merit__item {
                width: 32%;
                min-width: 280px;
                padding-block: max(20px, calc(100vw * (30 / 1440)), 30px);
                border: 1px solid var(--primaryColor200);
                border-radius: 10px;
                background-color: white;
                color: var(--primaryColor300);
                font-size: clamp(1.6rem, calc(100vw * (24 / 1440)), 2.4rem);
                font-weight: 500;
                line-height: calc(40 / 24);
                text-align: center;
            }

                .sec02__merit__item p {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    height: calc(2em * (40 / 24));
                    margin-bottom: 10px;
                    vertical-align: middle;
                }

                .sec02__merit__image {
                    aspect-ratio: 157 / 148;
                    width: fit-content;
                    margin-inline: auto;
                }
                .sec02__merit__image img { width: 157px }





.sec03 {
    padding-top: clamp(48px, calc(100% * (55 / 1440)), 55px);
    padding-bottom: clamp(52px, calc(100% * (68 / 1440)), 68px);
    border-image-source: linear-gradient(var(--primaryColor100), var(--primaryColor100));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw;
}

    .sec03__content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
        grid-column-gap: max(24px, 4%);
        grid-row-gap: 24px;
    }

        .sec03__block {
            display: flex;
            flex-direction: column;
            background-color: var(--primaryColor200);
        }

            .sec03__head {
                display: flex;
                justify-content: space-between;
                align-items: center;
                background-color: var(--primaryColor200);
            }

                .sec03__head h3 {
                    padding-left: max(6px, 6.25%);
                    color: white;
                    font-size: clamp(1.6rem, calc(100vw * (24 / 1440)), 2.4rem);
                    font-weight: 400;
                    line-height: 1.25;
                    letter-spacing: .1em;
                }

                .sec03__image {
                    width: 37.5%;
                    height: 130px;
                }
                .sec03__image img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }


            .sec03__text {
                flex-grow: 1;
                border: 6px solid var(--primaryColor200);
                background-color: white;
                padding-top: 1.25em;
                padding-inline: max(16px, 1.65em);
                padding-bottom: 1.75em;
                font-size: clamp(1.4rem, calc(100vw * (20 / 1440)), 2.0rem);
                line-height: 1.7;
            }






.sec04 {
    padding-bottom: clamp(64px, calc(100% * (86 / 1440)), 86px);
}
@media screen and (min-width: 768px) {
    .sec04 {
        background-image: url(../images/illust-recommend.png);
        background-repeat: no-repeat;
        background-position: 100% calc(100% - 60px);
        background-size: 16.5%;
    }
}

    .sec04__list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: calc(100% * (64 / 1000));
        column-gap: max(40px, 8%);
        row-gap: clamp(24px, calc(100vw * (40 / 1440)), 40px);
    }

        .sec04__item {
            aspect-ratio: 1 / 1;
            position: relative;
            width: 10em;
            height: 10em;
            padding-top: 4.8em;
            border-radius: 100%;
            background-color: var(--primaryColor200);
            color: white;
            font-size: clamp(1.5rem, calc(100vw * (20 / 1440)), 2.0rem);
            font-weight: 500;
            line-height: 1.7;
            text-align: center;
        }

            .sec04__item img {
                aspect-ratio: 102 / 112;
                position: absolute;
                top: -1.7em;
                left: calc(50% - 2.55em);
                width: 5.1em;
                height: 5.6em;
                object-fit: contain;
                object-position: 50% 100%;
            }




.sec05 {
    padding-top: clamp(48px, calc(100% * (55 / 1440)), 55px);
    padding-bottom: clamp(52px, calc(100% * (68 / 1440)), 68px);
}

    .sec05__title {
        margin-bottom: 2.2em;
        font-size: clamp(1.4rem, calc(100vw * (20 / 1440)), 2.0rem);
        font-weight: 500;
        text-align: center;
    }

        .sec05__title .title { margin-bottom: 12px }
        .sec05__title .title span { position: relative }
        .sec05__title .title span::before {
            content: "";
            position: absolute;
            bottom: -0.1em;
            left: 0;
            width: 100%;
            height: 4px;
            background-color: var(--secondaryColor);
        }


    .sec05__content {}

        .sec05__number {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: space-between;
            padding-inline: 8.3%;
            margin-bottom: 26px;
        }
        .sec05__number::before {
            content: "";
            position: absolute;
            top: calc(50% - 6px);
            left: 0;
            z-index: -1;
            width: calc(100% - 26px);
            height: 12px;
            background-image: linear-gradient(90deg, #c0ebfd, #45a4f0);
        }
        .sec05__number::after {
            content: "";
            position: absolute;
            top: calc(50% - 15px);
            right: 0;
            width: 26px;
            height: 30px;
            background-color: #45a4f0;
            clip-path: polygon(0 0, 100% 50%, 0 100%);
        }
        @media screen and (max-width: 767px) {
            .sec05__number { display: none }
        }

            .sec05__number__item {
                aspect-ratio: 1 / 1;
                width: clamp(24px, calc(100vw * (78 / 1094)), 78px);
            }


        .sec05__list {
            display: flex;
            justify-content: space-between;
            gap: 24px;
        }
        @media screen and (min-width: 768px) {
            .sec05__list { padding-inline: 4.3% }
        }
        @media screen and (max-width: 767px) {
            .sec05__list { flex-wrap: wrap }
        }

        .sec05__item {
            position: relative;
            width: calc(1em * (160 / 24));
            font-size: clamp(2.2rem, calc(100vw * (24 / 1094)), 2.4rem);
            font-weight: 500;
            text-align: center;
        }
        @media screen and (max-width: 767px) {
            .sec05__item { padding-left: 1em }
            .sec05__item::before {
                content: "";
                position: absolute;
                top: -0.5em;
                left: 0;
                display: block;
                width: 2em;
                height: 2em;
                background-repeat: no-repeat;
                background-size: contain;
            }
            .sec05__item:nth-of-type(1)::before { background-image: url(../images/icon-number-01.png) }
            .sec05__item:nth-of-type(2)::before { background-image: url(../images/icon-number-02.png) }
            .sec05__item:nth-of-type(3)::before { background-image: url(../images/icon-number-03.png) }
            .sec05__item:nth-of-type(4)::before { background-image: url(../images/icon-number-04.png) }
        }

            .sec05__item img {
                aspect-ratio: 101 / 96;
                width: 101px;
                margin-inline: auto;
            }
            .sec05__item p { margin-top: 1em }




.sec06 {
    padding-top: clamp(48px, calc(100% * (55 / 1440)), 55px);
    padding-bottom: clamp(80px, calc(100% * (100 / 1440)), 100px);
    border-image-source: linear-gradient(var(--primaryColor100), var(--primaryColor100));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw;
}

    .sec06__column {
        position: relative;
        background-color: white;
        font-size: clamp(1.6rem, calc(100vw * (20 / 1094)), 2.0rem);
        letter-spacing: .04em;
    }
    .sec06__column + .sec06__column { margin-top: 20px }

        .sec06__label {
            display: flex;
            column-gap: clamp(12px, calc(100% * (20 / 1440)), 20px);
            padding-block: .75em;
            padding-inline: max(16px, 3%);
            cursor: pointer;
        }
        .sec06__label::before {
            content: "";
            display: block;
            width: 1.2em;
            height: 1.2em;
            background-image: url(../images/icon-q.png);
            background-repeat: no-repeat;
            background-position: 50% 50%;
            background-size: contain;
        }


    .sec06__text {
        display: none;
        padding-inline: max(24px, 4.8%);
        overflow: hidden;
    }

        .sec06__text p {
            padding-top: 0.6em;
            padding-right: 2.15em;
            padding-left: 4.6em;
            padding-bottom: 0.9em;
            text-indent: -2.15em;
        }
        .sec06__text p::before {
            content: "";
            display: inline-block;
            width: 1.0em;
            height: 1em;
            margin-right: 1.15em;
            background-image: url(../images/icon-a.png);
            background-repeat: no-repeat;
            background-position: 50% 50%;
            background-size: contain;
        }





/*------------------------------------*\
    $UNDERLAYER
\*------------------------------------*/
.underlayer {
    padding-top: clamp(48px, calc(100% * (98 / 1440)), 98px);
    padding-bottom: clamp(80px, calc(100% * (128 / 1440)), 128px);
}

    .underlayer__title {
        padding-bottom: 12px;
        margin-bottom: 64px;
        border-bottom: 1px solid var(--primaryColor300);
    }

        .underlayer__title h1 {
            margin-bottom: .2em;
            font-size: clamp(2.4rem, calc(100vw * (36 / 1440)), 3.6rem);
            font-weight: 700;
            line-height: 1.25;
        }

        .underlayer__title p {
            color: #AAAAAA;
            font-size: clamp(1.6rem, calc(100vw * (20 / 1440)), 2.0rem);
        }





/*------------------------------------*\
    $TRADELAW
\*------------------------------------*/
.tradelaw {}

    .tradelaw__row {
        display: flex;
        flex-wrap: wrap;
        column-gap: 24px;
        row-gap: 12px;
        padding-block: 16px;
        border-bottom: 1px solid #AAAAAA;
        font-size: 1.6rem;
        line-height: 1.5;
        letter-spacing: .04em;
    }

        .tradelaw__label {
            flex-grow: 1;
            width: 180px;
            font-weight: 700;
        }

        .tradelaw__content {
            flex-grow: 1    ;
            width: calc(100% - 204px);
            min-width: min(280px, 100%);
        }

            .tradelaw__content a { text-decoration: underline }





/*------------------------------------*\
    $PRIVACY
\*------------------------------------*/
.privacy {}

    .privacy__row { margin-block: 32px }

        .privacy__label {
            padding-bottom: 8px;
            margin-bottom: 12px;
            border-bottom: 1px solid #AAAAAA;
            font-size: 2.0rem;
            font-weight: 700;
            line-height: 1.5;
            letter-spacing: .04em;
        }

        .privacy__content {
            font-size: 1.6rem;
            line-height: 1.5;
            letter-spacing: .04em;
        }

            .privacy__content a { text-decoration: underline }



