@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * COMMON..............共通パーツ
 * VARIABLE-HIDE.......可変幅による表示非表示
 * HEADER..............ヘッダーパーツ
 * FOOTER..............フッターパーツ
 * CONTENTS............コンテンツ
 */





/*------------------------------------*\
    $COMMON
\*------------------------------------*/
/**
 * 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;
}





/*------------------------------------*\
    $VARIABLE-HIDE
\*------------------------------------*/
@media screen and (min-width: 839px) {
    .less838 { display: none }
}
@media screen and (max-width: 838px) {
    .over838 { display: none }
}

@media screen and (min-width: 431px) {
    .less430 { display: none }
}
@media screen and (max-width: 430px) {
    .over430 { display: none }
}





/*------------------------------------*\
    $HEADER
\*------------------------------------*/
.kv img {
    width: 100%;
}





/*------------------------------------*\
    $FOOTER
\*------------------------------------*/






/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
.wrapper {
    max-width: 1440px;
    margin-inline: auto;
    position: relative;
    overflow: hidden;
}


.voice {
    background-color: #FFFDEE;
}
@media screen and (min-width: 839px) {
    .voice {
        padding-bottom: 57px;
        margin-top: -5px;
    }
}
@media screen and (max-width: 838px) {
    .voice {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}
@media screen and (max-width: 430px) {
    .voice {
        padding-block: 40px;
        padding-inline: 15px;
    }
}

    .voice__catchphrase {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 100%;
        font-family: var(--fontMin);
        line-height: 1.4;
        white-space: nowrap;
    }
    @media screen and (min-width: 431px) {
        .voice__catchphrase {
            padding-bottom: 27px;
            font-size: 3.8rem;
            font-weight: 900;
        }
    }
    @media screen and (max-width: 838px) {
        .voice__catchphrase {
            flex-direction: column;
            padding-bottom: 30px;
            font-weight: 700;
        }
    }
    @media screen and (max-width: 430px) {
        .voice__catchphrase {
            padding-bottom: 0;
            font-size: 2.8rem;
        }
    }

        .voice__catchphrase > strong {
            display: inline-flex;
            align-items: center;
            color: #C83B35;
            font-size: 4.0rem;
        }
        .voice__catchphrase > strong::after {
            content: "";
            aspect-ratio: 159 / 131;
            display: block;
            width: 2.65em;
            background-image: url(../images/icon-hanamaru.png);
            background-size: contain;
        }
        @media screen and (min-width: 839px) {
            .voice__catchphrase > strong {
                line-height: 1.4;
            }
        }
        @media screen and (max-width: 838px) {
            .voice__catchphrase > strong {
                font-size: 5.4rem;
                line-height: 1.244259259259259;
            }
            .voice__catchphrase > strong::after {
                width: calc(1em * (80 / 54));
            }
        }


    .voice__content {
        max-width: 980px;
        margin-inline: auto;
    }
    @media screen and (max-width: 430px) {
        .voice__content {
            margin-top: 20px;
        }
    }

        @media screen and (min-width: 431px) {
            .voice__img + .voice__img {
                margin-top: 16px;
            }
        }



.worries {
    position: relative;
}

    .worries img {
        width: 100%;
    }



.nutritious {
    position: relative;
}
.nutritious::before {
    content: "";
    position: absolute;
    aspect-ratio: 600 / 396;
    display: block;
    top: -54px;
    right: 166px;
    width: 160px;
}
@media screen and (min-width: 839px) {
    .nutritious::before {
        top: -54px;
        right: 166px;
        width: 160px;
    }
}
@media screen and (max-width: 838px) {
    .nutritious::before {
        top: -34px;
        right: 92px;
        width: 120px;
    }
}
@media screen and (max-width: 430px) {
    .nutritious::before {
        top: -46px;
        right: 26px;
        width: 100px;
    }
}

    .nutritious__content {
        overflow: hidden;
    }
    .nutritious__content--last {
        /* max-height: 586px; */
    }
    .nutritious__content,
    .nutritious__content--last {
        position: relative;
        display: grid;
        width: 100%;
    }
    @media screen and (min-width: 431px) {
        .nutritious__content {
            height: 529px;
        }
        .nutritious__content--last::before,
        .nutritious__content--last::after {
            content: "";
            position: absolute;
            display: block;
            background-repeat: no-repeat;
            background-size: contain;
        }
        .nutritious__content--last::before {
            aspect-ratio: 227 / 229;
            top: max(-150px, -100vw * (150 / 1280));
            left: max(-85px, -6.640625%);
            width: min(294px, 22.96875%);
            background-image: url(../images/icon-nutritious-1.png);
        }
        .nutritious__content--last::after {
            aspect-ratio: 222 / 210;
            bottom: max(-53px, -100vw * (53 / 1280));
            right: min(9px, 0.703125%);
            width: min(111px, 8.671875%);
            background-image: url(../images/icon-nutritious-2.png);
        }
    }
    @media screen and (max-width: 430px) {
        .nutritious__content {
            height: 218px;
        }
    }

        :is(.nutritious__content, .nutritious__content--last) > img {
            grid-area: 1 / -1;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .nutritious__label {
            grid-area: 1 / -1;
            height: fit-content;
            background-color: rgb(0 0 0 / 0.6);
            color: white;
            font-family: var(--fontMin);
            line-height: calc(96 / 36);
            text-align: center;
        }
        @media screen and (min-width: 839px) {
            .nutritious__label {
                font-size: 3.6rem;
                font-weight: 900;
            }
        }
        @media screen and (max-width: 838px) {
            .nutritious__label {
                font-size: 3.2rem;
                font-weight: 700;
            }
        }
        @media screen and (max-width: 430px) {
            .nutritious__label {
                font-size: 1.8rem;
            }
        }



.buy {
    margin-inline: auto;
    font-family: var(--fontMin);
    font-weight: 700;
}
@media screen and (min-width: 431px) {
    .buy {
        width: min(80%, 980px);
        margin-top: 72px;
        margin-bottom: 76px;
    }
}
@media screen and (max-width: 430px) {
    .buy {
        width: 90%;
        margin-top: 37px;
        margin-bottom: 36px;
    }
}


    .buy__btn {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        background-image: linear-gradient(#f4afac, #c83b35 15%, #c83b35 92%, #952c27);
        box-shadow: 5px 3px 11px 4px rgba(0,0,0,0.2);
        color: white;
    }
    @media screen and (min-width: 839px) {
        .buy__btn {
            height: calc(1em * (160 / 60));
            border-radius: 30px;
            font-size: min(6.0rem, calc(100vw * (60 / 1280)));
        }
    }
    @media screen and (max-width: 838px) {
        .buy__btn {
            height: 96px;
            border-radius: 20px;
            font-size: 3.2rem;
        }
    }
    @media screen and (max-width: 430px) {
        .buy__btn {
            height: 50px;
            border-radius: 16px;
            font-size: 1.7rem;
        }
    }
    
        .buy__btn__frame {
            display: flex;
            justify-content: center;
            align-items: center;
            border: 1px solid white;
        }
        @media screen and (min-width: 431px) {
            .buy__btn__frame {
                width: calc(100% - 16px);
                height: calc(100% - 18px);
                border-radius: 30px;
            }
        }
        @media screen and (max-width: 838px) {
            .buy__btn {
                border-radius: 20px;
            }
        }
        @media screen and (max-width: 430px) {
            .buy__btn__frame {
                width: calc(100% - 6px);
                height: calc(100% - 8px);
                border-radius: 16px;
            }
        }

            .buy__btn__frame > span {
                position: relative;
                display: block;
                line-height: 1;
            }
            .buy__btn__frame > span::before {
                content: "";
                aspect-ratio: 168 / 440;
                position: absolute;
                display: block;
                background-image: url(../images/icon-buy.webp);
                background-repeat: no-repeat;
                background-size: contain;
            }
            @media screen and (min-width: 431px) {
                .buy__btn__frame > span::before {
                    bottom: calc(-1em * (48 / 60));
                    right: calc(-1em * (70 / 60));
                    width: calc(1em * (82 / 60));
                }
            }
            @media screen and (max-width: 430px) {
                .buy__btn__frame > span {
                    letter-spacing: .01em;
                }
                .buy__btn__frame > span::before {
                    bottom: calc(-1em * (15 / 17));
                    right: calc(-1em * (64 / 17));
                    width: calc(1em * (41 / 17));
                }
            }


    .buy__content {
        position: relative;
        border-radius: 20px;
        box-shadow: 0 0 10px rgb(0 0 0 / 0.25);
    }
    @media screen and (min-width: 431px) {
        .buy__content {
            position: relative;
            padding-top: min(112px, 100% * (112 / 980));
            padding-left: min(120px, 100% * (120 / 980));
            padding-bottom: min(36px, 100% * (36 / 980));
            margin-top: max(-80px, -100% * (80 / 980));
        }
        .buy__content::before {
            content: "";
            aspect-ratio: 292 / 435;
            position: absolute;
            bottom: -2px;
            right: calc(100% * (115 / 980));
            display: block;
            width: calc(100% * (195 / 980));
            background-image: url(../images/image-buy.webp);
            background-repeat: no-repeat;
            background-size: contain;
        }
    }
    @media screen and (max-width: 838px) {
        .buy__content {
            margin-top: -48px;
        }
    }
    @media screen and (max-width: 430px) {
        .buy__content {
            position: relative;
            padding-top: 36px;
            padding-left: 48px;
            padding-bottom: 6px;
            margin-top: -25px;
        }
    }

        .buy__label {
            line-height: 1.4;
        }
        @media screen and (min-width: 839px) {
            .buy__label {
                margin-bottom: 13px;
                font-size: 4.0rem;
                font-weight: 900;
            }
        }
        @media screen and (max-width: 838px) {
            .buy__label {
                margin-bottom: 7px;
                font-size: 2.0rem;
                letter-spacing: .01em;
            }
        }

            .buy__label strong {
                background-image: linear-gradient(#FFDB3F, #FFDB3F);
                background-repeat: no-repeat;
                background-position: 0 100%;
                background-size: 100% 12px;
                color: #C83B35;
            }


        .buy__description {
            line-height: 1.4;
        }
        @media screen and (min-width: 839px) {
            .buy__description {
                font-size: 2.4rem;
            }
        }
        @media screen and (max-width: 838px) {
            .buy__description {
                padding-left: 2px;
                font-size: 1.2rem;
            }
        }

            .buy__description span {
                color: #C83B35;
            }



.feature {
    position: relative;
    padding-inline: 15px;
    background-image: url(../images/bg-feature.webp);
    background-repeat: no-repeat;
    background-size: cover;
    font-family: var(--fontMin);
    text-align: center;
}
.feature::before {
    content: "";
    aspect-ratio: 341 / 347;
    position: absolute;
    transform: rotate(90deg);
    background-image: url(../images/icon-feature-03.webp);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (min-width: 839px) {
    .feature {
        padding-top: 42px;
        padding-bottom: 36px;
    }
    .feature::before {
        bottom: -100px;
        right: -1px;
        width: 162px;
    }
}
@media screen and (max-width: 838px) {
    .feature {
        padding-top: 79px;
        padding-bottom: 60px;
    }
    .feature::before {
        bottom: -78px;
        right: 0;
        width: 120px;
    }
}
@media screen and (max-width: 430px) {
    .feature {
        padding-top: 30px;
        padding-bottom: 14px;
    }
    .feature::before {
        bottom: -48px;
        width: 80px;
    }
}

    .feature__title {
        margin-bottom: 56px;
    }
    @media screen and (min-width: 839px) {
        .feature__title {
            margin-bottom: 56px;
        }
    }
    @media screen and (max-width: 838px) {
        .feature__title {
            margin-bottom: 30px;
        }
    }

        .feature__title h3 {
            position: relative;
            width: fit-content;
            margin-inline: auto;
            font-size: 5.6rem;
            line-height: 1;
        }
        @media screen and (min-width: 839px) {
            .feature__title h3 {
                margin-bottom: 50px;
                font-size: 5.6rem;
                letter-spacing: -0.02em;
                text-indent: -0.3em;
            }
        }
        @media screen and (max-width: 838px) {
            .feature__title h3 {
                margin-bottom: 20px;
                font-size: 4.0rem;
            }
        }
        @media screen and (max-width: 430px) {
            .feature__title h3 {
                margin-bottom: 30px;
                font-size: 1.6rem;
                letter-spacing: -0.04em;
                text-indent: -0.4em;
            }
        }
        
            .feature__title h3::before,
            .feature__title h3::after {
                content: "";
                position: absolute;
                display: block;
                background-repeat: no-repeat;
                background-size: contain;
            }
            .feature__title h3::before {
                aspect-ratio: 241 / 237;
                background-image: url(../images/icon-feature-01.webp);
            }
            .feature__title h3::after {
                aspect-ratio: 267 / 259;
                background-image: url(../images/icon-feature-02.webp);
            }
            @media screen and (min-width: 839px) {
                .feature__title h3::before {
                    top: -21px;
                    left: -130px;
                    width: 101px;
                }
                .feature__title h3::after {
                    top: -25px;
                    right: -127px;
                    width: 109px;
                }
            }
            @media screen and (max-width: 838px) {
                .feature__title h3 span {
                    font-size: 3.2rem;
                }
                .feature__title h3::before {
                    top: -19px;
                    left: -81px;
                    width: 81px;
                }
                .feature__title h3::after {
                    top: -19px;
                    right: -84px;
                    width: 82px;
                }
            }
            @media screen and (max-width: 430px) {
                .feature__title h3 span {
                    font-size: 1.5rem;
                }
                .feature__title h3::before {
                    top: -17px;
                    left: -63px;
                    width: 48px;
                }
                .feature__title h3::after {
                    top: -20px;
                    right: -63px;
                    width: 55px;
                }
            }


        .feature__title h2 {
            width: fit-content;
            margin-inline: auto;
            border-radius: 20px;
            background-image: linear-gradient(#FFDB3F, #FFF0AE, #FFDB3F);
            text-align: center;
        }
        @media screen and (min-width: 839px) {
            .feature__title h2 {
                padding-inline: 10px;
                font-size: 8.8rem;
                line-height: 1.45;
            }
        }
        @media screen and (max-width: 838px) {
            .feature__title h2 {
                padding-inline: 20px;
                font-size: 6.4rem;
                line-height: 1.4;
            }
        }
        @media screen and (max-width: 430px) {
            .feature__title h2 {
                width: 296px;
                border-radius: 8px;
                font-size: 2.0rem;
            }
        }


    .feature__img {
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .feature__img {
            width: 550px;
        }
    }
    @media screen and (max-width: 838px) {
        .feature__img {
            width: 40%;
            margin-bottom: 30px;
        }
    }
    @media screen and (max-width: 430px) {
        .feature__img {
            width: 80%;
            margin-bottom: -8px;
        }
    }

    .feature__text {
        font-weight: 700;
    }
    @media screen and (min-width: 839px) {
        .feature__text {
            font-size: 3.2rem;
            line-height: 1.55;
        }
    }
    @media screen and (max-width: 838px) {
        .feature__text {
            font-size: 2.8rem;
            line-height: 1.45;
        }
    }
    @media screen and (max-width: 430px) {
        .feature__text {
            font-size: 1.0rem;
            line-height: 2.65;
        }
    }

        .feature__text > strong {
            position: relative;
            display: inline-block;
            color: #1A8426;
            vertical-align: top;
        }

            .feature__text > strong > span {
                display: block;
                color: #333;
                font-size: 1.4rem;
            }
            @media screen and (max-width: 430px) {
                .feature__text > strong > span {
                    position: absolute;
                    top: 12px;
                    left: -14px;
                    transform: scale(0.7);
                    font-size: 1.0rem;
                    white-space: nowrap;
                    opacity: 0.8;
                }
            }
        


.health {
    padding-bottom: min(800px, 100% * (1199 / 1920));
    background-image: url(../images/image-health-04.jpg);
    background-repeat: no-repeat;
    background-position: 50% 100%;
    background-size: min(100%, 1280px);
    font-family: var(--fontMin);
}
@media screen and (min-width: 839px) {
    .health {
        padding-top: 103px;
    }
}
@media screen and (max-width: 838px) {
    .health {
        padding-top: 49px;
    }
}



    .health__list {
        width: fit-content;
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .health__list {
            margin-bottom: 22px;
        }
    }
    @media screen and (max-width: 838px) {
        .health__list {
            margin-bottom: 10px;
        }
    }

        .health__item {
            display: grid;
            align-items: center;
            max-width: calc(100% - 10px);
            font-weight: 700;
            line-height: 1.4;
            white-space: nowrap;
        }
        @media screen and (min-width: 839px) {
            .health__item {
                grid-template-columns: 36px 1fr;
                grid-column-gap: 6px;
                font-size: 3.6rem;
            }
        }
        @media screen and (max-width: 838px) {
            .health__item {
                grid-template-columns: 24px 1fr;
                grid-column-gap: 4px;
                font-size: 2.4rem;
            }
        }
        @media screen and (max-width: 430px) {
            .health__item {
                grid-template-columns: 20px 1fr;
                grid-column-gap: 2px;
                font-size: 1.9rem;
                letter-spacing: -0.045em;
            }
        }

            .health__item::before {
                content: "";
                aspect-ratio: 1 / 1;
                display: block;
                background-image: url(../images/icon-check-1.png);
                background-repeat: no-repeat;
                background-size: contain;
            }


    .health__title {
        font-weight: 700;
        line-height: 1.4;
        text-align: center;
    }
    @media screen and (min-width: 839px) {
        .health__title {
            font-size: 5.4rem;
            margin-bottom: 56px;
        }
    }
    @media screen and (max-width: 838px) {
        .health__title {
            font-size: 3.6rem;
            margin-bottom: 32px;
        }
    }
    @media screen and (max-width: 430px) {
        .health__title {
            font-size: 2.7rem;
            margin-bottom: 27px;
        }
    }

    .health__sample {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-column-gap: 0;
        max-width: 1188px;
        padding-inline: 19px;
        margin-inline: auto;
    }
    .health__sample::before {
        content: "";
        aspect-ratio: 240 / 158;
        position: absolute;
        z-index: -1;
        display: block;
        background-image: url(../images/icon-health.png);
        background-repeat: no-repeat;
        background-size: contain;
    }
    @media screen and (min-width: 839px) {
        .health__sample {
            grid-column-gap: calc(100% * (40 / 1150));
            margin-bottom: 30px;
        }
        .health__sample::before {
            bottom: -133px;
            left: -88px;
            width: 239px;
        }
    }
    @media screen and (max-width: 838px) {
        .health__sample {
            grid-column-gap: calc(100% * (20 / 337));
            margin-bottom: 16px;
        }
        .health__sample::before {
            bottom: -65px;
            left: -19px;
            width: 117px;
        }
    }



.secret {
    font-family: var(--fontMin);
    font-weight: 700;
    background-image:
        repeating-linear-gradient(90deg, #a1e4ff 0px, #a1e4ff 1.5px, rgb(161 228 255 / 0) 1.5px, rgb(161 228 255 / 0) 45px),
        repeating-linear-gradient(#a1e4ff 0px, #a1e4ff 1.5px, rgb(161 228 255 / 0) 1.5px, rgb(161 228 255 / 0) 45px);
    background-position: 50% 50%;
    text-align: center;
}
@media screen and (min-width: 839px) {
    .secret {
        padding-top: 103px;
        padding-bottom: 107px;
    }
}
@media screen and (max-width: 838px) {
    .secret {
        padding-top: 52px;
        padding-bottom: 54px;
    }
}    


    .secret__title {}

        .secret__title p {
            line-height: 1.4;
        }
        @media screen and (min-width: 839px) {
            .secret__title p {
                margin-bottom: 8px;
                font-size: 3.6rem;
            }
        }
        @media screen and (max-width: 838px) {
            .secret__title p {
                margin-bottom: 2px;
                font-size: 2.8rem;
            }
        }
        @media screen and (max-width: 430px) {
            .secret__title p {
                font-size: 1.8rem;
            }
        }

        .secret__title h2 {
            width: fit-content;
            margin-inline: auto;
            line-height: 1.4;
            background-image: linear-gradient(#FFDB3F, #FFDB3F);
            background-repeat: no-repeat;
            background-position: 0 100%;
        }
        @media screen and (min-width: 839px) {
            .secret__title h2 {
                font-size: 8.8rem;
                background-size: 100% 38px;
            }
        }
        @media screen and (max-width: 838px) {
            .secret__title h2 {
                font-size: 6.4rem;
                background-size: 100% 20px;
            }
        }
        @media screen and (max-width: 430px) {
            .secret__title h2 {
                font-size: 4.5rem;
            }
        }


    .secret__image {
        width: min(60%, 768px);
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .secret__image {
        }
    }

    .secret__image--2 {
        width: min(73%, 934.4px);
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .secret__image--2 {
            margin-top: 36px;
        }
    }
    @media screen and (max-width: 838px) {
        .secret__image--2 {
            margin-top: 17px;
        }
    }

    .secret__description {
        max-width: 1280px;
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .secret__description {
            margin-top: 33px;
        }
    }
    @media screen and (max-width: 838px) {
        .secret__description {
            margin-top: 18px;
        }
    }

        .secret__text {}
        @media screen and (min-width: 839px) {
            .secret__text {
                font-size: 2.4rem;
            }
        }
        @media screen and (max-width: 838px) {
            .secret__text {
                font-size: 2.0rem;
            }
        }
        @media screen and (max-width: 430px) {
            .secret__text {
                font-size: 1.2rem;
            }
        }


            .secret__text span {
                color: #C83B35;
            }

            .secret__text strong {
                color: #C83B35;
            }
            @media screen and (min-width: 839px) {
                .secret__text strong {
                    font-size: 3.2rem;
                }
            }
            @media screen and (max-width: 838px) {
                .secret__text strong {
                    font-size: 2.4rem;
                }
            }
            @media screen and (max-width: 430px) {
                .secret__text strong {
                    font-size: 1.6rem;
                }
            }


        .secret__text--large {
            position: relative;
            width: fit-content;
            margin-inline: auto;
        }
        .secret__text--large::before {
            content: "";
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #333;
        }
        @media screen and (min-width: 839px) {
            .secret__text--large {
                font-size: 3.2rem;
            }
        }
        @media screen and (max-width: 838px) {
            .secret__text--large {
                font-size: 2.4rem;
            }
        }
        @media screen and (max-width: 430px) {
            .secret__text--large {
                font-size: 1.6rem;
            }
        }

            .secret__text--large strong {
                color: #C83B35;
            }
            @media screen and (min-width: 839px) {
                .secret__text--large strong {
                    font-size: 4.6rem;
                }
            }
            @media screen and (max-width: 838px) {
                .secret__text--large strong {
                    font-size: 2.3rem;
                }
            }


        .secret__description > img {
            width: 30%;
            margin-inline: auto;
        }
        @media screen and (min-width: 839px) {
            .secret__description > img {
                margin-top: -3px;
                margin-bottom: 4px;
            }
        }
        @media screen and (max-width: 838px) {
            .secret__description > img {
                margin-bottom: 2px;
            }
        }



.village {
    font-family: var(--fontMin);
    text-align: center;
}

    .village__title {
        background-color: #255708;
        color: white;
        text-align: center;
    }
    @media screen and (min-width: 839px) {
        .village__title {
            font-size: 5.4rem;
            line-height: 2.2;
        }
    }
    @media screen and (max-width: 838px) {
        .village__title {
            font-size: 2.6rem;
            line-height: 2.3;
        }
    }

    .village__content {
        background-image: url(../images/bg-village-02.jpg);
        background-repeat: no-repeat;
        background-position: 50% 100%;
    }
    @media screen and (min-width: 839px) {
        .village__content {
            padding-bottom: 41%;
            background-size: 107%;
        }
    }
    @media screen and (max-width: 838px) {
        .village__content {
            padding-bottom: 70%;
            background-size: 182%;
        }
    }

        .village__text {
            background-image: url(../images/bg-village-01.jpg);
            background-repeat: no-repeat;
            background-size: cover;
            color: white;
            line-height: 1.4;
        }
        @media screen and (min-width: 839px) {
            .village__text {
                padding-top: 222px;
                padding-bottom: 103px;
                font-size: 3.8rem;
                font-weight: 900;
            }
        }
        @media screen and (max-width: 838px) {
            .village__text {
                padding-top: 111px;
                padding-bottom: 50px;
                font-size: 1.9rem;
                font-weight: 700;
            }
        }

            .village__text span {
                display: block;
                line-height: 1;
            }
            @media screen and (min-width: 839px) {
                .village__text span {
                    margin-top: 6px;
                    margin-bottom: 4px;
                    font-size: 1.2rem;
                }
            }
            @media screen and (max-width: 838px) {
                .village__text span {
                    position: relative;
                    transform: scale(0.57);
                    font-size: 1.0rem;
                }
            }

            .village__text strong {
                color: #FFDB3F;
            }
            @media screen and (min-width: 839px) {
                .village__text strong {
                    font-size: 4.2rem;
                }
            }
            @media screen and (max-width: 838px) {
                .village__text strong {
                    font-size: 2.1rem;
                }
            }


    .village__catchphrase {
        position: relative;
        margin-inline: auto;
        background-color: white;
        text-align: left;
    }
    @media screen and (min-width: 839px) {
        .village__catchphrase {
            width: min(91.5%, 1170px);
            height: 204px;
            margin-top: -92px;
        }
    }
    @media screen and (max-width: 838px) {
        .village__catchphrase {
            width: 80%;
            height: 160px;
            margin-top: -46px;
        }
    }
    @media screen and (max-width: 430px) {
        .village__catchphrase {
            width: 92.4%;
            height: 102px;
            margin-top: -46px;
        }
    }

        .village__catchphrase__text {
            position: absolute;
            inset: 0;
            border: 2px solid #1A8426;
            font-weight: 700;
        }
        @media screen and (min-width: 839px) {
            .village__catchphrase__text {
                padding-top: 30px;
                padding-left: 18%;
                margin: 8px;
                font-size: 2.8rem;
            }
        }
        @media screen and (min-width: 1024px) {
            .village__catchphrase__text {
                padding-left: 26.2%;
            }
        }
        @media screen and (max-width: 838px) {
            .village__catchphrase__text {
                padding-top: 28px;
                padding-left: 18%;
                margin: 5px;
                font-size: 2.0rem;
            }
        }
        @media screen and (max-width: 430px) {
            .village__catchphrase__text {
                padding-top: 14px;
                padding-left: 9.5%;
                font-size: 1.4rem;
            }
        }

            .village__catchphrase__text strong {
                color: #C83B35;
            }
            @media screen and (min-width: 839px) {
                .village__catchphrase__text strong {
                    font-size: 6.0rem;
                }
            }
            @media screen and (max-width: 838px) {
                .village__catchphrase__text strong {
                    font-size: 4.2rem;
                }
            }
            @media screen and (max-width: 430px) {
                .village__catchphrase__text strong {
                    font-size: 3.0rem;
                }
            }

            .village__catchphrase__text span {}
            @media screen and (min-width: 839px) {
                .village__catchphrase__text span {
                    font-size: 4.0rem;
                }
            }
            @media screen and (max-width: 838px) {
                .village__catchphrase__text span {
                    font-size: 2.8rem;
                }
            }
            @media screen and (max-width: 430px) {
                .village__catchphrase__text span {
                    font-size: 2.0rem;
                }
            }



.introduction {
    background-color: #FFFDEE;
    font-family: var(--fontMin);
}
@media screen and (min-width: 839px) {
    .introduction {
        padding-top: 86px;
        padding-bottom: 82px;
    }
}
@media screen and (max-width: 838px) {
    .introduction {
        padding-top: 19px;
    }
}

    .introduction__title {
        max-width: 1280px;
        margin-inline: auto;
        font-weight: 700;
        text-align: center;
    }

        .introduction__title p {
            font-weight: 700;
            line-height: 1.4;
        }
        @media screen and (min-width: 839px) {
            .introduction__title p {
                margin-bottom: 12px;
                font-size: 3.6rem;
            }
        }
        @media screen and (max-width: 838px) {
            .introduction__title p {
                margin-bottom: 5px;
                font-size: 2.4rem;
            }
        }
        @media screen and (max-width: 430px) {
            .introduction__title p {
                font-size: 1.2rem;
            }
        }

        .introduction__title h2 {
            margin-inline: auto;
        }
        @media screen and (min-width: 839px) {
            .introduction__title h2 {
                width: 76%;
            }
        }
        @media screen and (max-width: 838px) {
            .introduction__title h2 {
                width: 95%;
            }
        }


    .introduction__images {
        position: relative;
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .introduction__images {
            width: min(53%, 678px);
            margin-top: -5px;
        }
    }
    @media screen and (max-width: 838px) {
        .introduction__images {
            width: 34%;
            margin-top: 13px;
        }
    }

        .introduction__images > img:first-of-type {
            width: 100%;
        }
        .introduction__images > img:not(:first-of-type) {
            position: absolute;
        }
        @media screen and (min-width: 839px) {
            .introduction__images > img:first-of-type {
            }
            .introduction__images > img:nth-of-type(2) {
                top: 24%;
                left: 95.5%;
                width: 48.5%;
            }
            .introduction__images > img:nth-of-type(3) {
                aspect-ratio: 100 / 61;
                top: 78%;
                left: -45%;
                width: 54%;
                object-fit: cover;
            }
            .introduction__images > img:nth-of-type(4) {
                top: 12%;
                left: -45%;
                width: 48.5%;
            }
        }
        @media screen and (max-width: 838px) {
            .introduction__images > img:not(:first-of-type) {
                display: none;
            }
        }


    .introduction__content {
        position: relative;
        margin-inline: auto;
        background-color: white;
        text-align: center;
    }
    @media screen and (min-width: 839px) {
        .introduction__content {
            transform: translateX(18.5%);
            width: min(864px, 67.5%);
            height: 252px;
            margin-top: -91px;
        }
    }
    @media screen and (max-width: 838px) {
        .introduction__content {
            width: 46%;
            height: 74px;
            margin-top: -28px;
        }
    }

        .introduction__content p {
            position: absolute;
            border: 2px dotted #1A8426;
            font-weight: 700;
            line-height: 1.4;
            letter-spacing: .01em;
        }
        @media screen and (min-width: 839px) {
            .introduction__content p {
                inset: 0;
                padding-top: 48px;
                margin: 8px;
                font-size: min(2.8rem, 100vw * (28 / 1280));
            }
        }
        @media screen and (max-width: 838px) {
            .introduction__content p {
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) scale(0.9);
                width: 105%;
                height: 101%;
                padding-top: 7px;
                padding-inline: 2px;
                margin: auto;
                font-size: 1.0rem;
            }
        }

            .introduction__content p > strong {
                color: #1A8426;
            }
            @media screen and (min-width: 839px) {
                .introduction__content p > strong {
                    font-size: calc(1em * (43 / 28));
                }
            }
            @media screen and (max-width: 838px) {
                .introduction__content p > strong {
                    font-size: 1.15rem;
                }
            }



.difference {
    position: relative;
    background-color: #F8FFF4;
    font-family: var(--fontMin);
}
.difference::before,
.difference::after {
    content: "";
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
}
.difference::before {
    aspect-ratio: 341 / 347;
    background-image: url(../images/icon-feature-03.webp);
}
.difference::after {
    aspect-ratio: 227 / 229;
    background-image: url(../images/icon-difference.webp);
}
@media screen and (min-width: 839px) {
    .difference {
        padding-top: 196px;
    }
    .difference::before {
        top: 1%;
        left: 0.8%;
        width: 158px;
    }
    .difference::after {
        top: -3.5%;
        right: 2.890625%;
        width: 152px;
    }
}
@media screen and (max-width: 838px) {
    .difference {
        padding-top: 100px;
    }
    .difference::before {
        top: 1.4%;
        left: 1%;
        width: 80px;
    }
    .difference::after {
        top: -4%;
        right: 4.5%;
        width: 76px;
    }
}

    .difference__title {
        position: relative;
        z-index: 1;
        max-width: 1124px;
        margin-inline: auto;
        font-weight: 700;
        line-height: 1.4;
    }
    .difference__title::before {
        content: "";
        aspect-ratio: 889 / 671;
        position: absolute;
        z-index: -1;
        background-image: url(../images/image-difference-01.webp);
        background-repeat: no-repeat;
        background-size: contain;
    }
    @media screen and (min-width: 839px) {
        .difference__title {
            padding-inline: 30px;
            margin-bottom: 170px;
            font-size: 5.4rem;
        }
        .difference__title::before {
            top: 0;
            right: 30px;
            width: calc(100% * (580 / 1124));
            margin-top: -3%;
        }
    }
    @media screen and (max-width: 838px) {
        .difference__title {
            padding-bottom: 252px;
            margin-bottom: 24px;
            text-align: center;
            font-size: 2.7rem;
        }
        .difference__title::before {
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 320px;
        }
    }

        .difference__title span {
            display: inline-flex;
        }
        @media screen and (min-width: 839px) {
            .difference__title span {
                margin-top: 23px;
                font-size: 7.9rem;
            }
        }
        @media screen and (max-width: 838px) {
            .difference__title span {
                margin-top: 12px;
                font-size: 4.0rem;
            }
        }

        .difference__title strong {
            position: relative;
            display: block;
            color: #1A8426;
        }
        .difference__title strong::before {
            content: "";
            aspect-ratio: 1 / 1;
            position: absolute;
            top: -4px;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 100%;
            background-color: #1A8426;
        }
        @media screen and (min-width: 839px) {
            .difference__title strong::before {
                width: 15px;
            }
        }
        @media screen and (max-width: 838px) {
            .difference__title strong::before {
                width: 9px;
            }
        }


    .difference__content {
        position: relative;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        max-width: 1280px;
        padding-top: 13.8%;
        margin-inline: auto;
    }
    .difference__content::before {
        content: "";
        aspect-ratio: 600 / 552;
        position: absolute;
        top: 0;
        background-image: url(../images/image-difference-02.webp);
        background-repeat: no-repeat;
        background-size: contain;
}
    @media screen and (min-width: 839px) {
        .difference__content {
            padding-inline: 20px;
        }
        .difference__content::before {
            left: calc(20px + 0.05%);
            width: 48.5%;
        }
    }
    @media screen and (max-width: 838px) {
        .difference__content {
            padding-inline: 10px;
        }
        .difference__content::before {
            left: calc(10px + 0.05%);
            width: 47.5%;
        }
    }

        .difference__content > img {
            width: 50%;
        }


    .difference__list {}
    @media screen and (min-width: 839px) {
        .difference__list {
            margin-top: -98px;
        }
    }
    @media screen and (max-width: 838px) {
        .difference__list {
            margin-top: -51px;
        }
    }

        .difference__item {
            background-repeat: no-repeat;
            background-size: cover;
        }
        @media screen and (min-width: 839px) {
            .difference__item:first-of-type {
                padding-top: 116px;
                padding-bottom: 404px;
            }
            .difference__item:nth-of-type(2) {
                padding-top: 128px;
                padding-bottom: 402px;
                clip-path: polygon(
                    0 0,
                    100% 113px,
                    100% 100%,
                    0 100%
                );
            }
            .difference__item:nth-of-type(3) {
                padding-top: 476px;
                padding-bottom: 49px;
                clip-path: polygon(
                    0 113px,
                    100% 0,
                    100% 100%,
                    0 100%
                );
            }
            .difference__item + .difference__item {
                margin-top: -113px;
            }
        }
        @media screen and (max-width: 838px) {
            .difference__item:first-of-type {
                padding-top: 59px;
                padding-bottom: 74px;
            }
            .difference__item:nth-of-type(2) {
                padding-top: 48px;
                padding-bottom: 106px;
                clip-path: polygon(
                    0 0,
                    100% 32px,
                    100% 100%,
                    0 100%
                );
            }
            .difference__item:nth-of-type(3) {
                padding-top: 110px;
                padding-bottom: 23px;
                clip-path: polygon(
                    0 32px,
                    100% 0,
                    100% 100%,
                    0 100%
                );
            }
            .difference__item + .difference__item {
                margin-top: -32px;
            }
        }

            .difference__text {
                width: 100%;
                max-width: 1280px;
                margin-inline: auto;
            }
            @media screen and (min-width: 839px) {
                .difference__text {
                    padding-inline: min(60px, 4.6875%);
                }
            }
            @media screen and (max-width: 838px) {
                .difference__text {
                    padding-inline: min(30px, 8%);
                }
            }

                .difference__text p {
                    position: relative;
                    z-index: 1;
                    width: fit-content;
                    background-color: white;
                    font-weight: 700;
                    white-space: nowrap;
                    line-height: 1.5;
                }
                @media screen and (min-width: 839px) {
                    .difference__text p {
                        padding-inline: 12px;
                        font-size: 3.2rem;
                    }
                }
                @media screen and (max-width: 838px) {
                    .difference__text p {
                        padding-inline: 8px;
                        font-size: 2.0rem;
                    }
                }
                @media screen and (max-width: 430px) {
                    .difference__text p {
                        transform: scale(0.9);
                        transform-origin: 0 0;
                        font-size: 1.0rem;
                    }
                }

                    .difference__text span {
                        color: #1A8426;
                    }



.point {
    position: relative;
    background-color: #FFFDEE;
    font-family: var(--fontMin);
    font-weight: 700;
}
.point::before {
    content: "";
    aspect-ratio: 341 / 347;
    position: absolute;
    background-image: url(../images/icon-feature-03.webp);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (min-width: 839px) {
    .point {
        padding-top: 114px;
    }
    .point::before {
        top: 15px;
        left: 10px;
        width: 160px;
    }
}
@media screen and (max-width: 838px) {
    .point {
        padding-top: 57px;
    }
    .point::before {
        top: 7px;
        left: 5px;
        width: 80px;
    }
}

    .point__title {
        position: relative;
        z-index: 1;
        text-align: center;
    }
    @media screen and (min-width: 839px) {
        .point__title {
            margin-bottom: 47px;
            font-size: 5.4rem;
        }
    }
    @media screen and (max-width: 838px) {
        .point__title {
            margin-bottom: 25px;
            font-size: 3.6rem;
        }
    }
    @media screen and (max-width: 430px) {
        .point__title {
            font-size: 2.7rem;
        }
    }

        .point__title strong {
            color: #1A8426;
        }
        @media screen and (min-width: 839px) {
            .point__title strong {
                font-size: 6.4rem;
            }
        }
        @media screen and (max-width: 838px) {
            .point__title strong {
                font-size: 4.0rem;
            }
        }
        @media screen and (max-width: 430px) {
            .point__title strong {
                font-size: 3.0rem;
            }
        }

    .point__list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .point__list {
            grid-column-gap: calc(100% * (26 / 992));
            width: min(992px, 77.5%);
        }
    }
    @media screen and (max-width: 838px) {
        .point__list {
            grid-column-gap: calc(100% * (12 / 284));
            width: calc(100% * (284 / 375));
        }
    }

    .point__content {
        position: relative;
        padding-left: 50%;
        background-color: white;
        background-image: url(../images/bg-point.webp);
        background-repeat: no-repeat;
        background-size: contain;
    }
    .point__content::before,
    .point__content::after {
        content: "";
        position: absolute;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .point__content::before {
        aspect-ratio: 168 / 301;
        right: 0;
        background-image: url(../images/icon-point.png);
    }
    .point__content::after {
        aspect-ratio: 341 / 347;
        background-image: url(../images/icon-feature-03.webp);
    }
    @media screen and (min-width: 839px) {
        .point__content {
            aspect-ratio: 1280 / 427;
            padding-top: 8.9%;
            margin-top: 100px;
        }
        .point__content::before {
            top: 0;
            right: max(-36px, -2.8125%);
            width: min(86px, 6.71875%);
            margin-top: calc(-100% * (82 / 1280));
        }
        .point__content::after {
            margin-bottom: calc(-100% * (66 / 1280));
            right: 0;
            width: min(160px, 12.5%);
        }
    }
    @media screen and (max-width: 838px) {
        .point__content {
            padding-top: calc(100% * (7 / 375));
            padding-bottom: calc(100% * (12 / 375));
            margin-top: 48px;
        }
        .point__content::before {
            top: calc(-100vw * (40 / 375));
            right: calc(-100% * (17 / 375));
            width: calc(100% * (42 / 375));
        }
        .point__content::after {
            bottom: calc(-100vw * (33 / 375));
            right: 0;
            width: calc(100% * (80 / 375));
        }
    }

        .point__text {
        }
        @media screen and (min-width: 839px) {
            .point__text {
                margin-bottom: 38px;
                font-size: min(3.2rem, 100vw * (32 / 1280));
                font-weight: 900;
            }
        }
        @media screen and (max-width: 838px) {
            .point__text {
                margin-bottom: 19px;
                font-size: calc(100vw * (16 / 375));
                font-weight: 700;
            }
        }

        .point__catchphrase {
            position: relative;
            width: fit-content;
            -webkit-font-feature-settings: "palt";
            line-height: 1.4;
        }
        .point__catchphrase::before {
            content: "";
            position: absolute;
            left: 0;
            width: 100%;
            background-image: linear-gradient(90deg, #16A085, #F4D03F);
        }
        @media screen and (min-width: 839px) {
            .point__catchphrase {
                font-size: min(3.8rem, 100vw * (38 / 1280));
                padding-left: 3px;
                letter-spacing: 0.03em;
            }
            .point__catchphrase::before {
                top: calc(100% + 8px);
                height: 3px;
            }
        }
        @media screen and (max-width: 838px) {
            .point__catchphrase {
                font-size: calc(100vw * (13 / 375));
                padding-left: 2px;
                letter-spacing: 0.03em;
            }
            .point__catchphrase::before {
                top: calc(100% + 3px);
                height: 1px;
            }
        }

            .point__catchphrase span {
                background-image: linear-gradient(90deg, #1A8426, #FFDB3F);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
            }

            @media screen and (min-width: 839px) {
                .point__catchphrase em {
                    font-size: calc(1em * (32 / 38));
                }
            }
            @media screen and (max-width: 838px) {
                .point__catchphrase em {
                    font-size: calc(1em * (11 / 13));
                }
            }



.faq {
    position: relative;
    padding-inline: 20px;
    font-family: var(--fontMin);
    font-weight: 700;
}
@media screen and (min-width: 839px) {
    .faq {
        padding-top: 177px;
        padding-bottom: 90px;
    }
}
@media screen and (max-width: 838px) {
    .faq {
        padding-top: 88px;
        padding-bottom: 44px;
    }
}

    .faq__content {
        max-width: 1280px;
        margin-inline: auto;
    }
    @media screen and (min-width: 839px) {
        .faq__content + .faq__content {
            margin-top: 204px;
        }
    }
    @media screen and (max-width: 838px) {
        .faq__content + .faq__content {
            margin-top: 62px;
        }
    }

        .faq__title {
            position: relative;
            z-index: 1;
            width: fit-content;
            margin-inline: auto;
            line-height: 1.4;
            text-align: center;
            white-space: nowrap;
        }
        .faq__title::before {
            content: "";
            aspect-ratio: 366 / 267;
            position: absolute;
            z-index: -1;
            background-repeat: no-repeat;
            background-size: contain;
        }
        .faq__content:nth-of-type(1) .faq__title::before {
            background-image: url(../images/icon-faq-01.png);
        }
        .faq__content:nth-of-type(2) .faq__title::before {
            background-image: url(../images/icon-faq-02.png);
        }
        @media screen and (min-width: 839px) {
            .faq__title {
                padding-left: 150px;
                margin-bottom: 11px;
                font-size: 3.6rem;
            }
            .faq__title::before {
                top: -73px;
                left: -2px;
                width: 182px;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__title {
                padding-left: 70px;
                margin-bottom: 6px;
                font-size: 2.4rem;
                letter-spacing: -0.05em;
            }
            .faq__title::before {
                top: calc(-1em * (35 / 19));
                left: 0;
                width: calc(1em * (90 / 19));
            }
        }
        @media screen and (max-width: 430px) {
            .faq__title {
                font-size: 1.9rem;
            }
        }

            .faq__title strong {
                color: #1A8426;
            }
            @media screen and (min-width: 839px) {
                .faq__title strong {
                    font-size: 5.4rem;
                }
            }
            @media screen and (max-width: 838px) {
                .faq__title strong {
                    font-size: calc(1em * (28 / 19));
                }
            }

        .faq__image01 {
            position: relative;
            max-width: calc(100% - 16px);
            margin-inline: auto;
        }
        @media screen and (min-width: 839px) {
            .faq__image01 {
                width: min(680px, 100% * (680 / 1240));
                margin-bottom: 78px;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__image01 {
                width: 480px;
                margin-bottom: 40px;
            }
        }

            .faq__image01 figcaption {
                position: absolute;
                bottom: 0;
                left: 0;
                display: block;
                width: 100%;
                padding-inline: 15px;
                background-color: #1A8426;
                color: white;
                line-height: 1.4;
                text-align: center;
            }
            .faq__image01 figcaption strong {
                color: #FFDB3F;
            }
            @media screen and (min-width: 839px) {
                .faq__image01 figcaption {
                    padding-top: 10px;
                    padding-bottom: 11px;
                    font-size: 2.4rem;
                }
                .faq__image01 figcaption strong {
                    font-size: 2.8rem;
                }
            }
            @media screen and (max-width: 838px) {
                .faq__image01 figcaption {
                    padding-top: 5px;
                    padding-bottom: 4px;
                    font-size: 1.8rem;
                }
                .faq__image01 figcaption strong {
                    font-size: calc(1em * (14 / 12));
                }
            }
            @media screen and (max-width: 430px) {
                .faq__image01 figcaption {
                    font-size: 1.2rem;
                }
            }


        .faq__image02 {
            position: relative;
            max-width: calc(100% - 16px);
            margin-inline: auto;
        }
        @media screen and (min-width: 839px) {
            .faq__image02 {
                transform: translateX(-24.7%);
                width: min(680px, 100% * (680 / 1240));
                margin-top: 102px;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__image02 {
                width: 480px;
                margin-top: 55px;
                margin-bottom: 15px;
            }
        }

            .faq__image02 figcaption {
                position: absolute;
                bottom: 0;
                left: 0;
                display: block;
                width: 100%;
                padding-inline: 15px;
                background-color: #1A8426;
                color: white;
                line-height: 1.4;
                text-align: center;
            }
            .faq__image02 figcaption strong {
                color: #FFDB3F;
            }
            @media screen and (min-width: 839px) {
                .faq__image02 figcaption {
                    padding-top: 10px;
                    padding-bottom: 11px;
                    font-size: 2.4rem;
                }
                .faq__image02 figcaption strong {
                    font-size: 2.8rem;
                }
            }
            @media screen and (max-width: 838px) {
                .faq__image02 figcaption {
                    padding-top: 5px;
                    padding-bottom: 4px;
                    font-size: 1.8rem;
                }
                .faq__image02 figcaption strong {
                    font-size: calc(1em * (14 / 12));
                }
            }
            @media screen and (max-width: 430px) {
                .faq__image02 figcaption {
                    font-size: 1.2rem;
                }
            }


        .faq__image03 {
            display: grid;
        }
        @media screen and (min-width: 839px) {
            .faq__image03 {
                grid-template-columns: 77.7% 1fr;
                margin-top: -7.6%;
                margin-right: 10.2%;
                margin-left: 21.4%;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__image03 {
                grid-template-columns: 70.2% 1fr;
                width: 95%;
                margin-inline: auto;
            }
        }

            .faq__image03 img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .faq__image03 figcaption {
                display: block;
                width: 100%;
                padding-inline: 15px;
                background-color: #1A8426;
                color: white;
                line-height: 1.5;
                text-align: center;
                writing-mode: vertical-rl;
            }
            .faq__image03 figcaption strong {
                color: #FFDB3F;
            }
            @media screen and (min-width: 839px) {
                .faq__image03 figcaption {
                    padding-top: 15%;
                    padding-right: 20%;
                    font-size: 2.4rem;
                }
                .faq__image03 figcaption strong {
                    font-size: 3.0rem;
                }
            }
            @media screen and (max-width: 838px) {
                .faq__image03 figcaption {
                    padding-top: 32%;
                    padding-bottom: 32%;
                    padding-right: 25%;
                    font-size: 1.8rem;
                    line-height: 1.4;
                }
                .faq__image03 figcaption strong {
                    font-size: calc(1em * (14 / 10));
                }
            }
            @media screen and (max-width: 430px) {
                .faq__image03 figcaption {
                    font-size: 1.0rem;
                }
            }



        .faq__text {
            text-align: center;
        }
        .faq__text strong {
            color: #1A8426;
        }
        @media screen and (min-width: 839px) {
            .faq__text {
                font-size: 2.4rem;
            }
            .faq__text strong {
                font-size: 3.2rem;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__text {
                font-size: 1.8rem;
            }
            .faq__text strong {
                font-size: calc(1em * (16 / 12));
            }
        }
        @media screen and (max-width: 430px) {
            .faq__text {
                font-size: 1.2rem;
            }
        }

            .faq__text > img {
                margin-inline: auto;
            }
            @media screen and (min-width: 839px) {
                .faq__text > img {
                    width: 174px;
                    margin-bottom: 22px;
                }
            }
            @media screen and (max-width: 838px) {
                .faq__text > img {
                    width: 86px;
                    margin-bottom: 11px;
                }
            }


        .faq__image {
            margin-inline: auto;
        }
        @media screen and (min-width: 839px) {
            .faq__image {
                width: calc(100% * (640 / 1240));
                margin-top: 34px;
                margin-bottom: 50px;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__image {
                width: 95%;
                margin-top: 18px;
                margin-bottom: 28px;
            }
        }

        .faq__option1 {
            position: relative;
            background-image: url(../images/image-faq-03.jpg);
            background-repeat: no-repeat;
        }
        .faq__option1::before {
            content: "";
            aspect-ratio: 341 / 347;
            position: absolute;
            display: block;
            background-image: url(../images/icon-feature-03.webp);
            background-repeat: no-repeat;
            background-size: contain;
        }
        @media screen and (min-width: 839px) {
            .faq__option1 {
                width: 82%;
                padding-top: 7.5%;
                margin-top: 25px;
                margin-inline: auto;
                background-size: contain;
            }
            .faq__option1::before {
                top: 103%;
                left: -13.3%;
                width: 15.8%;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__option1 {
                margin-top: 12px;
                margin-inline: -2.8%;
                background-size: auto 92%;
                background-position: 0 100%;
            }
        }

            .faq__option1__text {
                position: relative;
                margin-left: auto;
                background-color: white;
                line-height: 1.42;
                background-image:
                    linear-gradient(#FFDB3F, #FFDB3F),
                    linear-gradient(#FFDB3F, #FFDB3F),
                    linear-gradient(#FFDB3F, #FFDB3F),
                    linear-gradient(#FFDB3F, #FFDB3F);
                background-repeat: no-repeat;
            }
            .faq__option1__text::before {
                content: "";
                aspect-ratio: 392 / 356;
                position: absolute;
                bottom: 0;
                right: 0;
                display: block;
                background-image: url(../images/icon-faq-05.png);
                background-repeat: no-repeat;
                background-size: contain;
            }
            .faq__option1__text strong {
                background-image: linear-gradient(#FFDB3F, #FFDB3F);
                background-repeat: no-repeat;
                background-position: 0 100%;
            }
            @media screen and (min-width: 839px) {
                .faq__option1__text {
                    width: 51.7%;
                    padding-top: 10%;
                    padding-left: 9.8%;
                    padding-bottom: 9.9%;
                    background-position:
                        min(17px, 100vw * (17 / 1280)) min(10px, 100vw * (10 / 1280)),
                        calc(100% - min(14px, 100vw * (14 / 1280))) min(10px, 100vw * (10 / 1280)),
                        min(17px, 100vw * (17 / 1280)) calc(100% - min(8px, 100vw * (8 / 1280))),
                        min(17px, 100vw * (17 / 1280)) min(10px, 100vw * (10 / 1280));
                    background-size:
                        calc(100% - min(31px, 100vw * (31 / 1280))) 2px,
                        2px calc(100% - min(18px, 100vw * (18 / 1280))),
                        calc(100% - min(31px, 100vw * (31 / 1280))) 2px,
                        2px calc(100% - min(18px, 100vw * (18 / 1280)));
                    font-size: min(2.4rem, 100vw * (24 / 1280));
                    box-shadow: 0 0 15px rgb(0 0 0 / .25);
                }
                .faq__option1__text::before {
                    right: -12.2%;
                    width: calc(100% * (193 / 525.67));
                }
                .faq__option1__text strong {
                    background-size: 100% 10px;
                    font-size: calc(1em * (32 / 24));
                }
            }
            @media screen and (max-width: 838px) {
                .faq__option1__text {
                    width: 54%;
                    padding-top: 14.1%;
                    padding-left: 4%;
                    padding-bottom: 14.1%;
                    background-position:
                        5px 5px,
                        calc(100% - 5px) 5px,
                        5px calc(100% - 5px),
                        5px 5px;
                    background-size:
                        calc(100% - 10px) 2px,
                        2px calc(100% - 10px),
                        calc(100% - 10px) 2px,
                        2px calc(100% - 10px);
                    font-size: min(1.2rem, 100vw * (12 / 375));
                    box-shadow: 0 0 8px rgb(0 0 0 / .25);
                }
                .faq__option1__text::before {
                    right: -12.2%;
                    width: calc(100% * (80 / 176.875));
                }
                .faq__option1__text strong {
                    background-size: 100% 5px;
                    font-size: calc(1em * (32 / 24));
                }
            }


        .faq__option2 {
            position: relative;
            max-width: 880px;
            margin-inline: auto;
        }
        .faq__option2::before {
            content: "";
            aspect-ratio: 446 / 407;
            position: absolute;
            display: block;
            background-image: url(../images/icon-faq-06.png);
            background-repeat: no-repeat;
            background-size: contain;
        }
        .faq__option2 img {
            width: 100%;
        }
        @media screen and (min-width: 839px) {
            .faq__option2 {
                margin-top: 47px;
            }
            .faq__option2::before {
                bottom: -2px;
                right: -5.5%;
                width: 25%;
            }
        }
        @media screen and (max-width: 838px) {
            .faq__option2 {
                width: 95%;
                margin-top: 23px;
            }
            .faq__option2::before {
                bottom: -2px;
                right: -8%;
                width: 13%;
            }
        }



.voice2 {
    background-color: #FFFDEE;
    font-family: var(--fontMin);
    font-weight: 700;
}
@media screen and (min-width: 839px) {
    .voice2 {
        padding-bottom: 74px;
    }
}
@media screen and (max-width: 838px) {
    .voice2 {
        padding-bottom: 38px;
    }
}

    .voice2__title {
        position: relative;
        background-color: #255708;
        color: white;
        text-align: center;
    }
    .voice2__title::before,
    .voice2__title::after {
        content: "";
        position: absolute;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .voice2__title::before {
        aspect-ratio: 224 / 158;
        background-image: url(../images/icon-voice2-01.png);
    }
    .voice2__title::after {
        aspect-ratio: 227 / 228;
        background-image: url(../images/icon-voice2-02.png);
    }
    @media screen and (min-width: 839px) {
        .voice2__title {
            padding-top: 25px;
            padding-bottom: 30px;
            margin-bottom: 58px;
            font-size: 4.0rem;
            line-height: 1.25;
        }
        .voice2__title span {
            position: relative;
            display: block;
            width: fit-content;
            margin-inline: auto;
        }
        .voice2__title span::before,
        .voice2__title span::after {
            content: "";
            position: absolute;
            top: 54%;
            display: block;
            background-color: white;
        }
        .voice2__title span::before {
            left: -5%;
            transform: translateY(-50%) rotate(-45deg);
            width: 4px;
            height: 80%;
        }
        .voice2__title span::after {
            right: -5%;
            transform: translateY(-50%) rotate(45deg);
            width: 4px;
            height: 80%;
        }
        .voice2__title strong {
            font-size: 5.4rem;
        }
        .voice2__title::before {
            width: 230px;
            top: -98px;
            right: 0px;
        }
        .voice2__title::after {
            width: 151px;
            top: 97px;
            left: 0px;
        }
    }
    @media screen and (max-width: 838px) {
        .voice2__title {
            padding-top: 18px;
            padding-bottom: 27px;
            margin-bottom: 25px;
            font-size: 3.0rem;
            line-height: 1.0;
        }
        .voice2__title strong {
            font-size: 0.6em;
        }
        .voice2__title::before {
            width: calc(100% * (118 / 375));
            top: calc(-100vw * (51 / 375));
            right: calc(-100% * (2 / 375));
        }
        .voice2__title::after {
            width: calc(100% * (78 / 375));
            top: calc(100vw * (46 / 375));
            left: 0px;
        }
    }
    @media screen and (max-width: 430px) {
        .voice2__title {
            font-size: 2.0rem;
        }
    }

    @media screen and (min-width: 839px) {
        .voice2__content {
            max-width: min(898px, 70.15625%);
            margin-inline: auto;
        }
    }
    @media screen and (max-width: 838px) {
        .voice2__content {
            padding-inline: calc(100% * (56 / 375));
        }
    }

        .voice2__content img {
            width: 100%;
        }
        @media screen and (min-width: 839px) {
            .voice2__content  img + img {
                margin-top: 48px;
            }
        }
        @media screen and (max-width: 838px) {
            .voice2__content  img + img {
                margin-top: 14px;
            }
        }



.flow {
    background-color: #F8FFF4;
}

.flow > * {
    max-width: 1280px;
    margin-inline: auto;
}



.use {
    background-color: #FFFDEE;
}

.use > * {
    max-width: 1280px;
    margin-inline: auto;
}



.buy2 {}

.buy2 > * {
    max-width: 1280px;
    margin-inline: auto;
}

.buy2 > .buy {
    margin-top: 0;
}

