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

#room-facility{
    width: 100%;
    background: var(--cream);
    padding: 10rem 0 10rem;
    position: relative;

    hgroup{
        width: 80%;
        margin: 0 auto 4rem;
        text-align: center;

        h2{
            width: 356px;
            aspect-ratio: 356/63;
            margin: 0 auto;

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

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

        .wave-line-gray{
            width: 230px;
            margin: 0.25rem auto 0;
        }
    }

    .slider-viewport{
        width: min(885px,80%);
        margin: 0 auto 2.5rem;
        overflow: hidden;
        touch-action: pan-y;
        position: relative;
        z-index: 1;
        cursor: grab;
        user-select: none;

        .slider-track{
            display: flex;
            flex-wrap: nowrap;
            will-change: transform;

            .slide{
                width: 100%;
                flex: 0 0 100%;

                .slide-img{
                    width: 100%;

                    img{
                        width: 100%;
                        height: auto;
                        display: block;
                        pointer-events: none;
                    }
                }
            }
        }
    }

    .slider-viewport:active{
        cursor: grabbing;
    }

    .slider-dots{
        width: 100px;
        height: 8rem;
        margin: 0 auto 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        z-index: 2;

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

        .dot.active{
            background: var(--orange);
        }
    }
    .st{
        width: 156px;
    }

    .facility-text02{
        width: min(885px,80%);
        margin: 0 auto 3.5rem;
        background: var(--white);
        padding-bottom: 2rem;
        
        h4{
            width: 100%;
            font-size: 1.17rem;
            color: var(--orange);
            line-height: 3;
            text-align: center;
            background: var(--info-title);
        }
        p{
            width: min(456px,80%);
            font-size: 0.875rem;
            gap: 2rem 2.5rem;
            margin: 2rem auto 0;
        }
    }
    .facility-text{
        width: min(885px,80%);
        margin: 0 auto;
        background: var(--white);

        h5{
            width: 100%;
            font-size: 1.5rem;
            color: var(--orange);
            line-height: 3;
            text-align: center;
            background: var(--info-title);
        }
        p{
            width: fit-content;
            margin: 0 auto;
        }

        h3{
            width: 100%;
            color: var(--orange);
            line-height: 3;
            text-align: center;
            background: var(--info-title);
        }

        .inner-box{
            padding: 2.5rem 2rem;
            background: var(--white);
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 2rem 2.5rem;

            .item-text{
                width: 288px;

                h4{
                    font-size: 1.17rem;
                    color: var(--orange);
                    line-height: 2;
                }

                .border-gray{
                    width: 100%;
                    height: 2px;
                    background: var(--gray);
                    margin: 0;
                }

                ul{
                    padding-left: 1.5rem;
                    li{
                        font-weight: normal;
                        line-height: 1.8;
                    }
                }
            }

            .item-kitchen{
                order: 1;
            }

            .item-outdoor{
                order: 2;
            }

            .item-other{
                order: 3;
            }

            .item-amenity{
                order: 4;
            }
        }
    }
}

@media screen and (max-width: 823px){
    .inner-box{
        .item-text{
            width: 100%;
            min-width: 0;
        }

        .item-kitchen{
            order: 1;
        }

        .item-other{
            order: 2;
        }

        .item-outdoor{
            order: 3;
        }

        .item-amenity{
            order: 4;
        }
    }
}
@media screen and (max-width: 820px){
    #room-facility{
        padding: 8rem 0;
        hgroup{
            width: 100%;
            h2{
                width: 200.65px;
            }
            .wave-line-gray{
                width: min(290.01px, 80%);
                margin: 0 auto;
            }
        }
        .slider-dots{
            height: 6rem;
        }
        .st{
            width: 140px;
        }
    }
}
@media screen and (max-width: 540px){
    .facility-text {
        h3 {
            font-size: 20px;
        }
    }
}