@charset "utf-8";
:root{
    --white: #ffffff;
    --black: #333333;
    --orange: #f46e45;
    --orangeOff: #ea8a59;
    --navy: #2a315b;
    --gray: #717070;
    --gray-b3: #b3b3b3;
    --warm-gray: #e1d8d1;
    --cream: #fdf5e8;
    --info-title: #f9ebd7;

    --Caslon: 'Libre Caslon Text',serif;
    --ZenKakuGothicNew: "Zen Kaku Gothic New","Yu Gothic","Meiryo","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
    --NotoSansJP: "Noto Sans JP","Yu Gothic","Meiryo","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
}

#bbq-menu{
    background: var(--cream);
    padding-top: 6rem;
    position: relative;

    .bbq-menu{
        width: min(1280px,100%);
        height: auto;
        margin: 0 auto;
        padding-bottom: 10rem;

        hgroup{
            width: fit-content;
            margin: 0 auto 4rem;
            text-align: center;
            line-height: 2;

            .menu{
                width: 153px;
                aspect-ratio: 153/48;
                margin: 0 auto 1rem;
            }
            .bbq{
                width: 174px;
                aspect-ratio: 174/60;
                margin: 0 auto 1rem;
            }
            h3{
                width: fit-content;
                margin: 0 auto;
            }
            .wave-line-gray{
                width: 320px;
                margin: 0.25rem auto 1rem;
            }
            p{
                line-height: 3.1;
            }
            small{
                color: var(--orange);
                line-height: 0;
                font-size: 1rem !important;
            }
        }

        /* CFのレイアウト */
        .bbq-menu-container{
            width: 100%;
            height: auto;
            display: flex;
            justify-content: space-around;
            flex-wrap: wrap;
            margin-bottom: 3rem;

            .bbq-item{
                width: max(324px,40%);
                height: auto;
                margin: 0 1rem 4rem;
                gap: 1rem;
                .item-img{
                    width: 100%;
                    height: auto;
                    aspect-ratio: 550/354;
                    border-radius: 25px;
                    margin-bottom: 1rem;
                    overflow: hidden;
                }
                .item-text{
                    width: 100%;
                    height: auto;
                    display: flex;
                    justify-content: space-between;
                    flex-direction: column;
                    h4{
                        font-size: 1.438rem;
                        color: var(--orange);
                        span{
                            display: inline;
                        }
                    }
                    .wave-line-gray{
                        margin: 0.75rem 0;
                    }
                    p{
                        line-height: 1.8;
                        margin-bottom: 0.25rem;
                    }
                    small{
                        color: var(--orange);
                    }
                }
            }
        }

        /* 「お食事」のレイアウト */
        .bbq-syukuhaku-menu01{
            width: 100%;
            height: auto;
            display: flex;
            justify-content: space-around;
            flex-wrap: wrap;
            margin-bottom: 6rem;

            .bbq-item{
                width: max(324px,40%);
                height: auto;
                margin: 0 1rem 4rem;
                gap: 1rem;
                .item-img{
                    width: 100%;
                    height: auto;
                    aspect-ratio: 550/354;
                    border-radius: 25px;
                    margin-bottom: 1rem;
                    overflow: hidden;
                }
                .item-text{
                    width: 100%;
                    height: auto;
                    display: flex;
                    justify-content: space-between;
                    flex-direction: column;
                    h4{
                        color: var(--orange);
                    }
                    .wave-line-gray{
                        margin: 0.75rem 0;
                    }
                    p{
                        line-height: 2;
                        margin-bottom: 1rem;
                    }
                    small{
                        color: var(--orange);
                    }
                }
            }
        }
        .frame-bottom{
            bottom: -1px;
        }
    }
}

/* ▼ 2番目のメニューセクション */
#bbq-menu-gray{
    background: var(--gray);
    color: var(--white);
    padding-top: 8rem;
    position: relative;
    .bbq-menu{
        width: min(1280px,100%);
        height: auto;
        margin: 0 auto;
        padding-bottom: 10rem;
        hgroup{
            width: fit-content;
            margin: 0 auto 4rem;
            text-align: center;
            line-height: 2;

            .menu{
                width: 153px;
                aspect-ratio: 153/48;
                margin: 0 auto 1rem;
            }
            .bbq{
                width: 153px;
                aspect-ratio: 389/134;
                margin: 0 auto 1rem;
            }
            h3{
                width: fit-content;
                margin: 0 auto;
            }
            .wave-line-white{
                width: 320px;
                margin: 0.25rem auto 1rem;
            }

            p{
                line-height: 3.1;
            }
            small{
                font-size: 1rem !important;
                color: var(--orangeOff);
                line-height: 0;
            }
        }

        .bbq-menu-container{
            width: 100%;
            height: auto;
            display: flex;
            justify-content: space-around;
            flex-wrap: wrap;
            margin-bottom: 3rem;

            .bbq-item{
                width: max(324px,40%);
                height: auto;
                margin: 0 1rem 4rem;
                gap: 1rem;
                .item-img{
                    width: 100%;
                    height: auto;
                    aspect-ratio: 550/354;
                    border-radius: 25px;
                    margin-bottom: 1rem;
                    overflow: hidden;
                }
                .item-text{
                    width: 100%;
                    height: auto;
                    display: flex;
                    justify-content: space-between;
                    flex-direction: column;
                    h4{
                        font-size: 1.438rem;
                        color: var(--orangeOff);
                        span{
                            display: inline;
                        }
                    }
                    .wave-line-white{
                        margin: 0.75rem 0;
                    }
                    p{
                        line-height: 2;
                        margin-bottom: 1rem;
                    }
                    small{
                        color: var(--orangeOff);
                    }
                }
            }
        }
        .frame-bottom{
            bottom: -1px;
        }
    }
}
/* CFの見出しが、最初から<span>で改行しているのを防ぐ */
/* ▼ h4の幅ズレ・改行対策まとめ */
#bbq-menu .bbq-menu .bbq-menu-container .bbq-item .item-text h4.menu-title-line,
#bbq-menu .bbq-menu .bbq-syukuhaku-menu01 .bbq-item .item-text h4.menu-title-line,
#bbq-menu-gray .bbq-menu .bbq-syukuhaku-menu02 .bbq-item .item-text h4.menu-title-line{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    column-gap: 0.5em;
    row-gap: 0;
}
#bbq-menu .bbq-menu .bbq-menu-container .bbq-item .item-text h4.menu-title-line .menu-title-main,
#bbq-menu .bbq-menu .bbq-syukuhaku-menu01 .bbq-item .item-text h4.menu-title-line .menu-title-main,
#bbq-menu-gray .bbq-menu .bbq-syukuhaku-menu02 .bbq-item .item-text h4.menu-title-line .menu-title-main,
#bbq-menu .bbq-menu .bbq-menu-container .bbq-item .item-text h4.menu-title-line .menu-title-sub,
#bbq-menu .bbq-menu .bbq-syukuhaku-menu01 .bbq-item .item-text h4.menu-title-line .menu-title-sub,
#bbq-menu-gray .bbq-menu .bbq-syukuhaku-menu02 .bbq-item .item-text h4.menu-title-line .menu-title-sub{
    display: inline;
    white-space: normal;
}

@media screen and (max-width:820px){
    #bbq-menu{
        padding: 2rem 0 0;
        .bbq-menu{
            padding-bottom: 8rem;
            hgroup{
                width: 100%;
                margin: 0 auto 4rem;

                .menu{
                    width: 96px;
                    margin: 0 auto;
                }
                .bbq{
                    width: 96px;
                    margin: 0 auto;
                }

                .wave-line-gray,
                .wave-line-white{
                    width: min(290.01px, 80%);
                    margin: 0 auto 1rem;
                }
            }
        }
    }
    #bbq-menu-gray{
        .bbq-menu{
            padding-bottom: 0;
        }
    }
}
@media screen and (max-width:712px){
    #bbq-menu, #bbq-menu-gray{
        .bbq-menu hgroup .wave-line-gray, .wave-line-white{
            margin: 0 auto 1rem;
        }
    }
    #bbq-menu .bbq-menu .bbq-menu-container{
        margin-bottom: 3rem;
        .bbq-item{
            width: 81%;
        }
    }
    #bbq-menu .bbq-menu .bbq-menu-container .bbq-item{
        width: 90%;
        margin: 0 0 5rem;
    }
    #bbq-menu .bbq-menu .bbbq-syukuhaku-menu01{
        margin-bottom: 3rem;
        .bbq-item{
            width: 81%;
        }
    }
    #bbq-menu .bbq-menu .bbbq-syukuhaku-menu01 .bbq-item{
        width: 80%;
        margin: 0 0 5rem;
    }
}
@media screen and (max-width:540px){
    #bbq-menu,#bbq-menu-gray{
        padding: 6rem 0 0;
        position: relative;
        bottom: auto;
        .bbq-menu{
            padding-bottom: 0 !important;
        }
    }
    #bbq-menu .bbq-menu .bbq-syukuhaku-menu01 .bbq-item .item-text,
    #bbq-menu .bbq-menu .bbq-menu-container .bbq-item .item-text,
    #bbq-menu .bbq-menu .bbq-menu-container .bbq-item .item-text h4.menu-title-line,
    #bbq-menu .bbq-menu .bbq-syukuhaku-menu01 .bbq-item .item-text h4.menu-title-line,
    #bbq-menu-gray .bbq-menu .bbq-menu-container .bbq-item .item-text h4.menu-title-line{
        font-size: 1.25rem;
        display: flex;
        justify-content: center;
    }
}