@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;
}

/* ファーストビューの動画の枠線を表示させない */
/* 右1pxを透明で上書き */
#mainvisual::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: transparent;
    pointer-events: none;
    backdrop-filter: blur(1px);
}

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

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

        .limit-dayuse{
            display: block;
            width: fit-content;
            line-height: 2rem;
            font-size: 14px;
            font-weight: 500;
            font-family: var(--NotoSansJP);
            color: var(--white);
            background: var(--orange);
            border-radius: 50px;
            margin: 0 auto 1rem;
            padding: 0 1rem;
            position: relative;
            top: -1rem;
        }

        .va-h2{
            width: 462px;
            aspect-ratio: 462/64;
            margin: 0 auto;
        }
        .sa-h2{
            width: 552px;
            aspect-ratio: 552/54;
            margin: 0 auto 1rem;
            picture{
                display: block;
            }
        }
        .st-h2{
            width: 455px;
            aspect-ratio: 455/47;
            margin: 0 auto 1rem;
        }
        .ft-h2{
            width: 560px;
            aspect-ratio: 560/72;
            margin: 0 auto;
        }
        .sft-h2{
            width: 696px;
            aspect-ratio: 696/54;
            margin: 0 auto 1rem;
            picture{
                display: block;
            }
        }
        .dog-h2{
            width: 562px;
            aspect-ratio: 562/73;
            margin: 0 auto;
        }
        .dogrun-h2{
            width: 268px;
            aspect-ratio: 268/71;
            margin: 0 auto;
        }
        .amenity-h2{
            width: 250px;
            aspect-ratio: 250/72;
            margin: 0 auto;
        }
        .wave-line-gray{
            width: 78%;
            margin: 0 auto 1rem;
        }
        p{
            line-height: 3.1;
            span{display: none;}
        }
    }
    .bottom-space{
        margin-bottom: 4rem;
    }
}
#midashi02 hgroup .wave-line-gray{
    width: 85%;
}

#sec-wide-sl,#sec-wide-sl02{
    background: var(--cream);
    position: relative;

    .sec-inner{
        width: min(1250px, 100%);
        height: auto;
        margin: 0 auto 4rem;

        hgroup{
            margin: 0 auto 3rem;
            text-align: center;
            line-height: 2;

            h2{
                width: 271px;
                aspect-ratio: 271/47;
                margin: 0 auto 1rem;

                img{
                    display: block;
                    width: 100%;
                    height: auto;
                }
            }

            h3{
                width: fit-content;
                margin: 0 auto;
            }

            .wave-line-gray{
                width: 118px;
                margin: 0.25rem auto 1rem;
            }

            small{
                font-size: 14px;
                color: var(--orangeOff);
                line-height: 0;
            }
        }

        .wide-img-st-sl{
            width: 90%;
            margin: 0 auto 2.75rem;
        }

        .wide-img-st-viewport{
            width: 100%;
            min-height: 443px;
            border-radius: 48px 48px 0 0;
            overflow: hidden;
            touch-action: pan-y;
            cursor: grab;
            user-select: none;
        }

        .wide-img-st-viewport:active{
            cursor: grabbing;
        }

        .wide-img-st-track{
            display: flex;
            flex-wrap: nowrap;
            will-change: transform;
        }

        .wide-img-st{
            display: block;
            width: 100%;
            min-width: 100%;
            flex: 0 0 100%;
            min-height: 443px;
            overflow: hidden;

            img{
                width: 100%;
                height: auto;
                min-height: 443px;
                display: block;
                object-fit: cover;
                pointer-events: none;
                user-select: none;
                -webkit-user-drag: none;
            }
        }

        .wide-img-st-dots{
            width: 248px;
            margin: 2.75rem auto 0;
            display: flex;
            justify-content: space-between;
            align-items: center;

            .dot{
                width: 18px;
                height: 18px;
                padding: 0;
                border: 0;
                border-radius: 50%;
                background: var(--warm-gray);
                cursor: pointer;
            }

            .dot.active{
                background: var(--orange);
            }
        }
        .width-ft,.width-st{
            width: 184px;
        }
        .width-sft{
            width: 192px;
        }
        .width-dogrun{
            width: 72px;
        }
        .map-ui{
            width: min(11250px, 90%);
            height: auto;
            margin: 0 auto 7rem;
            display: flex;
            justify-content: center;
            gap: 2rem;
            .floor-map{
                width: 562.5px;
                height: 330.81px;
                padding: 1rem 0 0 1rem;
                box-sizing: border-box;
                flex-shrink: 0;
                position: relative;
                img{
                    width: 100%;
                    height: auto;
                    display: block;
                }

                .map-btn,
                .map-btn-va,
                .map-btn-sa,
                .map-btn-ft,
                .map-btn-sft,
                .map-btn-dog{
                    display: block;
                    padding: 0;
                    border: none;
                    background: transparent;
                    cursor: pointer;
                    position: absolute;
                    left: 0;
                    z-index: 11;
                    transition:
                        background-color .3s ease,
                        opacity .3s ease,
                        transform .3s ease;
                /* border: 1px solid var(--black); */
                }
                .map-btn:hover,
                .map-btn-va:hover,
                .map-btn-sa:hover,
                .map-btn-ft:hover,
                .map-btn-sft:hover,
                .map-btn-dog:hover{
                    background: rgba(255,255,255,0.5);
                }
                .map-btn.is-active,
                .map-btn-va.is-active,
                .map-btn-sa.is-active,
                .map-btn-ft.is-active,
                .map-btn-sft.is-active,
                .map-btn-dog.is-active{
                    pointer-events: none;
                    background: transparent;
                }

                /* stページのカメライコンのボタン（ページ毎に違う） */
                .map-btn:nth-of-type(1){
                    width: 10%;
                    top: 84.5%;
                    left: 20.75%;
                    aspect-ratio: 30/37;
                }
                .map-btn:nth-of-type(2){
                    width: 10%;
                    top: 26.9%;
                    left: 66.2%;
                    aspect-ratio: 30/28;
                }
                .map-btn:nth-of-type(3){
                    width: 10%;
                    top: 43.6%;
                    left: 74.2%;
                    aspect-ratio: 30/28;
                }
                .map-btn:nth-of-type(4){
                    width: 10%;
                    top: 8.6%;
                    left: 32.2%;
                    aspect-ratio: 30/28;
                }
                .map-btn:nth-of-type(5){
                    width: 10%;
                    top: 8.6%;
                    left: 21%;
                    aspect-ratio: 30/28;
                }
                .map-btn:nth-of-type(6){
                    width: 10%;
                    top: 8.6%;
                    left: 63.72%;
                    aspect-ratio: 30/28;
                }

                /* vaページのカメライコンのボタン */
                .map-btn-va:nth-of-type(1){
                    width: 10%;
                    top: 81%;
                    left: 73.75%;
                    aspect-ratio: 30/35;
                }
                .map-btn-va:nth-of-type(2){
                    width: 10%;
                    top: 45%;
                    left: 63.5%;
                    aspect-ratio: 30/26;
                }
                .map-btn-va:nth-of-type(3){
                    width: 10%;
                    top: 28.2%;
                    left: 58.2%;
                    aspect-ratio: 30/30;
                }
                .map-btn-va:nth-of-type(4){
                    width: 10%;
                    top: 24.6%;
                    left: 32%;
                    aspect-ratio: 30/28;
                }
                .map-btn-va:nth-of-type(5){
                    width: 10%;
                    top: 27.6%;
                    left: 14.2%;
                    aspect-ratio: 30/28;
                }

                /* saページのカメライコンのボタン */
                .map-btn-sa:nth-of-type(1){
                    width: 10%;
                    top: 79%;
                    left: 31%;
                    aspect-ratio: 30/35;
                }
                .map-btn-sa:nth-of-type(2){
                    width: 10%;
                    top: 35%;
                    left: 65.5%;
                    aspect-ratio: 30/29;
                }
                .map-btn-sa:nth-of-type(3){
                    width: 10%;
                    top: 18.2%;
                    left: 49%;
                    aspect-ratio: 30/30;
                }
                .map-btn-sa:nth-of-type(4){
                    width: 10%;
                    top: 19.6%;
                    left: 34%;
                    aspect-ratio: 30/28;
                }

                /* ftページのカメライコンのボタン */
                .map-btn-ft:nth-of-type(1){
                    width: 10.5%;
                    top: 125%;
                    left: 14%;
                    aspect-ratio: 30/34;
                }
                .map-btn-ft:nth-of-type(2){
                    width: 10.5%;
                    top: 88%;
                    left: 36.5%;
                    aspect-ratio: 30/29;
                }
                .map-btn-ft:nth-of-type(3){
                    width: 10%;
                    top: 87.5%;
                    left: 23.2%;
                    aspect-ratio: 30/30;
                }
                .map-btn-ft:nth-of-type(4){
                    width: 10.5%;
                    top: 88%;
                    left: 70%;
                    aspect-ratio: 30/28;
                }
                .map-btn-ft:nth-of-type(5){
                    width: 10.5%;
                    top: 24%;
                    left: 50%;
                    aspect-ratio: 30/28;
                }

                .pc-none{
                    display: none;
                }
            }

            .item-text{
                width: calc(100% - 562.5px);
                margin: 0 auto 2rem;
                text-align: left;
                h4{
                    margin: 0 auto;
                    color: var(--orange);
                    padding: 0 0.5rem;
                    white-space: nowrap;

                    .sp-br{
                        display: none;
                        line-height: 0;
                    }
                }

                .wave-line-gray{
                    width: 100%;
                    margin: 0.5rem auto 1rem;
                }

                p{
                    line-height: 3;
                    padding: 0 0.5rem;
                }
                small{
                    display: block;
                    font-size: 14px;
                    color: var(--orange);
                    text-align: left;
                    margin-top: 1rem;
                    padding: 0 0.5rem;
                }
            }
        }

        .room-imgs{
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 2rem;
            
            .item{
                width: clamp(290px,80dvw,352px);
                aspect-ratio: 352/270;
                picture{
                    display: block;
                    width: 100%;
                    aspect-ratio: 290/188;
                    border-radius: 20px;
                    overflow: hidden;
                }
                h4{
                    font-size: 1.17rem;
                    font-weight: normal;
                    color: var(--orange);
                    line-height: 2;
                }
            }
        }
    }
    .bottom0{margin: 0 auto;}
    .item-text-sl02{
        width: 90%;
        height: 100%;
        margin: 0 auto 3rem;
        h4{
            font-size: 1.5rem;
            color: var(--orange);
            font-weight: 500;
            text-align: center;
            span{
                display: none;
            }
            .wave-line-gray{
                width: min(836px,100%);
                margin: 1.5rem auto 1rem;
            }
        }
        p{
            text-align: center;
            line-height: 3;
        }
    }
}
#img01,#img02,#img03,#img04,#img05,#img06{
    scroll-margin-top: 104px;
}

/* =========================
ポップアップ
========================= */
.map-popup{
    width: 100%;
    height: 100dvh;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,.65);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity .7s ease,
        visibility 0s linear .7s;
}
.map-popup-inner{
    width: min(1100px, 92%);
    max-height: 92dvh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% + 16px));
    opacity: 0;
    background: rgba(0,0,0,.88);
    padding: 1.5rem;
    box-sizing: border-box;
    transition:
        transform .7s ease,
        opacity .7s ease;
}
.map-popup h4{
    color: var(--white);
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.6;
    margin: 0 0 1.5rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid rgba(255,255,255,.45);
}
.map-popup-img{
    width: 100%;
    max-height: calc(92dvh - 130px);
    overflow: hidden;
}
.map-popup-img img{
    width: 100%;
    height: 100%;
    max-height: calc(92dvh - 130px);
    display: block;
    object-fit: contain;
    margin-bottom: 3rem;
}
/* 閉じるボタン */
.map-popup-close{
    min-width: 120px;
    height: 46px;
    display: block;
    margin: -1.5rem auto 0;
    z-index: 2;
    padding: 0 1.5rem;
    border: 1px solid rgba(255,255,255,.7);
    background: rgba(0,0,0,.92);
    color: var(--white);
    cursor: pointer;
    transition: opacity .2s ease;
    border-radius: 10px;
}
.map-popup-close span{
    font-size: 1rem;
    letter-spacing: .08em;
}
.map-popup-close:hover{
    opacity: .7;
}
/* 表示時 */
.map-ui.is-popup-active .map-popup{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        opacity .4s ease,
        visibility 0s linear 0s;
}
.map-ui.is-popup-active .map-popup .map-popup-inner{
    transform: translate(-50%, -50%);
    opacity: 1;
    transition:
        transform .45s ease,
        opacity .45s ease;
}
/* 非表示時 */
.map-popup .map-popup-inner{
    transform: translate(-50%, calc(-50% + 16px));
    opacity: 0;
    transition:
        transform .7s ease,
        opacity .7s ease;
}
/* ポップアップ ここまで */

.reserve-btn{
    width: 100%;
    background: var(--cream);
    a{
        display: block;
        width: fit-content;
        margin: 0 auto;
        white-space: nowrap;
        border: 1px solid var(--black);
        padding: 1rem 2rem;
        text-align: center;
    }
}
.reserve-btn-dog{
    width: 100%;
    background: var(--cream);
    padding-bottom: 8rem;
    .btn-dog-inner{
        width: fit-content;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        gap: 3rem;
        a{
            width: fit-content;
            margin: 0 auto;
            white-space: nowrap;
            border: 1px solid var(--black);
            padding: 0.75rem 2rem;
            text-align: center;
            display: flex;
            align-items: center;
        }
    }
}

/* ▼ Service セクション
「ソログランピング」ページから引用 */
#service{
    width: 100%;
    background: var(--cream);
    line-height: 0;
    padding: 8rem 0 4rem;

    hgroup{
        margin: 0 auto 3rem;
        text-align: center;
        line-height: 2;

        h2{
            width: 204px;
            height: auto;
            aspect-ratio: 204/53;
            margin: 0 auto 1rem;
        }
        h3{
            width: fit-content;
            margin: 0 auto;
        }
        .wave-line-gray{
            width: 220px;
            margin: 0.25rem auto 1rem;
        } 
        h4{
            font-size: 1.25rem;
            color: var(--orangeOff);
            line-height: 1.6;
            .sp-br{
                display: none;
                line-height: 0;
            }
        }
    }

    .sec-card{
        width: min(1114px,90%);
        height: auto;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: stretch;
        flex-wrap: wrap;
        row-gap: 5rem;
        column-gap: 3.87rem;
        padding: 1rem 0 0;

        .card-item{
            width: min(330px,94.44%);
            height: auto;
            text-align: center;
            line-height: 1.8;
            display: flex;
            flex-direction: column;

            .item-img{
                height: auto;
                aspect-ratio: 1;
                margin: 0 auto 0.5rem;
                position: relative;
                border-radius: 50%;
                overflow: hidden;

                img{
                    object-fit: cover;
                }
                .label{
                    width: 22.8%;
                    height: auto;
                    align-self: 106/141;
                    position: absolute;
                    top: -1px;
                    right: 0;
                }
            }

            .item-text{
                width: 100%;
                margin: 0 auto;
                flex: 1;
                font-weight: normal;
                h4{
                    width: fit-content;
                    font-size: 1.5rem;
                    margin: 0 auto;
                    color: var(--orange);
                    .sp-br{
                        display: none;
                        height: 0;
                    }
                }
                .wave-line-gray{
                    width: 100%;
                    margin: 0 auto 1rem;
                }
                p{
                    font-size: 1rem;
                    .sp-br{
                        display: none;
                        line-height: 0;
                    }
                }
            }
        }
    }
}

#info-list-etc{
    width: 100%;
    background: var(--cream);
    padding: 0 0 6rem;
    position: relative;

    h3{
        width: min(790px,90%);
        line-height: 4rem;
        margin: 0 auto;
        text-align: center;
        color: var(--orange);
        background: var(--info-title);
    }
    .list-inner{
        width: min(790px,90%);
        margin: 0 auto;
        background: var(--white);
        padding: 2.5rem 0;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;

        .list-left{
            width: 60%;
            margin: 0 auto;

            .list-item{
                .info-title{
                    width: 100%;
                    font-size: 1.17rem;
                    color: var(--orange);
                    line-height: 2;
                    padding: 0 1rem;
                    border-bottom: 1px solid var(--gray);
                    margin-bottom: 0.5rem;
                }
                .info-content{
                    background: var(--white);
                    line-height: 1.6;
                    display: flex;
                    justify-content: space-around;
                    align-items: center;
                    padding: 0 1rem;
                    margin-bottom: 1.5rem;
                    
                    .p1{
                        width: 186px;
                        line-height: 3;
                        text-align: left;
                        .br-sp{
                            display: none;
                            height: 0;
                        }
                    }
                    .p2{
                        width: 160px;
                        line-height: 3;
                        text-align: left;
                        white-space: nowrap;
                    }
                }
            }
        }
        .small-container{
            width: 73%;
            margin: 0 auto;
            small{
                width: fit-content;
                font-size: 14px;
                color: var(--orange);
                text-align: left;
            }
        }
    }
}

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

    .location-inner{
        position: relative;

        picture{
            display: block;
            width: 1920px;
            height: auto;
            aspect-ratio: 1920/1239;
            position: relative;
            left: 50%;
            transform: translateX(-50%);
            margin: 0 0 5rem;
        }
    }
}

#bbq-menu{
    .padding-bottom-none{
        padding-bottom: 0;
    }
}

#room-facility{
    padding: 0 0 12rem;
}

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

    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: 59.5%;
        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;
    }
}

#brakfast{
    width: 100%;
    background: var(--cream);
    padding: 8rem 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;
            }
        }
    }
}

#faq{
    padding: 0 0 10rem;
}

#info-list-etc.space-zero-1,
#bbq-menu.space-zero-1{
    padding: 0;
}

@media screen and (max-width:1280px){
    #location{
        .location-inner{
            picture{
                width: 100%;
                aspect-ratio: 1280/1219;
                position: static;
                transform: translateX(0);
            }
        }
    }
}

@media screen and (max-width:1140px){
    #sec-wide-sl .sec-inner .map-ui .item-text h4,
    #sec-wide-sl02 .sec-inner .map-ui .item-text h4{
        font-size: 18.72px;
    }
}

@media screen and (max-width:1020px){
    #sec-wide-sl .sec-inner,
    #sec-wide-sl02 .sec-inner{
        hgroup small{display: none;}
        .map-ui{
            width: 90%;
            margin: 0 auto 5rem;
            flex-direction: column-reverse;
            gap: 2rem;
            .item-text{
                width: 90%;
                margin: 0 auto 2rem;
                text-align: center;
                h4{
                    margin: 0 auto;
                    color: var(--orange);
                    padding: 0;
                    white-space: nowrap;
                }
                .wave-line-gray{
                    margin: 0.75rem auto;
                }
                p{
                    line-height: 2.5;
                    text-align: left;
                }
                small{
                    text-align: left;
                }
            }
            .floor-map{
                width: 100%;
                height: auto;
                padding: 0;
                img{
                    width: 100%;
                    height: auto;
                    display: block;
                }
                .pc-none{
                    display: block;
                }
                /* 各ページのカメラアイコン */
                .map-btn,
                .map-btn-va,
                .map-btn-sa,
                .map-btn-ft,
                .map-btn-sft,
                .map-btn-dog{
                    a{
                        position: absolute;
                        inset: 0;
                        display: block;
                    }
                }
                .map-btn.pc-none:nth-of-type(7){
                    width: 10%;
                    top: 80.5%;
                    left: 18.7%;
                    aspect-ratio: 30/36;
                }
                .map-btn.pc-none:nth-of-type(8){
                    width: 10%;
                    top: 22.2%;
                    left: 65.5%;
                    aspect-ratio: 30/28;
                }
                .map-btn.pc-none:nth-of-type(9){
                    width: 11%;
                    top: 38.5%;
                    left: 73.2%;
                    aspect-ratio: 32/30;
                }
                .map-btn.pc-none:nth-of-type(10){
                    width: 10.5%;
                    top: 3.6%;
                    left: 30.2%;
                    aspect-ratio: 30/27;
                }
                .map-btn.pc-none:nth-of-type(11){
                    width: 10.5%;
                    top: 3.6%;
                    left: 18.5%;
                    aspect-ratio: 30 / 26;
                }
                .map-btn.pc-none:nth-of-type(12){
                    width: 10.5%;
                    top: 4%;
                    left: 62.72%;
                    aspect-ratio: 30/26;
                }
                /* vaページのカメライコンのボタン */
                .map-btn-va.pc-none:nth-of-type(6){
                    width: 10%;
                    top: 80%;
                    left: 73.3%;
                    aspect-ratio: 30/35;
                }
                .map-btn-va.pc-none:nth-of-type(7){
                    width: 10%;
                    top: 42.3%;
                    left: 62.5%;
                    aspect-ratio: 30/26;
                }
                .map-btn-va.pc-none:nth-of-type(8){
                    width: 10%;
                    top: 24%;
                    left: 57.2%;
                    aspect-ratio: 29/31;
                }
                .map-btn-va.pc-none:nth-of-type(9){
                    width: 10%;
                    top: 21.6%;
                    left: 30%;
                    aspect-ratio: 30/27;
                }
                .map-btn-va.pc-none:nth-of-type(10){
                    width: 10%;
                    top: 25.6%;
                    left: 11.5%;
                    aspect-ratio: 30/27;
                }
                /* saページのカメライコンのボタン */
                .map-btn-sa.pc-none:nth-of-type(5){
                    width: 10.5%;
                    top: 79%;
                    left: 29%;
                    aspect-ratio: 30/35;
                }
                .map-btn-sa.pc-none:nth-of-type(6){
                    width: 10.5%;
                    top: 33%;
                    left: 64.5%;
                    aspect-ratio: 30/28;
                }
                .map-btn-sa.pc-none:nth-of-type(7){
                    width: 10%;
                    top: 16.2%;
                    left: 47.7%;
                    aspect-ratio: 30/29;
                }
                .map-btn-sa.pc-none:nth-of-type(8){
                    width: 10%;
                    top: 15.6%;
                    left: 32%;
                    aspect-ratio: 30/28;
                }
                /* ftページのカメライコンのボタン */
                .map-btn-ft.pc-none:nth-of-type(6){
                    width: 10.5%;
                    top: 87%;
                    left: 11.5%;
                    aspect-ratio: 30 / 32;
                }
                .map-btn-ft.pc-none:nth-of-type(7){
                    width: 10.5%;
                    top: 59.5%;
                    left: 35%;
                    aspect-ratio: 30 / 29;
                }
                .map-btn-ft.pc-none:nth-of-type(8){
                    width: 10.5%;
                    top: 58.5%;
                    left: 20.6%;
                    aspect-ratio: 30/30;
                }
                .map-btn-ft.pc-none:nth-of-type(9){
                    width: 10.5%;
                    top: 59.5%;
                    left: 69.5%;
                    aspect-ratio: 30/28;
                }
                .map-btn-ft.pc-none:nth-of-type(10){
                    width: 10.5%;
                    top: 14%;
                    left: 49%;
                    aspect-ratio: 30/28;
                }

                .sp-none{
                    display: none;
                }
                .pc-none{
                    display: block;
                }
            }
        }
        .room-imgs{
            flex-direction: column;
            justify-content: center;
            flex-wrap: nowrap;
            gap: 3rem;
            
            .item{
                width: max(290px,80%);
                h4{
                    text-align: center;
                }
            }
        }
    }
}

@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){
    #midashi,#midashi02{
        hgroup{
            width: 100%;
            .va-h2{
                width: 259px;
            }
            .sa-h2{
                width: 276px;
            }
            .st-h2{
                width: 255px;
            }
            .ft-h2{
                width: 280px;
            }
            .sft-h2{
                width: 176px;
                aspect-ratio: 176/66;
            }
            .dog-h2{
                width: 280px;
            }
            .dogrun-h2{
                width: 134px;
            }
            .amenity-h2{
                width: 124px;
            }
        }
    }
    #sec-wide-sl,
    #sec-wide-sl02{
        .sec-inner{
            margin: 0 auto 8rem;
            hgroup{
                width: 100%;
                h2{
                    width: 152px;
                }
                .stay{
                    width: 61.74px;
                }
                .bbq{
                    width: 85.96px;
                }
                .location{
                    width: 127.54px;
                }
                .wave-line-gray{
                    width: 78%;
                }
            }
        }
    }

    #brakfast{
        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-facility{
        padding: 0 0 10rem;
    }
    #room{
        padding: 8rem 0 0;
        margin-bottom: 8rem;
        hgroup{
            margin: 0 auto 6rem;
            h2{
                width: 94px;
                margin: 0 auto;
            }
            .wave-line-white{
                width: min(290.01px, 80%);
                margin: 0 auto 3rem;
            }
        }
        .btn-room-sl{
            top: 52%;
            .btn-room-prev{
                left: calc(50% - 230px);
            }
            .btn-room-next{
                right: calc(50% - 230px);
            }
        }
    }
    #faq{
        padding: 0 0 8rem;
    }
}

@media screen and (max-width:767px){
    #info-list-etc{
        .list-inner{
            .list-left{
                width: 80%;
                .list-item{
                    margin-bottom: 2rem;
                    .info-content{
                        width: 218px;
                        margin: 0 auto;
                        flex-direction: column;
                        .p1{
                            width: 100%;
                            padding-left: -1rem;
                        }
                        .p2{
                            width: 100%;
                            text-align: left;
                            margin: 0 auto;
                            padding-left: -1rem;
                        }
                        .sp-none{
                            display: none;
                        }
                    }
                }
            }
            .small-container{
                max-width: 385px;
            }
        }
    }
    #room{
        .btn-room-sl{
            top: 53%;
        }
    }
}

@media screen and (max-width:720px){
    #sec-wide-sl,
    #sec-wide-sl02{
        .sec-inner{
            margin: 0 auto 3rem;
        }
    }
    .reserve-btn-dog{
        .btn-dog-inner{
            flex-direction: column;
            gap: 3rem;
            a{
                height: 84px;
            }
        }
    }
}

@media screen and (max-width:650px){
    #sec-wide-sl02{
        .item-text-sl02{
            h4{
                font-size: 1.25rem;
                span{
                    display: block;
                    line-height: 0;
                }
            }
            p{
                width: 80%;
                margin: 0 auto;
                text-align: left;
                span{display: none;}
            }
        }
    }
}

@media screen and (max-width:620px){
    #midashi hgroup p{
        span{
            display: block;
            line-height: 0;
        }
    }
}

@media screen and (max-width:540px){
    #midashi,#midashi02{
        padding: 6rem 0 0;
    }
    #sec-wide-sl,
    #sec-wide-sl02{
        .sec-inner{
            margin: 0 auto 4rem;

            hgroup{
                width: 90%;
                margin: 0 auto 3rem;
                text-align: center;
                line-height: 2;

                h2{
                    margin: 0 auto;
                }

                .wave-line-gray{
                    margin: 0 auto 1rem;
                }
            }

            .wide-img-st-sl{
                width: 100%;
                margin: 0 auto 2rem;
            }

            .wide-img-st-viewport{
                min-height: 0;
                border-radius: 0;
                aspect-ratio: 360/291;
            }

            .wide-img-st{
                min-height: 0;
                aspect-ratio: 360/291;

                img{
                    min-height: 0;
                    height: 100%;
                    object-fit: cover;
                }
            }

            .wide-img-st-dots{
                width: 220px;
                .dot{
                    width: 16px;
                    height: 16px;
                }
            }
            .width-ft,.width-st{
                width: 208px;
            }
            .width-sft{
                width: 192px;
            }
            .width-dogrun{
                width: 56px;
            }

            .item-text{
                width: 80%;
                text-align: center;

                h4{
                    font-size: 1.25rem;
                }

                p{
                    width: 100%;
                    margin: 0 auto;
                    text-align: left;
                }
            }

            .sp-br{
                display: block !important;
            }
        }
        .bottom0{margin: 0 auto;}
    }

    /* ポップアップのSP（使わないけどプロジェクト終了まで置いとき） */
    /* .map-popup-inner{
        width: 92%;
        padding: 1rem;
    }
    .map-popup h4{
        font-size: 1.1rem;
        margin: 0 0 1rem;
        padding: 0 0 .75rem;
    }
    .map-popup-img{
        max-height: calc(88dvh - 100px);
    }
    .map-popup-img img{
        max-height: calc(88dvh - 100px);
    }
    .map-popup-close{
        min-width: 100px;
        height: 42px;
        bottom: -21px;
    }
    .map-popup-close span{
        font-size: .9rem;
    } */
    /* ポップアップSP ここまで */

    #service{
        padding: 6rem 0 0;
        hgroup{
            margin: 0 auto 3rem;
            h2{
                width: 104px;
            }
            h4 .sp-br{
                display: block;
            }
        }
        .sec-card{
            .card-item{
                .item-text{
                    width: 94%;
                    .sp-br{
                        display: block;
                        line-height: 0;
                    }
                    h4{
                        width: 100%;
                        font-size: 1.5rem;
                        .sp-br{
                            display: block;
                        }
                    }
                    .wave-line-gray{
                        width: 100%;
                    }
                }
            }
        }
    }

    #brakfast{
        padding: 6rem 0 0;
        .menu-item{
            margin: 0 auto 7rem;
        }
    }
    #room-facility{
        padding: 0 0 8rem;
    }
    #room{
        padding: 6rem 0 0;
        margin-bottom: 6rem;
        .btn-room-sl{
            top: 51%;
        }
    }
    #location .location-inner a{
        display: none;
    }
    .sl-item{
        .picture{
            width: calc(100% + 2px);
            aspect-ratio: 1920/1652;
            margin: 0 auto 5rem;
        }
    }
    #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: 47.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: 48%;
        }
    }
}
@media screen and (max-width: 403px){
    #room{
        .btn-room-sl{
            top: 48.3%;
        }
    }
}