.w_1200 {
    max-width: 1200px;
    width: 90%;
    margin-inline: auto;
}

.w_1000 {
    max-width: 1000px;
    width: 90%;
    margin-inline: auto;
}

.w_800 {
    max-width: 800px;
    width: 90%;
    margin-inline: auto;
}

img,
svg {
    display: block;
    width: 100%;
}

.pc {
    @media screen and (max-width: 640px) {
        display: none;
    }
}

.sp {
    display: none;

    @media screen and (max-width: 640px) {
        display: block;
    }
}

.c-spbr {
    display: inline-block;
}

.new_2602 {
    background: url('../image/new/2602/back.webp') repeat center/contain;

    .intro {
        padding-bottom: 60px;

        h2 {
            margin-bottom: 45px;
        }

        h3 {
            margin-bottom: 30px;
        }

        p,
        span {
            text-align: center;
            font-size: clamp(1rem, 2vw, 1.2rem);
        }

        p{
            margin-bottom: 30px;
        }

        .col2 {
            max-width: 700px;
            width: 80%;
            margin-inline: auto;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 45px;

            @media screen and (max-width: 640px) {
                grid-template-columns: 1fr;
                width: 60%;
            }
        }
    }

    .menu {
        padding: 90px 0;
        background: url('../image/new/2602/menu_back.webp') no-repeat top center/cover;

        @media (orientation: portrait) {
            background: url('../image/new/2602/menu_back_sp.webp') no-repeat top center/cover;
        }

        .menu_item {
            position: relative;
            display: grid;
            grid-template-columns: 1.2fr 1fr;
            gap: 30px 15px;
            padding: 60px 45px;
            z-index: 10;
            width: 90%;
            margin: 0 0 180px auto;

            @media screen and (max-width: 640px) {
                grid-template-columns: 1fr;
                margin: 0 auto 180px auto;
                display: block;
                padding: 30px 20px;
                margin-bottom: 120px;
            }

            &:nth-of-type(even) {
                margin: 0 auto 180px 0;

                @media screen and (max-width: 640px) {
                    margin: 0 auto 180px auto;
                    margin-bottom: 90px;
                }

                .frame {
                    top: -15px;
                    left: -15px;
                }

                .text {
                    order: 1;

                    @media screen and (max-width: 640px) {
                        order: 2;
                    }
                }

                .img {
                    order: 2;
                    @media screen and (max-width: 640px) {
                        order: 1;
                    }
                }
            }

            &::before {
                position: absolute;
                content: "";
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: white;
                z-index: -1;
                opacity: .5;
            }

            .frame {
                position: absolute;
                top: 15px;
                left: 15px;
                width: 100%;
                height: 100%;
                background: white;
                z-index: -1;
                opacity: .5;
            }

            .img {
                position: relative;

                img {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    scale: 1.3;

                    @media screen and (max-width: 640px) {
                        position: relative;
                        scale: 1;
                    }
                }
            }

            .text {
                position: relative;
                display: grid;
                grid-template-columns: 90px 1fr;
                gap: 15px;

                @media screen and (max-width: 1100px) {
                    grid-template-columns: 60px 1fr;
                }
                @media screen and (max-width: 640px) {
                    grid-template-columns: 1fr;
                    text-align: center;
                }

                h4 {
                    @media screen and (max-width: 640px) {
                        display: grid;
                        grid-template-columns: 45px auto;
                        gap: 15px;
                        align-items: center;
                        justify-content: center;

                        &::before{
                            content: "";
                            display: block;
                            width: 45px;
                            height: 45px;
                            background: url('../image/new/2602/icon_koji.svg') no-repeat center/cover;
                        }
                    }
                }

                h4.frozen {
                    @media screen and (max-width: 640px) {
                        display: grid;
                        grid-template-columns: 45px auto;
                        gap: 15px;
                        align-items: center;
                        justify-content: center;

                        &::before{
                            content: "";
                            display: block;
                            width: 45px;
                            height: 50px;
                            background: url('../image/new/2602/icon_frozen.svg') no-repeat center/contain;
                        }
                    }
                }

                .note {
                    font-size: clamp(.85rem,1vw,.9rem);
                }
            }

            .icon {
                img {
                    &:not(:last-of-type) {
                        margin-bottom: 10px;
                    }
                }
            }

            .icon_koji,
            .icon_frozen {
                width: 90px;
                top: 0;
                transform: translateY(-25%);

                @media screen and (max-width: 1100px) {
                    width: 60px;
                }

                @media screen and (max-width: 640px) {
                    display: none;
                }
            }

            h4,
            .note {
                margin-bottom: 30px;
            }

            a {
                display: grid;
                grid-template-columns: auto 15px;
                align-items: center;
                justify-content: center;
                gap: .5rem;
                background: #802026;
                color: white;
                padding: 15px;
                max-width: 250px;
                width: 100%;
                font-size: clamp(.9rem, 2vw, 1rem);
                filter: brightness(1) drop-shadow(0 0 10px rgba(175, 71, 71, 0.6));
                border-radius: 100vmax;
                text-decoration: none;
                transition: all .3s;

                @media screen and (max-width: 640px) {
                    margin-inline: auto;
                }

                &:hover {
                    filter: brightness(1.5) drop-shadow(0 0 5px rgba(175, 71, 71, 0.6));
                }
            }
        }

        .item01 {
            h4 img {
                width: 230px;
                @media screen and (max-width: 1100px) {
                    width: 180px;
                }
                @media screen and (max-width: 640px) {
                    width: 160px;
                }
            }

            .img img {
                top: -60px;
                left: -80px;

                @media screen and (max-width: 1100px) {
                    top: 70%;
                    transform: translateY(-50%);
                }

                @media screen and (max-width: 640px) {
                    min-width: 460px;
                    left: 80%;
                    top: 0;
                    transform: translateY(0%) translateX(-50%);
                    scale: 1.3;
                }
            }
        }

        .item02 {
            h4 img {
                width: 240px;
                @media screen and (max-width: 1100px) {
                    width: 190px;
                }
                @media screen and (max-width: 640px) {
                    width: 170px;
                }
            }

            .img img {
                top: -70px;
                left: 70px;
                scale: 1.4;

                @media screen and (max-width: 640px) {
                    top: -60px;
                    left: 0;
                    transform: translateX(0);
                    scale: 1.4;
                }
            }
        }

        .item03 {
            h4 img {
                width: 300px;
                @media screen and (max-width: 1100px) {
                    width: 240px;
                }
                @media screen and (max-width: 640px) {
                    width: 210px;
                }
            }

            .img img {
                top: -50px;
                left: -15%;
                scale: 1.4;

                @media screen and (max-width: 640px) {
                    top: -40px;
                    left: 0;
                    scale: 1.6;
                }
            }
        }

        .item04 {
            h4 img {
                width: 260px;
                @media screen and (max-width: 1100px) {
                    width: 190px;
                }
                @media screen and (max-width: 640px) {
                    width: 170px;
                }
            }

            .img img {
                left: 5%;
                top: -20%;
                scale: 1.5;

                @media screen and (max-width: 1100px) {
                    left: 28%;
                }
                @media screen and (max-width: 640px) {
                    top: -40px;
                    left: 0;
                }
            }

            .note{
                @media screen and (max-width: 640px) {
                    display: grid;
                    grid-template-columns: 45px 170px;
                    gap: 15px;
                    align-items: center;
                    justify-content: center;

                    &::before{
                        content: "";
                        display: block;
                        width: 45px;
                        height: 50px;
                        background: url('../image/new/2602/icon_frozen.svg') no-repeat center/cover;
                    }
                }
            }
        }

        .item06 {
            h4 {
                img {
                    width: 320px;
                    @media screen and (max-width: 1100px) {
                        width: 250px;
                    }
                    @media screen and (max-width: 640px) {
                        width: 220px;
                    }
                }
            }

            .img img {
                top: -130px;
                left: -60px;
                width: 100%;
                scale: 1;

                @media screen and (max-width: 1100px) {
                    top: -90px;
                    scale: 1.2;
                }
                @media screen and (max-width: 640px) {
                    top: -50px;
                    left: 0;
                }
            }
        }

        .item07 {
            h4 {
                img {
                    width: 310px;
                    @media screen and (max-width: 1100px) {
                        width: 230px;
                    }
                    @media screen and (max-width: 640px) {
                        width: 200px;
                    }
                }
            }

            .img img {
                top: -20%;
                scale: 1.3;
                left: 10%;

                @media screen and (max-width: 1100px) {
                    scale: 1.5;
                    left: 30%;
                }
                @media screen and (max-width: 640px) {
                    top: -70px;
                    left: 0;
                    transform: translateX(0%);
                }
            }
        }

        .item08 {
            margin-bottom: 90px;

            h4 {
                img {
                    width: 400px;
                    @media screen and (max-width: 1100px) {
                        width: 320px;
                    }
                    @media screen and (max-width: 640px) {
                        width: 150px;
                    }
                }
            }

            .img img {
                scale: 1.2;
                top: -40%;
                left: -25%;

                @media screen and (max-width: 1100px) {
                    scale: 1.4;
                    top: -20%;
                }
                @media screen and (max-width: 640px) {
                    top: -50px;
                    left: 0;
                    transform: translateX(0%);
                    scale: 1.4;
                }
            }
        }
    }
}