/* generated from src/modelhouse.css by _design/tools/build_css.py — 編集は src/ 側で */
/* ==========================================================================
   モデルハウス一覧（XD：SP「モデルハウス一覧」390×2517・2026-10-30）／モデルハウスの詳細（XD なし）
   PC・TB はデザインなし：PC3ページの寸法ルール（ラベル x200/y80・本文カラム 800）で制作（RYO「1Aと同じ」）
   詳細ページは XD に無い（RYO「ノークHPであるなら作る」）：一覧・ALVIA HOMEについて・汎用ページの部品で制作部が作成
   ========================================================================== */
.pg-mh { padding-bottom: calc(120 * var(--u)); }
/* ラベル（ギャラリーのページと同じ組み方。XD：アイコン x20/y43・「Model House」x72/y48.4・「モデルハウス」x72/y77） */
.pg-mh .c-label__box img:last-child { left: calc(52 * var(--u)); top: calc(5.43 * var(--u)); width: calc(148.34 * var(--u)); }
.mh-label__ja { position: absolute; left: calc(52 * var(--u)); top: calc(114 * var(--u)); }
.mh-label__ja img { display: block; width: calc(70.23 * var(--u)); height: auto; }

/* 都道府県の見出し（XD：「●」10px・「福井県」16px 字間 50・線 x101〜370／y154・1px #2b2320） */
.mh-pref { position: relative; padding-left: calc(16 * var(--u)); font-size: calc(16 * var(--u)); font-weight: 400; line-height: calc(28 * var(--u)); letter-spacing: 0.05em; }
.mh-pref > span { position: relative; top: calc(-0.91 * var(--u)); }
.mh-pref::before { content: "●"; position: absolute; left: 0; top: calc(-0.7 * var(--u)); font-size: calc(10 * var(--u)); line-height: calc(28 * var(--u)); letter-spacing: 0; }
.mh-pref::after { content: ""; position: absolute; left: calc(81 * var(--u)); right: 0; top: calc(13.08 * var(--u)); height: 1px; background: #2b2320; }

.mh-group { width: calc(800 * var(--u)); margin: calc(100 * var(--u)) auto 0; }
.mh-group + .mh-group { margin-top: calc(80 * var(--u)); }
.mh-group .c-mh-list { width: auto; margin-top: calc(40 * var(--u)); }
.mh-empty { width: calc(800 * var(--u)); margin: calc(100 * var(--u)) auto 0; font-size: calc(15 * var(--u)); line-height: calc(28 * var(--u)); }

/* ---------- 詳細 ---------- */
.mh-single { width: calc(800 * var(--u)); margin: calc(100 * var(--u)) auto 0; }
.mh-single__title { margin-top: calc(20 * var(--u)); font-size: calc(32 * var(--u)); font-weight: 400; line-height: 1.5; letter-spacing: 0.05em; }
.mh-single__catch { margin-top: calc(10 * var(--u)); font-size: calc(18 * var(--u)); font-weight: 500; line-height: calc(30 * var(--u)); letter-spacing: 0.05em; }
.mh-single__main { display: grid; grid-template-columns: calc(400 * var(--u)) 1fr; column-gap: calc(40 * var(--u)); align-items: start; margin-top: calc(40 * var(--u)); }
.mh-single__img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.mh-single__data { font-size: calc(15 * var(--u)); line-height: calc(28 * var(--u)); }
.mh-single__spec { font-family: var(--f-en); font-size: calc(15 * var(--u)); line-height: calc(28 * var(--u)); }
.mh-single__addr { margin-top: calc(10 * var(--u)); }
.mh-single__info { margin-top: calc(14 * var(--u)); }
.mh-single__btn { margin-top: calc(26.5 * var(--u)); }
.mh-single__btn .c-linebtn { --lb-x: calc(27 * var(--u)); }
.mh-single__body { margin-top: calc(60 * var(--u)); font-size: calc(15 * var(--u)); line-height: calc(28 * var(--u)); }
.mh-single__body > * + * { margin-top: 1.2em; }
.mh-single__body a { color: var(--c-accent); text-decoration: underline; }
.mh-single__body img { max-width: 100%; height: auto; }
.mh-single__back { margin-top: calc(80 * var(--u)); }
.ab-map { margin-top: calc(5 * var(--u)); font-size: calc(15 * var(--u)); line-height: calc(28 * var(--u)); }
.ab-map a { position: relative; top: calc(0.54 * var(--u)); display: inline-block; padding-left: calc(18 * var(--u)); color: var(--c-accent); }
.ab-map a:hover { text-decoration: underline; }
.ab-map img { position: absolute; left: 0; top: calc(4.96 * var(--u)); width: calc(11.506 * var(--u)); height: auto; }

/* ---------- TB（768〜1023） ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .pg-mh .c-label { margin-left: 32px; }
  .mh-group, .mh-empty, .mh-single { width: auto; margin-left: 64px; margin-right: 32px; }
  .mh-single__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; }
}

/* ---------- SP（XD どおり） ---------- */
@media (max-width: 767px) {
  .pg-mh { padding-bottom: calc(94.9 * var(--u)); } /* XD：3枚目のカードの終わり（次のカードまでの 417.9）→ CTA 94.9 */
  .mh-label__ja { top: calc(77 * var(--u)); }
  .mh-group { width: auto; margin: calc(76.92 * var(--u)) calc(20 * var(--u)) 0; }
  .mh-group + .mh-group { margin-top: calc(30 * var(--u)); }
  .mh-group .c-mh-list { margin: calc(27.08 * var(--u)) 0 0 calc(25 * var(--u)); } /* カードの左 x=45（見出しの左 x=20 から 25） */
  .mh-empty { width: auto; margin: calc(60 * var(--u)) calc(20 * var(--u)) 0; }

  .mh-single { width: auto; margin: calc(60 * var(--u)) calc(20 * var(--u)) 0; }
  .mh-single__title { margin-top: calc(12 * var(--u)); font-size: calc(24 * var(--u)); }
  .mh-single__catch { font-size: calc(16 * var(--u)); line-height: calc(26 * var(--u)); }
  .mh-single__main { display: block; margin-top: calc(30 * var(--u)); }
  .mh-single__data { margin-top: calc(30 * var(--u)); }
  .mh-single__btn .c-linebtn { margin-left: calc(65 * var(--u)); }
  .mh-single__body { margin-top: calc(50 * var(--u)); }
  .mh-single__back { margin-top: calc(60 * var(--u)); }
  .mh-single__back .c-more { margin: 0 auto; }
}
