/* ================================================================
   Room page (Frame 42/73 PC, iPhone 16 - Room page Mobile)
   Figma mobile: 393×4732px / PC: 1920×4934px
   ================================================================ */

.page-room {
  padding-top: 76px; /* fixed ヘッダー分のオフセット */
}

/* ================================================================
   PC ヒーローコラージュ（Figma Frame 42: 1920×1426px）
   ================================================================ */

.room-hero-stage {
  display: none; /* SP非表示 */
}

.room-hero__stage {
  position: relative;
  width: 100%;
  background-image: url('../images/room/hero/room-hero-bg.jpg');
  background-size: cover;
  background-position: center;
  aspect-ratio: 1920 / 1426;
  overflow: hidden;
}

/* 中央テキストブロック */
.room-hero__center {
  position: absolute;
  left: 23.4%;
  top: 37.9%;
  width: 53.2%;
  text-align: left;
  z-index: 4;
}

.room-hero__logo-img {
  display: block;
  margin: 0 auto 8px auto;
  width: clamp(80px, 10.1vw, 193px);
  height: auto;
}

.room-hero__logo-sub {
  font-family: var(--font-sans);
  font-size: clamp(16px, 1.875vw, 36px);
  font-weight: 700;
  text-align: center;
  margin: 0 0 clamp(12px, 1.5vw, 28px);
  color: #231815;
}

.room-hero__desc {
  font-family: var(--font-sans);
  font-size: clamp(12px, 1.15vw, 22px);
  font-weight: 700;
  line-height: 1.6;
  color: #231815;
  text-align: justify;
  margin: 0;
  padding: 0;
}

/* PC で表示 */
@media (min-width: 768px) {
  .room-hero-stage {
    display: block;
  }
  .room-hero.sp-only {
    display: none;
  }
  .room-access__address.sp-only {
    display: none;
  }
  .room-hero__center {
    top: 28.125vw; /* 540/1920 */
  }
}

/* ===== SP 装飾イラスト ===== */
.room-sp-decos {
  position: absolute;
  top: 212.468vw; /* 835px / 393 */
  left: 0;
  width: 100%;
  aspect-ratio: 393 / 3295; /* sp-bg.svgの元サイズ比 */
  background-image: url('../../images/room/sp/sp-bg.svg');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 767px) {
  .page-room {
    position: relative;
    overflow-x: hidden; /* lineart-wrap・デコ画像の右端はみ出しを防ぐ */
  }

  .page-room .slideshow__prev,
  .page-room .slideshow__next {
    display: none;
  }

  /* SP ヒーロー写真サイズ（Figma: 330×220px）*/
  .room-hero__img-wrap {
    width: 330px;
    max-width: 100%;
    margin: 0 auto;
  }

  .room-hero__img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
  }
}

/* ===== SP 宿泊セクション写真 ===== */
.room-stay__sp-photo {
  width: 330px;
  max-width: 100%;
  margin: 0 auto 5.089vw; /* 上0 下20px / 393 */
}

.room-stay__sp-photo img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

/* ===== ヒーローギャラリー（PC上部写真横並び）===== */
.room-hero__gallery {
  display: flex;
  overflow: hidden;
  gap: 6px;
  width: 100%;
  height: 220px;
}

.room-hero__gallery img {
  height: 100%;
  width: auto;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
}

/* ===== ヒーローコンテンツラッパー ===== */
.room-hero__content {
  display: flex;
  flex-direction: column;
}

/* ===== Room detail スライドショー ===== */
/* SP: aspect-ratio 3/2 で表示 */
.room-detail__slideshow {
  aspect-ratio: 3 / 2;
  margin: 0 var(--gutter) 10.178vw; /* 下40px / 393 */
  overflow: visible; /* ドットを画像の下に出すため */
}

/* ドットインジケーターを画像エリア下に配置 */
.room-detail__slideshow .slideshow__dots {
  top: calc(100% + 8px);
  bottom: auto;
}

@media (max-width: 767px) {
  .room-detail__slideshow .slideshow__dots {
    top: calc(100% + 20px);
  }
}

.room-detail__slideshow .slideshow__dot {
  background: #E7E7E7;
}

.room-detail__slideshow .slideshow__dot.is-active {
  background: #B8B8B8;
}

/* ===== Room 201/202 グリッド（SP は縦積み、PC は2カラム）===== */
.room-details-grid {
  display: flex;
  flex-direction: column;
  position: relative; /* 階段デコの基準 */
}

/* ===== SP 階段デコ（セクション末尾の相対配置）===== */
.room-sp-stairs {
  display: none;
}

@media (max-width: 767px) {
  .room-sp-stairs {
    display: block;
    position: absolute;
    left: 74.6%;
    bottom: 0;
    width: 13.5%;
    opacity: 0.8;
    pointer-events: none;
  }

  .room-stay .room-sp-stairs {
    bottom: -14vw;
  }

  .room-stay {
    position: relative; /* 階段デコ②の基準 */
  }
}

/* ===== 共通セクションタイトル ===== */
.room-section-title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 4.580vw; /* 18px / 393 */
  line-height: 1.3;
  color: var(--color-text);
  margin-bottom: var(--sp-sm);
  padding: 0 var(--gutter);
  position: relative;
  display: inline-block;
}

.room-access .room-section-title {
  margin-bottom: 0;
}



/* Room 202 テキストカラー（青）*/
#room-202 .room-detail__title,
#room-202 .room-detail__desc {
  color: #1f668f;
}

/* Room 201 テキストカラー（オレンジ）*/
#room-201 .room-detail__title,
#room-201 .room-detail__desc {
  color: #de6f0f;
}

@media (max-width: 767px) {
  #room-201 .room-detail__title,
  #room-201 .room-detail__desc,
  #room-202 .room-detail__title,
  #room-202 .room-detail__desc {
    color: #000000;
  }
}

/* ===== Hero ===== */
/* Figma: Group 445 (y=155, h=101) + text (y=287) + image (y=557) */
.room-hero {
  padding: 20.102vw 0 0; /* 上155px - header offset(76px) = 79px、下余白なし */
}

.room-hero__logo {
  padding: 0 var(--gutter);
  margin-bottom: var(--sp-md);
  /* Figma: Group 445, y=155, h=101 */
}

/* SP ROOMロゴ: Figma w=146px / 393px = 37.2% */
.room-hero__logo-img {
  width: 37.2%;
  max-width: 146px;
  height: auto;
  display: block;
  margin: 0 auto 8px;
}

/* SP 建物線画コンテナ: Figma x=161,y=557,w=261,h=225 */
/* x=161/393≈41% から配置。右端は画面外にはみ出し overflow-x:clip でクリップ */
.room-hero__lineart-wrap {
  position: relative;
  width: 66.4%; /* 261/393 */
  max-width: 261px;
  aspect-ratio: 261 / 240;
  margin: 0 0 0 34vw;
  overflow: hidden;
}

.room-hero__lineart {
  position: absolute;
  width: 100%;
  right: 0;
  pointer-events: none;
}

/* Figma: "Room design hotel" テキスト (22px bold, centered) */
.room-hero__logo-text {
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 700;
  color: var(--color-text);
  margin: 0;
  line-height: 1.4;
text-align:center;
}

.room-hero__desc {
  /* Figma: 1400:1186, x=35, y=287, w=324, h=286 */
  width: 82.443vw; /* 324px / 393 */
  margin: 0 auto;
  font-family: var(--font-sans);
  font-size: 4.071vw; /* 16px / 393 */
  line-height: 1.65;
  color: var(--color-text);
}

@media (max-width: 767px) {
  .lang-en .room-hero__desc {
    text-align: left;
    font-size: 4.071vw; /* 16px / 393 */
    line-height: 1.4375; /* 23px / 16px */
  }
}

.room-hero__img-wrap {
  /* Figma: 無題 2026年1月14日, x=161, y=557, w=261, h=225 */
  /* モバイル: 右寄せ気味に配置 */
  padding: 0 0 0 var(--gutter);
  display: flex;
  justify-content: flex-end;
}

.room-hero__img {
  width: 261px;
  height: 225px;
  object-fit: cover;
  object-position: center;
}

/* ===== お部屋概要 ===== */
/* Figma: Group 451 (y=779, h=171) */
.room-overview {
  padding: 0;
}

.room-overview__desc {
  padding: 0 var(--gutter);
  font-size: 4.071vw; /* 16px / 393 */
  line-height: 1.65;
  font-weight: 700;
  max-width: 840px;
  margin: 0 auto;
}


/* ===== Room detail (201/202 共通) ===== */
/* Figma: Room 201 → y=985〜1731, Room 202 → y=1766〜2381 */
.room-detail {
  padding: 8.906vw 0; /* 上下35px / 393 */
}

@media (max-width: 767px) {
  #room-202.room-detail {
    padding-top: 0;
  }
}

.room-detail__title {
  /* Figma: "Room 201" font-size≈30px */
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 4.326vw; /* 17px / 393 */
  line-height: 1.6;
  color: #000000;
  margin-bottom: var(--sp-sm);
  padding: 0 var(--gutter);
}

/* 室内画像: w=330, h=220 (Figma) */
.room-detail__img-wrap {
  padding: 0 var(--gutter);
  margin-bottom: var(--sp-md);
}

.room-detail__img {
  width: 100%;
  max-width: 330px;
  height: 220px;
  object-fit: cover;
}

.room-detail__body {
  padding: 0 var(--gutter);
}

.room-detail__desc {
  width: 82.443vw; /* 324px / 393 */
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 1.65;
  font-weight: 500;
  color: #000000;
  margin-bottom: var(--sp-md);
}

@media (max-width: 767px) {
  .lang-en .room-detail__desc {
    line-height: 1.357; /* 19px / 14px */
  }

  .lang-en .room-detail__specs {
    line-height: 1.273; /* 14px / 11px */
  }

  .lang-en .room-stay__text,
  .lang-en .room-stay__times {
    line-height: 1.357; /* 19px / 14px */
  }

  .lang-en .room-stay__note,
  .lang-en .room-stay__rules {
    line-height: 1.273; /* 14px / 11px */
  }

  .lang-en .room-access__address {
    line-height: 1.357; /* 19px / 14px */
  }
}

/* 設備・備品リスト */
.room-detail__specs {
  width: 82.443vw; /* 324px / 393 */
  font-size: 2.799vw; /* 11px / 393 */
  line-height: 1.65;
  font-weight: 400;
  color: #000000;
  overflow-wrap: break-word;
}

.room-detail__specs dt {
  font-weight: 700;
  white-space: nowrap;
}

.room-detail__specs dd {
  margin: 0;
}

.room-detail__specs-category {
  font-weight: 700;
}

.room-detail__popup-trigger {
  padding: var(--sp-sm) var(--gutter) 0;
}

/* ===== ご宿泊について ===== */
/* Figma: Group 649 (y=2431) */
.room-info {
  padding: var(--sp-xl) 0 var(--sp-lg);
  border-top: 1px solid var(--color-border);
}

.room-info__block {
  margin-bottom: var(--sp-lg);
}

.room-info__subtitle {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 20px;
  color: var(--color-text);
  margin-bottom: var(--sp-sm);
  padding: 0 var(--gutter);
}

/* 情報画像: w=330, h=220 */
.room-info__img-wrap {
  padding: 0 var(--gutter);
  margin-bottom: var(--sp-md);
}

.room-info__img {
  width: 100%;
  max-width: 330px;
  height: 220px;
  object-fit: cover;
}

.room-info__text {
  padding: 0 var(--gutter);
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
}

/* ===== 夜間の出入り ===== */
/* Figma: Group 504 (y=2992) */
.room-night-entry {
  padding: var(--sp-lg) 0;
  border-top: 1px solid var(--color-border);
}

/* ===== ご宿泊ルール ===== */
/* Figma: 1400:1251 (y=3418), Group 707 (y=3748) */
.room-rules {
  padding: var(--sp-xl) 0 var(--sp-lg);
  border-top: 1px solid var(--color-border);
}

/* チェックイン・アウト時間 */
.room-rules__times {
  padding: 0 var(--gutter);
  font-family: var(--font-sans);
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  margin-bottom: var(--sp-md);
}

/* 注意書き */
.room-rules__note {
  padding: 0 var(--gutter);
  font-size: var(--fz-xs);
  line-height: var(--lh-loose);
  color: var(--color-text-sub);
  margin-bottom: var(--sp-sm);
}

/* ルール一覧 */
.room-rules__list {
  padding: 0 var(--gutter);
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  display: flex;
  flex-direction: column;
  gap: var(--sp-xs);
}

/* ===== アクセス ===== */
/* Figma: Group 506 (y=4052) */
.room-access {
  padding: 12.723vw 0; /* 上下50px / 393 */
}

.room-access__address {
  padding: 0 var(--gutter);
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  margin-bottom: var(--sp-md);
}

.room-access__address a {
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* アクセス地図: w=330, h=220 */
.room-access__map {
  padding: 0 var(--gutter);
}

.room-access__map img {
  width: 100%;
  max-width: 330px;
  height: 220px;
  object-fit: cover;
}

.room-access__map {
  padding: 0 var(--gutter);
}

.room-access__map iframe {
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  border: 0;
  display: block;
}

.room-access__map img {
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
}

/* ===== 床平面図（PCのみ） ===== */
.room-floorplan {
  display: none; /* SP では非表示 */
}

.room-floorplan__wrap {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.room-floorplan__img {
  width: 100%;
  height: auto;
  display: block;
}

.room-floorplan__pin {
  position: absolute;
  left: var(--pin-x, 50%);
  top: var(--pin-y, 50%);
  transform: translate(-50%, -50%);
  background: #DE6F0F;
  color: #fff;
  border: none;
  border-radius: 50%;
  padding: 3px 12px;
  font-size: 11px;
  font-family: var(--font-sans);
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.3);
  transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
  z-index: 1;
}

.room-floorplan__pin--202 {
  background: #1b6c72;
}

.room-floorplan__pin:hover,
.room-floorplan__pin:active {
}

.room-floorplan__pin:focus {
  filter: brightness(1.15);
  outline: 2px solid #fff;
  outline-offset: 1px;
}

/* ===== PC ポップアップ：Room 詳細 ===== */
/* Room ポップアップにストリート画像ストリップは不要 */
[id^="popup-room-"] .popup-modal__strip {
  display: none;
}

[id^="popup-room-"] .popup-modal__content {
  padding: 0;
}

[id^="popup-room-"] .popup-modal__close {
  position: absolute;
  bottom: 1.667vw; /* 32/1920 */
  right: 3.49vw;   /* 67/1920 */
  order: unset;
  align-self: unset;
  margin: 0;
}

.popup-room {
}

.popup-room__images {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-sm);
  margin-bottom: 2.031vw; /* 39/1920 */
}

/* タイトルを画像の上に絶対配置 */
.popup-room__title {
  position: absolute;
  top: 4.271vw; /* 82/1920 */
  left: 0;
  right: 0;
  padding: 0 5.833vw; /* right: 112/1920 */
  margin-bottom: 0;
  z-index: 1;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.875vw; /* 36/1920 */
  line-height: var(--lh-tight);
  color: #e8852a;
  text-align: right;
}

.popup-room__title-label {
  font-size: 1.25vw; /* 24/1920 */
}

[id*="popup-room-202"] .popup-room__title {
  color: #1B6C72;
  text-align: left;
}

.popup-room__images img {
  width: 100%;
  height: auto;
  display: block;
}

.popup-room__specs {
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 2px 12px;
  margin-bottom: var(--sp-md);
  padding-left: var(--sp-xl);
  padding-right: var(--sp-xl);
}

.popup-room__specs dt { font-weight: 700; }
.popup-room__specs dd { margin: 0; }

.popup-room__desc {
  font-size: 0.833vw; /* 16/1920 */
  line-height: 1.5;
  color: var(--color-text);
  margin-bottom: 0.521vw; /* 10/1920 */
  padding-left: 5.729vw; /* 110/1920 */
  width: 45.052vw; /* (755+110)/1920 = 865/1920 */
}

.popup-room__link-line {
  padding-left: 5.729vw; /* 110/1920 */
  font-size: 0.625vw;
}

.popup-room__link {
  display: inline-block;
  font-size:  0.625vw;
  color: #231815;
  text-decoration: underline;
  text-underline-offset: 2px;
  padding-left: 1em;
}
div#popup-room-202-bed .popup-room__images img:last-child {
  margin-top: 7.969vw; /* 153/1920 */
}
div#popup-room-202-bath .popup-room__images img:last-child {
  margin-left: 5.729vw; /* 110/1920 */
  width: calc(100% - 5.729vw);
}
div#popup-room-202-detail .popup-room__images img:last-child {
  margin: 8.177vw 5.833vw 0 0; /* top:157/1920, right:112/1920 */
  width: calc(100% - 5.833vw);
}
div#popup-room-201-main .popup-room__images img:last-child {
  margin: 8.229vw 0 0 20.833vw; /* top:158/1920, left:400/1920 */
  width: 44.271vw; /* (1250-400)/1920 */
  height: auto;
}
div#popup-room-201-single .popup-room__images img:last-child {
  margin: 8.177vw 0 0 5.729vw; /* top:157/1920, left:110/1920 */
  width: calc(100% - 5.729vw);
}
div#popup-room-201-kitchen .popup-room__images img:last-child {
  margin-top: 8.229vw; /* 158/1920 */
  width: calc(100% - 5.781vw); /* right:111/1920 */
}

div#popup-room-201-dining .popup-room__images img:last-child {
  margin-left: 5.729vw; /* 110/1920 */
  width: calc(100% - 5.729vw);
}

div#popup-room-201-bath .popup-room__images img:last-child {
  margin-right: 5.833vw; /* 112/1920 */
  width: calc(100% - 5.833vw);
}
div#popup-room-201-tatami .popup-room__images img:last-child {
  margin-right: 5.833vw; /* 112/1920 */
  width: calc(100% - 5.833vw);
}


/* ===== ご宿泊について（SP）===== */
.room-stay__photos {
  display: none; /* SPでは非表示 */
}

.room-stay__content {
  padding: 0 8.651vw; /* 左右34px / 393 */
}

.room-stay__title {
  font-family: var(--font-sans);
  font-size: 4.580vw; /* 18px / 393 */
  font-weight: 700;
  color: #231815;
  margin: 0 0 8.906vw; /* 下35px / 393 */
  position: relative;
  display: inline-block;
}

.room-stay__title-underline {
  display: none; /* PC のみ */
}

.room-stay__subtitle {
  font-family: var(--font-sans);
  font-size: 3.817vw; /* 15px / 393 */
  font-weight: 700;
  color: #231815;
  margin: 0 0 2.545vw; /* 10px / 393 */
  padding: 0;
}

.room-stay__text {
  width: 83.969vw; /* 330px / 393 */
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 1.65;
  color: var(--color-text);
  margin-bottom: 8.906vw; /* 35px / 393 */
}

.room-stay__times {
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 1.65;
  color: var(--color-text);
  margin-bottom: 2.545vw; /* 10px / 393 */
}

.room-stay__note {
  font-size: 2.799vw; /* 11px / 393 */
  line-height: 1.65;
  color: var(--color-text);
  margin-bottom: 5.089vw; /* 20px / 393 */
}

.room-stay__rules {
  font-size: 2.799vw; /* 11px / 393 */
  line-height: 1.65;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom:0;
  padding: 0;
}

/* ===== 予約ボタン ===== */
/* Figma: Group 132 (y=4401, w=170, h=42) */
.room-booking {
  display: flex;
  justify-content: center;
  padding: 0 var(--gutter) 12.723vw; /* 下50px / 393 */
}

.room-booking__btn {
  /* btn-book スタイルを継承し、サイズアップ */
  font-size: var(--fz-sm) !important;
  height: 42px !important;
  padding: 0 var(--sp-lg) !important;
  border-radius: 15px !important;
  min-width: 170px;
  box-shadow: 0 4px 0 var(--color-btn-book-shadow) !important;
}

@media (max-width: 767px) {
  .room-booking__btn.sp-only {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .room-booking__btn.pc-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* ===== PC Layout (≥768px) ===== */
/* Figma Frame 42: 1920×4934px */
@media (min-width: 768px) {

  .page-room {
    padding-top: 0;
  }

  .room-section-title {
    font-size: 2.083vw; /* 40/1920 */
    font-weight: 500;
    line-height: 1em;
    padding: 0 0 0.8vw 15.365vw;
  }

  /* 黄色アンダーライン: ページ左端(0)から460px */
  .room-section-title::after {
    content: '';
    position: absolute;
    left: 0;
    right: auto;
    width: 23.958vw; /* 460/1920 */
    bottom: 0.25vw;
    height: 1.042vw; /* 20/1920 */
    background: #fff947;
    z-index: -1;
  }

  /* SP用ヒーロー（room-hero）は非表示 */
  .room-hero.sp-only {
    display: none;
  }

  /* Room detail: 横並び */
  .room-detail {
    padding: 0;
  }

  .room-detail__title {
    padding: 0;
    font-size: 1.875vw; /* 36/1920 */
  }

  .room-detail__title-label {
    font-size: 1.25vw; /* 24/1920 */
  }

  .room-detail__img-wrap {
    padding: 0;
    float: right;
    margin-left: 3.333vw; /* 64/1920 */
    margin-bottom: 1.25vw; /* 24/1920 */
  }

  .room-detail__img {
    max-width: 26.042vw; /* 500/1920 */
    height: 18.75vw; /* 360/1920 */
  }

  .room-detail__body {
    padding: 0;
  }

  .room-detail__popup-trigger {
    padding: var(--sp-sm) 0 0;
    clear: both;
  }

  .room-overview {
    display: block;
    padding: 3.177vw 0 3.906vw; /* 61/1920, 75/1920 */
    clear: both;
  }

  /* 床平面図 */
  .room-floorplan {
    display: block;
    padding: 0 8.385vw; /* 161/1920 */
    clear: both;
  }

  .room-floorplan__wrap {
    width: 83.229vw; /* 1598/1920 */
    max-width: none;
    margin: 0 auto;
  }

  .room-floorplan__pin {
    width: 3.881vw;  /* 74.5251/1920 */
    height: 1.952vw; /* 37.4767/1920 */
    padding: 0;
    font-size: 0.625vw; /* 12/1920 */
  }

  /* ヒーロー テキスト（PC） */
  .room-hero__logo-text {
    font-size: 1.875vw; /* 36/1920 */
    line-height: 1.5625vw; /* 30/1920 */
  }

  .room-hero__desc {
    font-size: 1.146vw; /* 22/1920 */
    font-weight: 700;
    line-height: 1.6;
    width: auto;
    margin: 0;
    padding: 0;
  }

  .lang-en .room-hero__desc {
    line-height: 1.5625vw; /* 30/1920 */
  }

  /* お部屋概要（PC） */
  .room-overview__desc {
    font-size: 1.042vw; /* 20/1920 */
    font-weight: 700;
    line-height: 1.5;
    width: 53.2vw; /* 1021/1920 */
    max-width: none; /* SP の max-width: 840px を解除 */
    margin: 0 0 0 23.4375vw; /* 左端 450/1920: Figma left=calc(50%-510px) */
    padding: 0;
  }

  .lang-en .room-overview__desc {
    width: 50.3125vw; /* 966/1920 */
  }

  /* Room 201/202 詳細（PC） */
  .room-detail__desc {
    font-size: 0.9375vw; /* 18/1920 */
    font-weight: 700;
    line-height: 1.5;
    width: auto;
  }

  .lang-en .room-detail__desc {
    line-height: 1.25vw; /* 24/1920 */
  }

  .room-detail__specs {
    font-size: 0.833vw; /* 16/1920 */
    font-weight: 400;
    line-height: 1.5;
    width: auto;
  }

  .lang-en .room-detail__specs {
    line-height: 1.094vw; /* 21/1920 */
  }

  /* Room 201/202 グリッド（PC: 2カラム横並び）*/
  .room-details-grid {
    display: grid;
    grid-template-columns: 32.552vw 32.552vw; /* 625/1920 */
    gap: 0 3.646vw; /* 70/1920 */
    padding: 3.125vw 15.625vw 5.885vw; /* 上60px 左右300px 下113px (基準1920px) */
    background: #ffffff;
  }

  .room-details-grid .room-detail {
    padding: 0;
    float: none;
  }

  /* PC: Figmaに合わせて 202（左）→ 201（右）に入れ替え */
  .room-details-grid #room-202 { order: 1; }
  .room-details-grid #room-201 { order: 2; }

 
  /* スライドショー（PC: パディング不要）*/
  .room-detail__slideshow {
    margin: 0 0 var(--sp-md);
    aspect-ratio: 3 / 2;
  }

  /* ===== ご宿泊について 2カラム（PC）===== */
  .room-stay {
    background-color: #ffffeb;
    display: grid;
    grid-template-columns: 47% 1fr; /* 792/1920 */
    gap: 0;
    align-items: start;
  }

  .room-stay__photos {
    display: block;
  }

  .room-stay__photo-top {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }

  .room-stay__photo-bottom {
    display: flex;
    gap: 0;
  }

  .room-stay__photo-bottom img {
    object-fit: cover;
    display: block;
  }

  .room-stay__photo-bottom img:first-child {
    width: 38.6%;
    aspect-ratio: 306 / 458;
  }

  .room-stay__photo-bottom img:last-child {
    width: 61.4%;
    aspect-ratio: 530 / 353;
  }

  .room-stay__content {
    padding: 3.6vw 10.521vw 4vw 5.313vw;
    width: 48.5vw;
    overflow-x:hidden;
  }

  .room-stay__title {
    font-size: 2.083vw; /* 40/1920 */
    font-weight: 500;
    color: #231815;
    margin: 0 0 4px;
    line-height: 1.7;
    font-family: var(--font-sans);
  }

  .room-stay__title-underline {
    display: block;
    height: 1.042vw; /* 20/1920 */
    background: #fff947;
    margin-bottom: 2.656vw; /* 51/1920 */
    width: 140%;
    margin-top:-1em;
  }

  .room-stay__subtitle {
    font-size: 1.042vw; /* 20/1920 */
    font-weight: 700;
    line-height: 1.7;
    color: #231815;
    font-family: var(--font-sans);
    margin: 0 0 0.521vw; /* 10/1920 */
  }

  .room-stay__text {
    width: auto;
    font-size: 0.9375vw; /* 18/1920 */
    font-weight: 500;
    line-height: 1.5;
    color: #231815;
    margin-bottom: 2.083vw; /* 40/1920 */
  }

  .room-stay__times {
    font-size: 0.9375vw; /* 18/1920 */
    font-weight: 500;
    line-height: 1.5;
    color: #231815;
    margin-bottom: 0.521vw; /* 10/1920 */
  }

  .room-stay__note {
    font-size: 0.9375vw; /* 18/1920 */
    font-weight: 400;
    color: #231815;
    line-height: 1.5;
    margin-bottom: 1.042vw; /* 20/1920 */
  }

  .room-stay__rules {
    font-size: 0.9375vw; /* 16/1920 */
    font-weight: 400;
    line-height: 1.65;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom:0;
    padding: 0;
  }

  .room-stay__rules li {
    font-size: 0.9375vw; /* 16/1920 */
    color: #231815;
    margin: 0;
    padding: 0;
  }

  /* 英語版 行間調整 */
  .lang-en .room-stay__text,
  .lang-en .room-stay__times { line-height: 1.25vw; } /* 24/1920 */
  .lang-en .room-stay__note,.lang-en .room-stay__rules { line-height: 1.094vw; } /* 21/1920 */
  /*.lang-en .room-stay__rules { line-height: 0.9375vw; }  18/1920 */

  /* アクセス（PC）*/
  .room-access {
    text-align: center;
    padding: 4.427vw 0 1.979vw; /* top:85, bottom:38 / 1920 */
    background: #ffffff;
    clear: both;
    position: relative;
    overflow: visible;
  }

  /* access-bg.png: 背景色の上に重ね、上のブロックにも被さる */
  .room-access::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -150px;
        top: -300px;
        background-image: url(../../images/room/access-bg.png);
        background-repeat: no-repeat;
        background-position: bottom center;
        background-size: contain;
        pointer-events: none;
        z-index: 0;
  }

  .room-access .room-section-title,
  .room-access__map,
  .room-access__address {
    position: relative;
    z-index: 1;
  }

  .room-access__map {
    width: 35.417vw; /* 680/1920 */
    margin: 0 auto 1.25vw; /* bottom:24/1920 */
    padding: 0;
    float: none;
  }

  .room-access__map iframe {
    width: 100%;
    height: 16.25vw; /* 312/1920 */
    max-width: none;
    border: 0;
    display: block;
  }

  .room-access__map img {
    width: 100%;
    height: auto;
    max-width: none;
  }

  .room-access__address {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 40px;
    font-size: 0.833vw; /* 16/1920 */
    font-weight: 400;
    line-height: 1.7;
    color: #231815;
    padding: 0;
    font-style: normal;
    margin-bottom:0;
  }

  .lang-en .room-access__address {
    font-size: 0.729vw; /* 14/1920 */
    line-height: 0.9375vw; /* 18/1920 */
  }

  .room-booking {
    padding-top: 0;
    padding-bottom: 2.813vw; /* 54/1920 */
  }
}
