body {
    width: 100%;
    height: auto;
    color: #fff;
    background-size: contain;
    background-color: #161C2D;
}

main {
    width: 100%;
    height: auto;

}

.Shippori {
    font-family: "Shippori Mincho", serif;
    font-style: normal;
}

/* pc版ーーーーーーーーーーーー */
/* @media (min-width: 768px) { */

/* TOPイメージ */
.sp-only {
    display: none;
}

.room_fv {
    background-color: #161C2D;
}

.room_fv h1 {
    /* width: 79%;
    height: 79%; */
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    line-height: 0;
    display: flex;
    justify-content: center;
}


/* 客室-五感イメージ------- */
.room_info {
    background-color: #161C2D;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    margin-top: 5px;
    position: relative;
}

/* スクロールアニメーション＝＝＝＝＝＝＝＝＝ */

/*スクロールダウン全体の場所*/
.scrolldown2 {
    /*描画位置※位置は適宜調整してください*/
    position: absolute;
    bottom: 100px;
    left: 90%;
}

/*Scrollテキストの描写*/
.scrolldown2 span {
    /*描画位置*/
    position: absolute;
    left: 10px;
    bottom: 10px;
    /*テキストの形状*/
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    /*縦書き設定*/
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    left: -4px;

    /*丸の形状*/
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #eee;

    /*丸の動き1.6秒かけて透過し、永遠にループ*/
    animation:
        circlemove 1.6s ease-in-out infinite,
        cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
    0% {
        bottom: 80px;
    }

    100% {
        bottom: -5px;
    }
}

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1;
    }

    80% {
        opacity: 0.9;
    }

    100% {
        opacity: 0;
    }
}

/* 線の描写 */
.scrolldown2:after {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    left: 0;
    /*線の形状*/
    width: 1px;
    height: 100px;
    background: #eee;
}

/* ↑スクロールアニメーションここまで＝＝＝＝＝＝＝＝＝ */

/* 客室------------------- */

.room_info-list1,
.room_info-list2 {
    width: 100%;
    margin: 0 auto;
    max-width: 1200px;
    display: flex;
    margin: 100px auto;
    box-sizing: border-box;
}

.room_text {
    width: 500px;
    margin: auto 95px;
    height: 1135px;
    box-sizing: inherit;
    font-weight: 100;
}

.Shippori {
    color: #fff;
}

.room_text h2 {
    text-align: center;
    font-size: 48px;
}

.room_text ul {
    text-align: center;
}

.room_text li {
    list-style-type: none;
    margin: 3.75rem auto;
    border-bottom: solid 0.5px #fff;
    padding-bottom: 60px;
}

.room_text li:first-child {
    border-bottom: none;
    padding-bottom: 20px;
}

.room_text li:last-child {
    border-bottom: none;
}

.room_text li span {
    font-size: 1.75rem;
    padding-bottom: 60px;
}

/* 響 */
.room_info1 {
    background-color: #161C2D;
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding: 4rem 2rem;
}

/* 背景画像用のレイヤー */
.room_info1::before {
    content: "";
    position: absolute;
    inset: 0;
    /* top:0; right:0; bottom:0; left:0; と同等 */
    background: url("../img/gokan_oto-wt.png") center/cover no-repeat;
    background-repeat: no-repeat;
    background-size: 22%;
    /* 幅を親要素の20%に */
    background-position: 3% 10%;
    /* 左上寄りの中央寄せ */
    opacity: 0.2;
    /* 背景だけ薄く */
    z-index: 0;
    pointer-events: none;
}

/* 本文要素を疑似要素の上に出す */
.room_info1 {
    position: relative;
    z-index: 1;
}

/* 薫 */
.room_info2 {
    background-color: #161C2D;
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding: 4rem 2rem;
}

/* 背景画像用のレイヤー */
.room_info2::before {
    content: "";
    position: absolute;
    inset: 0;
    /* top:0; right:0; bottom:0; left:0; と同等 */
    background: url(../img/gokan_kaori-wt.png) center/cover no-repeat;
    background-repeat: no-repeat;
    background-size: 22%;
    /* 幅を親要素の20%に */
    background-position: 100% 10%;
    /* 左上寄りの中央寄せ */
    opacity: 0.2;
    /* 背景だけ薄く */
    z-index: 0;
    pointer-events: none;
}

/* 本文要素を疑似要素の上に出す */
.room_info2 {
    position: relative;
    z-index: 1;
}

/* 彩 */
.room_info3 {
    background-color: #161C2D;
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding: 4rem 2rem;
}

/* 背景画像用のレイヤー */
.room_info3::before {
    content: "";
    position: absolute;
    inset: 0;
    /* top:0; right:0; bottom:0; left:0; と同等 */
    background: url(../img/gokan_iro-wt.png) center/cover no-repeat;
    background-repeat: no-repeat;
    background-size: 22%;
    /* 幅を親要素の20%に */
    background-position: 3% 10%;
    /* 左上寄りの中央寄せ */
    opacity: 0.2;
    /* 背景だけ薄く */
    z-index: 0;
    pointer-events: none;
}

/* 本文要素を疑似要素の上に出す */
.room_info3 {
    position: relative;
    z-index: 1;
}

/* 温 */
.room_info4 {
    background-color: #161C2D;
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding: 4rem 2rem;
}

/* 背景画像用のレイヤー */
.room_info4::before {
    content: "";
    position: absolute;
    inset: 0;
    /* top:0; right:0; bottom:0; left:0; と同等 */
    background: url(../img/gokan_nuku-wt.png) center/cover no-repeat;
    background-repeat: no-repeat;
    background-size: 22%;
    /* 幅を親要素の20%に */
    background-position: 100% 10%;
    /* 左上寄りの中央寄せ */
    opacity: 0.2;
    /* 背景だけ薄く */
    z-index: 0;
    pointer-events: none;
}

/* 本文要素を疑似要素の上に出す */
.room_info4 {
    position: relative;
    z-index: 1;
}


/* 動く装飾線を作る＝＝＝＝＝＝＝ */
.line-wrapper-dec {
    position: relative;
    width: 100%;
    height: 30px;
    /* 線の間隔を狭く */
    overflow: hidden;
}

.line-dec {
    position: absolute;
    width: 200%;
    /* 横に長くしておく */
    height: 1px;
    /* 線の太さ */
    background: linear-gradient(to right, transparent, #a58e60, transparent);
    /* 金色 */
    transform: translateX(-100%);
    /* 初期位置を左外に */
}

/* 三本の線を縦に配置 */
.line-dec:nth-child(1) {
    top: 5px;
}

.line-dec:nth-child(2) {
    top: 15px;
}

.line-dec:nth-child(3) {
    top: 25px;
}

/* ↑装飾線ここまで＝＝＝＝＝＝＝＝ */

/* 設備 */
.room_setsubi {
    /* background-color: #161C2D; */
    max-width: 1200px;
    margin: 200px auto;
    padding: 0 20px;
    font-size: 1.25rem;
    /* color: #666; */
}

.room_setsubi dl {
    display: flex;
    color: #666666;
    border-bottom: 1px solid #666666;
    padding: 15px 15px;
}

.room_setsubi dt {
    flex: 0 0 150px;
    /* 左側の見出し部分の幅 */
    font-weight: bold;
}

.room_setsubi dd {
    flex: 1;
    margin: 0;
    line-height: 1.6;
}


/* 文字がふわっと出てくる */
.fade-in-text {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 2s ease-out;
    transition-delay: calc(var(--delay) * 0.2s);
}

.fade-in-text.visible {
    opacity: 1;
    transform: translateY(0);
}

/* おもてなし */
.room_service {
    background-color: #161C2D;
    color: #fff;
    padding: 60px 20px;
    text-align: center;
}

.room_service h2 {
    font-size: clamp(2rem, 1.333rem + 1.389vw, 3rem);
    margin-bottom: 50px;
    border-bottom: 0.5px solid #fff;
    display: inline-block;
    padding-top: 200px;
    padding-bottom: 30px;
}

.service-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px 40px;
    /* 縦60px 横40pxの間隔 */
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.service-list li {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.service-list img {
    width: 500px;
    height: 300px;
    border-radius: 50%;
    /* 丸い画像 */
    overflow: hidden;
    margin-top: 20px;
    margin-bottom: 20px;
    object-fit: cover;
}

.service-list h3 {
    font-size: clamp(1rem, 0.667rem + 0.694vw, 1.5rem);
    margin-bottom: 20px;
    /* border-bottom: 0.5px solid #fff; */
    padding: 10px;
}

.service-list p {
    font-size: clamp(0.8rem, 0.667rem + 0.278vw, 1rem);
    line-height: 1.6;
    padding-bottom: 50px;
}

/* タイトルに金のラインが入る------------------- */
/* li を親にして余白を作る */
.room_service .service-list li {
    position: relative;
    /* pseudoを li にかける場合は li にしてもOK */
    padding-bottom: 1.2rem;
    /* 下の線のための余白を確保 */
}

/* 下線を表示したい要素に position と display を指定 */
.room_service .service-list li h3.gnavi {
    position: relative;
    /* ::after の基準にする */
    display: inline-block;
    /* 横幅が欲しいなら block でも可 */
    padding-bottom: .25rem;
    /* 文字と線の間隔 */
}

/* 実際の線（最初は縮んでいる） */
.room_service .service-list li h3.gnavi::after {
    content: "";
    position: absolute;
    left: 5%;
    /* 左から10%に寄せたい場合 */
    width: 90%;
    bottom: -6px;
    /* 見え方に合わせて微調整 */
    height: 2px;
    background: #a58e60;
    transform: scaleX(0);
    /* X方向に縮める（初期は0） */
    transform-origin: left center;
    transition: transform .35s ease;
}

/* hover や current（li に current クラスが付いている想定）で伸ばす */
.room_service .service-list li:hover h3.gnavi::after,
.room_service .service-list li.current h3.gnavi::after {
    transform: scaleX(1);
}


/* } */

/* SP版ーーーーーーーーーーーー */

/* @media (max-width: 768px) {

    .fv {
        width: 100%;
        text-align: center;
    }

    .pc-only {
        display: none;
    }

    .fv {
        aspect-ratio: 375 / 470;
        縦横比を固定
    }

    .service-list ul {
        grid-template-columns: 1fr;
    }

    .service-list img {
        width: 160px;
        height: 160px;
    }

} */

@media screen and (max-width: 768px) {

    /* 全体の余白を少し調整 */
    body {
        font-size: 1rem;
        line-height: 1.6;
    }

    /* PCだけで表示する要素を非表示にする場合 */
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
        width: 100%;
    }

    .fv {
        aspect-ratio: 375 / 470;
        /* 縦横比を固定 */
    }

    /* 客室 */
    .room_info-list1,
    .room_info-list2 {
        flex-direction: column;
        /* 横並び → 縦並び */
        align-items: center;
        margin: 50px auto;
    }

    .room_text {
        width: 90%;
        /* 固定500px → スマホ幅に合わせる */
        margin: 20px auto;
        height: auto;
    }

    /* 
    .room_info-list,
    .room_text {
        order: 1;
    }

    .room_info-list img {
        order: 2;
    } */

    .room_info-list2 div:nth-child(2) {
        order: 1;
    }

    .room_info-list2 div:nth-child(1) {
        order: 2;
    }

    .room_info1::before,
    .room_info3::before {
        background-size: 50%;
        /* 幅を親要素の20%に */
        background-position: 3% 10%;
        /* 左上寄りの中央寄せ */
        opacity: 0.2;
        /* 背景だけ薄く */
        z-index: 0;
    }

    .room_info2::before,
    .room_info4::before {
        background-size: 50%;
        /* 幅を親要素の20%に */
        background-position: 85% 10%;
        /* 左上寄りの中央寄せ */
        opacity: 0.2;
        /* 背景だけ薄く */
        z-index: 0;
    }

    .room_text h2 {
        font-size: 1.75rem;
        /* 小さめに調整 */
    }

    .room_text span {
        font-size: 1.1rem;
    }

    .room_text li {
        padding-bottom: 40px;
        /* 下の余白を調整 */
    }

    .room_setsubi {
        font-size: 16px;
    }

    /* おもてなし（2列 → 1列） */
    .service-list {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .service-list img {
        width: 90%;
        /* 親幅にフィット */
        height: auto;
        /* 高さは比率に合わせる */
        border-radius: 50%;
        /* 丸型にしたい場合はここで指定 */
    }

    .service-list h3 {
        font-size: 1.25rem;
    }

    .service-list p {
        font-size: 1rem;
    }

    /* スクロールアニメーション＝＝＝＝＝＝＝＝＝ */

    /*スクロールダウン全体の場所*/
    .scrolldown2 {
        /*描画位置※位置は適宜調整してください*/
        position: absolute;
        bottom: 100px;
        left: 90%;
    }

    /*Scrollテキストの描写*/
    .scrolldown2 span {
        /*描画位置*/
        position: absolute;
        left: 10px;
        bottom: 10px;
        /*テキストの形状*/
        color: #eee;
        font-size: 0.7rem;
        letter-spacing: 0.05em;
        /*縦書き設定*/
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
    }

    /* 丸の描写 */
    .scrolldown2:before {
        content: "";
        /*描画位置*/
        position: absolute;
        bottom: 0;
        left: -4px;

        /*丸の形状*/
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #eee;

        /*丸の動き1.6秒かけて透過し、永遠にループ*/
        animation:
            circlemove 1.6s ease-in-out infinite,
            cirlemovehide 1.6s ease-out infinite;
    }

    /*下からの距離が変化して丸の全体が上から下に動く*/
    @keyframes circlemove {
        0% {
            bottom: 80px;
        }

        100% {
            bottom: -5px;
        }
    }

    /*上から下にかけて丸が透過→不透明→透過する*/
    @keyframes cirlemovehide {
        0% {
            opacity: 0
        }

        50% {
            opacity: 1;
        }

        80% {
            opacity: 0.9;
        }

        100% {
            opacity: 0;
        }
    }

    /* 線の描写 */
    .scrolldown2:after {
        content: "";
        /*描画位置*/
        position: absolute;
        bottom: 0;
        left: 0;
        /*線の形状*/
        width: 1px;
        height: 100px;
        background: #eee;
    }

    /* ↑スクロールアニメーションここまで＝＝＝＝＝＝＝＝＝ */
}