/* ==========================================================================
   rh-property.css — 物件一覧・物件詳細
   Figma: 10 物件一覧 355:8265 ／ 10 アクション 355:8759 ／ 11 完成済み 433:5276 ／ 12 未完成 433:6744（10/3 最終）
   1. 共通（ボタン・リンク・保存♡・スライダー・トースト）
   2. 物件カード（写真送り・♡・タグ・スペック3列・価格・特徴）
   3. 物件一覧（絞り込み・分譲地の特集・件数・希望条件の帯・保存バー・保存モーダル）
   4. 物件詳細（ヒーロー・スペック・ページ内メニュー・各セクション・追従カード）
   5. 完成までのスケジュール（未完成のみ）
   6. 返済シミュレーション
   7. SP
   ========================================================================== */

/* ---------- 1. 共通 ---------- */
html .rh-page--property { --rh-cream: rgba(255, 254, 249, .94); --rh-photo-bg: #f5f3ed; --rh-pd-sticky-top: calc(var(--rh-header-h) + 60px); }

html .rh-pbtn {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 48px; padding: 12px 18px; border: 1px solid var(--rh-blue); border-radius: var(--rh-r-btn);
  background: var(--rh-blue); color: var(--rh-white);
  font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: .4px; text-align: left;
  transition: background-color .2s, color .2s;
}
html .rh-pbtn > span[aria-hidden] { flex: none; font-weight: 400; }
html .rh-pbtn:hover { background: #004489; }
html .rh-pbtn--line { background: var(--rh-white); color: var(--rh-blue); }
html .rh-pbtn--line:hover { background: var(--rh-soft); }
html .rh-pbtn--block { width: 100%; }
html .rh-pbtn--s { min-height: 40px; padding: 8px 16px; font-size: 13px; }
html .rh-pbtn[aria-disabled="true"] { opacity: .4; pointer-events: none; }

html .rh-ptextlink {
  display: inline-flex; align-items: center; gap: 8px;
  padding-bottom: 4px; border-bottom: 1px solid currentColor;
  color: var(--rh-text); font-size: 12px; font-weight: 700; line-height: 1.5; cursor: pointer;
}
html .rh-ptextlink:hover { color: var(--rh-blue); }

html .rh-pd-note { margin-top: 10px; color: var(--rh-gray); font-size: 12px; line-height: 1.8; }
html .rh-pd-kicker { color: var(--rh-blue); font-size: 12px; font-weight: 700; letter-spacing: .8px; }
html .rh-pd-title { font-family: var(--rh-serif); font-size: 28px; font-weight: 500; line-height: 1.5; letter-spacing: 1.4px; color: var(--rh-link); }
html .rh-pd-subtitle { margin: 36px 0 14px; color: var(--rh-text); font-size: 15px; font-weight: 700; }
html .rh-pd-lead { margin-top: 12px; color: var(--rh-gray); font-size: 14px; line-height: 1.9; }

/* 保存♡（白丸 → 保存済みは青丸に白いハート） */
html .rh-save {
  display: inline-grid; place-items: center; width: 42px; height: 42px; flex: none;
  border-radius: 50%; background: var(--rh-white); color: var(--rh-blue);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .12); transition: background-color .2s, color .2s;
}
html .rh-save svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; }
html .rh-save[aria-pressed="true"] { background: var(--rh-blue); color: var(--rh-white); }
html .rh-save[aria-pressed="true"] svg { fill: currentColor; }
html .rh-save--line { box-shadow: none; border: 1px solid var(--rh-line); }

/* スライダー（横スクロール＋スナップ。ボタン・ドット・枚数は rh-property.js） */
html .rh-slider { position: relative; }
html .rh-slider__track {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  scrollbar-width: none; overscroll-behavior-x: contain;
}
html .rh-slider__track::-webkit-scrollbar { display: none; }
html .rh-slider__slide { flex: 0 0 100%; scroll-snap-align: start; }
html .rh-slider__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
html .rh-slider__prev, html .rh-slider__next {
  position: absolute; top: 50%; z-index: 2; transform: translateY(-50%);
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 2px;
  background: rgba(255, 255, 255, .92); color: var(--rh-text); font-size: 18px; line-height: 1;
}
html .rh-slider__prev { left: 10px; }
html .rh-slider--card .rh-slider__prev, html .rh-slider--card .rh-slider__next { opacity: 0; transition: opacity .2s; }
html .rh-pcard__media:hover .rh-slider__prev, html .rh-pcard__media:hover .rh-slider__next, html .rh-slider--card button:focus-visible { opacity: 1; }
@media (hover: none) { html .rh-slider--card .rh-slider__prev, html .rh-slider--card .rh-slider__next { display: none; } }
html .rh-slider__next { right: 10px; }
html .rh-slider__dots { position: absolute; left: 0; right: 0; bottom: 10px; z-index: 2; display: flex; justify-content: center; gap: 5px; pointer-events: none; }
html .rh-slider__dots i { width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--rh-white); background: transparent; }
html .rh-slider__dots i.is-current { background: var(--rh-white); }
html .rh-slider__ctrl { display: flex; align-items: center; gap: 12px; font-family: var(--rh-en-serif); font-size: 12px; color: var(--rh-gray); }
html .rh-slider__ctrl button {
  display: grid; place-items: center; width: 30px; height: 30px;
  border: 1px solid var(--rh-line); background: var(--rh-white); color: var(--rh-blue); font-size: 14px;
}
html .rh-slider__ctrl button:disabled { color: var(--rh-placeholder); cursor: default; }
html .rh-slider.is-single .rh-slider__ctrl,
html .rh-slider.is-single .rh-slider__prev,
html .rh-slider.is-single .rh-slider__next,
html .rh-slider.is-single .rh-slider__dots { display: none; }

html .rh-toast {
  position: fixed; left: 50%; bottom: 96px; z-index: 120; transform: translateX(-50%);
  padding: 10px 18px; border-radius: 3px; background: var(--rh-dark); color: var(--rh-white);
  font-size: 13px; box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
}

/* ---------- 2. 物件カード（10/4 作り直し：所在地 → 見出し → タグ → 学区 → スペック3列 → 価格 → 特徴 → ボタン） ----------
   同じ行のカードで各段の高さをそろえる（subgrid）。カードは親グリッド（.rh-plist-cards）の 8 行分を使い、
   本文（.rh-pcard__body）は display: contents にして中身を直接その行に置く。無い段（タグ・学区）は高さ 0 の行になる。
   最後の段（.rh-pcard__foot＝特徴＋ボタン）は、ボタンを段の下にそろえる。特徴をたたんで出すカード（.is-toggle）だけは上ぞろえにして、
   どれかを開いても同じ行のほかのカードは動かない（開いたカードだけボタンが下がる）
   余白は 8 の倍数。段の間は各段の margin で取る。親の row-gap はカードの中の段の間にも効いてしまうので 0 にして、
   カード同士の縦の間はカードの padding-bottom（--rh-pcard-gap）で取り、一覧の最後の分は .rh-plist-cards の負の margin で消す */
:root { --rh-pcard-gap: 56px; }
html .rh-pcard { display: grid; grid-template-rows: subgrid; grid-row: span 8; min-width: 0; padding-bottom: var(--rh-pcard-gap); }
html .rh-pcard__body { display: contents; }
html .rh-pcard__media { grid-row: 1; position: relative; aspect-ratio: 4 / 3; border-radius: 4px; overflow: hidden; background: var(--rh-photo-bg); }
html .rh-pcard__loc { grid-row: 2; }
html .rh-pcard__title { grid-row: 3; }
html .rh-pcard__tags { grid-row: 4; }
html .rh-pcard__school { grid-row: 5; }
html .rh-pcard__facts { grid-row: 6; }
html .rh-pcard__price { grid-row: 7; }
html .rh-pcard__foot { grid-row: 8; }

html .rh-pcard__media .rh-slider, html .rh-pcard__media .rh-slider__track, html .rh-pcard__media .rh-slider__slide, html .rh-pcard__media a { height: 100%; }
html .rh-pcard__media a { display: block; }
html .rh-pcard__media img.is-plan { object-fit: contain; background: var(--rh-white); padding: 8px; }
html .rh-pcard__badge {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  padding: 4px 9px; background: var(--rh-white); color: var(--rh-blue); font-size: 11px; letter-spacing: .4px;
}
html .rh-pcard__badge.is-open { background: var(--rh-blue); color: var(--rh-white); }
html .rh-pcard__badge--semi { top: 42px; border-radius: 999px; padding: 3px 10px; border: 1px solid var(--rh-blue); }   /* セミオーダー受付中：状態の札の下。四角の札と区別して角丸の枠に。WP だけ */
html .rh-pcard__media .rh-save { position: absolute; top: 10px; right: 10px; z-index: 2; }

/* 所在地・見出し */
html .rh-pcard__loc { margin-top: 16px; color: var(--rh-gray); font-size: 12.5px; line-height: 1.5; }
html .rh-pcard__title { margin-top: 8px; font-family: var(--rh-sans); font-size: 19px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; color: var(--rh-text); } /* 10/4 夜：明朝 → ゴシック（一覧・イベント・ほかの住まい共通） */
html .rh-pcard__title a:hover { color: var(--rh-blue); }

/* タグ：淡い青の地＋青い文字 */
html .rh-pcard__tags { display: flex; flex-wrap: wrap; align-content: start; gap: 6px; margin-top: 8px; }
html .rh-pcard__tags li { padding: 3px 8px; border-radius: 3px; background: var(--rh-soft); color: var(--rh-blue); font-size: 13px; font-weight: 500; line-height: 1.5; }

/* 学区 */
html .rh-pcard__school { margin-top: 8px; color: var(--rh-gray); font-size: 12px; line-height: 1.6; }
html .rh-pcard__school span { margin-right: 8px; }

/* スペック：間取り｜建物｜土地 の3列 */
html .rh-pcard__facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; margin: 16px 0 0; }
html .rh-pcard__facts div { min-width: 0; padding: 0 16px; border-left: 1px solid var(--rh-line); }
html .rh-pcard__facts div:first-child { padding-left: 0; border-left: 0; }
html .rh-pcard__facts dt { color: var(--rh-gray); font-size: 11px; line-height: 1.4; }
html .rh-pcard__facts dd { margin: 2px 0 0; color: var(--rh-text); font-family: var(--rh-en-sans); font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: .2px; white-space: nowrap; }
html .rh-pcard__facts dd small { margin-left: 2px; font-family: var(--rh-sans); font-size: 11px; font-weight: 400; }

/* 価格：スペックのすぐ下。罫線は上の1本だけ */
html .rh-pcard__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--rh-line); }
html .rh-pcard__amount { color: var(--rh-text); font-size: 14px; font-weight: 700; line-height: 1.3; } /* 単位「万円」＝数字 29px の約半分の太字（10/4 夜その2。物件詳細の価格とそろえる） */
html .rh-pcard__amount b { margin-right: 3px; font-family: var(--rh-en-sans); font-size: 29px; font-weight: 400; letter-spacing: .3px; }
html .rh-pcard__amount small, html .rh-pcard__monthly small { margin-left: 8px; color: var(--rh-gray); font-size: 11px; font-weight: 400; }
html .rh-pcard__monthly { font-size: 12px; color: var(--rh-text); }
html .rh-pcard__monthly b { margin: 0 3px 0 6px; font-family: var(--rh-en-serif); font-size: 19px; font-weight: 400; }
html .rh-pcard__monthly small { display: block; margin: 0; }

/* この家の特徴（チェック付き・3つまで）。たたむ＝<details>／開く＝.is-open */
html .rh-pcard__points { margin-top: 8px; border-top: 1px solid var(--rh-line); }
html .rh-pcard__points summary {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 10px 0; color: var(--rh-text); font-size: 13px; font-weight: 700; line-height: 1.5; cursor: pointer; list-style: none;
}
html .rh-pcard__points summary::-webkit-details-marker { display: none; }
html .rh-pcard__points summary span { margin-right: auto; color: var(--rh-gray); font-weight: 400; }
html .rh-pcard__points summary::after {
  content: ""; flex: none; width: 7px; height: 7px; margin: 0 4px -4px 0;
  border-right: 1.5px solid var(--rh-blue); border-bottom: 1.5px solid var(--rh-blue); transform: translateY(-50%) rotate(45deg); transition: transform .2s;
}
html .rh-pcard__points[open] summary::after { transform: translateY(-10%) rotate(-135deg); }
html .rh-pcard__points summary:hover { color: var(--rh-blue); }
html .rh-pcard__points[open] .rh-pcard__checks { padding-bottom: 8px; }
html .rh-pcard__points-title { padding-top: 12px; color: var(--rh-text); font-size: 13px; font-weight: 700; line-height: 1.5; }
html .rh-pcard__points.is-open .rh-pcard__checks { margin-top: 8px; }
html .rh-pcard__checks { display: grid; gap: 6px; }
html .rh-pcard__checks li { position: relative; padding-left: 24px; color: var(--rh-text); font-size: 13px; line-height: 1.6; }
html .rh-pcard__checks li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--rh-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* 特徴＋ボタン */
html .rh-pcard__foot { display: flex; flex-direction: column; }
html .rh-pcard__foot.is-toggle { align-self: start; }
html .rh-pcard__actions { display: flex; gap: 8px; margin-top: auto; padding-top: 16px; }   /* 「物件を詳しく見る」と「資料請求」を横に並べる */
html .rh-pcard__actions .rh-pbtn { flex: 1 1 0; min-width: 0; }
/* 資料請求：「物件を詳しく見る」の右に並ぶ、同じ高さの枠線のボタン */
html .rh-pcard__sub {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  flex: none; min-height: 48px; padding: 8px 16px;
  border: 1px solid var(--rh-blue); border-radius: var(--rh-r-btn); background: var(--rh-white);
  color: var(--rh-blue); font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .4px;
}
html .rh-pcard__sub > span[aria-hidden] { flex: none; font-weight: 400; }

/* ---------- 3. 物件一覧 ---------- */
html .rh-plist { padding-top: 48px; padding-bottom: 100px; }
html .rh-plist.rh-inner, html .rh-plist-offer .rh-inner { --rh-content: var(--rh-pd-w); } /* 一覧も詳細と同じ 1100 幅（Figma 10） */
html .rh-plist-filter { padding: 22px 26px 6px; border: 1px solid var(--rh-line); background: var(--rh-white); }
html .rh-plist-filter__selects { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px 28px; }
html .rh-plist-field { display: block; }
html .rh-plist-field > span { display: block; color: var(--rh-gray); font-size: 11px; }
html .rh-plist-field select {
  width: 100%; height: 40px; padding: 0 26px 0 2px; border: 0; border-bottom: 1px solid var(--rh-text); border-radius: 0;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23253b37' stroke-width='1.2'/%3E%3C/svg%3E") right 4px center no-repeat;
  color: var(--rh-text); font: inherit; font-size: 14px; -webkit-appearance: none; appearance: none; cursor: pointer;
}
html .rh-plist-filter__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--rh-line); }
html .rh-plist-filter__tags { display: flex; flex-wrap: wrap; gap: 8px; }
html .rh-plist-tag { padding: 7px 12px; border: 1px solid var(--rh-line); border-radius: 2px; color: var(--rh-text); font-size: 12px; }
html .rh-plist-tag::after { content: " ＋"; }
html .rh-plist-tag[aria-pressed="true"] { border-color: var(--rh-blue); background: var(--rh-blue); color: var(--rh-white); }
html .rh-plist-tag[aria-pressed="true"]::after { content: " ✓"; }
html .rh-plist-filter__reset { flex: none; font-weight: 400; color: var(--rh-gray); }
html .rh-plist-filter__more summary {
  display: flex; justify-content: space-between; padding: 16px 0; color: var(--rh-text); font-size: 12px; cursor: pointer; list-style: none;
}
html .rh-plist-filter__more summary::-webkit-details-marker { display: none; }
html .rh-plist-filter__more summary::after { content: "＋"; color: var(--rh-gray); }
html .rh-plist-filter__more[open] summary::after { content: "−"; }
html .rh-plist-filter__extra { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 28px; }
html .rh-plist-filter__help { margin: 14px 0 16px; color: var(--rh-gray); font-size: 11px; }

html .rh-plist-feature { margin-top: 28px; padding: 30px 0 30px 30px; background: var(--rh-soft); overflow: hidden; }
html .rh-plist-feature__head { display: flex; align-items: center; justify-content: space-between; padding-right: 30px; margin-bottom: 18px; }
html .rh-plist-feature__title { font-family: var(--rh-serif); font-size: 22px; font-weight: 500; color: var(--rh-blue); letter-spacing: 1px; }
html .rh-plist-feature .rh-slider__track { gap: 16px; padding-right: 30px; }
html .rh-plist-feature__card { flex: 0 0 calc((100% - 28px) / 3.15); background: var(--rh-white); }
html .rh-plist-feature__card img { height: 161px; }
html .rh-plist-feature__card > div { padding: 14px 14px 18px; }
html .rh-plist-feature__area { color: var(--rh-gray); font-size: 12px; font-weight: 700; }
html .rh-plist-feature__name { margin-top: 4px; font-family: var(--rh-serif); font-size: 26px; font-weight: 600; color: var(--rh-text); }
html .rh-plist-feature__catch { margin: 6px 0 16px; color: var(--rh-gray); font-size: 13px; }
html .rh-plist-feature .rh-ptextlink { color: var(--rh-link); }
html .rh-slider__ctrl--round { gap: 10px; }
html .rh-slider__ctrl--round button { width: 36px; height: 36px; border: 1px solid var(--rh-blue); border-radius: 50%; color: var(--rh-blue); }
html .rh-slider__ctrl--round button:disabled { border-color: var(--rh-line); }

html .rh-plist-head { display: flex; align-items: center; justify-content: space-between; margin-top: 52px; }
html .rh-plist-count { color: var(--rh-text); font-size: 14px; }
html .rh-plist-count b { margin-right: 8px; font-family: var(--rh-en-serif); font-size: 32px; font-weight: 400; }
html .rh-pcheck { display: inline-flex; align-items: center; gap: 8px; color: var(--rh-text); font-size: 12px; cursor: pointer; }
html .rh-pcheck input { width: 14px; height: 14px; margin: 0; accent-color: var(--rh-blue); }
html .rh-plist-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
html .rh-plist-chips:empty { display: none; }
html .rh-plist-chips button { padding: 4px 10px; border-radius: 30px; background: var(--rh-soft); color: var(--rh-blue); font-size: 11px; }
html .rh-plist-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 30px; margin-top: 18px; margin-bottom: calc(var(--rh-pcard-gap) * -1); }  /* 縦の間はカードの padding-bottom（2. 物件カード） */
html .rh-plist-cards .rh-pcard[hidden] { display: none; }
html .rh-plist-empty { margin-top: calc(18px + var(--rh-pcard-gap));  /* 0件のときだけ出る。一覧の負の margin の分を足す */
   padding: 48px 24px; background: var(--rh-soft); text-align: center; }
html .rh-plist-empty h2 { font-family: var(--rh-serif); font-size: 20px; font-weight: 500; color: var(--rh-text); }
html .rh-plist-empty p { margin-top: 10px; color: var(--rh-gray); font-size: 14px; }
html .rh-plist-empty__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
html .rh-plist-empty__actions .rh-pbtn { min-width: 220px; }

html .rh-plist-offer { padding-bottom: 100px; }
html .rh-plist-offer__box {
  display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 40px; align-items: center;
  padding: 44px 56px; color: var(--rh-white);
  background: linear-gradient(rgba(0, 84, 166, .86), rgba(0, 84, 166, .86)), url(../img/photo/cta-request.jpg) center / cover no-repeat;
}
html .rh-plist-offer__text h2 { font-family: var(--rh-serif); font-size: 28px; font-weight: 500; line-height: 1.6; letter-spacing: 2px; }
html .rh-plist-offer__text p { margin-top: 18px; font-size: 13px; line-height: 2; opacity: .95; }
html .rh-plist-offer__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 200px)); justify-content: end; gap: 14px; }
html .rh-plist-offer__steps li {
  display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1;
  border-radius: 50%; background: var(--rh-white); color: var(--rh-text); font-size: 14px; font-weight: 700; line-height: 1.6; text-align: center;
}
html .rh-plist-offer__steps b { color: var(--rh-blue); font-family: var(--rh-en-serif); font-size: 15px; font-weight: 400; }
html .rh-plist-offer__icons { display: flex; align-items: center; justify-content: center; gap: 6px; height: 46px; margin: 10px 0 12px; }
html .rh-plist-offer__icons img { height: 36px; width: auto; }
html .rh-plist-offer__btn {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  width: fit-content; min-width: 300px; margin: 24px 0 0 auto; padding: 16px 28px;
  border-radius: var(--rh-r-pill); background: var(--rh-white); color: var(--rh-text); font-size: 14px; font-weight: 700;
}
html .rh-plist-offer__btn span { color: var(--rh-blue); font-size: 20px; line-height: 1; }

/* 保存バー（右下に追従。PC は右端の追従ボタンを避ける） */
html .rh-savedbar {
  position: fixed; right: 85px; bottom: 24px; z-index: 95;
  display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-radius: 3px;
  background: var(--rh-blue); color: var(--rh-white); font-size: 13px; font-weight: 700;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
}
html .rh-savedbar[hidden] { display: none; }
html .rh-savedbar svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
html .rh-savedbar b { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 11px; background: var(--rh-white); color: var(--rh-blue); font-size: 12px; }
html .rh-savedbar__next { padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, .5); font-size: 11px; font-weight: 400; }

/* 保存モーダル */
html .rh-saved {
  width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 4px;
  color: var(--rh-text); box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
html .rh-saved::backdrop { background: rgba(18, 53, 84, .35); }
html .rh-saved__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--rh-line); }
html .rh-saved__head h2 { font-size: 16px; font-weight: 700; }
html .rh-saved__close { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--rh-pale); font-size: 18px; }
html .rh-saved__intro { padding: 16px 22px 6px; color: var(--rh-gray); font-size: 12px; line-height: 1.8; }
html .rh-saved__list { padding: 0 22px; }
html .rh-saved__item { padding: 14px 0; border-bottom: 1px solid var(--rh-line); }
html .rh-saved__item label { display: grid; grid-template-columns: 18px 96px 1fr; align-items: center; gap: 12px; cursor: pointer; }
html .rh-saved__item input { width: 16px; height: 16px; margin: 0; accent-color: var(--rh-blue); }
html .rh-saved__item img { width: 96px; height: 64px; object-fit: cover; }
html .rh-saved__item small { display: block; color: var(--rh-gray); font-size: 11px; }
html .rh-saved__item strong { display: block; font-size: 15px; }
html .rh-saved__links { display: flex; justify-content: flex-end; gap: 16px; margin-top: 6px; font-size: 11px; }
html .rh-saved__links a, html .rh-saved__links button { color: var(--rh-gray); text-decoration: underline; }
html .rh-saved__actions { display: grid; gap: 10px; padding: 18px 22px 22px; }
html .rh-saved__continue { justify-self: center; font-weight: 400; }
html .rh-saved__hint { color: var(--rh-gray); font-size: 11px; text-align: center; }

/* ---------- 4. 物件詳細（Figma 11_完成済み物件 433:5276 ／ 12_未完成物件 433:6744） ---------- */
html .rh-page--property { --rh-pd-w: 1100px; --rh-pd-panel: #f6f9fa; --rh-pd-line: #e4e8e3; }
html .rh-pd-spec.rh-inner, html .rh-pd-nav.rh-inner, html .rh-pd-sec.rh-inner, html .rh-pd-body.rh-inner, html .rh-sched.rh-inner, html .rh-pd-related.rh-inner, html .rh-pd-choice .rh-inner { --rh-content: var(--rh-pd-w); }
html .rh-pbtn--l { min-height: 56px; padding: 14px 20px; font-size: 16px; }
html .rh-pbtn--xl { min-height: 62px; padding: 16px 26px; font-size: 16px; }

/* 見出し：左に青い縦線（全セクション共通） */
html .rh-pd-title { padding-left: 13px; border-left: 3px solid var(--rh-link); line-height: 1.25; }
html .rh-pd-subtitle { margin: 36px 0 14px; color: var(--rh-link); font-size: 16px; font-weight: 700; }
html .rh-pd-subtitle--dark { color: var(--rh-text); font-size: 18px; }

/* FV */
html .rh-pd-hero { background: var(--rh-soft); }
html .rh-pd-hero__inner {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 682px); gap: 0 60px;
  max-width: 1280px; margin: 0 auto; padding: 0 var(--rh-gutter);
}
html .rh-pd-hero__body { display: flex; flex-direction: column; padding: 34px 0 48px; }
html .rh-pd-hero__meta { display: flex; align-items: center; gap: 10px 40px; max-width: 402px; margin-bottom: 16px; }
html .rh-pd-hero__meta > * { white-space: nowrap; }
html .rh-pd-hero__meta .rh-save { margin-left: auto; }
html .rh-pd-badge { padding: 5px 11px; background: var(--rh-white); color: var(--rh-blue); font-size: 12px; font-weight: 500; letter-spacing: .5px; }
html .rh-pd-hero__jump { padding-bottom: 3px; border-bottom: 2px solid #c9d0cc; color: var(--rh-text); font-size: 13px; }
html .rh-pd-hero__jump:hover { color: var(--rh-blue); border-color: var(--rh-blue); }
html .rh-pd-hero__locrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 418px; }
html .rh-pd-hero__meta + .rh-pd-hero__locrow { padding-top: 0; }
html .rh-pd-hero__loc { color: var(--rh-text); font-size: 15px; letter-spacing: .5px; }
html .rh-save--l { width: 42px; height: 42px; }
html .rh-save--l svg { width: 22px; height: 22px; }
html .rh-pd-hero__catch { margin-top: 12px; font-family: var(--rh-serif); font-size: 36px; font-weight: 500; line-height: 1.55; letter-spacing: 3px; color: var(--rh-text); }
html .rh-pd-hero__lead { max-width: 340px; margin-top: 40px; color: var(--rh-gray); font-size: 14px; line-height: 1.8; letter-spacing: .4px; }
html .rh-pd-hero__actions { display: grid; gap: 8px; max-width: 340px; margin-top: 28px; }
html .rh-pd-hero__media { min-width: 0; padding-bottom: 46px; }

/* FV の写真ギャラリー：メイン＋サムネイル（PC）／スワイプ＋枚数（SP） */
html .rh-gallery__main { position: relative; aspect-ratio: 682 / 430; background: var(--rh-pale); overflow: hidden; }
html .rh-gallery__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
html .rh-gallery__track::-webkit-scrollbar { display: none; }
html .rh-gallery__slide { flex: 0 0 100%; height: 100%; scroll-snap-align: start; }
html .rh-gallery__slide button { display: block; width: 100%; height: 100%; cursor: zoom-in; }
html .rh-gallery__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
html .rh-gallery__badge { position: absolute; top: 21px; left: 19px; z-index: 2; padding: 5px 10px; background: var(--rh-white); color: var(--rh-blue); font-size: 11px; letter-spacing: .4px; pointer-events: none; }
html .rh-gallery__count { display: none; }
html .rh-gallery__thumbs { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 0 22px; margin-top: 16px; }
html .rh-gallery__nav { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #c9d0cc; background: var(--rh-white); color: var(--rh-text); font-size: 16px; }
html .rh-gallery__nav:disabled { color: var(--rh-placeholder); border-color: var(--rh-line); cursor: default; }
html .rh-gallery__thumbrow { display: flex; gap: 16px; padding: 7px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; }
html .rh-gallery__thumbrow::-webkit-scrollbar { display: none; }
html .rh-gallery__thumbrow li { flex: 0 0 calc((100% - 48px) / 4); }
html .rh-gallery__thumb { display: block; width: 100%; aspect-ratio: 117 / 74; outline: 1px solid transparent; outline-offset: 6px; transition: outline-color .2s, opacity .2s; }
html .rh-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
html .rh-gallery__thumb:hover { opacity: .8; }
html .rh-gallery__thumb.is-current { outline-color: var(--rh-blue); }

/* 主要スペック：物件の概要の枠（10/4 作り直し。だらっと続いてどこまでが物件情報か分からない・文字サイズがちぐはぐ）
   枠＝白地＋淡い青の線、上に青い帯（本番の「この物件のお支払い額」と同じ考え方）。段＝価格と月々 → 間取り・広さのセル → 場所の行。
   文字は4段階：大（価格の数字 40／SP 34）・中（月々・セルの値 20／SP 19）・本文（単位・行の値 15／SP 14）・小（ラベル・注記 12）。
   ラベルは「青い小さい文字」1種類だけ */
html .rh-pd-spec { padding-top: 36px; }
html .rh-pd-spec__box { border: 1px solid var(--rh-line-blue); background: var(--rh-white); color: var(--rh-text); }
html .rh-pd-spec__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px var(--rh-spec-x); background: var(--rh-blue); color: var(--rh-white); }
html .rh-pd-spec__head h2 { font-size: 15px; font-weight: 700; letter-spacing: 2px; line-height: 1.5; }
html .rh-pd-spec__head a { display: inline-flex; align-items: center; gap: 6px; color: var(--rh-white); font-size: 12px; white-space: nowrap; }
html .rh-pd-spec__head a:hover { text-decoration: underline; text-underline-offset: 3px; }
html .rh-pd-spec__lb, html .rh-pd-spec__box dt { color: var(--rh-link); font-size: 12px; font-weight: 500; letter-spacing: .5px; line-height: 1.5; }
html .rh-pd-spec__box b { font-family: var(--rh-en-sans); letter-spacing: .3px; }
html .rh-pd-spec__box dl, html .rh-pd-spec__box dd { margin: 0; }
/* 1段目：価格｜月々 */
/* 縦の区切りは3段とも幅の半分（セルの2本目の線）にそろえ、中身の左端も 32px でそろえる */
html .rh-pd-spec { --rh-spec-x: 32px; }
html .rh-pd-spec__price { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 24px 0 26px; }
html .rh-pd-spec__price > div { padding: 0 var(--rh-spec-x); }
html .rh-pd-spec__price > div + div { border-left: 1px solid var(--rh-line); }
html .rh-pd-spec__yen { margin-top: 6px; font-size: 15px; line-height: 1.2; }
html .rh-pd-spec__yen b { margin-right: 4px; font-size: 40px; font-weight: 400; }
html .rh-pd-spec__yen small { margin-left: 10px; color: var(--rh-gray); font-size: 12px; }
html .rh-pd-spec__monthly { margin-top: 6px; font-size: 15px; line-height: 1.4; }
html .rh-pd-spec__monthly b { margin-right: 3px; font-size: 20px; font-weight: 700; }
html .rh-pd-spec__cond { margin-top: 4px; color: var(--rh-gray); font-size: 12px; line-height: 1.7; }
html .rh-pd-spec__loanlink { margin-top: 10px; padding-bottom: 2px; gap: 4px; }
/* 2段目：間取り・広さ（同じ型のセル。1px の隙間を線に見せる） */
html .rh-pd-spec__cells { display: grid; grid-template-columns: repeat(var(--rh-cells, 4), minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--rh-line); background: var(--rh-line); }
html .rh-pd-spec__cells--3 { --rh-cells: 3; }
html .rh-pd-spec__cells > div { padding: 16px var(--rh-spec-x) 18px; background: var(--rh-white); }
html .rh-pd-spec__cells dd { margin-top: 4px; font-size: 15px; line-height: 1.35; }
html .rh-pd-spec__cells dd b { font-size: 20px; font-weight: 700; }
html .rh-pd-spec__unit { margin-left: 2px; }
html .rh-pd-spec__cells small { display: block; margin-top: 2px; color: var(--rh-gray); font-size: 12px; }
/* 3段目：場所（ラベル｜値の行。PC は2列） */
html .rh-pd-spec__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 0; padding: 18px 0 20px; border-top: 1px solid var(--rh-line); background: var(--rh-soft); }
html .rh-pd-spec__rows > div { padding: 0 var(--rh-spec-x); display: grid; grid-template-columns: 5em minmax(0, 1fr); align-items: baseline; gap: 12px; }
html .rh-pd-spec__rows dd { font-size: 15px; line-height: 1.6; }

/* ページ内メニュー */
html .rh-pd-nav { margin-top: 56px; }
html .rh-pd-nav ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); border: 1px solid #e6eae6; box-shadow: 0 3px 6px rgba(0, 0, 0, .04); }
html .rh-pd-nav li + li { border-left: 1px solid #e6eae6; }
html .rh-pd-nav a { position: relative; display: block; padding: 13px 34px 13px 18px; background: var(--rh-pd-panel); color: var(--rh-gray); font-size: 14px; transition: background-color .2s, color .2s; }
html .rh-pd-nav a span { display: block; margin-bottom: 2px; color: var(--rh-link); font-family: var(--rh-en-serif); font-size: 12px; }
html .rh-pd-nav a::after { content: "↓"; position: absolute; right: 16px; bottom: 14px; color: var(--rh-gray); }
html .rh-pd-nav a:hover, html .rh-pd-nav a.is-current { background: var(--rh-blue); color: var(--rh-white); }
html .rh-pd-nav a:hover span, html .rh-pd-nav a.is-current span, html .rh-pd-nav a:hover::after, html .rh-pd-nav a.is-current::after { color: var(--rh-white); }

/* セクション */
html .rh-pd-sec { padding-top: 72px; scroll-margin-top: calc(var(--rh-header-h) + 40px); }
html .rh-pd-main > .rh-pd-sec + .rh-pd-sec { margin-top: 72px; border-top: 1px solid var(--rh-pd-line); }
html .rh-pd-sec--wide { padding-bottom: 72px; background: linear-gradient(var(--rh-pd-line), var(--rh-pd-line)) center bottom / calc(100% - var(--rh-gutter) * 2) 1px no-repeat; }
html .rh-pd-sec--wide + .rh-sched { padding-top: 56px; }
html .rh-pd-lead { margin-top: 18px; color: var(--rh-gray); font-size: 14px; line-height: 1.9; }

/* 物件の特徴 */
html .rh-pd-points { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 34px; margin-top: 26px; }
html .rh-pd-point figure { margin: 0; }
html .rh-pd-point img { display: block; width: auto; max-width: 100%; height: auto; max-height: 560px; margin: 0 auto; }   /* 切り抜かず元の縦横比のまま（縦長は高さ 560px まで） */
html .rh-pd-point figcaption { margin-top: 4px; color: var(--rh-gray); font-size: 10px; }
html .rh-pd-point h3 { display: flex; align-items: baseline; gap: 12px; margin-top: 22px; font-family: var(--rh-serif); font-size: 22px; font-weight: 500; letter-spacing: 1.5px; color: var(--rh-text); }
html .rh-pd-point h3 span { color: var(--rh-link); font-family: var(--rh-en-serif); font-size: 28px; letter-spacing: 0; }
html .rh-pd-point p { max-width: 480px; margin-top: 12px; color: var(--rh-gray); font-size: 15px; line-height: 1.75; }

/* 2カラム（本文＋追従カード） */
/* 物件詳細は追従カード（PC）と専用バー（SP）があるので、右端の共通の追従ボタンは出さない */
html .rh-page--property.rh-no-spbar .rh-side { display: none; }
html .rh-pd-body { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 0 38px; align-items: start; }
html .rh-pd-scope { padding-bottom: 1px; }
html .rh-pd-aside { position: sticky; top: var(--rh-pd-sticky-top); margin-top: 72px; }
html .rh-pd-aside__card { padding: 34px 23px 28px; border: 1px solid var(--rh-blue); border-top-width: 3px; border-radius: 2px; background: var(--rh-soft); box-shadow: 0 10px 24px rgba(18, 53, 84, .06); }
html .rh-pd-aside__meta { color: var(--rh-gray); font-size: 13px; }
html .rh-pd-aside__name { margin-top: 10px; font-family: var(--rh-serif); font-size: 22px; font-weight: 600; letter-spacing: 1px; color: var(--rh-link); }
html .rh-pd-aside__copy { margin-top: 10px; font-size: 18px; font-weight: 700; line-height: 1.6; color: var(--rh-text); }
html .rh-pd-aside__addr { margin-top: 12px; color: var(--rh-text); font-size: 14px; }
html .rh-pd-aside__map { display: inline-block; margin-top: 2px; border-bottom: 1px solid currentColor; color: var(--rh-link); font-size: 14px; }
html .rh-pd-aside__actions { display: grid; gap: 10px; margin-top: 20px; }
html .rh-pd-aside__actions .rh-pbtn { min-height: 54px; padding: 12px 14px; font-size: 14px; }

/* 間取り */
html .rh-pd-sec__head { display: flex; align-items: center; justify-content: space-between; }
html .rh-pd-sec__aside { font-family: var(--rh-en-serif); font-size: 30px; color: var(--rh-text); }
html .rh-pd-plans { display: grid; gap: 16px; margin-top: 32px; }
html .rh-pd-plan { position: relative; margin: 0; padding: 68px 18px 33px; border: 1px solid var(--rh-pd-line); background: var(--rh-pd-panel); }
html .rh-pd-plan__label { position: absolute; top: 20px; left: 20px; font-family: var(--rh-en-serif); font-size: 16px; letter-spacing: 1.5px; color: var(--rh-text); }
html .rh-pd-plan__zoom { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--rh-line); border-radius: 50%; background: var(--rh-white); color: var(--rh-blue); }
html .rh-pd-plan__zoom-icon { width: 20px; height: 20px; }
html .rh-pd-plan img { display: block; width: 100%; max-height: 560px; object-fit: contain; background: var(--rh-white); }

/* 性能・仕様 */
html .rh-pd-quality__ctrl { display: flex; justify-content: flex-end; margin: 22px 0 14px; }
html .rh-pd-quality__ctrl .rh-slider__ctrl button { width: 36px; height: 36px; }
html .rh-slider.is-single .rh-pd-quality__ctrl { display: none; }
html .rh-slider--quality .rh-slider__track { gap: 16px; }
html .rh-slider--quality.is-single .rh-slider__track { margin-top: 24px; }
html .rh-pd-qcard { display: flex; flex-direction: column; flex: 0 0 269px; border: 1px solid var(--rh-line-2); background: var(--rh-white); }
html .rh-pd-qcard .rh-pd-qcard__img { display: block; flex: none; width: 100%; height: 140px; object-fit: cover; }
html .rh-pd-qcard__icon { display: grid; place-items: center; height: 140px; background: var(--rh-soft); color: var(--rh-blue); }
html .rh-pd-qcard__icon svg { width: 46px; height: 46px; }
html .rh-pd-qcard__body { padding: 20px 19px 24px; }
html .rh-pd-qcard__label { color: var(--rh-gray); font-size: 12px; }
html .rh-pd-qcard h3 { margin-top: 6px; font-family: var(--rh-serif); font-size: 20px; font-weight: 500; color: var(--rh-text); }
html .rh-pd-qcard__body p:last-child { margin-top: 8px; color: var(--rh-gray); font-size: 14px; line-height: 1.75; }
html .rh-pd-chips { display: flex; flex-wrap: wrap; gap: 10px; }
html .rh-pd-chips li { padding: 9px 16px; border: 1px solid var(--rh-pd-line); background: var(--rh-pd-panel); color: var(--rh-text); font-size: 14px; }

/* 表 */
html .rh-pd-table { width: 100%; border-collapse: collapse; border: 1px solid var(--rh-pd-line); font-size: 14px; }
html .rh-pd-table th, html .rh-pd-table td { padding: 13px 16px; border-bottom: 1px solid var(--rh-pd-line); text-align: left; vertical-align: top; }
html .rh-pd-table th { width: 230px; background: var(--rh-pd-panel); color: var(--rh-gray); font-weight: 400; }
html .rh-pd-table--overview th { color: var(--rh-text); font-weight: 700; }
html .rh-pd-table td { color: var(--rh-text); }
html .rh-pd-title + .rh-pd-table { margin-top: 24px; }

/* 周辺環境（エリア紹介・分譲地の特集・地図・近くの施設） */
html .rh-pd-area__grid { display: grid; grid-template-columns: 363fr 401fr; gap: 28px; margin-top: 26px; }
html .rh-slider--area figure { margin: 0; }
html .rh-slider--area img { display: block; aspect-ratio: 363 / 340; }
html .rh-slider--area .rh-slider__ctrl { justify-content: flex-end; margin-top: 10px; }
html .rh-slider--area .rh-slider__ctrl button { width: 38px; height: 38px; }
html .rh-pd-area__points li { display: flex; gap: 14px; padding: 18px 0 22px; border-top: 1px solid var(--rh-pd-line); }
html .rh-pd-area__points li > span { color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 18px; line-height: 1.4; }
html .rh-pd-area__points h3 { margin: 0; font-size: 16px; font-weight: 700; color: var(--rh-text); }
html .rh-pd-area__points p { margin-top: 8px; color: var(--rh-gray); font-size: 14px; line-height: 1.7; }
html .rh-pd-feature { display: grid; grid-template-columns: 349fr 362fr; gap: 28px; align-items: center; margin-top: 80px; padding: 25px; border-radius: 4px; background: var(--rh-link); color: var(--rh-white); }
html .rh-pd-feature img { display: block; width: 100%; aspect-ratio: 349 / 225; object-fit: cover; }
html .rh-pd-feature__en { font-family: var(--rh-en-sans); font-size: 12px; letter-spacing: 1.5px; }
html .rh-pd-feature__name { margin-top: 6px; font-family: var(--rh-serif); font-size: 24px; letter-spacing: 1px; }
html .rh-pd-feature__catch { margin-top: 10px; font-size: 18px; font-weight: 700; }
html .rh-pd-feature__text { margin-top: 10px; font-size: 14px; line-height: 2; }
html .rh-pd-feature__btn { display: inline-flex; align-items: center; gap: 16px; margin-top: 18px; padding: 11px 18px; border-radius: 2px; background: var(--rh-white); color: var(--rh-blue); font-size: 14px; transition: opacity .2s; }
html .rh-pd-feature__btn:hover { opacity: .85; }
html .rh-pd-map { position: relative; margin-top: 40px; height: 480px; background: var(--rh-pale); } /* 縦に広く */
html .rh-pd-feature + .rh-pd-map { margin-top: 64px; }
html .rh-pd-map iframe { display: block; width: 100%; height: 100%; border: 0; }
html .rh-pd-map__cover {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  background: rgba(23, 33, 43, .55); color: var(--rh-white); text-align: center; transition: opacity .3s;
}
html .rh-pd-map__cover > :not(.rh-pd-map__use) { position: relative; pointer-events: none; }
html .rh-pd-map__use { position: absolute; inset: 0; cursor: pointer; }
html .rh-pd-map__en { font-family: var(--rh-en-sans); font-size: 11px; font-weight: 700; letter-spacing: 2px; }
html .rh-pd-map__cover svg { width: 30px; height: 30px; margin: 6px 0 4px; }
html .rh-pd-map__name { font-family: var(--rh-serif); font-size: 20px; }
html .rh-pd-map__addr { font-size: 12px; }
html .rh-pd-map__cover .rh-pd-map__open { pointer-events: auto; display: inline-flex; gap: 6px; margin-top: 12px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 700; }
html .rh-pd-map__cover.is-off { opacity: 0; visibility: hidden; }
html .rh-pd-map__caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; color: var(--rh-text); font-size: 16px; }
html .rh-pd-map__caption .rh-ptextlink { font-size: 13px; }
html .rh-pd-near { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
html .rh-pd-near li { padding-top: 22px; border-top: 1px solid var(--rh-pd-line); }
html .rh-pd-near__kind { color: var(--rh-gray); font-size: 12px; }
html .rh-pd-near__kind::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 8px; background: var(--rh-blue); vertical-align: 1px; }
html .rh-pd-near__name { margin-top: 8px; font-size: 16px; color: var(--rh-text); }
html .rh-pd-near__time { margin-top: 6px; color: var(--rh-text); font-size: 12px; }
html .rh-pd-near__time b { margin: 0 4px; font-family: var(--rh-en-sans); font-size: 26px; font-weight: 400; }

/* 購入費用 */
html .rh-pd-price { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 22px 0; border-top: 1px solid var(--rh-pd-line); border-bottom: 1px solid var(--rh-pd-line); }
html .rh-pd-price > p:first-child { font-size: 14px; color: var(--rh-text); }
html .rh-pd-price small { display: block; color: var(--rh-gray); font-size: 14px; }
html .rh-pd-price b { margin-right: 6px; font-family: var(--rh-en-sans); font-size: 36px; font-weight: 400; }
html .rh-pd-price .rh-pd-note { margin: 0; text-align: right; }

/* FAQ */
html .rh-pd-faq { border-bottom: 1px solid var(--rh-pd-line); }
html .rh-pd-sec > .rh-pd-faq:first-of-type { margin-top: 24px; border-top: 1px solid var(--rh-pd-line); }
html .rh-pd-faq summary { position: relative; padding: 22px 44px 22px 0; color: var(--rh-text); font-size: 16px; font-weight: 700; cursor: pointer; list-style: none; }
html .rh-pd-faq summary::-webkit-details-marker { display: none; }
html .rh-pd-faq summary > span { margin-right: 4px; }
html .rh-pd-faq summary::after { content: "＋"; position: absolute; right: 8px; top: 20px; color: var(--rh-blue); font-size: 20px; font-weight: 400; }
html .rh-pd-faq[open] summary::after { content: "−"; }
html .rh-pd-faq p { padding: 0 0 22px; color: var(--rh-gray); font-size: 14px; line-height: 1.9; }

/* 行動の選択（全幅の青帯） */
html .rh-pd-choice { margin-top: 100px; padding: 74px 0 76px; background: var(--rh-blue); color: var(--rh-white); }
html .rh-pd-choice__head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 24px; }
html .rh-pd-choice__en { font-family: var(--rh-en-sans); font-size: 13px; letter-spacing: 2px; }
html .rh-pd-choice__title { margin-top: 18px; font-family: var(--rh-serif); font-size: 32px; font-weight: 500; line-height: 1.8; letter-spacing: 2px; }
html .rh-pd-choice__lead { padding-bottom: 12px; font-size: 14px; line-height: 1.9; }
html .rh-pd-choice__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 42px; }
html .rh-pd-choice__card { display: flex; flex-direction: column; border: 1px solid var(--rh-line); background: var(--rh-white); color: var(--rh-text); text-decoration: none; }   /* カード全体が1つのリンク */
html .rh-pd-choice__img { display: block; width: 100%; aspect-ratio: 534 / 258; object-fit: cover; }
html .rh-pd-choice__body { display: flex; flex-direction: column; flex: 1; padding: 34px 30px 30px; }
html .rh-pd-choice__body h3 { font-family: var(--rh-serif); font-size: 24px; font-weight: 500; line-height: 1.65; letter-spacing: 1.5px; }
html .rh-pd-choice__body > p { margin: 18px 0 36px; color: var(--rh-gray); font-size: 15px; line-height: 1.85; }
html .rh-pd-choice__body .rh-pbtn { margin-top: auto; }
/* 資料の見本（背景＋中面＋表紙。表紙の写真と物件名は物件ごと） */
html .rh-pd-book { position: relative; aspect-ratio: 534 / 258; overflow: hidden; background: #e8eef0 url(../img/property/book-bg.jpg) center / cover no-repeat; }
html .rh-pd-book__inner { position: absolute; top: 7%; left: 49%; width: 27%; transform: rotate(4deg); box-shadow: 0 6px 16px rgba(0, 0, 0, .18); }
html .rh-pd-book__cover {
  position: absolute; top: 8%; left: 22%; display: flex; flex-direction: column; width: 34%; padding: 3.2% 2.6% 2.6%;
  background: var(--rh-white); transform: rotate(-2deg); box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
}
html .rh-pd-book__logo { color: var(--rh-blue); font-family: var(--rh-en-sans); font-size: 10px; font-weight: 800; letter-spacing: .5px; }
html .rh-pd-book__photo { display: block; width: 100%; aspect-ratio: 4 / 3; margin-top: 6px; object-fit: cover; }
html .rh-pd-book__name { margin-top: 8px; font-size: 13px; color: var(--rh-text); }
html .rh-pd-book__en { margin-top: 4px; color: var(--rh-gray); font-family: var(--rh-en-sans); font-size: 7px; letter-spacing: 1px; }

/* ほかの住まい */
html .rh-pd-related { padding-top: 90px; padding-bottom: 100px; }
html .rh-pd-related__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
html .rh-pd-related__head .rh-pbtn { min-width: 183px; min-height: 52px; }
html .rh-pd-related .rh-plist-cards { margin-top: 32px; }

html .rh-zoom { width: min(1100px, calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; border: 0; background: var(--rh-white); }
html .rh-zoom::backdrop { background: rgba(0, 0, 0, .6); }
html .rh-zoom__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--rh-line); font-size: 13px; }
html .rh-zoom__head button { font-size: 22px; line-height: 1; }
html .rh-zoom img { display: block; width: 100%; max-height: calc(100vh - 110px); object-fit: contain; }

/* ---------- 5. 完成までのスケジュール（Figma 赤枠 433:8127） ---------- */
html .rh-sched { padding-top: 72px; scroll-margin-top: calc(var(--rh-header-h) + 40px); }
html .rh-sched[hidden] { display: none; }
html .rh-sched__box { display: grid; grid-template-columns: 493fr 498fr; gap: 0 35px; padding: 64px 36px 30px; border: 1px solid #d5dccf; background: var(--rh-pd-panel); }
html .rh-sched__copy { min-width: 0; }
html .rh-sched__title { margin-top: 12px; font-family: var(--rh-serif); font-size: 30px; font-weight: 500; line-height: 1.6; letter-spacing: 1.5px; color: var(--rh-link); }
html .rh-sched__intro { margin-top: 14px; color: var(--rh-gray); font-size: 14px; line-height: 1.9; }
html [data-rh-sched-copy][hidden] { display: none; }
html .rh-sched__current { margin: 24px 0 20px; padding: 22px 20px 24px; border: 1px solid var(--rh-blue); border-left-width: 3px; background: var(--rh-white); }
html .rh-sched__current-item + .rh-sched__current-item { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--rh-line); }
html .rh-sched__current-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 22px; }
html .rh-sched__current-date { color: var(--rh-link); font-size: 18px; }
html .rh-sched__current-badge { padding: 2px 7px; background: var(--rh-blue); color: var(--rh-white); font-size: 12px; }
html .rh-sched__current-item strong { display: block; margin-top: 12px; font-size: 18px; color: var(--rh-text); }
html .rh-sched__current-item p { margin-top: 10px; color: var(--rh-gray); font-size: 14px; }
html .rh-sched__round { display: inline-block; margin-right: 8px; padding: 0 6px; border: 1px solid var(--rh-blue); color: var(--rh-blue); font-size: 10px; font-weight: 700; vertical-align: 2px; }
html .rh-sched__timeline { min-width: 0; padding-left: 35px; border-left: 1px solid var(--rh-line-2); }
html .rh-sched__timeline-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; padding-right: 0; }
html .rh-sched__timeline-head h3 { font-size: 16px; font-weight: 700; color: var(--rh-text); }
html .rh-sched__timeline-head span { padding: 3px 7px; border: 1px solid #b9c2b5; background: var(--rh-white); font-size: 12px; }
html .rh-sched__closed { border-top: 1px solid var(--rh-line-2); }
html .rh-sched__closed[hidden] { display: none; }
html .rh-sched__closed summary { display: flex; justify-content: space-between; padding: 6px 0 16px; color: var(--rh-gray); font-size: 12px; cursor: pointer; list-style: none; }
html .rh-sched__closed summary::-webkit-details-marker { display: none; }
html .rh-sched__closed summary span::after { content: " ＋"; }
html .rh-sched__closed[open] summary span::after { content: " −"; }
html .rh-sched__closed .rh-sched__thumb { display: none; }
html .rh-sched__row { display: flex; gap: 18px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--rh-line-2); }
html .rh-sched__thumb { flex: none; width: 112px; height: 96px; object-fit: cover; border-radius: 2px; }
html .rh-sched__rowbody { flex: 1; min-width: 0; }
html .rh-sched__rowhead { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 18px; }
html .rh-sched__date { color: var(--rh-text); font-size: 16px; }
html .rh-sched__status { padding: 2px 7px; background: #dbe3eb; color: var(--rh-text); font-size: 12px; }
html .rh-sched__row.is-active .rh-sched__status { background: var(--rh-blue); color: var(--rh-white); }
html .rh-sched__row.is-ended .rh-sched__status, html .rh-sched__row.is-cancelled .rh-sched__status { background: none; padding: 0; color: var(--rh-gray); }
html .rh-sched__row strong { display: block; margin-top: 6px; font-size: 16px; color: var(--rh-text); }
html .rh-sched__row.is-active strong { color: var(--rh-link); }
html .rh-sched__row small { display: block; margin-top: 6px; color: var(--rh-gray); font-size: 13px; line-height: 1.7; }
html .rh-sched__row.is-ended, html .rh-sched__row.is-cancelled { opacity: .65; }
html .rh-sched__row.is-cancelled strong { text-decoration: line-through; }
html .rh-sched__row.is-completion { border-bottom: 0; }
html .rh-sched__row.is-completion .rh-sched__date { color: var(--rh-link); }

/* ---------- 6. 返済シミュレーション ---------- */
html .rh-sim { margin-top: 26px; border: 1px solid var(--rh-pd-line); }
html .rh-sim__field { display: block; color: var(--rh-text); font-size: 14px; font-weight: 400; }
html .rh-sim__unit { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 12px; font-weight: 400; }
html .rh-sim__unit > span { flex-shrink: 0; white-space: nowrap; }
html .rh-sim input, html .rh-sim select {
  width: 100%; height: 52px; padding: 0 12px; border: 1px solid #c9d0cc; border-radius: var(--rh-r-input);
  background: var(--rh-white); color: var(--rh-text); font: inherit; font-size: 16px; font-weight: 400;
}
html .rh-sim select { height: 44px; margin-top: 8px; }
html .rh-sim input:focus, html .rh-sim select:focus { outline: 2px solid var(--rh-blue); outline-offset: 0; border-color: var(--rh-blue); }
html .rh-sim input[aria-invalid="true"] { border-color: #c0392b; }
html .rh-sim__result { padding: 26px 16px 22px; background: #e2eff4; text-align: center; }
html .rh-sim__amount { margin-top: 6px; color: var(--rh-blue); font-size: 13px; }
html .rh-sim__amount output { margin-right: 6px; font-family: var(--rh-en-serif); font-size: 40px; }
html .rh-sim__error { margin-top: 8px; color: #c0392b; font-size: 12px; }
html .rh-sim__error[hidden] { display: none; }

/* ==========================================================================
   7. SP（物件詳細の SP デザインは Figma に無いため、PC の構成を縦に積んで作成）
   ========================================================================== */
@media (max-width: 1100px) {
  html .rh-plist-filter__selects { grid-template-columns: repeat(2, 1fr); }
  html .rh-plist-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html .rh-plist-offer__box { grid-template-columns: 1fr; padding: 40px; }
  html .rh-plist-offer__steps { justify-content: start; }
  html .rh-pd-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 54%); gap: 0 36px; }
  html .rh-pd-hero__catch { font-size: 30px; }
  html .rh-pd-spec { --rh-spec-x: 22px; }
  html .rh-pd-body { grid-template-columns: minmax(0, 1fr) 240px; gap: 0 28px; }
  html .rh-sched__box { padding: 40px 28px 28px; }
}

@media (max-width: 767px) {
  html .rh-page--property { --rh-pd-sticky-top: calc(var(--rh-header-h) + 12px); }
  html .rh-pd-title { font-size: 22px; padding-left: 11px; }
  html .rh-pbtn { min-height: 46px; }
  html .rh-pbtn--l, html .rh-pbtn--xl { min-height: 54px; font-size: 15px; }
  html .rh-sim input, html .rh-sim select { font-size: 16px; }

  html .rh-plist { padding-top: 28px; padding-bottom: 64px; }
  html .rh-plist-filter { padding: 16px 16px 0; }
  html .rh-plist-filter__selects { gap: 14px 16px; }
  html .rh-plist-filter__row { flex-direction: column; align-items: flex-start; }
  html .rh-plist-filter__extra { grid-template-columns: 1fr 1fr; gap: 14px 16px; }
  /* 絞り込み：文字を小さく、選ぶ欄は枠のある箱に（「全体的にすっきり」）。
     14px でもタップで画面が拡大しないよう、viewport に maximum-scale=1（header.php。指での拡大はできる） */
  html .rh-plist-filter { padding: 14px 14px 0; }
  html .rh-plist-filter__selects { gap: 10px 10px; }
  html .rh-plist-field > span { margin-bottom: 4px; font-size: 11px; }
  html .rh-plist-field select { height: 40px; padding: 0 26px 0 10px; border: 1px solid var(--rh-line); border-radius: 4px; background-color: var(--rh-white); background-position: right 10px center; font-size: 14px; }
  html .rh-plist-filter__row { gap: 10px; margin-top: 14px; padding-bottom: 12px; }
  html .rh-plist-tag { padding: 6px 10px; }
  html .rh-plist-filter__reset { font-size: 12px; }
  html .rh-plist-feature { margin-left: calc(var(--rh-gutter) * -1); margin-right: calc(var(--rh-gutter) * -1); padding-left: var(--rh-gutter); }
  html .rh-plist-feature__card { flex-basis: 76%; }
  html .rh-plist-head { margin-top: 32px; }
  :root { --rh-pcard-gap: 40px; }
  html .rh-plist-cards { grid-template-columns: 1fr; }
  html .rh-pcard__title { font-size: 19px; } /* SP も 19px */
  html .rh-plist-offer { padding-bottom: 64px; }
  html .rh-plist-offer .rh-inner { padding: 0; }
  html .rh-plist-offer__box { padding: 36px var(--rh-gutter); gap: 24px; }
  html .rh-plist-offer__text h2 { font-size: 22px; }
  html .rh-plist-offer__steps { gap: 8px; }
  html .rh-plist-offer__steps li { font-size: 11.5px; line-height: 1.5; }
  html .rh-plist-offer__steps b { font-size: 12px; }
  html .rh-plist-offer__icons { height: 26px; margin: 4px 0 6px; }
  html .rh-plist-offer__icons img { height: 22px; }
  html .rh-plist-offer__btn { min-width: 0; width: 100%; margin-top: 20px; }
  html .rh-savedbar { left: 12px; right: 12px; bottom: 12px; justify-content: center; }
  html .rh-has-saved .rh-spbar { display: none; }
  html .rh-toast { bottom: 140px; width: max-content; max-width: calc(100% - 32px); }
  html .rh-saved { width: 100%; max-width: none; max-height: 92vh; margin: auto 0 0; border-radius: 10px 10px 0 0; }
  html .rh-saved__item label { grid-template-columns: 18px 72px 1fr; }
  html .rh-saved__item img { width: 72px; height: 54px; }

  /* FV：写真を上に。サムネイルは出さず、スワイプ＋枚数表示 */
  html .rh-pd-hero__inner { grid-template-columns: 1fr; padding: 0; }
  html .rh-pd-hero__media { order: -1; padding-bottom: 0; }
  html .rh-gallery__main { aspect-ratio: 4 / 3; }
  html .rh-gallery__badge { top: 12px; left: 12px; }
  html .rh-gallery__thumbs { display: none; }
  html .rh-gallery__count { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: block; padding: 3px 10px; border-radius: 20px; background: rgba(0, 0, 0, .5); color: var(--rh-white); font-family: var(--rh-en-sans); font-size: 12px; pointer-events: none; }
  html .rh-pd-hero__body { padding: 22px var(--rh-gutter) 34px; }
  html .rh-pd-hero__meta { gap: 10px 16px; max-width: none; margin-bottom: 12px; }
  html .rh-pd-hero__locrow { max-width: none; }
  html .rh-pd-hero__loc { font-size: 14px; }
  html .rh-pd-hero__catch { font-size: 25px; line-height: 1.65; letter-spacing: 1.5px; }
  html .rh-pd-hero__lead { max-width: none; margin-top: 14px; font-size: 13px; }
  html .rh-pd-hero__actions { max-width: none; margin-top: 22px; }

  html .rh-pd-spec { --rh-spec-x: 16px; padding-top: 20px; }
  html .rh-pd-spec__head { padding-top: 10px; padding-bottom: 10px; }
  html .rh-pd-spec__head h2 { font-size: 14px; letter-spacing: 1.5px; }
  html .rh-pd-spec__price { grid-template-columns: 1fr; padding: 16px 0 18px; }
  html .rh-pd-spec__price > div + div { margin: 14px var(--rh-spec-x) 0; padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--rh-line); }
  html .rh-pd-spec__yen { margin-top: 4px; font-size: 14px; }
  html .rh-pd-spec__yen b { font-size: 34px; }
  html .rh-pd-spec__yen small { margin-left: 8px; }
  html .rh-pd-spec__monthly { margin-top: 2px; font-size: 14px; }
  html .rh-pd-spec__monthly b { font-size: 19px; }
  html .rh-pd-spec__cond { font-size: 11px; }
  html .rh-pd-spec__cells, html .rh-pd-spec__cells--3 { --rh-cells: 2; }
  html .rh-pd-spec__cells--3 > div:first-child { grid-column: 1 / -1; }
  html .rh-pd-spec__cells--3 > div:first-child small { display: inline; margin-left: 10px; } /* 1行に広げたセルは「平屋／2階建て」を値の横に */
  html .rh-pd-spec__cells > div { padding-top: 12px; padding-bottom: 13px; }
  html .rh-pd-spec__cells dd { font-size: 14px; }
  html .rh-pd-spec__cells dd b { font-size: 19px; }
  html .rh-pd-spec__rows { grid-template-columns: 1fr; gap: 8px; padding: 14px 0 16px; }
  html .rh-pd-spec__rows > div { grid-template-columns: 4.6em minmax(0, 1fr); gap: 10px; }
  html .rh-pd-spec__rows dd { font-size: 14px; }
  html .rh-pd-nav { margin-top: 32px; }
  html .rh-pd-nav ol { grid-template-columns: repeat(3, 1fr); border-right: 0; border-bottom: 0; }
  html .rh-pd-nav li + li { border-left: 0; }
  html .rh-pd-nav li { border-right: 1px solid #e6eae6; border-bottom: 1px solid #e6eae6; }
  html .rh-pd-nav a { padding: 9px 22px 9px 10px; font-size: 12px; }
  html .rh-pd-nav a span { font-size: 11px; }
  html .rh-pd-nav a::after { right: 8px; bottom: 9px; }

  html .rh-pd-sec { padding-top: 52px; }
  html .rh-pd-sec--wide { padding-bottom: 52px; }
  html .rh-pd-main > .rh-pd-sec + .rh-pd-sec { margin-top: 52px; }
  html .rh-pd-points { grid-template-columns: 1fr; gap: 36px; margin-top: 20px; }
  html .rh-pd-point h3 { gap: 10px; margin-top: 14px; font-size: 18px; letter-spacing: 1px; }
  html .rh-pd-point h3 span { font-size: 22px; }
  html .rh-pd-point p { margin-top: 8px; font-size: 14px; }
  html .rh-pd-body { grid-template-columns: minmax(0, 1fr); }
  html .rh-pd-aside { display: none; }
  html .rh-pd-sec__aside { font-size: 22px; }
  html .rh-pd-plans { margin-top: 20px; }
  html .rh-pd-plan { padding: 50px 10px 12px; }
  html .rh-pd-plan__label { top: 16px; left: 12px; font-size: 13px; }
  html .rh-pd-plan__zoom { top: 8px; right: 8px; }
  html .rh-pd-qcard { flex-basis: 78%; }
  html .rh-pd-quality__ctrl { margin-top: 16px; }
  html .rh-pd-chips li { padding: 7px 12px; font-size: 13px; }
  html .rh-pd-table { font-size: 13px; }
  html .rh-pd-table th, html .rh-pd-table td { padding: 10px 12px; }
  html .rh-pd-table th { width: 32%; }
  html .rh-pd-area__grid { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; }
  html .rh-slider--area img { aspect-ratio: 4 / 3; }
  html .rh-pd-area__points li { padding: 14px 0 16px; }
  html .rh-pd-feature { grid-template-columns: 1fr; gap: 16px; margin-top: 44px; padding: 16px 16px 22px; }
  html .rh-pd-feature__name { font-size: 21px; }
  html .rh-pd-feature__catch { font-size: 16px; }
  html .rh-pd-feature__text { font-size: 13px; line-height: 1.85; }
  html .rh-pd-map, html .rh-pd-feature + .rh-pd-map { height: 380px; margin-top: 36px; }
  html .rh-pd-map__caption { flex-direction: column; align-items: flex-start; font-size: 14px; }
  html .rh-pd-near { grid-template-columns: 1fr; gap: 0; }
  html .rh-pd-near li { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 8px; padding: 12px 0; }
  html .rh-pd-near__name, html .rh-pd-near__time { margin: 0; }
  html .rh-pd-near__name { font-size: 14px; }
  html .rh-pd-near__time b { font-size: 22px; }
  html .rh-pd-price { flex-direction: column; align-items: flex-start; gap: 10px; }
  html .rh-pd-price b { font-size: 30px; }
  html .rh-pd-price .rh-pd-note { text-align: left; }
  html .rh-sim__amount output { font-size: 34px; }
  html .rh-pd-faq summary { padding: 18px 36px 18px 0; font-size: 15px; }
  html .rh-pd-faq summary::after { top: 16px; }

  html .rh-pd-choice { margin-top: 64px; padding: 52px 0 56px; }
  html .rh-pd-choice__head { grid-template-columns: 1fr; gap: 14px; }
  html .rh-pd-choice__en { font-size: 11px; }
  html .rh-pd-choice__title { margin-top: 10px; font-size: 24px; line-height: 1.6; letter-spacing: 1px; }
  html .rh-pd-choice__lead { padding: 0; font-size: 13px; }
  html .rh-pd-choice__lead br { display: none; }
  html .rh-pd-choice__cards { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  html .rh-pd-choice__body { padding: 24px 20px 22px; }
  html .rh-pd-book { aspect-ratio: 16 / 10; }
  html .rh-pd-book__cover { top: 7%; }
  html .rh-pd-book__logo { font-size: 8px; }
  html .rh-pd-book__name { margin-top: 5px; font-size: 11px; }
  html .rh-pd-book__en { font-size: 6px; }
  html .rh-pd-choice__body h3 { font-size: 20px; letter-spacing: 1px; }
  html .rh-pd-choice__body > p { margin: 12px 0 22px; font-size: 14px; }
  html .rh-pd-related { padding-top: 56px; padding-bottom: 64px; }
  html .rh-pd-related__head { flex-direction: column; align-items: flex-start; }

  html .rh-sched { padding-top: 52px; }
  html .rh-sched__box { grid-template-columns: 1fr; padding: 28px 18px 22px; }
  html .rh-sched__title { font-size: 23px; letter-spacing: 1px; }
  html .rh-sched__intro { font-size: 13px; }
  html .rh-sched__intro br { display: none; }
  html .rh-sched__current { padding: 18px 16px 20px; }
  html .rh-sched__current-date { font-size: 16px; }
  html .rh-sched__current-item strong { margin-top: 8px; font-size: 16px; }
  html .rh-sched__current-item p { font-size: 13px; }
  html .rh-sched__timeline { margin-top: 28px; padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--rh-line-2); }
  html .rh-sched__row { gap: 12px; }
  html .rh-sched__thumb { width: 84px; height: 72px; }
  html .rh-sched__rowhead { gap: 4px 10px; }
  html .rh-sched__date { font-size: 14px; }
  html .rh-sched__row strong { font-size: 14px; }
  html .rh-sched__row small { font-size: 12px; }
}

/* ==========================================================================
   8. 10/3 夜のフィードバック（状態ラベル・ページ内メニューの追従・担当者・間取りの広さ・追従カード・スケジュール）
   ========================================================================== */
/* 状態ラベル：FV の左と写真の上で同じ文言。完成済み（見学可能）は塗り */
html .rh-pd-badge { padding: 5px 11px; border: 1px solid var(--rh-line-blue); background: var(--rh-white); color: var(--rh-blue); font-size: 12px; font-weight: 700; letter-spacing: .5px; }
html .rh-pd-badge.is-open, html .rh-gallery__badge.is-open { border-color: var(--rh-blue); background: var(--rh-blue); color: var(--rh-white); }
html .rh-gallery__badge { font-size: 12px; font-weight: 700; }
html .rh-pd-hero__meta { gap: 10px 14px; }
/* セミオーダー対象物件：押せるとわかる形に */
html .rh-pd-hero__jump { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px 6px 14px; border: 1px solid var(--rh-blue); border-radius: 20px; background: var(--rh-white); color: var(--rh-blue); font-size: 13px; font-weight: 700; transition: background-color .2s, color .2s; }
html .rh-pd-hero__jump::after { content: "↓"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--rh-blue); color: var(--rh-white); font-size: 11px; }
html .rh-pd-hero__jump:hover { background: var(--rh-blue); color: var(--rh-white); }
html .rh-pd-hero__jump:hover::after { background: var(--rh-white); color: var(--rh-blue); }

/* ページ内メニュー：スクロールしてもヘッダーの下についてくる */
html .rh-page--property { --rh-pd-nav-h: 56px; --rh-pd-sticky-top: calc(var(--rh-header-h) + var(--rh-pd-nav-h) + 20px); }
html .rh-pd-nav { position: sticky; top: var(--rh-header-h); z-index: 40; } /* 背景はメニューの枠の中だけ（左右の余白は透明） */
html .rh-pd-nav a { display: flex; align-items: baseline; gap: 10px; min-height: var(--rh-pd-nav-h); padding: 16px 34px 14px 18px; }
html .rh-pd-nav a span { margin: 0; }
html .rh-pd-sec, html .rh-sched { scroll-margin-top: calc(var(--rh-header-h) + var(--rh-pd-nav-h) + 16px); }

/* 担当者から（任意） */
html .rh-pd-staff { display: grid; grid-template-columns: 150px 1fr; gap: 28px; margin-top: 48px; padding: 30px 36px; border-left: 3px solid var(--rh-link); background: var(--rh-soft); }
html .rh-pd-staff__label { display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--rh-gray); font-size: 12px; text-align: center; }
html .rh-pd-staff__photo { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--rh-white); color: var(--rh-placeholder); overflow: hidden; }
html .rh-pd-staff__photo img { width: 100%; height: 100%; object-fit: cover; }
html .rh-pd-staff__icon { width: 34px; height: 34px; }
html .rh-pd-staff h3 { font-family: var(--rh-serif); font-size: 20px; font-weight: 500; line-height: 1.6; color: var(--rh-text); }
html .rh-pd-staff__body p { margin-top: 10px; color: var(--rh-ink); font-size: 14px; line-height: 2; }

/* 間取り：広さも一緒に */
html .rh-pd-plansum { display: flex; flex-wrap: wrap; gap: 10px 32px; margin-top: 24px; }
html .rh-pd-plansum div { display: flex; align-items: baseline; gap: 10px; }
html .rh-pd-plansum dt { padding: 2px 8px; background: var(--rh-soft); color: var(--rh-gray); font-size: 12px; }
html .rh-pd-plansum dd { margin: 0; color: var(--rh-text); font-size: 13px; }
html .rh-pd-plansum dd b { margin-right: 4px; font-family: var(--rh-en-sans); font-size: 24px; font-weight: 400; }
html .rh-pd-plansum dd small { color: var(--rh-gray); font-size: 12px; }
html .rh-pd-plans { margin-top: 20px; }
html .rh-pd-plan { padding: 56px 18px 18px; }
html .rh-pd-plan__img { position: relative; display: block; width: 100%; cursor: zoom-in; }
html .rh-pd-plan__img .rh-pd-plan__zoom { position: absolute; top: auto; right: 12px; bottom: 12px; width: 40px; height: 40px; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }

/* 追従カード：問い合わせの入口として、状態・価格・ボタン・電話 */
html .rh-pd-aside__card { padding: 26px 22px 24px; }
html .rh-pd-aside__status { margin-bottom: 12px; }
html .rh-pd-aside__name { margin-top: 0; }
html .rh-pd-aside__meta { margin-top: 4px; }
html .rh-pd-aside__price { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rh-line); color: var(--rh-text); font-size: 13px; }
html .rh-pd-aside__price b { margin-right: 4px; font-family: var(--rh-en-sans); font-size: 28px; font-weight: 400; }
html .rh-pd-aside__price small { display: inline; margin-left: 6px; color: var(--rh-gray); font-size: 11px; }   /* 「税込」は万円の横 */
html .rh-pd-aside__lead { margin-top: 12px; color: var(--rh-text); font-size: 13px; line-height: 1.8; }
html .rh-pd-aside__actions { margin-top: 16px; }
html .rh-pd-aside__tel { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rh-line); color: var(--rh-gray); font-size: 11px; }
html .rh-pd-aside__tel a { display: block; margin-top: 2px; color: var(--rh-text); font-family: var(--rh-en-sans); font-size: 20px; }
html .rh-pd-aside__tel small { display: block; font-size: 11px; }

/* スケジュール：左のカードにも写真 */
html .rh-sched__current-item { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 18px; align-items: start; }
html .rh-sched__current-item:not(:has(.rh-sched__thumb)) { grid-template-columns: 1fr; }
html .rh-sched__current-item strong { margin-top: 8px; }

/* 返済の目安：数字の書体を価格と同じに（明朝をやめる） */
html .rh-sim__amount output { font-family: var(--rh-en-sans); font-weight: 400; }

@media (max-width: 767px) {
  html .rh-page--property { --rh-pd-nav-h: 44px; }
  /* SP のページ内メニューは1行の横スクロールにして追従 */
  html .rh-pd-nav { margin-left: calc(var(--rh-gutter) * -1); margin-right: calc(var(--rh-gutter) * -1); padding: 0; }
  html .rh-pd-nav ol { display: flex; overflow-x: auto; scrollbar-width: none; border: 0; border-bottom: 1px solid #e6eae6; }
  html .rh-pd-nav ol::-webkit-scrollbar { display: none; }
  html .rh-pd-nav li { flex: none; border: 0 !important; }
  html .rh-pd-nav a { min-height: var(--rh-pd-nav-h); padding: 12px 14px; background: var(--rh-white); font-size: 13px; white-space: nowrap; }
  html .rh-pd-nav a span { display: none; }
  html .rh-pd-nav a::after { display: none; }
  html .rh-pd-nav a.is-current { background: var(--rh-white); color: var(--rh-blue); box-shadow: inset 0 -3px 0 var(--rh-blue); }
  html .rh-pd-staff { grid-template-columns: 1fr; gap: 14px; padding: 22px 18px; }
  html .rh-pd-staff__label { flex-direction: row; text-align: left; }
  html .rh-pd-staff__photo { width: 48px; height: 48px; }
  html .rh-pd-staff h3 { font-size: 17px; }
  html .rh-pd-plansum { gap: 8px 18px; }
  html .rh-pd-plansum dd b { font-size: 20px; }
  html .rh-sched__current-item { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
  html .rh-sched__current-item .rh-sched__thumb { width: 84px; height: 72px; }
}

/* ==========================================================================
   9. イベントの帯（10/4。FV の状態ラベルの下。開催予定・開催中のイベントを2つまで）
   状態ラベル（四角・塗り／枠）やセミオーダーの丸ボタンと形を変え、白地＋左の青線＋点で「お知らせ」に見せる
   ========================================================================== */
html .rh-pd-evband { display: grid; gap: 6px; max-width: 418px; margin: 0 0 18px; }
html .rh-pd-evband__item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "state more" "text more";
  align-items: center; gap: 3px 14px; padding: 10px 14px 11px 15px;
  border-left: 3px solid var(--rh-blue); background: var(--rh-white); box-shadow: 0 1px 3px rgba(18, 53, 84, .08);
  color: var(--rh-text); transition: background-color .2s;
}
html .rh-pd-evband__item:hover { background: #f8fbfd; }
html .rh-pd-evband__state { grid-area: state; display: inline-flex; align-items: center; gap: 7px; color: var(--rh-blue); font-size: 11px; font-weight: 700; letter-spacing: .5px; }
html .rh-pd-evband__state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--rh-blue); }
html .rh-pd-evband__row.is-upcoming .rh-pd-evband__state { color: var(--rh-gray); }
html .rh-pd-evband__row.is-upcoming .rh-pd-evband__state::before { box-sizing: border-box; border: 1.5px solid currentColor; background: none; }
html .rh-pd-evband__text { grid-area: text; min-width: 0; font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .3px; overflow-wrap: anywhere; }
html .rh-pd-evband__more { grid-area: more; display: inline-flex; align-items: center; gap: 6px; color: var(--rh-blue); font-size: 12px; font-weight: 700; white-space: nowrap; }
html .rh-pd-evband__item:hover .rh-pd-evband__more { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  html .rh-pd-evband__row.is-active .rh-pd-evband__state::before { animation: rh-evband-pulse 2.4s ease-out infinite; }
}
@keyframes rh-evband-pulse { 0% { box-shadow: 0 0 0 0 rgba(0, 84, 166, .45); } 70%, 100% { box-shadow: 0 0 0 6px rgba(0, 84, 166, 0); } }

/* スケジュールの見学会の行：イベントページへ（終了・中止した行では出さない） */
html .rh-sched__evlink { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; color: var(--rh-link); font-size: 13px; font-weight: 700; }
html .rh-sched__evlink:hover { text-decoration: underline; text-underline-offset: 3px; }
html .rh-sched__row.is-ended .rh-sched__evlink, html .rh-sched__row.is-cancelled .rh-sched__evlink { display: none; }

@media (max-width: 1100px) {
  /* 左の列が狭くなるので「詳しく見る」を上の行の右へ。一言は1行を広く使う */
  html .rh-pd-evband__item { grid-template-areas: "state more" "text text"; }
}
@media (max-width: 767px) {
  html .rh-pd-evband { max-width: none; margin-bottom: 16px; }
  html .rh-pd-evband__item { padding: 10px 12px 11px 13px; }
  html .rh-sched__evlink { font-size: 12px; }
}

/* SP：状態ラベル・セミオーダー・♡ の行が 375px で入りきらず、ページごと横にはみ出していたので折り返す（10/4） */
@media (max-width: 767px) {
  html .rh-pd-hero__meta { flex-wrap: wrap; }
}

/* ==========================================================================
   10. 10/4 の修正（フィードバック）
   並び替え（未完成の間取りを全幅に）・担当者コメントの下の余白・こんな方におすすめ・追従カード（状態・電話の上の罫線）・
   イベントの帯2本・SP のページ内メニュー・保存の通知
   ========================================================================== */
/* 物件の特徴：担当者コメントで終わるとき、下の余白（区切り線まで 72px）が空の帯に見えていたので詰める */
html .rh-pd-sec--wide:has(> .rh-pd-staff:last-child) { padding-bottom: 44px; }

/* 未完成の間取り：スケジュールの前に置くため全幅（物件の特徴と同じ扱い）。図面の並べ方は 12 節（間取りのポイントは 10/4 に削除） */

/* こんな方におすすめ（担当者コメントの中。コメントが無い物件はリストだけの枠） */
html .rh-pd-check { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--rh-line); }
html .rh-pd-staff .rh-pd-check__title { font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .5px; color: var(--rh-link); }
html .rh-pd-check ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; margin-top: 12px; }
html .rh-pd-check li { position: relative; padding-left: 28px; color: var(--rh-text); font-size: 14px; line-height: 1.6; }
html .rh-pd-check li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--rh-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}
html .rh-pd-staff--list { grid-template-columns: 1fr; padding: 26px 36px 28px; }
html .rh-pd-staff--list .rh-pd-check { margin: 0; padding: 0; border: 0; }
html .rh-pd-staff--list .rh-pd-check ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* 追従カード：今の状態（状態ラベルの下に小さく。押せる） */
html .rh-pd-aside__now { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 12px; }
html .rh-pd-aside__now[hidden], html .rh-pd-aside__now-item[hidden] { display: none; }
html .rh-pd-aside__now-item {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 9px; border: 1px solid var(--rh-blue); border-radius: 20px;
  background: var(--rh-white); color: var(--rh-blue); font-size: 12px; font-weight: 700; line-height: 1.5; transition: background-color .2s, color .2s;
}
html .rh-pd-aside__now-item::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
html .rh-pd-aside__now-item::after { content: "→"; font-size: 11px; font-weight: 400; }
html .rh-pd-aside__now-item[href^="#"]::after { content: "↓"; }
html .rh-pd-aside__now-item:hover { background: var(--rh-blue); color: var(--rh-white); }
/* 電話：ボタンとの間の罫線と余白が「空の帯」に見えていたので、罫線をやめてボタンの下に続ける */
html .rh-pd-aside__tel { margin-top: 14px; padding-top: 0; border-top: 0; }

/* イベントの帯：随時開催は点滅させない（いつでも開催中のため） */
html .rh-pd-evband__row.is-always .rh-pd-evband__state::before { animation: none; }
/* 2本目は1行に詰めて小さく（FV を押し下げすぎない。1本目＝終了日の近いものを主に見せる） */
html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__item {
  grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "state text more"; gap: 0 12px;
  padding: 7px 14px 7px 15px; box-shadow: none; border-left-width: 2px; background: rgba(255, 255, 255, .7);
}
html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__text { font-size: 13px; font-weight: 500; }
html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__more { font-weight: 500; }

/* 保存の通知（詳細ページ）：保存した物件の一覧へのリンク */
html .rh-toast a { margin-left: 14px; color: var(--rh-white); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

@media (max-width: 767px) {
  html .rh-pd-sec--wide:has(> .rh-pd-staff:last-child) { padding-bottom: 36px; }
  html .rh-pd-check ul, html .rh-pd-staff--list .rh-pd-check ul { grid-template-columns: 1fr; gap: 8px; }
  html .rh-pd-check li { font-size: 13px; }
  html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__item { gap: 0 10px; padding: 7px 12px 7px 13px; }
  html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__more { font-size: 0; gap: 0; } /* SP の2本目は「→」だけ */
  html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__more span { font-size: 13px; }
  html .rh-pd-staff--list { padding: 20px 18px 22px; }

  /* SP のページ内メニュー：.rh-inner の width:100% に左右のマイナス余白を足していたため、帯が左へ 20px ずれて
     左端の項目が切れ、右端 20px は透明（下の写真が透けていた）。全幅・不透明にし、右端は背景色でフェード */
  html .rh-pd-nav { width: auto; max-width: none; margin-left: 0; margin-right: 0; background: var(--rh-white); }
  html .rh-pd-nav ol { background: var(--rh-white); }
  html .rh-pd-nav li:first-child a { padding-left: var(--rh-gutter); }
  html .rh-pd-nav li:last-child a { padding-right: calc(var(--rh-gutter) + 8px); }
  html .rh-pd-nav::before, html .rh-pd-nav::after {
    content: ""; position: absolute; top: 0; bottom: 1px; z-index: 1; width: 32px; pointer-events: none; transition: opacity .2s;
  }
  html .rh-pd-nav::after { right: 0; background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--rh-white) 85%); }
  html .rh-pd-nav::before { left: 0; width: 20px; background: linear-gradient(to left, rgba(255, 255, 255, 0), var(--rh-white) 85%); }
  html .rh-pd-nav.is-end::after, html .rh-pd-nav.is-start::before { opacity: 0; }
  html .rh-toast a { margin-left: 10px; }
}

/* ==========================================================================
   11. 開閉・切り替えのアニメーション（クリックしたらパッと気持ちよく）
   ========================================================================== */
@keyframes rh-dlg-in { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes rh-dlg-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(8px) scale(.98); } }
@keyframes rh-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes rh-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes rh-photo-in { from { opacity: 0; transform: scale(1.035); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  /* 図面の拡大・保存した物件の一覧：下から少し浮き上がって開き、背景はふわっと暗くなる */
  html .rh-zoom[open], html .rh-saved[open] { animation: rh-dlg-in .34s cubic-bezier(.2, .8, .2, 1); }
  html .rh-zoom[open]::backdrop, html .rh-saved[open]::backdrop { animation: rh-fade-in .34s ease-out; }
  html .rh-zoom.is-closing, html .rh-saved.is-closing { animation: rh-dlg-out .2s ease-in forwards; }
  html .rh-zoom.is-closing::backdrop, html .rh-saved.is-closing::backdrop { animation: rh-fade-out .2s ease-in forwards; }
  /* 拡大した図面は、ダイアログが開いた少し後に浮かぶ */
  html .rh-zoom[open] img { animation: rh-fade-in .4s .08s ease-out both; }
  /* FV の写真：サムネイル・矢印で選んだ写真をフェードイン（少し引きながら） */
  html .rh-gallery__slide.is-entering img { animation: rh-photo-in .5s cubic-bezier(.2, .8, .2, 1); }
  /* サムネイル：選んだ枠の線をなめらかに */
  html .rh-gallery__thumb { transition: outline-color .25s, outline-offset .25s, opacity .2s; }
  html .rh-gallery__thumb:not(.is-current) { outline-offset: 2px; }
}

/* 状態ラベル：写真の上のラベルをやめた分、未完成も青い塗りで強めに */
html .rh-pd-badge.is-plan { border-color: var(--rh-blue); background: var(--rh-blue); color: var(--rh-white); }

/* ==========================================================================
   12. 読みやすさの見直し（線が細くて見づらい・本文が薄い。情報を見るページなので振り切って見やすく）
   物件詳細だけ（body.rh-page--pdetail）。一覧・イベントの物件カードには効かない。
   ここより上の .rh-pd-* / .rh-sched / .rh-sim の書体・文字の大きさ・色は、この節が上書きする（値を決めるのはこの節）。
   - 書体：見出しはすべてゴシック（Noto Sans JP 700）。FV のキャッチもゴシック（10/4 夜。物件詳細から明朝はなくなった。物件カードの見出しは一覧とそろえて明朝のまま）。番号「01」などは英字ゴシック（--rh-en-sans）の太字
   - 文字の段階（PC ／ SP）：見出し大 28 ／ 22 → 見出し中 20 ／ 18 → 本文 15（項目の見出しは本文サイズの太字。PC 16）→ 表 14 → 注記 13（バッジ・ラベルだけ 12）
   - 色：本文 --rh-body ＝ --rh-gray #272d2b（全ページ共通のグレーごと濃くした）、補足のラベル --rh-sub #454c49、注記 --rh-note #575e5b。見出し＝--rh-text、セクション見出しだけ青
   - 余白（8 の倍数）：区切り線の上 64 ／ 40、線から見出し 72 ／ 48、見出しから中身 24 ／ 16、小見出しの上 48 ／ 40
   - 押すところは SP で高さ 44px 以上（見た目を変えたくない文字リンクは ::before で押せる範囲だけ広げる）
   ========================================================================== */
html .rh-page--pdetail {
  --rh-body: var(--rh-gray); --rh-sub: #454c49; --rh-note: #575e5b; /* 本文＝共通のグレー #272d2b。補足・注記は一段ずつ明るく（白地で 9:1／6.6:1） */
  --rh-fs-h2: 28px; --rh-fs-h3: 20px; --rh-fs-item: 16px; --rh-fs-body: 15px; --rh-fs-table: 14px; --rh-fs-note: 13px;
  --rh-lh-body: 1.8;
  --rh-sec-a: 64px; --rh-sec-b: 72px; --rh-head-gap: 24px; --rh-sub-gap: 48px;
}
/* FV のキャッチ：明朝をやめてゴシックに。明朝用の広い字間（3px）を詰め、700 で重くならないよう 1〜2px 小さく */
html .rh-page--pdetail .rh-pd-hero__catch { font-family: var(--rh-sans); font-size: 34px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; }
@media (max-width: 1100px) { html .rh-page--pdetail .rh-pd-hero__catch { font-size: 29px; } }

/* --- 共通の見出し・本文・注記 --- */
html .rh-page--pdetail .rh-pd-title {
  padding-left: 14px; border-left-width: 4px; font-family: var(--rh-sans); font-size: var(--rh-fs-h2); font-weight: 700; line-height: 1.4; letter-spacing: .04em; color: var(--rh-link);
}
html .rh-page--pdetail .rh-pd-subtitle { margin: var(--rh-sub-gap) 0 16px; color: var(--rh-text); font-size: var(--rh-fs-h3); font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
html .rh-page--pdetail .rh-pd-lead { margin-top: var(--rh-head-gap); color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }
html .rh-page--pdetail .rh-pd-note { margin-top: 12px; color: var(--rh-note); font-size: var(--rh-fs-note); line-height: 1.7; }
html .rh-page--pdetail .rh-ptextlink { position: relative; font-size: 14px; color: var(--rh-body); }
html .rh-page--pdetail .rh-ptextlink::before { content: ""; position: absolute; inset: -10px -4px; } /* 押せる範囲を 44px に */
html .rh-page--pdetail .rh-slider__ctrl { font-family: var(--rh-en-sans); font-size: 13px; color: var(--rh-sub); }
html .rh-page--pdetail .rh-slider__ctrl button { width: 44px; height: 44px; border-color: #c9d0cc; font-size: 16px; }

/* --- セクションの余白（区切り線の上 --rh-sec-a、線から見出し --rh-sec-b） --- */
html .rh-page--pdetail .rh-pd-sec { padding-top: var(--rh-sec-b); }
html .rh-page--pdetail .rh-pd-main > .rh-pd-sec + .rh-pd-sec { margin-top: var(--rh-sec-a); border-top-color: #dfe4e0; }
html .rh-page--pdetail .rh-pd-sec--wide { padding-bottom: var(--rh-sec-a); }
html .rh-page--pdetail .rh-pd-sec--wide:has(> .rh-pd-staff:last-child) { padding-bottom: var(--rh-sec-a); }
html .rh-page--pdetail .rh-pd-sec--wide + .rh-sched { padding-top: var(--rh-sec-b); }
html .rh-page--pdetail .rh-pd-aside { margin-top: var(--rh-sec-b); }

/* --- FV --- */
html .rh-page--pdetail .rh-pd-hero__loc { color: var(--rh-body); font-size: var(--rh-fs-body); }
html .rh-page--pdetail .rh-pd-hero__lead { color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); letter-spacing: .02em; }
html .rh-page--pdetail .rh-pd-evband__state { font-size: 12px; }
html .rh-page--pdetail .rh-pd-evband__row.is-upcoming .rh-pd-evband__state { color: var(--rh-sub); }
html .rh-page--pdetail .rh-save--l { width: 44px; height: 44px; }

/* --- 物件の概要の枠（形はそのまま。注記の色をそろえ、「万円」「円〜」を太く大きく。SP は開発ツールで試した値） --- */
html .rh-page--pdetail .rh-pd-spec__yen { font-size: 20px; font-weight: 700; }
html .rh-page--pdetail .rh-pd-spec__monthly { font-size: 15px; font-weight: 700; }
html .rh-page--pdetail .rh-pd-spec__yen small { font-weight: 400; } /* 「予定価格・税込」は注記のまま */
html .rh-page--pdetail .rh-pd-spec__yen small, html .rh-page--pdetail .rh-pd-spec__cond, html .rh-page--pdetail .rh-pd-spec__cells small { color: var(--rh-note); }
html .rh-page--pdetail .rh-pd-spec__head a { position: relative; }
html .rh-page--pdetail .rh-pd-spec__head a::before { content: ""; position: absolute; inset: -12px -6px; }

/* --- ページ内メニュー --- */
html .rh-page--pdetail .rh-pd-nav a { color: #444; }
html .rh-page--pdetail .rh-pd-nav a span { font-family: var(--rh-en-sans); font-weight: 700; }
html .rh-page--pdetail .rh-pd-nav a:hover, html .rh-page--pdetail .rh-pd-nav a.is-current { color: var(--rh-white); }

/* --- 物件の特徴 --- */
html .rh-page--pdetail .rh-pd-points { margin-top: var(--rh-head-gap); gap: 56px 40px; }
html .rh-page--pdetail .rh-pd-point figcaption { margin-top: 6px; color: var(--rh-note); font-size: 12px; }
html .rh-page--pdetail .rh-pd-point h3 { align-items: baseline; gap: 12px; margin-top: 20px; font-family: var(--rh-sans); font-size: var(--rh-fs-h3); font-weight: 700; line-height: 1.5; letter-spacing: .02em; color: var(--rh-text); }
html .rh-page--pdetail .rh-pd-point h3 span { flex: none; font-family: var(--rh-en-sans); font-size: 24px; font-weight: 700; letter-spacing: 0; line-height: 1; color: var(--rh-link); }
html .rh-page--pdetail .rh-pd-point p { max-width: none; margin-top: 8px; color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }
html .rh-page--pdetail .rh-pd-points + .rh-pd-note { margin-top: 24px; }

/* 担当者から・こんな方におすすめ */
html .rh-page--pdetail .rh-pd-staff { margin-top: 40px; padding: 32px 40px; }
html .rh-page--pdetail .rh-pd-staff__label { color: var(--rh-sub); font-size: 13px; }
html .rh-page--pdetail .rh-pd-staff h3 { font-family: var(--rh-sans); font-size: var(--rh-fs-h3); font-weight: 700; line-height: 1.5; color: var(--rh-text); }
html .rh-page--pdetail .rh-pd-staff__body p { margin-top: 12px; color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); max-width: 46em; }
html .rh-page--pdetail .rh-pd-check { margin-top: 24px; padding-top: 24px; }
html .rh-page--pdetail .rh-pd-staff .rh-pd-check__title { font-family: var(--rh-sans); font-size: var(--rh-fs-item); font-weight: 700; line-height: 1.5; color: var(--rh-link); }
html .rh-page--pdetail .rh-pd-check li { color: var(--rh-body); font-size: var(--rh-fs-body); line-height: 1.6; }
html .rh-page--pdetail .rh-pd-staff--list { padding: 32px 40px; }
html .rh-page--pdetail .rh-pd-staff--list .rh-pd-check { padding: 0; }

/* --- 間取り --- */
html .rh-page--pdetail .rh-pd-plansum { margin: var(--rh-head-gap) 0 0; }
html .rh-page--pdetail .rh-pd-plans { margin-top: 24px; }
/* 図面1枚：幅いっぱいに大きく（間取りのポイントを外した分）。2枚以上：横スクロール。PC は2枚なら2列で全部見え（矢印は出ない）、3枚以上は3枚目をのぞかせて矢印で送る */
html .rh-page--pdetail .rh-pd-plans:not(.rh-slider) .rh-pd-plan img { max-height: 720px; }
html .rh-slider--plans { display: block; }
html .rh-slider--plans .rh-slider__track { gap: 16px; }
html .rh-slider--plans .rh-slider__slide { flex: 0 0 calc((100% - 16px) / 2); }
html .rh-slider--plans.rh-pd-plans--3up .rh-slider__slide { flex-basis: calc((100% - 32px) / 2.25); }
html .rh-slider--plans .rh-slider__slide { display: flex; }
html .rh-slider--plans .rh-pd-plan { flex: 1; min-width: 0; } /* 図面の枠の高さをそろえる */
html .rh-slider--plans .rh-pd-plan img { height: auto; max-height: 560px; }
html .rh-slider--plans .rh-slider__ctrl { justify-content: flex-end; margin-top: 12px; }
html .rh-page--pdetail .rh-pd-plansum dt { min-width: 5.5em; color: var(--rh-sub); font-size: 12px; font-weight: 700; text-align: center; }
html .rh-page--pdetail .rh-pd-plansum dd { color: var(--rh-body); font-size: var(--rh-fs-table); }
html .rh-page--pdetail .rh-pd-plansum dd small { color: var(--rh-note); font-size: 13px; }
html .rh-page--pdetail .rh-pd-plan__label { font-family: var(--rh-en-sans); font-size: 14px; font-weight: 700; letter-spacing: .12em; }
html .rh-page--pdetail .rh-pd-plan__img .rh-pd-plan__zoom { width: 44px; height: 44px; }

/* --- 完成までのスケジュール --- */
html .rh-page--pdetail .rh-sched__title { margin-top: 0; font-family: var(--rh-sans); font-size: 26px; font-weight: 700; line-height: 1.5; letter-spacing: .03em; }
html .rh-page--pdetail .rh-sched__intro { margin-top: 16px; color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }
html .rh-page--pdetail .rh-sched__current-date { font-size: 17px; font-weight: 700; }
html .rh-page--pdetail .rh-sched__current-item strong { font-size: 18px; line-height: 1.5; }
html .rh-page--pdetail .rh-sched__current-item p { color: var(--rh-body); font-size: var(--rh-fs-table); line-height: 1.7; }
html .rh-page--pdetail .rh-sched__timeline-head h3 { font-size: 18px; }
html .rh-page--pdetail .rh-sched__timeline-head span { color: var(--rh-body); }
html .rh-page--pdetail .rh-sched__closed summary { align-items: center; min-height: 48px; padding: 4px 0; color: var(--rh-sub); font-size: 13px; }
html .rh-page--pdetail .rh-sched__date { font-size: 15px; font-weight: 700; }
html .rh-page--pdetail .rh-sched__row strong { font-size: var(--rh-fs-item); line-height: 1.5; }
html .rh-page--pdetail .rh-sched__row small { color: var(--rh-sub); font-size: 13px; }
html .rh-page--pdetail .rh-sched__evlink { min-height: 44px; margin-top: 0; font-size: 14px; }

/* --- 周辺環境 --- */
html .rh-page--pdetail .rh-pd-area__grid { margin-top: var(--rh-head-gap); }
html .rh-page--pdetail .rh-pd-area__points li > span { font-weight: 700; }
html .rh-page--pdetail .rh-pd-area__points h3 { font-size: var(--rh-fs-item); line-height: 1.5; }
html .rh-page--pdetail .rh-pd-area__points p { color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }
html .rh-page--pdetail .rh-pd-feature__en { font-weight: 700; }
html .rh-page--pdetail .rh-pd-feature__name { font-family: var(--rh-sans); font-size: 22px; font-weight: 700; line-height: 1.4; }
html .rh-page--pdetail .rh-pd-feature__catch { font-size: 17px; line-height: 1.5; }
html .rh-page--pdetail .rh-pd-feature__text { font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }
html .rh-page--pdetail .rh-pd-feature__btn { min-height: 44px; font-weight: 700; }
html .rh-page--pdetail .rh-pd-map__name { font-family: var(--rh-sans); font-weight: 700; }
html .rh-page--pdetail .rh-pd-map__caption { color: var(--rh-body); font-size: var(--rh-fs-body); }
/* 近くの施設（時間が右端で見づらい・1件ずつの余白が大きい）：全件を同じ形の行に。
   種類（小さいラベルの列）｜名前（15px 太め）＋直後に「徒歩11分・約850m」（数字は青の太字）。入りきらなければ時間だけ名前の下へ。PC は2列
   10/4 夜その2：この形は「強調する施設」だけに使い、それ以外は表にした（列の数・表は 14 節） */
html .rh-page--pdetail .rh-pd-near { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
html .rh-page--pdetail .rh-pd-near li { display: grid; grid-template-columns: 4.6em minmax(0, 1fr); align-items: baseline; gap: 0 12px; padding: 14px 0; border-top: 0; border-bottom: 1px solid #dfe4e0; }
html .rh-page--pdetail .rh-pd-near li:nth-child(-n+2) { border-top: 1px solid #dfe4e0; }
html .rh-page--pdetail .rh-pd-near__kind { color: var(--rh-sub); font-size: 12px; font-weight: 500; line-height: 1.5; }
html .rh-page--pdetail .rh-pd-near__kind::before { display: none; }
html .rh-page--pdetail .rh-pd-near li > p { margin: 0; color: var(--rh-text); font-size: var(--rh-fs-body); line-height: 1.5; }
html .rh-page--pdetail .rh-pd-near__name { margin: 0 4px 0 0; font-size: var(--rh-fs-body); font-weight: 700; }
html .rh-page--pdetail .rh-pd-near__time { display: inline-block; margin: 0; color: var(--rh-body); font-size: var(--rh-fs-table); white-space: nowrap; }
html .rh-page--pdetail .rh-pd-near__time b { margin: 0 1px; color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 17px; font-weight: 700; }
html .rh-page--pdetail .rh-pd-near + .rh-pd-note { margin-top: 12px; }

/* --- 性能・仕様 --- */
html .rh-page--pdetail .rh-pd-quality__ctrl .rh-slider__ctrl button { width: 44px; height: 44px; }
html .rh-page--pdetail .rh-pd-qcard { border-color: #dfe4e0; }
html .rh-page--pdetail .rh-pd-qcard__label { color: var(--rh-sub); font-size: 13px; font-weight: 500; }
html .rh-page--pdetail .rh-pd-qcard h3 { margin-top: 4px; font-family: var(--rh-sans); font-size: 18px; font-weight: 700; line-height: 1.5; }
html .rh-page--pdetail .rh-pd-qcard__body p:last-child { color: var(--rh-body); font-size: var(--rh-fs-table); line-height: 1.75; }
html .rh-page--pdetail .rh-pd-chips li { color: var(--rh-body); font-size: var(--rh-fs-table); }

/* --- 表（物件概要・近くの施設） --- */
html .rh-page--pdetail .rh-pd-table { font-size: var(--rh-fs-table); line-height: 1.7; border-color: #dfe4e0; }
html .rh-page--pdetail .rh-pd-table th, html .rh-page--pdetail .rh-pd-table td { padding: 14px 16px; border-bottom-color: #dfe4e0; }
html .rh-page--pdetail .rh-pd-table th { color: var(--rh-sub); font-weight: 700; }
html .rh-page--pdetail .rh-pd-table--overview th { color: var(--rh-text); }
html .rh-page--pdetail .rh-pd-table td { color: var(--rh-body); }
html .rh-page--pdetail .rh-pd-title + .rh-pd-table { margin-top: var(--rh-head-gap); }

/* --- 購入費用・返済シミュレーション --- */
/* 販売価格は 10/4 夜その2 からシミュレーションの枠の一番上（.rh-sim__price。14 節） */
/* 返済シミュレーション（入力・説明・結果をそれぞれまとめ、SP で1画面に）
   並び：見出し → 結果（月々を大きく＋ボーナス時の加算・借入額の目安）→ 入力（PC 4列／SP 2×2。単位は入力の中）→ 初期条件に戻す → 計算の条件（たたむ） */
html .rh-page--pdetail .rh-sim { margin-top: 32px; padding: 24px 28px 8px; border-color: #dfe4e0; }
html .rh-page--pdetail .rh-sim__result { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; margin-top: 16px; padding: 20px 24px; text-align: left; }
html .rh-page--pdetail .rh-sim__label { color: var(--rh-body); font-size: var(--rh-fs-table); font-weight: 700; line-height: 1.5; }
html .rh-page--pdetail .rh-sim__amount { margin-top: 2px; color: var(--rh-link); font-size: 15px; font-weight: 700; line-height: 1.2; }
html .rh-page--pdetail .rh-sim__amount output { margin-right: 4px; font-family: var(--rh-en-sans); font-size: 40px; font-weight: 700; letter-spacing: .01em; }
html .rh-page--pdetail .rh-sim__sub { display: grid; gap: 6px; margin: 0; min-width: 15em; }
html .rh-page--pdetail .rh-sim__sub > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
html .rh-page--pdetail .rh-sim__sub dt { color: var(--rh-sub); font-size: 13px; line-height: 1.5; }
html .rh-page--pdetail .rh-sim__sub dd { margin: 0; color: var(--rh-text); font-size: 14px; font-weight: 700; white-space: nowrap; }
html .rh-page--pdetail .rh-sim__sub output { margin-right: 1px; font-family: var(--rh-en-sans); font-size: 17px; }
html .rh-page--pdetail .rh-sim__error { flex-basis: 100%; margin: 0; font-size: 13px; }
html .rh-page--pdetail .rh-sim__inputs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
html .rh-page--pdetail .rh-sim__field { display: block; min-width: 0; }
html .rh-page--pdetail .rh-sim__lb { display: block; color: var(--rh-text); font-size: var(--rh-fs-table); font-weight: 700; line-height: 1.5; white-space: nowrap; }
html .rh-page--pdetail .rh-sim__unit { position: relative; display: block; margin-top: 6px; }
html .rh-page--pdetail .rh-sim__unit > span { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); color: var(--rh-sub); font-size: 14px; pointer-events: none; }
html .rh-page--pdetail .rh-sim input { height: 48px; padding-right: 3.2em; }
html .rh-page--pdetail .rh-sim input[name="rate"] { padding-right: 2.2em; }
html .rh-page--pdetail .rh-sim select { height: 48px; margin-top: 6px; }
html .rh-page--pdetail .rh-sim__reset { margin-top: 10px; text-align: right; }
html .rh-page--pdetail .rh-sim button[type="reset"] { margin: 0; font-size: 13px; }
html .rh-page--pdetail .rh-sim__terms { margin-top: 12px; border-top: 1px solid #dfe4e0; }
html .rh-page--pdetail .rh-sim__terms summary { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 0 4px; min-height: 48px; padding: 8px 32px 8px 0; color: var(--rh-text); font-size: var(--rh-fs-table); font-weight: 700; cursor: pointer; list-style: none; }
html .rh-page--pdetail .rh-sim__terms summary::-webkit-details-marker { display: none; }
html .rh-page--pdetail .rh-sim__terms summary span { color: var(--rh-note); font-size: 13px; font-weight: 400; }
html .rh-page--pdetail .rh-sim__terms summary::after { content: "＋"; position: absolute; top: 50%; right: 4px; transform: translateY(-50%); color: var(--rh-link); font-weight: 400; }
html .rh-page--pdetail .rh-sim__terms[open] summary::after { content: "−"; }
html .rh-page--pdetail .rh-sim__terms ul { margin: 0; padding: 0 0 16px; list-style: none; }
html .rh-page--pdetail .rh-sim__terms li { position: relative; padding-left: 1em; color: var(--rh-note); font-size: 13px; line-height: 1.7; }
html .rh-page--pdetail .rh-sim__terms li + li { margin-top: 4px; }
html .rh-page--pdetail .rh-sim__terms li::before { content: "・"; position: absolute; left: 0; }

/* --- よくあるご質問 --- */
html .rh-page--pdetail .rh-pd-faq { border-color: #dfe4e0; }
html .rh-page--pdetail .rh-pd-sec > .rh-pd-faq:first-of-type { margin-top: var(--rh-head-gap); border-top-color: #dfe4e0; }
html .rh-page--pdetail .rh-pd-faq summary { padding: 20px 44px 20px 0; color: var(--rh-text); font-size: var(--rh-fs-item); line-height: 1.6; }
html .rh-page--pdetail .rh-pd-faq summary > span { color: var(--rh-link); font-family: var(--rh-en-sans); }
html .rh-page--pdetail .rh-pd-faq summary::after { top: 50%; transform: translateY(-50%); }
html .rh-page--pdetail .rh-pd-faq p { padding-bottom: 24px; color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }

/* --- 追従カード（PC） --- */
html .rh-page--pdetail .rh-pd-aside__name { font-family: var(--rh-sans); font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
html .rh-page--pdetail .rh-pd-aside__meta { color: var(--rh-sub); }
html .rh-page--pdetail .rh-pd-aside__price small { color: var(--rh-note); font-size: 12px; }
html .rh-page--pdetail .rh-pd-aside__lead { color: var(--rh-body); font-size: 14px; line-height: 1.75; }
html .rh-page--pdetail .rh-pd-aside__tel, html .rh-page--pdetail .rh-pd-aside__tel small { color: var(--rh-note); font-size: 12px; }
html .rh-page--pdetail .rh-pd-aside__tel a { color: var(--rh-text); font-weight: 700; }

/* --- 行動の選択（青帯） --- */
html .rh-page--pdetail .rh-pd-choice { margin-top: 96px; padding: 72px 0; }
html .rh-page--pdetail .rh-pd-choice__title { margin-top: 0; font-family: var(--rh-sans); font-size: var(--rh-fs-h2); font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
html .rh-page--pdetail .rh-pd-choice__lead { padding-bottom: 6px; font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }
html .rh-page--pdetail .rh-pd-choice__cards { margin-top: 40px; gap: 32px; }
html .rh-page--pdetail .rh-pd-choice__body { padding: 32px 32px 32px; }
html .rh-page--pdetail .rh-pd-choice__body h3 { font-family: var(--rh-sans); font-size: var(--rh-fs-h3); font-weight: 700; line-height: 1.5; letter-spacing: .02em; color: var(--rh-text); }
html .rh-page--pdetail .rh-pd-choice__body > p { margin: 12px 0 24px; color: var(--rh-body); font-size: var(--rh-fs-body); line-height: var(--rh-lh-body); }

/* --- ほかの住まい --- */
html .rh-page--pdetail .rh-pd-related { padding-top: 88px; padding-bottom: 96px; }
html .rh-page--pdetail .rh-pd-related .rh-plist-cards { margin-top: var(--rh-head-gap); }

/* ---------- SP ---------- */
@media (max-width: 767px) {
  html .rh-page--pdetail {
    --rh-fs-h2: 22px; --rh-fs-h3: 18px; --rh-fs-item: 15px;
    --rh-sec-a: 40px; --rh-sec-b: 48px; --rh-head-gap: 16px; --rh-sub-gap: 40px;
  }
  html .rh-page--pdetail .rh-pd-title { padding-left: 12px; }
  html .rh-page--pdetail .rh-pbtn { min-height: 48px; font-size: 15px; }
  html .rh-page--pdetail .rh-pbtn--l, html .rh-page--pdetail .rh-pbtn--xl { min-height: 56px; font-size: 16px; }

  /* FV */
  html .rh-page--pdetail .rh-pd-hero__body { padding: 24px var(--rh-gutter) 40px; }
  html .rh-page--pdetail .rh-pd-hero__meta { margin-bottom: 16px; }
  html .rh-page--pdetail .rh-pd-hero__jump { min-height: 44px; padding: 8px 10px 8px 16px; font-size: 14px; }
  html .rh-page--pdetail .rh-pd-hero__catch { margin-top: 16px; font-size: 24px; line-height: 1.4; } /* ゴシック 700（10/4 夜）。開発ツールで確認した値 */
  html .rh-page--pdetail .rh-pd-hero__lead { margin-top: 16px; }
  html .rh-page--pdetail .rh-pd-hero__actions { margin-top: 24px; }
  html .rh-page--pdetail .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__item { min-height: 44px; }
  html .rh-page--pdetail .rh-pd-evband__text { font-size: 15px; }
  html .rh-page--pdetail .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__text { font-size: 14px; }

  /* 物件の概要の枠：注記は 12px。単位はの指定値（10/4） */
  html .rh-page--pdetail .rh-pd-spec__cond { font-size: 12px; }
  html .rh-page--pdetail .rh-pd-spec__yen { margin-top: 4px; font-size: 18px; font-weight: 700; }
  html .rh-page--pdetail .rh-pd-spec__monthly { margin-top: 2px; font-size: 14px; font-weight: 700; }

  /* ページ内メニュー */
  html .rh-page--pdetail .rh-pd-nav a { padding: 12px 16px; font-size: 14px; }
  html .rh-page--pdetail .rh-pd-nav a.is-current { color: var(--rh-blue); font-weight: 700; }

  /* 物件の特徴 */
  html .rh-page--pdetail .rh-pd-points { gap: 48px; }
  html .rh-page--pdetail .rh-pd-point h3 { gap: 10px; margin-top: 16px; }
  html .rh-page--pdetail .rh-pd-point h3 span { font-size: 20px; }
  html .rh-page--pdetail .rh-pd-staff, html .rh-page--pdetail .rh-pd-staff--list { margin-top: 40px; padding: 24px 20px; }
  html .rh-page--pdetail .rh-pd-staff { gap: 16px; }
  html .rh-page--pdetail .rh-pd-check { margin-top: 20px; padding-top: 20px; }
  html .rh-page--pdetail .rh-pd-check ul { gap: 12px; }
  html .rh-page--pdetail .rh-pd-check li { font-size: var(--rh-fs-body); }

  /* 間取り */
  html .rh-page--pdetail .rh-pd-plansum { gap: 12px 20px; }
  html .rh-page--pdetail .rh-pd-plans { margin-top: 16px; }
  /* SP：2枚以上は1枚ずつ横スクロール（次の図面を少しのぞかせる） */
  html .rh-slider--plans .rh-slider__track { gap: 12px; }
  html .rh-slider--plans .rh-slider__slide, html .rh-slider--plans.rh-pd-plans--3up .rh-slider__slide { flex-basis: 88%; }
  html .rh-page--pdetail .rh-pd-plan { padding: 48px 12px 12px; }
  html .rh-page--pdetail .rh-pd-plan__label { top: 16px; left: 12px; font-size: 13px; }

  /* 完成までのスケジュール */
  html .rh-page--pdetail .rh-sched__box { padding: 32px 20px 24px; }
  html .rh-page--pdetail .rh-sched__title { font-size: 22px; letter-spacing: .02em; }
  html .rh-page--pdetail .rh-sched__current { margin: 24px 0 16px; padding: 16px; }
  html .rh-page--pdetail .rh-sched__current-item { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
  html .rh-page--pdetail .rh-sched__current-item .rh-sched__thumb { width: 72px; height: 64px; }
  html .rh-page--pdetail .rh-sched__current-head { gap: 4px 10px; }
  html .rh-page--pdetail .rh-sched__current-date { font-size: 16px; }
  html .rh-page--pdetail .rh-sched__current-item strong { margin-top: 6px; font-size: 16px; }
  html .rh-page--pdetail .rh-sched__current-item p { margin-top: 6px; }
  html .rh-page--pdetail .rh-sched__timeline { margin-top: 32px; padding-top: 24px; }
  html .rh-page--pdetail .rh-sched__timeline-head h3 { font-size: 18px; }
  html .rh-page--pdetail .rh-sched__row { gap: 12px; }
  html .rh-page--pdetail .rh-sched__thumb { width: 72px; height: 64px; }
  html .rh-page--pdetail .rh-sched__date { font-size: 15px; }
  html .rh-page--pdetail .rh-sched__row small { font-size: 13px; }
  html .rh-page--pdetail .rh-sched__evlink { font-size: 14px; }

  /* 周辺環境 */
  html .rh-page--pdetail .rh-pd-area__grid { gap: 16px; }
  html .rh-page--pdetail .rh-pd-area__points li { gap: 12px; padding: 16px 0 20px; }
  html .rh-page--pdetail .rh-pd-feature { margin-top: 40px; padding: 16px 16px 24px; gap: 16px; }
  html .rh-page--pdetail .rh-pd-feature__name { font-size: 20px; }
  html .rh-page--pdetail .rh-pd-feature__catch { font-size: 16px; }
  html .rh-page--pdetail .rh-pd-feature__btn { width: 100%; justify-content: space-between; }
  html .rh-page--pdetail .rh-pd-map, html .rh-page--pdetail .rh-pd-feature + .rh-pd-map { margin-top: 32px; }
  html .rh-page--pdetail .rh-pd-map__caption { gap: 8px; margin-top: 16px; font-size: var(--rh-fs-body); }
  /* 近くの施設：1列。行の高さは 1行で 56px 前後 */
  html .rh-page--pdetail .rh-pd-near { grid-template-columns: 1fr; }
  html .rh-page--pdetail .rh-pd-near li { grid-template-columns: 4.4em minmax(0, 1fr); gap: 0 10px; padding: 15px 0; }
  html .rh-page--pdetail .rh-pd-near li:nth-child(2) { border-top: 0; }

  /* 性能・仕様 */
  html .rh-page--pdetail .rh-pd-quality__ctrl { margin: 16px 0 12px; }
  html .rh-page--pdetail .rh-pd-qcard__body { padding: 16px 16px 20px; }
  html .rh-page--pdetail .rh-pd-qcard h3 { font-size: 17px; }
  html .rh-page--pdetail .rh-pd-chips { gap: 8px; }
  html .rh-page--pdetail .rh-pd-chips li { padding: 8px 12px; }

  /* 表：SP も 14px。見出しの列は 6.5em（「用途地域」「情報更新日」が1行に入る幅） */
  html .rh-page--pdetail .rh-pd-table th, html .rh-page--pdetail .rh-pd-table td { padding: 12px; }
  html .rh-page--pdetail .rh-pd-table th { width: 7.5em; }

  /* 購入費用 */
  html .rh-page--pdetail .rh-sim { margin-top: 24px; padding: 16px 16px 4px; }
  html .rh-page--pdetail .rh-sim__result { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 12px; padding: 14px 16px 16px; }
  html .rh-page--pdetail .rh-sim__amount output { font-size: 34px; }
  html .rh-page--pdetail .rh-sim__sub { min-width: 0; gap: 2px; padding-top: 10px; border-top: 1px solid rgba(0, 76, 151, .15); }
  html .rh-page--pdetail .rh-sim__inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
  html .rh-page--pdetail .rh-sim__reset { margin-top: 8px; }

  /* よくあるご質問 */
  html .rh-page--pdetail .rh-pd-faq summary { padding: 16px 40px 16px 0; }
  html .rh-page--pdetail .rh-pd-faq summary::after { right: 4px; }
  html .rh-page--pdetail .rh-pd-faq p { padding-bottom: 20px; }

  /* 行動の選択 */
  html .rh-page--pdetail .rh-pd-choice { margin-top: 64px; padding: 56px 0; }
  html .rh-page--pdetail .rh-pd-choice__head { gap: 16px; }
  html .rh-page--pdetail .rh-pd-choice__cards { margin-top: 32px; gap: 24px; }
  html .rh-page--pdetail .rh-pd-choice__body { padding: 24px 20px; }
  html .rh-page--pdetail .rh-pd-choice__body > p { margin: 8px 0 24px; }

  /* ほかの住まい */
  html .rh-page--pdetail .rh-pd-related { padding-top: 56px; padding-bottom: 64px; }
  /* 「物件一覧へ」は見出しの横ではなくカードの後に（見出しの直後のボタンは、カードを見る前に押す理由が無い） */
  html .rh-page--pdetail .rh-pd-related { display: flex; flex-direction: column; }
  html .rh-page--pdetail .rh-pd-related__head { display: contents; }
  html .rh-page--pdetail .rh-pd-related__head .rh-pbtn { order: 1; width: 100%; margin-top: 32px; background: var(--rh-white); color: var(--rh-blue); } /* カードの青いボタンと並ぶので枠線の形に */
}

/* ==========================================================================
   13. 10/4 夜の修正（フィードバック）：物件の概要の枠（PC）・完成までのスケジュール・行動の選択
   近くの施設・返済シミュレーション・FV のキャッチ・物件カードの見出しは、それぞれ 12 節と 2 節の該当行を直接直した
   ========================================================================== */

/* --- 物件の概要の枠（PC・タブレットだけ。SP は今の形のまま）---
   2段：上＝左に価格＋その下に月々／右に間取り・広さの数字を横並び。下＝所在地・アクセス・学区・完成時期を「ラベル 値」で1〜2行。
   線は外の枠と、上下の段の間の1本だけ（数字の間・価格と月々の間の線、段ごとの地の色はやめ、余白で区切る）。文字の段階・単位の大きさは 12 節のまま */
@media (min-width: 768px) {
  html .rh-page--pdetail .rh-pd-spec__box { display: grid; grid-template-columns: minmax(0, 1fr); }
  html .rh-page--pdetail .rh-pd-spec__price { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px var(--rh-spec-x) 0; }
  html .rh-page--pdetail .rh-pd-spec__price > div { padding: 0; }
  html .rh-page--pdetail .rh-pd-spec__price > div + div { border-left: 0; }
  html .rh-page--pdetail .rh-pd-spec__yen { margin-top: 2px; }
  /* 月々：ラベルと数字を1行に。条件・リンクはその下 */
  html .rh-page--pdetail .rh-pd-spec__loan { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 0 12px; }
  html .rh-page--pdetail .rh-pd-spec__loan > .rh-pd-spec__monthly { margin-top: 0; }
  html .rh-page--pdetail .rh-pd-spec__cond, html .rh-page--pdetail .rh-pd-spec__loanlink { grid-column: 1 / -1; justify-self: start; }
  html .rh-page--pdetail .rh-pd-spec__cond { margin-top: 2px; }
  html .rh-page--pdetail .rh-pd-spec__loanlink { margin-top: 6px; }
  html .rh-page--pdetail .rh-pd-spec__cells { gap: 16px 24px; padding: 20px var(--rh-spec-x); border-top: 0; background: none; }
  html .rh-page--pdetail .rh-pd-spec__cells > div { padding: 0; background: none; }
  html .rh-page--pdetail .rh-pd-spec__rows { display: flex; flex-wrap: wrap; gap: 6px 28px; padding: 14px var(--rh-spec-x) 16px; background: none; }
  html .rh-page--pdetail .rh-pd-spec__rows > div { display: flex; align-items: baseline; gap: 12px; padding: 0; }
  html .rh-page--pdetail .rh-pd-spec__rows dt { flex: none; }
}
@media (min-width: 1101px) {
  /* 左＝価格と月々（条件が1行に入る幅）、右＝数字。右の数字は価格の行に頭をそろえる */
  html .rh-page--pdetail .rh-pd-spec__box { grid-template-columns: 470px minmax(0, 1fr); }
  html .rh-page--pdetail .rh-pd-spec__head, html .rh-page--pdetail .rh-pd-spec__rows { grid-column: 1 / -1; }
  html .rh-page--pdetail .rh-pd-spec__price { padding: 22px 0 22px var(--rh-spec-x); }
  html .rh-page--pdetail .rh-pd-spec__cells { align-self: start; padding: 22px var(--rh-spec-x) 22px 8px; }
}

/* --- 完成までのスケジュール（今のデザインのまま整理）---
   左＝今行けるもの（受付中のカード。締め切りまでの日数つき）＋ボタン2つ、右＝この先の予定だけ（受付中は出さない・枠内スクロールなし）→ 終了した予定（たたむ）。
   「完成予定 ◯年◯月」の段と「完成前の住まいをご検討の方へ」は削除（完成は右のリストの最後の行） */
html .rh-page--pdetail .rh-sched__current-item .rh-sched__countdown { margin-top: 6px; color: var(--rh-link); font-size: var(--rh-fs-table); font-weight: 700; line-height: 1.5; }
html .rh-page--pdetail .rh-sched__countdown b { margin: 0 2px; font-family: var(--rh-en-sans); font-size: 20px; }
html .rh-page--pdetail .rh-sched__current-item .rh-sched__countdown + strong { margin-top: 6px; }
html .rh-page--pdetail .rh-sched__actions { display: grid; gap: 12px; }
html .rh-page--pdetail .rh-sched__current[hidden] + .rh-sched__actions { margin-top: 24px; } /* 受付中・次の予定が無いとき（カードを出さない） */
html .rh-page--pdetail .rh-sched__actions + .rh-pd-note { margin-top: 16px; }
html .rh-page--pdetail .rh-sched__open { margin: 0; }
html .rh-page--pdetail .rh-sched__open > .rh-sched__row:first-child { padding-top: 4px; }

/* --- 行動の選択（青帯）：文言を営業からのメッセージに（10/4 夜）。リードが長くなったので見出しの下に置き、読みやすい幅で折り返す --- */
html .rh-page--pdetail .rh-pd-choice__head { grid-template-columns: minmax(0, 1fr); gap: 16px; }
html .rh-page--pdetail .rh-pd-choice__lead { max-width: 44em; padding-bottom: 0; }


/* ==========================================================================
   14. 10/4 夜その2（フィードバック）：近くの施設（強調＋表）・購入費用（価格とシミュレーションを1つの枠に）・価格の単位
   - 単位（万円・円／月・円）は数字の 45〜55% の大きさの太字（700）。小さい数字（シミュレーションの補足 20px）は注記の下限 13px
   - 物件の概要の枠（FV 直下）は 12 節の指定値（PC 20／15、SP 18／14 の太字）がすでに数字の半分以上なので変えない。物件カードは 2 節
   ========================================================================== */

/* --- 近くの施設：強調する施設（pick。無ければ先頭3件）は今の行の形、それ以外は物件概要と同じ表 --- */
html .rh-page--pdetail .rh-pd-near--3, html .rh-page--pdetail .rh-pd-near--5, html .rh-page--pdetail .rh-pd-near--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
html .rh-page--pdetail .rh-pd-near--1 { grid-template-columns: minmax(0, 1fr); }
html .rh-page--pdetail :is(.rh-pd-near--3, html .rh-pd-near--5, html .rh-pd-near--6) li:nth-child(-n+3) { border-top: 1px solid #dfe4e0; }
html .rh-page--pdetail :is(.rh-pd-near--3, html .rh-pd-near--5, html .rh-pd-near--6) .rh-pd-near__time { display: block; margin-top: 2px; } /* 3列は幅が狭いので時間は名前の下の行にそろえる */
@media (min-width: 768px) and (max-width: 959px) { /* タブレット：本文の幅が狭いので強調は2列 */
  html .rh-page--pdetail :is(.rh-pd-near--3, html .rh-pd-near--5, html .rh-pd-near--6) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html .rh-page--pdetail :is(.rh-pd-near--3, html .rh-pd-near--5, html .rh-pd-near--6) li:nth-child(3) { border-top: 0; }
}
html .rh-page--pdetail .rh-pd-near + .rh-pd-table--near { margin-top: 24px; }
html .rh-page--pdetail .rh-pd-table--near td { color: var(--rh-body); }
html .rh-page--pdetail .rh-pd-near__cell { display: flex; flex-wrap: wrap; gap: 0 1em; } /* 入りきらなければ時間を次の行の頭から */
html .rh-page--pdetail .rh-pd-near__t { white-space: nowrap; }

/* --- 購入費用：販売価格 → 結果 → 入力 → 価格の注記・初期条件に戻す → 計算の条件 を1つの枠に --- */
html .rh-page--pdetail .rh-sim { margin-top: var(--rh-head-gap); padding: 22px 28px 8px; }
html .rh-page--pdetail .rh-sim__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 20px; }
html .rh-page--pdetail .rh-sim__price-lb { color: var(--rh-text); font-size: var(--rh-fs-table); font-weight: 700; line-height: 1.5; }
html .rh-page--pdetail .rh-sim__price-yen { color: var(--rh-text); font-size: 18px; font-weight: 700; line-height: 1.2; }
html .rh-page--pdetail .rh-sim__price-yen b { margin-right: 3px; font-family: var(--rh-en-sans); font-size: 36px; font-weight: 400; letter-spacing: .01em; }
html .rh-page--pdetail .rh-sim__price-yen small { margin-left: 10px; color: var(--rh-note); font-size: 13px; font-weight: 400; }
html .rh-page--pdetail .rh-sim__price + .rh-sr-only + .rh-sim__result { margin-top: 14px; }
html .rh-page--pdetail .rh-sim__amount { font-size: 20px; }                 /* 「円／月」＝数字 40px の半分 */
html .rh-page--pdetail .rh-sim__sub dd { font-size: 13px; }                 /* 「円」「万円」 */
html .rh-page--pdetail .rh-sim__sub output { margin-right: 2px; font-size: 20px; }
html .rh-page--pdetail .rh-sim__foot { display: flex; flex-direction: row-reverse; align-items: baseline; justify-content: space-between; gap: 4px 24px; margin-top: 10px; }
html .rh-page--pdetail .rh-sim__foot .rh-sim__reset { flex: none; margin: 0; }
html .rh-page--pdetail .rh-sim__note { flex: 1 1 auto; min-width: 0; color: var(--rh-note); font-size: var(--rh-fs-note); line-height: 1.7; }
html .rh-page--pdetail .rh-sim__foot + .rh-sim__terms { margin-top: 10px; }

/* --- 追従カード（PC）の価格：「万円」＝数字 28px の半分の太字 --- */
html .rh-page--pdetail .rh-pd-aside__price { font-size: 14px; font-weight: 700; }
html .rh-page--pdetail .rh-pd-aside__price b { margin-right: 3px; }
html .rh-page--pdetail .rh-pd-aside__price small { font-weight: 400; }

@media (max-width: 767px) {
  /* 近くの施設：強調も1列（今の行の形のまま） */
  html .rh-page--pdetail .rh-pd-near[class*="rh-pd-near--"] { grid-template-columns: minmax(0, 1fr); }
  html .rh-page--pdetail .rh-pd-near[class*="rh-pd-near--"] li:nth-child(n+2) { border-top: 0; }
  html .rh-page--pdetail .rh-pd-near[class*="rh-pd-near--"] .rh-pd-near__time { display: inline-block; margin-top: 0; }
  html .rh-page--pdetail .rh-pd-near + .rh-pd-table--near { margin-top: 16px; }

  /* 購入費用 */
  html .rh-page--pdetail .rh-sim { padding: 16px 16px 4px; }
  html .rh-page--pdetail .rh-sim__price { display: block; }
  html .rh-page--pdetail .rh-sim__price-yen { margin-top: 2px; font-size: 16px; }
  html .rh-page--pdetail .rh-sim__price-yen b { font-size: 32px; }
  html .rh-page--pdetail .rh-sim__price-yen small { margin-left: 8px; }
  html .rh-page--pdetail .rh-sim__price + .rh-sr-only + .rh-sim__result { margin-top: 12px; }
  html .rh-page--pdetail .rh-sim__amount { font-size: 17px; }               /* 数字 34px の半分 */
  html .rh-page--pdetail .rh-sim__sub output { font-size: 19px; }
  html .rh-page--pdetail .rh-sim__foot { flex-direction: column; align-items: stretch; gap: 6px; margin-top: 8px; }
  html .rh-page--pdetail .rh-sim__foot .rh-sim__reset { text-align: right; }
}

/* ==========================================================================
   15. 10/4 中古・土地・分譲地（同じテンプレートで出し分け。新築の 12〜14 節の文字の段階・色にそろえる）
   - 物件概要の表の補足（建築条件の内容・別途の費用・最多価格帯）、土地の購入費用（価格と費用だけ）、分譲地の区画の一覧（PC 表／SP カード）
   - 行動の選択（青帯）のカード：見出しをボタンと同じ言葉にした（新築も）。説明文は SP 13px
   ========================================================================== */
/* 物件概要の表：行の中の補足（13px・注記の色・改行して下に） */
html .rh-page--pdetail .rh-pd-table__sub { display: block; margin-top: 4px; color: var(--rh-note); font-size: 13px; line-height: 1.7; }

/* 物件の特徴が無く、こんな方におすすめだけのとき（見出しなしの枠だけ） */
html .rh-page--pdetail .rh-pd-sec--rec { padding-top: 40px; }
html .rh-page--pdetail .rh-pd-sec--rec > .rh-pd-staff { margin-top: 0; }

/* 土地・分譲地の購入費用：価格と、価格のほかにかかる費用（返済シミュレーションなし） */
html .rh-page--pdetail .rh-pd-landcost { padding: 22px 28px 20px; }
html .rh-page--pdetail .rh-pd-landcost .rh-sim__price .rh-ptextlink { margin-left: auto; }
html .rh-page--pdetail .rh-pd-costs__title { margin-top: 20px; color: var(--rh-text); font-size: var(--rh-fs-table); font-weight: 700; line-height: 1.5; }
html .rh-page--pdetail .rh-pd-costs { margin: 8px 0 0; border-top: 1px solid #dfe4e0; }
html .rh-page--pdetail .rh-pd-costs > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #dfe4e0; font-size: var(--rh-fs-table); line-height: 1.6; }
html .rh-page--pdetail .rh-pd-costs dt { color: var(--rh-body); }
html .rh-page--pdetail .rh-pd-costs dd { flex: none; margin: 0; color: var(--rh-text); font-weight: 700; }
html .rh-page--pdetail .rh-pd-landcost .rh-sim__note { margin-top: 12px; }

/* キャンペーン価格の切り替え（[data-rh-cp-end]。期限内＝is-campaign）。rh-property.js 12 が JST の今日で付け外し */
html .rh-cp:not(.is-campaign) .rh-cp-on, html .rh-cp.is-campaign .rh-cp-off { display: none; }
html .rh-pd-table tr:has(> td > .rh-cp:only-child:not(.is-campaign)) { display: none; } /* 期限が過ぎた「取引条件の有効期限」の行 */
html .rh-page--pdetail .rh-pd-cpnote { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin-top: 6px; }
html .rh-pd-cpbadge { display: inline-block; padding: 1px 8px; border-radius: 2px; background: #b3261e; color: var(--rh-white); font-size: 12px; font-weight: 700; }

/* 分譲地：状態のバッジ（区画の一覧・区画のカード共通） */
html .rh-pd-plot__badge { display: inline-block; padding: 3px 10px; border: 1px solid; border-radius: 2px; font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
html .rh-pd-plot__badge.is-sale { border-color: var(--rh-blue); background: var(--rh-blue); color: var(--rh-white); }
html .rh-pd-plot__badge.is-nego { border-color: #c98a2b; background: #fff6e6; color: #7a4a00; }
html .rh-pd-plot__badge.is-sold { border-color: #c9d0cc; background: #f1f3f1; color: #575e5b; }
html .rh-pd-plot__badge.is-house { border-color: var(--rh-line-blue); background: var(--rh-white); color: var(--rh-blue); }
html .rh-pd-plot__none { color: var(--rh-note, #575e5b); }
html .rh-page--pdetail .rh-pd-plots .rh-pd-plans { margin-top: 24px; }

/* 区画の一覧表（全区画・コンパクト）。初期は販売中だけ（.is-off を隠す）、ボタンで全区画（.is-all） */
html .rh-pd-plotlist__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin: var(--rh-sub-gap, 48px) 0 16px; }
html .rh-page--pdetail .rh-pd-plotlist__head .rh-pd-subtitle { margin: 0; }
html .rh-pd-plotlist__toggle { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 0 0 2px; border-bottom: 1px solid currentColor; color: var(--rh-link); font-size: 14px; font-weight: 700; }
html .rh-pd-plotlist__toggle::after { content: "＋"; font-weight: 400; }
html .rh-pd-plotlist__toggle[aria-expanded="true"]::after { content: "−"; }
html .rh-pd-plotlist__toggle::before { content: ""; position: absolute; inset: -12px -6px; }
html .rh-pd-plotlist:not(.is-all) .is-off { display: none; }
html .rh-pd-plotlist__table { width: 100%; border-collapse: collapse; border: 1px solid #dfe4e0; font-size: var(--rh-fs-table, 14px); line-height: 1.6; }
html .rh-pd-plotlist__table thead th { padding: 8px 16px; border-bottom: 1px solid #dfe4e0; background: var(--rh-pd-panel); color: var(--rh-sub, #454c49); font-size: 13px; font-weight: 700; text-align: left; white-space: nowrap; }
html .rh-pd-plotlist__table tbody th, html .rh-pd-plotlist__table td { padding: 10px 16px; border-bottom: 1px solid #dfe4e0; color: var(--rh-body, #272d2b); font-weight: 400; text-align: left; vertical-align: middle; }
html .rh-pd-plotlist__table tbody th { color: var(--rh-text); font-size: 15px; font-weight: 700; }
html .rh-pd-plotlist__table tbody th > a:first-child { color: var(--rh-link); text-decoration: underline; text-underline-offset: 3px; }
html .rh-pd-plotlist__house { display: inline-flex; gap: 4px; margin-left: 12px; color: var(--rh-link); font-size: 13px; font-weight: 700; }
html .rh-pd-plotlist__area small { margin-left: 2px; color: var(--rh-note, #575e5b); font-size: 12px; }
html .rh-pd-plotlist__price { font-weight: 700; white-space: nowrap; }
html .rh-pd-plotlist__price b { margin-right: 1px; font-family: var(--rh-en-sans); font-size: 16px; }
html .rh-pd-plotlist__price b.is-cp { color: #b3261e; }
html .rh-pd-plotlist__price s { margin-left: 8px; color: var(--rh-note, #575e5b); font-size: 12px; font-weight: 400; }
html .rh-pd-plotlist__state { width: 1%; white-space: nowrap; }
html .rh-pd-plotlist__row:is(.is-sold, html .is-house) { background: #fafbfa; }
html .rh-pd-plotlist__row.is-sold > * { opacity: .55; }

/* 販売中の区画のカード（主役）：左＝写真（任意）、中＝区画名・価格・面積など、右＝ポイント・ボタン。下に参考プラン */
html .rh-pd-plotcards { display: grid; gap: 24px; }
html .rh-pd-plotcard { border: 1px solid #dfe4e0; border-top: 3px solid var(--rh-blue); background: var(--rh-white); scroll-margin-top: calc(var(--rh-header-h) + 80px); }
html .rh-pd-plotcard__main { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px 32px; padding: 28px 32px; }
html .rh-pd-plotcard.has-photo .rh-pd-plotcard__main { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) minmax(0, 1fr); }
html .rh-pd-plotcard__photo { margin: 0; }
html .rh-pd-plotcard__photo button { display: block; width: 100%; cursor: zoom-in; }
html .rh-pd-plotcard__photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
html .rh-pd-plotcard__head { display: flex; align-items: center; gap: 12px; }
html .rh-pd-plotcard__name { color: var(--rh-text); font-size: var(--rh-fs-h3, 20px); font-weight: 700; line-height: 1.4; }
html .rh-pd-plotcard__price { margin-top: 12px; }
html .rh-pd-plotcard__cpname { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; color: #b3261e; font-size: 13px; font-weight: 700; line-height: 1.5; }
html .rh-pd-plotcard__cpname span { color: var(--rh-note, #575e5b); font-weight: 400; }
html .rh-pd-plotcard__yen { margin-top: 2px; color: var(--rh-text); font-size: 18px; font-weight: 700; line-height: 1.2; }
html .rh-pd-plotcard__yen b { margin-right: 3px; font-family: var(--rh-en-sans); font-size: 36px; font-weight: 400; letter-spacing: .01em; }
html .rh-pd-plotcard__yen.is-cp { color: #b3261e; }
html .rh-pd-plotcard__reg { margin-top: 4px; color: var(--rh-sub, #454c49); font-size: 13px; }
html .rh-pd-plotcard__reg s { font-weight: 700; }
html .rh-pd-plotcard__facts { margin: 16px 0 0; border-top: 1px solid #dfe4e0; }
html .rh-pd-plotcard__facts > div { display: grid; grid-template-columns: 5.5em minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid #dfe4e0; font-size: var(--rh-fs-table, 14px); line-height: 1.6; }
html .rh-pd-plotcard__facts dt { color: var(--rh-sub, #454c49); font-weight: 700; }
html .rh-pd-plotcard__facts dd { margin: 0; color: var(--rh-body, #272d2b); }
html .rh-pd-plotcard__facts dd small { display: block; color: var(--rh-note, #575e5b); font-size: 12px; }
html .rh-pd-plotcard__terms { margin-top: 12px; font-size: 13px; }
html .rh-pd-plotcard__terms summary { cursor: pointer; color: var(--rh-link); font-weight: 700; }
html .rh-pd-plotcard__terms ul { margin-top: 6px; padding-left: 1.2em; list-style: disc; color: var(--rh-body, #272d2b); line-height: 1.7; }
html .rh-pd-plotcard__side { display: flex; flex-direction: column; gap: 20px; }
html .rh-pd-plotcard__points { padding: 16px 20px; background: var(--rh-soft); }
html .rh-pd-plotcard__points > p { color: var(--rh-link); font-size: 14px; font-weight: 700; }
html .rh-pd-plotcard__points .rh-pcard__checks { margin-top: 8px; }
html .rh-pd-plotcard__points .rh-pcard__checks li { font-size: 14px; }
html .rh-pd-plotcard__actions { display: grid; gap: 10px; margin-top: auto; }

/* 参考プラン（セットプラン）：区画のカードの下。写真のスライダー｜キャッチ・タグ・建物・土地＋建物の参考合計・月々 */
html .rh-pd-plotcard__plans { border-top: 1px solid #dfe4e0; background: var(--rh-pd-panel); }
html .rh-pd-plotcard__plans > summary { display: flex; align-items: center; gap: 4px; min-height: 48px; padding: 10px 32px; color: var(--rh-link); font-size: 15px; font-weight: 700; cursor: pointer; list-style: none; }
html .rh-pd-plotcard__plans > summary::-webkit-details-marker { display: none; }
html .rh-pd-plotcard__plans > summary::after { content: "▾"; margin-left: auto; }
html .rh-pd-plotcard__plans[open] > summary::after { content: "▴"; }
html .rh-pd-plotcard__plans > summary span { color: var(--rh-sub, #454c49); font-weight: 400; }
html .rh-pd-plotcard__plans > .rh-pd-note { margin: 0; padding: 0 32px 20px; }
html .rh-pd-setplan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 32px; margin: 0 32px 20px; padding: 24px; border: 1px solid #dfe4e0; background: var(--rh-white); }
html .rh-slider--setplan { align-self: start; }
html .rh-slider--setplan .rh-slider__slide button { display: block; width: 100%; cursor: zoom-in; }
html .rh-slider--setplan .rh-slider__slide img { aspect-ratio: 16 / 11; height: auto; }
html .rh-slider--setplan .rh-slider__slide img.is-plan { object-fit: contain; background: var(--rh-white); }
html .rh-pd-setplan__label { color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 13px; font-weight: 700; letter-spacing: .06em; }
html .rh-pd-setplan__catch { margin-top: 6px; color: var(--rh-text); font-size: 17px; font-weight: 700; line-height: 1.6; }
html .rh-pd-setplan__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
html .rh-pd-setplan__tags li { padding: 3px 8px; border-radius: 3px; background: var(--rh-soft); color: var(--rh-blue); font-size: 13px; font-weight: 500; line-height: 1.5; }
html .rh-pd-setplan__spec { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 14px 0 0; font-size: var(--rh-fs-table, 14px); }
html .rh-pd-setplan__spec > div { display: flex; gap: 8px; }
html .rh-pd-setplan__spec dt { color: var(--rh-sub, #454c49); font-weight: 700; }
html .rh-pd-setplan__spec dd { margin: 0; color: var(--rh-body, #272d2b); }
html .rh-pd-setplan__total { margin-top: 16px; padding: 14px 18px; background: var(--rh-soft); }
html .rh-pd-setplan__lb { color: var(--rh-text); font-size: 13px; font-weight: 700; }
html .rh-pd-setplan__yen { margin-top: 2px; color: var(--rh-link); font-size: 16px; font-weight: 700; line-height: 1.2; }
html .rh-pd-setplan__yen b { margin-right: 3px; font-family: var(--rh-en-sans); font-size: 32px; font-weight: 700; }
html .rh-pd-setplan__yen small { margin-left: 4px; color: var(--rh-note, #575e5b); font-size: 12px; font-weight: 400; }
html .rh-pd-setplan__monthly { margin-top: 6px; color: var(--rh-text); font-size: 14px; font-weight: 700; }
html .rh-pd-setplan__monthly b { margin: 0 2px; font-family: var(--rh-en-sans); font-size: 20px; }
html .rh-pd-setplan__cond { color: var(--rh-note, #575e5b); font-size: 12px; line-height: 1.6; }
html .rh-pd-setplan__note { margin-top: 10px; color: var(--rh-body, #272d2b); font-size: 14px; font-weight: 700; }
@media (max-width: 1100px) and (min-width: 768px) {
  html .rh-pd-plotcard.has-photo .rh-pd-plotcard__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  html .rh-pd-plotcard.has-photo .rh-pd-plotcard__side { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  /* SP：区画の一覧はコンパクトな行（区画名｜状態、下に 面積・価格） */
  html .rh-pd-plotlist__table, html .rh-pd-plotlist__table tbody { display: block; }
  html .rh-pd-plotlist__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  html .rh-pd-plotlist__table tr { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: 2px 14px; padding: 10px 12px; border-bottom: 1px solid #dfe4e0; }
  html .rh-pd-plotlist__table tbody tr:last-child { border-bottom: 0; }
  html .rh-pd-plotlist__table tbody th, html .rh-pd-plotlist__table td { padding: 0; border: 0; }
  html .rh-pd-plotlist__table tbody th { grid-column: 1 / 3; grid-row: 1; }
  html .rh-pd-plotlist__state { grid-column: 3; grid-row: 1 / span 2; align-self: center; width: auto; }
  html .rh-pd-plotlist__area, html .rh-pd-plotlist__price { grid-row: 2; font-size: 13px; }
  html .rh-pd-plotlist__area { grid-column: 1; }
  html .rh-pd-plotlist__price { grid-column: 2; }
  html .rh-pd-plotlist__price s { margin-left: 6px; }
  html .rh-pd-plotlist__row:is(.is-sold, html .is-house) td:is(.rh-pd-plotlist__area, html .rh-pd-plotlist__price):has(> .rh-pd-plot__none) { display: none; }
  html .rh-pd-plotlist__house { margin-left: 8px; }
  html .rh-pd-plotlist__toggle { min-height: 44px; border-bottom: 0; text-decoration: underline; text-underline-offset: 3px; }

  /* SP：区画のカードは縦に1列。参考プランはたたむ（rh-property.js 12） */
  html .rh-pd-plotcard__main, html .rh-pd-plotcard.has-photo .rh-pd-plotcard__main { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px 16px; }
  html .rh-pd-plotcard__yen b { font-size: 32px; }
  html .rh-pd-plotcard__plans > summary { padding: 10px 16px; }
  html .rh-pd-plotcard__plans > .rh-pd-note { padding: 0 16px 16px; }
  html .rh-pd-setplan { grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0 16px 16px; padding: 16px; }
  html .rh-pd-setplan__catch { font-size: 16px; }
  html .rh-pd-setplan__yen b { font-size: 28px; }

  html .rh-page--pdetail .rh-pd-sec--rec { padding-top: 24px; }
  html .rh-page--pdetail .rh-pd-landcost { padding: 16px 16px 14px; }
  html .rh-page--pdetail .rh-pd-landcost .rh-sim__price .rh-ptextlink { display: inline-flex; margin-top: 8px; }

  /* 行動の選択：カードの説明文は SP 13px（見出しをボタンと同じ言葉にしたので、説明は補足の大きさに） */
  html .rh-page--pdetail .rh-pd-choice__body > p { font-size: 13px; line-height: 1.75; }
}

/* 物件一覧の絞り込み：枠の下の空きを詰める */
@media (max-width: 767px) { html .rh-plist-filter__help { margin-bottom: 10px; } }
/* ページ末の注記（物件概要の下。両備 10/5 依頼） */
html .rh-pd-disclaimer { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--rh-line); color: #575e5b; font-size: 12px; line-height: 1.8; }

/* ===== 社内コメント対応（10/6。AUN のコメント） ===== */
/* FV の背景：淡い青 → 白（#8／「白かグレーなど、サイトに合わせて」） */
html .rh-pd-hero { background: var(--rh-white); }
/* 追従カード：上の太い線をやめる（#10） */
html .rh-pd-aside__card { border-top-width: 1px; }
/* ページ内メニューの矢印：グロナビと同じ山形に（#25）。色は文字に合わせる（現在地・ホバーで白） */
html .rh-pd-nav a::after {
  content: ""; width: 10px; height: 6px; bottom: 50%; transform: translateY(50%);
  background: currentColor; color: var(--rh-blue);
  -webkit-mask: url(../img/icon/chevron-down.svg) center / contain no-repeat; mask: url(../img/icon/chevron-down.svg) center / contain no-repeat;
}
/* イベントの帯をボタンの下へ（#7）：ボタンと同じ幅、上に間隔 */
html .rh-pd-hero__actions + .rh-pd-evband { max-width: 340px; margin: 20px 0 0; }
@media (max-width: 767px) { html .rh-pd-hero__actions + .rh-pd-evband { max-width: none; margin-top: 16px; } }
/* イベントの帯：FV の背景を白にしたので、帯に淡い青を敷く（サイトの淡い青＝--rh-soft）。2本目（随時開催など）も同じ */
html .rh-pd-evband__item,
html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__item { background: var(--rh-soft); box-shadow: none; }
html .rh-pd-evband__item:hover,
html .rh-pd-evband__row:not([hidden]) ~ .rh-pd-evband__row .rh-pd-evband__item:hover { background: #e3edf6; }
/* 周辺施設：強調する施設は、種類の文字の代わりにアイコン（種類から自動。 #15〜17） */
html .rh-pd-near__kind::before, html .rh-page--pdetail .rh-pd-near__kind::before { content: none; }
html .rh-page--pdetail .rh-pd-near li { grid-template-columns: 36px minmax(0, 1fr); align-items: center; }
html .rh-pd-near__kind { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--rh-soft); color: var(--rh-blue); }
html .rh-pd-near__icon { width: 20px; height: 20px; }
@media (max-width: 767px) { html .rh-pd-near li, html .rh-page--pdetail .rh-pd-near li { grid-template-columns: 36px minmax(0, 1fr); } }

/* ===== 社内コメント対応（10/15）。WP だけ（試作には無い。port で上書きしないこと） ===== */
/* ホバーで白い文字が青になって背景に溶ける：「物件の概要」の青い帯の「物件概要をすべて見る」。
   rh-hover.css の「class の無いリンクは青＋下線」（.rh-shell--body a:not([class]):hover）が勝っていた。白のまま下線だけにする */
html .rh-page--pdetail .rh-pd-spec__head a:not([class]):hover { color: var(--rh-white); }
/* よくあるご質問の開閉の印（「文字化け？」）：全角の「＋」と記号の「−」は書体・環境で形や幅が変わるので、線で描く */
html .rh-pd-faq summary::after,
html .rh-page--pdetail .rh-pd-faq summary::after {
  content: ""; width: 16px; height: 16px; top: 50%; right: 8px; transform: translateY(-50%); color: var(--rh-blue);
  background: linear-gradient(currentColor, currentColor) center / 16px 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 16px no-repeat;
}
html .rh-pd-faq[open] summary::after,
html .rh-page--pdetail .rh-pd-faq[open] summary::after { content: ""; background: linear-gradient(currentColor, currentColor) center / 16px 2px no-repeat; }
@media (max-width: 767px) { html .rh-page--pdetail .rh-pd-faq summary::after { right: 4px; width: 14px; height: 14px; background-size: 14px 2px, 2px 14px; } html .rh-page--pdetail .rh-pd-faq[open] summary::after { background-size: 14px 2px; } }
/* 写真の拡大：前後へ送るボタンと枚数（rh-property.js の 7） */
html .rh-zoom__count { margin: 0 16px 0 auto; color: var(--rh-gray); font-family: var(--rh-en-sans); font-size: 12px; white-space: nowrap; }
html .rh-zoom__count:empty { display: none; }
html .rh-zoom__nav {
  position: absolute; top: calc(50% + 24px); transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255, 255, 255, .92); color: var(--rh-blue); font-size: 18px; line-height: 1; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); cursor: pointer;
}
html .rh-zoom__nav[hidden] { display: none; }
html .rh-zoom__nav--prev { left: 12px; }
html .rh-zoom__nav--next { right: 12px; }
@media (hover: hover) { html .rh-zoom__nav:hover { background: var(--rh-blue); color: var(--rh-white); } }
@media (max-width: 767px) { html .rh-zoom__nav { width: 36px; height: 36px; font-size: 15px; } html .rh-zoom__nav--prev { left: 6px; } html .rh-zoom__nav--next { right: 6px; } }
/* FV のイベントの帯の上の見出し（旧8：何の帯か分からない） */
html .rh-pd-evband__head { margin: 20px 0 8px; color: var(--rh-text); font-size: 13px; font-weight: 700; letter-spacing: .04em; }
html .rh-pd-evband__head[hidden] { display: none; }
html .rh-pd-evband__head + .rh-pd-evband { max-width: 340px; margin: 0; }
@media (max-width: 767px) { html .rh-pd-evband__head { margin-top: 16px; } html .rh-pd-evband__head + .rh-pd-evband { max-width: none; } }
/* 周辺環境：紹介の見出し（④。分譲地のエリア紹介の「紹介の見出し」） */
html .rh-pd-loc__heading { margin-top: 18px; color: var(--rh-text); font-size: 18px; font-weight: 700; line-height: 1.6; }
html .rh-page--pdetail .rh-pd-loc__heading { margin-top: var(--rh-head-gap); font-size: var(--rh-fs-h3); line-height: 1.5; letter-spacing: .02em; }
html .rh-pd-loc__heading + .rh-pd-lead, html .rh-page--pdetail .rh-pd-loc__heading + .rh-pd-lead { margin-top: 10px; }
/* 物件カードの面積の坪（旧3・13）：㎡ と同じ小さな文字。入りきらなければ次の行へ */
html .rh-pcard__facts dd small { white-space: nowrap; }

/* ---------- 10/15 B1 建売・分譲住宅のページ（/service/bunjo/。今のテーマの page-bunjo.php）の物件カード（rh/property/bunjo.php） ---------- */
html .rh-bunjo-props { --rh-cream: rgba(255, 254, 249, .94); --rh-photo-bg: #f5f3ed; max-width: 1100px; margin: 0 auto; text-align: left; }
html .rh-bunjo-props .rh-plist-cards { margin-top: 0; }
/* 旧デザインのページ（body に rh-page が無い）なので、ボタンの土台（rh-base の :where(.rh-page) button）をここで当てる */
html :where(.rh-bunjo-props) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
html .rh-bunjo-props__all { display: flex; justify-content: center; margin-top: calc(var(--rh-pcard-gap) + 8px); }
html .rh-bunjo-props__all .rh-pbtn { min-width: 340px; min-height: 60px; padding: 14px 24px; font-size: 15px; }
@media (max-width: 767px) {
  html .rh-bunjo-props__all .rh-pbtn { width: 100%; min-width: 0; }
}

/* 建売・分譲住宅のページ（page-bunjo.php）の MORE ABOUT：見出しと本文の差を付け、本文の字間を詰め、カードの内側に余白。WP だけ */
html .so-about .so-aboutItem { padding: 10px 10px 20px; }
html .so-about .so-aboutItem .so-aboutItemTitle { margin-bottom: 10px; line-height: 1.4; }
html .so-about .so-aboutItem .so-aboutItemTxt { padding: 0 6px; font-size: 13px; line-height: 1.8; letter-spacing: .02em; }
@media (max-width: 767px) { html .so-about .so-aboutItem .so-aboutItemTxt { font-size: 12px; } }

/* 中身の無い注記は出さない（最終確認 10/15：特徴・性能の注記が空でも 24px の余白だけ出ていた） */
html .rh-page--pdetail .rh-pd-note:empty { display: none; }

/* 間取り図の名前（英字の横） */
html .rh-pd-plan__name { margin-left: 10px; color: var(--rh-text); font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: .02em; }

/* この物件のイベントの置き場所：FV から外し、PC は追従カードのボタンの下に控えめに、スマホは物件の概要の下 */
html .rh-pd-aside__ev { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--rh-line); }
html .rh-pd-aside__ev .rh-pd-evband__head { margin: 0 0 6px; color: var(--rh-gray); font-size: 11px; font-weight: 700; letter-spacing: .5px; }
html .rh-pd-aside__ev .rh-pd-evband { max-width: none; margin: 0; gap: 2px; }
html .rh-pd-aside__ev .rh-pd-evband__item { grid-template-columns: minmax(0, 1fr); grid-template-areas: "state" "text"; gap: 2px; padding: 9px 12px 10px; border: 1px solid var(--rh-line); border-left: 3px solid var(--rh-blue); border-radius: 3px; background: var(--rh-white); box-shadow: none; }   /* 白い地の小さなカードに（地と同じ色で分かりにくかった） */
html .rh-pd-aside__ev .rh-pd-evband__item:hover { background: var(--rh-white); border-color: var(--rh-blue); }
html .rh-pd-aside__ev .rh-pd-evband { gap: 6px; }
html .rh-pd-aside__ev .rh-pd-evband__item:hover .rh-pd-evband__text { color: var(--rh-link); text-decoration: underline; text-underline-offset: 3px; }
html .rh-pd-aside__ev .rh-pd-evband__text { font-size: 13px; line-height: 1.45; }
html .rh-pd-aside__ev .rh-pd-evband__text::after { content: " →"; color: var(--rh-blue); }
html .rh-pd-aside__ev .rh-pd-evband__more { display: none; }
html .rh-pd-evsp { display: none; }
@media (max-width: 767px) {
  html .rh-pd-evsp { display: block; margin-top: 20px; }
  html .rh-pd-evsp .rh-pd-evband { margin-bottom: 0; }
}

/* 分譲地の特集の写真（物件一覧の「分譲地の特集」・物件ページの FEATURE）：真ん中で切る（指摘 H4。上寄りに見えていた） */
html .rh-plist-feature__card img, html .rh-pd-feature img { object-position: center; }

/* 間取りが長いとき（render-page.php で .is-wide）：PC・タブレットは間取りの欄を2マス分にして1行で（H3） */
@media (min-width: 768px) {
  html .rh-pd-spec__cells:has(> .is-wide) { --rh-cells: 5; }
  html .rh-pd-spec__cells--3:has(> .is-wide) { --rh-cells: 4; }
  html .rh-pd-spec__cells > .is-wide { grid-column: span 2; }
}

/* ==========================================================================
   タブレット（iPad 768px〜1100px。I3）
   - 物件ページの右の追従カード（申し込みの入口）は出さない。本文を幅いっぱいに。申し込みはヘッダーのボタンと右端の追従ボタンから
     追従カードの中にあった「この物件のイベント」は、スマホと同じく物件の概要の下に出す
   - ページ内メニューは1行に収める（〜1023px：番号を小さく・矢印なし・折り返さない）
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1100px) {
  html .rh-pd-body { grid-template-columns: minmax(0, 1fr); }
  html .rh-pd-aside { display: none; }
  html .rh-pd-evsp { display: block; margin-top: 20px; }
  html .rh-pd-evsp .rh-pd-evband { margin-bottom: 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  html .rh-pd-nav a { justify-content: center; gap: 6px; padding: 14px 6px 12px; font-size: 13px; white-space: nowrap; }
  html .rh-pd-nav a span { font-size: 11px; }
  html .rh-pd-nav a::after { display: none; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  /* FV：横に並べると文字の列が狭く、札が写真の下に潜り、見出しが細かく折れていた。写真を上、文字を下に（サムネイルは残す） */
  html .rh-pd-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 0; }
  html .rh-pd-hero__media { order: -1; padding: 24px 0 0; }
  html .rh-pd-hero__body { padding: 28px 0 40px; }
  html .rh-pd-hero__meta, html .rh-pd-hero__locrow { max-width: none; }
  html .rh-pd-hero__lead { max-width: 560px; margin-top: 20px; }
  html .rh-pd-hero__actions { grid-template-columns: repeat(2, minmax(0, 260px)); max-width: none; }
}

/* 分譲地の特集：カード全体を押せるように（「特集を見る」のリンクをカードいっぱいに広げる。清水 10/18） */
html .rh-plist-feature__card { position: relative; cursor: pointer; }
html .rh-plist-feature__card .rh-ptextlink::after { content: ""; position: absolute; inset: 0; z-index: 1; }
html .rh-plist-feature__card img { transition: opacity .2s; }
@media (hover: hover) {
  html .rh-plist-feature__card:hover img { opacity: .85; }
  html .rh-plist-feature__card:hover .rh-plist-feature__name { color: var(--rh-link); }
}

/* 物件一覧の並び替え（清水 10/18） */
html .rh-plist-tools { display: flex; align-items: center; gap: 20px; }
html .rh-plist-sort select { height: 38px; padding: 0 34px 0 14px; border: 1px solid var(--rh-line); border-radius: 4px; background: var(--rh-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230054a6' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--rh-text); font-size: 13px; appearance: none; cursor: pointer; }
@media (max-width: 767px) { html .rh-plist-head { flex-wrap: wrap; gap: 12px; } html .rh-plist-tools { width: 100%; justify-content: space-between; } }

/* セミオーダー受付中の札：ほかの札より少し目立たせる（清水 10/18） */
html .rh-pcard__badge--semi { border: 2px solid var(--rh-blue); background: var(--rh-white); color: var(--rh-blue); font-weight: 700; }   /* 赤は目立ちすぎ → 白地・青の太めの縁・太字（清水 10/18） */
@media (min-width: 768px) {
  html .rh-pd-spec__cells:has(> .is-long) { --rh-cells: 3; }
  html .rh-pd-spec__cells--3:has(> .is-long) { --rh-cells: 2; }
  html .rh-pd-spec__cells > .is-long { grid-column: 1 / -1; }
  html .rh-pd-spec__cells > .is-long dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 12px; }
  html .rh-pd-spec__cells > .is-long small { display: inline; margin: 0; }
}

/* ページ上部：見出し（ひとこと）の下に「この家の特徴」の3行（清水 10/18） */
html .rh-pd-hero__points { display: grid; gap: 8px; margin-top: 20px; }
html .rh-pd-hero__points li { position: relative; padding-left: 26px; color: var(--rh-text); font-size: 15px; font-weight: 700; line-height: 1.6; }
html .rh-pd-hero__points li::before { content: ""; position: absolute; left: 2px; top: .35em; width: 14px; height: 8px; border-left: 2.5px solid var(--rh-blue); border-bottom: 2.5px solid var(--rh-blue); transform: rotate(-45deg); }
html .rh-pd-hero__points + .rh-pd-hero__actions { margin-top: 28px; }
@media (max-width: 767px) { html .rh-pd-hero__points li { font-size: 14px; } }
html .rh-page--pdetail .rh-pd-hero__catch { font-family: var(--rh-sans); font-size: 28px; font-weight: 700; line-height: 1.5; letter-spacing: 1px; word-break: auto-phrase; text-wrap: pretty; }   /* 見出しは「ひとこと」（1行の文）になったので、少し小さく・言葉の切れ目で折る（清水 10/18） */
@media (max-width: 767px) { html .rh-page--pdetail .rh-pd-hero__catch { font-size: 22px; } }

/* 担当者から：スタッフの写真・部署・名前（清水 10/18） */
html .rh-pd-staff__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
html .rh-pd-staff__who { display: grid; gap: 2px; text-align: center; }
html .rh-pd-staff__who small { color: var(--rh-gray); font-size: 11px; }
html .rh-pd-staff__who b { color: var(--rh-text); font-size: 14px; font-weight: 700; }
@media (max-width: 767px) { html .rh-pd-staff__who { text-align: left; } }

/* こんな方におすすめ：2列・少し太く（清水 10/18：3列だと1つずつが読みにくい） */
html .rh-pd-check ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html .rh-pd-check li { font-weight: 500; color: var(--rh-text); }
@media (max-width: 767px) { html .rh-pd-check ul { grid-template-columns: minmax(0, 1fr) !important; } }

/* 担当者から：写真を大きく（PC 120px・スマホ 80px）、スタッフ紹介の紹介文（3行まで）とリンク。スマホは担当者をコメントの下に（清水 10/18） */
html .rh-page--pdetail .rh-pd-staff:not(.rh-pd-staff--list) { grid-template-columns: 210px minmax(0, 1fr); }
html .rh-pd-staff__label .rh-pd-staff__photo { width: 120px; height: 120px; }
html .rh-pd-staff__prof { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; color: var(--rh-gray); font-size: 12px; line-height: 1.7; text-align: left; }
html .rh-pd-staff__more { display: inline-flex; align-items: center; gap: 6px; color: var(--rh-link); font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
@media (hover: hover) { html .rh-pd-staff__more:hover { color: var(--rh-blue); } }
@media (max-width: 767px) {
  html .rh-page--pdetail .rh-pd-staff:not(.rh-pd-staff--list) { display: flex; flex-direction: column; }
  html .rh-pd-staff:not(.rh-pd-staff--list) .rh-pd-staff__label { order: 2; display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: center; gap: 6px 14px; margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--rh-line); text-align: left; }
  html .rh-pd-staff__label .rh-pd-staff__photo { width: 80px; height: 80px; grid-row: span 2; }
  html .rh-pd-staff__label .rh-pd-staff__prof { grid-column: 1 / -1; -webkit-line-clamp: 3; }
  html .rh-pd-staff__label .rh-pd-staff__more { grid-column: 1 / -1; justify-self: start; }
  html .rh-pd-staff:not(.rh-pd-staff--list) .rh-pd-staff__body { order: 1; }
}

/* この家の仕様・設備の表（清水 10/18）：見た目は周辺施設・物件概要の表（.rh-pd-table）と同じ */
html .rh-pd-spectable { margin-top: 16px; }
html .rh-pd-staff__label { align-items: flex-start; text-align: left; }   /* 担当者の写真・名前・紹介文は左揃え（清水 10/18） */
html .rh-pd-staff__who { text-align: left; }
html .rh-pd-plan__name { margin-left: 0; font-size: 14px; }   /* 英字（FLOOR PLAN）をやめたので、図面の名前だけ（10/18） */
