@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;
}
/* topページのローディングのためのcssを打ち消し。全下層ページに必要 */
#header,#mainvisual,main,footer{opacity: 1;}

#osyokuji{
    width: 100%;
    background: var(--cream);
    padding: 8rem 0 0;
    line-height: 0;
    overflow: hidden;

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

        h2{
            width: 465px;
            aspect-ratio: 1569/156;
            margin: 0 auto 1rem;
        }
        .wave-line-gray{
            width: 78%;
            margin: 0 auto 4rem;
        }
        p{
            line-height: 3.1;
        }
        h4{
            font-size: 1.5rem;
            margin: 2rem 0 3rem;
        }
        small{
            color: var(--orange);
        }
    }
}

#brakfast{
    width: 100%;
    background: var(--cream);
    padding: 12rem 0 0;
    line-height: 0;

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

        h2{
            width: 233px;
            aspect-ratio: 233/49;
            margin: 0 auto 1rem;
        }
        .wave-line-gray{
            width: 78%;
            margin: 0 auto;
        }
    }
    .menu-item{
        width: min(1072px,80%);
        margin: 0 auto 13.75rem;
        display: flex;
        justify-content: space-between;
        .menu-img{
            width: 61.47%;
            align-self: 657/354;
            border-radius: 25px;
            overflow: hidden;
        }
        .text{
            width: fit-content;
            margin-left: 2rem;
            ul{
                padding-left: 1.25rem;
                margin-bottom: 1.25rem;
                li{
                    font-weight: normal;
                    line-height: 2.2;
                    letter-spacing: 0;
                }
            }
            small{
                color: var(--orange);
                line-height: 1.6;
            }
        }
    }
}

#room{
    width: 100%;
    background: var(--gray);
    padding: 10rem 0 0;
    color: var(--white);
    overflow: hidden;
    position: relative;

    hgroup{
        width: fit-content;
        margin: 0 auto 10rem;
        text-align: center;
        color: var(--white);

        h2{
            width: 209px;
            aspect-ratio: 209/65;
            margin: 0 auto 1rem;
        }

        .wave-line-white{
            width: 90%;
            margin: 0 auto 5.5rem;
        }
        p{
            line-height: 3.1;
        }
    }
    
    .room-inner{
        background: var(--gray);
        overflow: visible;
        position: relative;
        left: 50%;
        transform: translateX(-50%);

        .slider-room{
            width: auto;
            height: 600px;
            display: block;
            position: relative;
            left: 50%;
            transform: translateX(-50%);
            overflow: visible;

            .sl-item{
                width: 407.62px;
                height: auto;
                aspect-ratio: 500/425;
                text-align: center;
                position: absolute;
                top: 0;
                left: 50%;
                margin: 0;
                transform-origin: center bottom;
                transition: transform 0.6s ease, opacity 0.6s ease;
                will-change: transform, opacity;

                .item-img{
                    width: 86.11%;
                    height: auto;
                    aspect-ratio: 1;
                    margin: 0 auto 0.5rem;
                    overflow: hidden;
                    a{
                        position: relative;
    
                        img{
                            object-fit: cover;
                        }
                        .label{
                            width: 22.8%;
                            height: auto;
                            align-self: 106/141;
                            position: absolute;
                            right: 0;
                        }
                    }
                }

                .item-text{
                    width: 93.9%;
                    margin: 0 auto;

                    span{
                        font-size: 1.36rem;
                        font-family: var(--Caslon);
                        font-weight: 500;
                    }

                    h4{
                        width: fit-content;
                        font-size: 1.36rem;
                        margin: 0 auto;
                    }

                    .wave-line-white{
                        width: 94%;
                        margin: 0 auto 1rem;
                    }

                    p{
                        font-size: 1.16rem;
                    }

                    small{
                        color: var(--orangeOff);
                    }
                }
            }
        }
    }

    .btn-room-sl{
        width: 100%;
        height: 40px;
        position: absolute;
        top: 46.7%;
        left: 0;
        z-index: 10;
        pointer-events: none;

        .btn-room-prev,
        .btn-room-next{
            width: 40px;
            aspect-ratio: 1;
            position: absolute;
            top: 0;
            pointer-events: auto;
        }
        .btn-room-prev{
            left: calc(50% - 250px);
        }
        .btn-room-next{
            right: calc(50% - 250px);
        }
    }
    .btn-white{
        margin: 0 auto 12rem;
    }
}
#faq{
    padding: 6rem 0 10rem;
}


@media screen and (max-width:859px){
    #brakfast{
        hgroup{
            width: 100%;
            margin: 0 auto 1rem;
            .wave-line-gray{
                width: min(290.01px, 80%);
                margin: 0 auto 3rem;
            }
        }
        .menu-item{
            width: 80%;
            margin: 0 auto 13.75rem;
            flex-direction: column;
            justify-content: center;

            .menu-img{
                width: 100%;
            }
            .text{
                width: fit-content;
                margin: 0 auto;
            }
        }
    }
}

@media screen and (max-width:820px){
    #osyokuji hgroup{
        width: 90%;
        h2{
            width: 160px;
            aspect-ratio: 436/200;
        }
        .wave-line-gray{
            margin: 0 auto 3rem;
        }
        p{
            width: 100%;
            margin: 0 auto;
        }
    }
    #bbq-menu,#bbq-menu-gray{
        .menu-inner{
            padding-bottom: 7rem;
            hgroup{
                width: 100%;
                margin: 0 auto 6rem;

                h2{
                    width: 76.96px;
                    margin: 0 auto;
                }

                .wave-line-gray, .wave-line-white{
                    width: min(290.01px, 80%);
                    margin: 1px auto 1rem;
                }
            }
        }
    }
    #brakfast{
        padding: 10rem 0 0;
        hgroup{
            width: 100%;
            margin: 0 auto;

            h2{
                width: 131.37px;
                margin: 0 auto;
            }
        }
        .menu-item{
            width: 80%;
            margin: 0 auto 10rem;
            flex-direction: column;
            justify-content: center;

            .menu-img{
                width: 100%;
                margin-bottom: 1rem;
            }
            .text{
                width: 90%;
                margin: 0 auto;
            }
        }
    }
    #room{
        padding: 8rem 0 0;
        hgroup{
            margin: 0 auto;
            h2{
                width: 86px;
                margin: 0 auto;
            }
            .wave-line-white{
                width: min(290.01px, 80%);
                margin: 0 auto 3rem;
            }
        }
        .btn-room-sl{
            top: 41%;
            .btn-room-prev{
                left: calc(50% - 200px);
            }
            .btn-room-next{
                right: calc(50% - 200px);
            }
        }
    }
    #faq{
        padding: 0 0 8rem;
    }
}

@media screen and (max-width:767px){
    #room{
        .btn-room-sl{
            top: 41%;
        }
    }
}

@media screen and (max-width:540px){
    #bbq-menu{
        padding: 0;
        .frame-sp{
            margin: -1px 0;
        }
    }
    #brakfast{
        padding: 8rem 0 0;
        .menu-item{
            width: 90%;
            margin: 0 auto 7rem;
        }
    }
    #room{
        padding: 6rem 0 0;
    }
    #faq{
        padding: 0 0 6rem;
    }
}

@media screen and (max-width:500px){
    #room{
        hgroup{
            width: 100%;
            margin: 0 auto 3rem;
        }
        .room-inner{
            .slider-room{
                width: 100%;
                height: calc(0.642857 * 100vw + 258.57px);
                
                .sl-item{
                    width: 100%;
                    .item-img{
                        width: 70%;
                    }
                    .item-text{
                        width: 100%;
                        span{
                            font-size: 1.36rem;
                            font-family: var(--Caslon);
                            font-weight: 500;
                        }
                        h4{
                            font-size: 1.2rem;
                            white-space: nowrap;
                        }
                        p{
                            font-size: 1rem;
                        }
                        small{
                            display: block;
                            width: 64dvw;
                            margin: 0 auto;
                        }
                    }
                }
            }
        }
        .btn-room-sl{
            top: 39.6%;
            .btn-room-prev{
                left: 3%;
            }
            .btn-room-next{
                right: 3%;
            }
        }
        .btn-white{
            margin: 0 auto 8rem;
        }
    }
}

@media screen and (max-width: 441px){
    #room{
        .btn-room-sl{
            top: 39%;
        }
    }
}

@media screen and (max-width: 403px){
    #room{
        .btn-room-sl{
            top: 38.3%;
        }
    }
}