body {
    font-size: 10px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.display_wrap {
    background-image: url(../img/bg.jpg);
    background-size: cover;
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    /* 追加: 外側がスクロールしないように固定 */
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
}

.content_inner {
    margin: 0 auto;
    max-width: 600px;
    box-shadow: -5px 0 12px -2px rgba(0, 0, 0, 0.1), 5px 0 12px -2px rgba(0, 0, 0, 0.1);
    height: 100vh;
    overflow-y: auto;
}

@media screen and (max-width: 599px) {
    .content_inner {
        box-shadow: none;
    }
}

.full {
    img {
        width: 100%;
    }

    a {
        img {
            width: 100%;
        }
    }
}

.inner_l {
    padding: 0 6%;

    img {
        width: 100%;
    }

    a {
        img {
            width: 100%;
        }
    }

    .movie {
        display: flex;
        justify-content: center;
        align-items: center;
        padding-bottom: 5%;

        video {
            width: 100%;
            /* 隙間の分を引いて計算 */
            height: auto;
        }

        img {
            margin: 0 auto;
        }
    }
}

.inner_m {
    img {
        width: 100%;
        padding: 0px 12%;
    }

    a {
        img {
            width: 100%;
            padding: 0px 6%;
        }
    }
}

.flex {
    display: flex;
}


.about {
    background-image: url(../img/bg_about.jpg);
    background-position: top;
    padding: 0% 0% 8%;
    background-size: cover;
}

.cp_products {
    background-image: url(../img/bg_cp_products.jpg);
    padding: 10% 0% 20%;
    background-size: cover;
}

.cp_products_item {
    position: relative;

    .batch {
        position: absolute;
        width: 24%;
        left: -5%;
        top: 5%;
    }
}

.cp_products_inner {
    display: grid;
    gap: 1.5%;
}


.shops {
    position: relative;
}

.lineup {
    background-color: #ffffff;
    padding: 0% 0% 16%;
}

.products_inner {
    padding: 10% 0 0;
    display: grid;
    gap: 1.5%;
}

.information {
    background-color: #F9F4F1;
    /* padding: 0% 0% 16%; */
    /* padding: 0% 0% 6%; */
    padding: 0% 0% 20%;
    position: relative;
}

.caution {
    position: relative;
    background-color: #F9F4F1;
}
.info_list {
    display: grid;
    padding: 8% 0% 10%;
    gap: 3%;
}

.caution_inner{
    display: grid;
    gap: 1%;
    padding: 8% 0% 40%;
}