@charset "UTF-8";
/* ============================================================
   客室詳細ページ共通 (room-detail.css)  — room1〜room4
   PC: Figma「room1〜4」フレーム準拠 / SP: room_spパターン
============================================================ */

.rd-content{
  position:relative;z-index:2;
  background:var(--white) url('../images/bg-texture.png') top left/800px auto;
  display:flex;flex-direction:column;align-items:center;
  padding-bottom:100px;
}

/* パンくず的リンクバー */
.rd-linkbar{
  width:100%;background:rgb(17 17 17 / 60%);
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  padding:20px 66px;font-size:15px;font-weight:500;
}
.rd-linkbar a{transition:opacity .3s;}
.rd-linkbar a:hover{opacity:.55;}
.rd-linkbar .sep,.rd-linkbar .label{color:var(--text2);}

/* イントロ */
.rd-intro{
  display:flex;flex-direction:column;gap:77px;
  max-width:1550px;text-align:center;padding:100px 40px 50px;
}
.rd-intro h2{font-size:40px;font-weight:500;line-height:1.4;}
.rd-intro p{font-size:15px;line-height:2;}

/* スライダー（room4と同型・枠内） */
.rd-slider {
    width: 100%;
    position: relative;
  }
  .rd-slider--boxed {
    max-width: 1359px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden; /* 画面外を隠す（必須） */
    width: calc(100% - 80px);
  }
  .rd-slider--boxed .rd-slider__track {
    display: flex;
    /* スライドが横一列に並ぶように中身に合わせる */
    width: max-content; 
    position: relative;
    will-change: transform;
  }
  .rd-slider--boxed .rd-slider__slide {
    /* JSで親要素(rd-slider--boxed)とぴったり同じ幅を付与するため、ここでは固定幅を指定しません */
    flex: 0 0 auto;
    max-height: 726px;
  }
  .rd-slider--boxed .rd-slider__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #ddd; /* 画像がない場合のダミー色 */
  }
  /* ナビゲーションドット */
  .rd-slider__dots {
    position: absolute;
    bottom: 34px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 20px;
    z-index: 3;
  }
  .rd-slider__dots button {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.55);
    transition: background 0.3s;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
  }
  .rd-slider__dots button.is-active {
    background: #fff;
  }
  /* --- スマホ閲覧時のレスポンシブ調整 --- */
  @media (max-width: 768px) {
    .rd-slider--boxed .rd-slider__slide {
      /* スマホ時に縦に長くなりすぎるのを防ぐための調整（必要に応じて数値を変更してください） */
      height: 400px;
    }
  }

/* 線上タイトル（左寄せ） */
.rd-ttl{display:flex;flex-direction:column;gap:52px;align-items:flex-start;}
.rd-ttl::before{content:"";width:79px;height:1px;background:currentColor;display:block;}
.rd-ttl h3,.rd-ttl h2{font-size:40px;font-weight:500;line-height:1.5;}
/* 線上タイトル（中央） */
.rd-ttl--center{align-items:center;text-align:center;gap:34px;}

/* 特徴（テキスト＋2枚組画像） */
.rd-feature{
  display:flex;gap:85px;align-items:center;justify-content:center;
  padding:50px 40px;width:100%;
}
.rd-feature__txt{width:608px;display:flex;flex-direction:column;gap:73px;}
.rd-feature__txt p{font-size:15px;line-height:2;}
.rd-feature__imgs{display:flex;gap:32px;align-items:flex-start;}
.rd-feature__imgs figure{margin:0;width:339px;height:523px;}
.rd-feature__imgs figure:nth-child(2){margin-top:10%;}
.rd-feature__imgs img{width:100%;height:100%;object-fit:cover;}

/* 客室露天風呂（濃紺） */
.rd-bath{
  width:100%;background:var(--navy);color:#fff;
  display:flex;gap:75px;align-items:center;
  margin-top:50px;
}
.rd-bath__img{width:58.6%;flex-shrink:0;height:734px;}
.rd-bath__img img{width:100%;height:100%;object-fit:cover;}
.rd-bath__txt{display:flex;flex-direction:column;gap:73px;max-width:100%;padding-right:40px;}
.rd-bath__txt p{font-size:15px;line-height:2;}

/* 客室概要（info + 間取り図） */
.rd-outline{
  width:100%;display:flex;justify-content:center;padding:100px 40px;
}
.rd-outline__inner{display:flex;gap:90px;align-items:center;width:1400px;max-width:100%;}
.rd-outline__txt{width:696px;flex-shrink:0;display:flex;flex-direction:column;gap:30px;}
.rd-outline .info-list{border-top:1px solid rgba(51,51,51,.2);}
.rd-outline .info-list>div{padding:15px 0;}
.rd-outline__floor{
  flex:1;min-width:0;background:#fff;padding:30px;
  display:flex;align-items:center;justify-content:center;
}
.rd-outline__floor img{width:100%;height:auto;}

/* おすすめプラン */
.rd-plan{
  width:100%;display:flex;flex-direction:column;align-items:center;gap:77px;
  padding:50px 40px 100px;
}
.rd-plan__card{
  display:flex;width:1400px;max-width:100%;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.06));
}
.rd-plan__img{flex:1;min-width:0;height:616px;}
.rd-plan__img img{width:100%;height:100%;object-fit:cover;}
.rd-plan__body{
  width:681px;flex-shrink:0;background:#fff;height:616px;
  display:flex;flex-direction:column;justify-content:center;gap:60px;
  padding:80px;
}
.rd-plan__body h4{font-size:30px;line-height:1.5;font-weight:400;}
.rd-plan__body p{font-size:15px;line-height:2;}
.rd-plan__btn{
  display:flex;align-items:center;justify-content:center;
  height:76px;border:1px solid var(--text);border-radius:5px;
  font-size:20px;font-weight:500;transition:.35s var(--ease);
}
.rd-plan__btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}


/* ============================================================
   レスポンシブ
============================================================ */
@media (max-width:1400px){
  .rd-outline__txt{width: 532px;}
  .rd-plan__img,.rd-plan__body{height: 500px;}
  .rd-plan__body{gap: 10%;}
}

@media (max-width:900px){
  .rd-feature{gap:50px;flex-wrap:wrap;}
  .rd-outline__inner{flex-wrap:wrap;gap:50px;}
  .rd-outline__txt{width:100%;}
  .rd-plan__card{flex-direction:column;}
  .rd-plan__body{width:100%;height:auto;padding:50px;}
  .rd-bath{flex-wrap:wrap;gap:40px;}
  .rd-bath__img{width:100%;height:auto;aspect-ratio:1065/734;}
  .rd-bath__txt{padding:0 40px 60px;}
  .rd-slider__track{padding:0 8%;}
  .rd-slider__slide{flex-basis:84%;height:auto;aspect-ratio:1200/812;max-width: 100%;}
  
  .rd-content{padding-bottom:60px;}
  .rd-linkbar{padding:14px 20px;font-size:13px;}
  .rd-intro{padding:60px 30px 30px;gap:30px;}
  .rd-intro h2{font-size:26px;}
  .rd-slider{padding:20px 0 0;}
  .rd-slider__track{gap:15px;padding:0 30px;}
  .rd-slider__slide{flex-basis:100%;}
  .rd-slider__dots{bottom:14px;}
  .rd-ttl{gap:26px;}
  .rd-ttl h2,.rd-ttl h3{font-size:26px;}
  .rd-feature{flex-direction:column;padding:30px;gap:40px;}
  .rd-feature__txt{width:100%;gap:36px;}
  .rd-feature__imgs{gap:15px;}
  .rd-feature__imgs figure{width:calc(50% - 8px);height:auto;aspect-ratio:339/523;}
  .rd-feature__imgs figure:nth-child(2){margin-top:60px;}
  .rd-bath{margin-top:30px;padding-bottom:0;}
  .rd-bath__txt{padding:0 30px 60px;gap:36px;}
  .rd-outline{padding:60px 30px;}
  .rd-outline__inner{gap:40px;}
  .rd-plan{padding:30px 30px 60px;gap:40px;}
  .rd-plan__body{padding:30px 20px;gap:36px;}
  .rd-plan__body h4{font-size:24px;}
  .rd-plan__img{height:auto;aspect-ratio:16/10;}
  .rd-plan__btn{font-size:16px;height:60px;width: min(100%, 300px);margin: auto;}
}

@media (max-width:600px){

}


/* 下部リンク */
.rd-back{
  display:inline-flex;flex-direction:column;gap:10px;
  font-size:20px;font-weight:500;text-align:center;
}
.rd-back .more-btn__line{width:384px;height:10px;}
.more-btn{width:384px;}
.more-btn__line::after {
    left: 97%;
    bottom: 11px;
}
@media (max-width:900px){
  .rd-back{font-size:16px;}
  .rd-back .more-btn__line{width:100%;}
}
@media (max-width:600px){
.more-btn {width: 85%;}
.rd-linkbar{display: flex;}
.rd-slider__dots {bottom: 13px;}
.room-reserve {margin-bottom: 10% !important;}
}

