@charset "UTF-8";
/* ============================================================================
   LUMIA COURT LP — L41 styles
   scope: .page-template-modelhouse-lp .lumia / .lumia-*  （二重詳細度・!important不使用）
   ※ !important は §7 reduced-motion ブロックの1箇所のみ許容
   ============================================================================ */

/* ===========================================================================
   §2  トークン定義
   =========================================================================== */
.page-template-modelhouse-lp .lumia{
  /* ── 基調(墨・紙) ── */
  --lc-paper:      #f7f4ee;
  --lc-paper-2:    #efe9df;
  --lc-beige:      #e8dec9;
  --lc-beige-2:    #c9b79c;
  --lc-ink:        #241c15;
  --lc-sumi-2:     #2a2925;
  --lc-black:      #0e0e0c;

  /* ── 文字色 ── */
  --lc-text:       #1f1e1b;
  --lc-text-sub:   #4a463e;
  --lc-mute:       var(--lc-text-sub);
  --lc-on-dark:    #f4f1ea;
  --lc-on-dark-sub:#cfc8ba;

  /* ── アクセント(真鍮金) ── */
  --lc-gold:       #9a7b4f;
  --lc-gold-strong:#7e6038;
  --lc-gold-on-dark:#c2a063;

  /* ── 差し色(外観S4) ── */
  --lc-terra:      #8a4b32;

  /* ── 機能色 ── */
  --lc-line:       rgba(154,123,79,.55);
  --lc-line-dark:  rgba(194,160,99,.45);
  --lc-hairline:   rgba(31,30,27,.14);
  --lc-overlay:    rgba(14,14,12,.62);
  --lc-overlay-2:  rgba(14,14,12,.42);
  --lc-shadow:     0 10px 36px rgba(20,18,14,.14);
  --lc-focus:      #2f6df0;

  /* ── フォント ── */
  --lc-font-head: "Shippori Mincho", "Noto Serif JP", serif;
  --lc-font-body: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  --lc-font-en:   "Poppins", "Shippori Mincho", sans-serif;

  /* ── 余白・リズム ── */
  --lc-sp-section: clamp(4.5rem, 14vw, 7rem);
  --lc-sp-section-tight: clamp(3rem, 10vw, 4.5rem);
  --lc-sp-block:   clamp(2.0rem, 7vw, 3.0rem);
  --lc-sp-inline:  clamp(1.25rem, 6vw, 1.75rem);
  --lc-sp-tight:   clamp(.9rem, 3.5vw, 1.3rem);
  --lc-maxw:       clamp(20rem, 92vw, 33rem);

  /* ── motion ── */
  --lc-ease-out:     cubic-bezier(.22,.61,.36,1);
  --lc-ease-curtain: cubic-bezier(.76,0,.24,1);
  --lc-dur-s: .5s;
  --lc-dur-m: .8s;
  --lc-dur-l: 1.1s;
  --lc-stagger: 28ms;
  --lc-parallax-dist: clamp(18px, 6vw, 28px);

  /* ── base ── */
  color: var(--lc-text);
  font-family: var(--lc-font-body);
  background: var(--lc-paper);
  line-height: 2.0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* スムーススクロール（控えめ） */
.page-template-modelhouse-lp{ scroll-behavior: smooth; }

/* ===========================================================================
   共通リセット / ベース要素
   =========================================================================== */
.page-template-modelhouse-lp .lumia *,
.page-template-modelhouse-lp .lumia *::before,
.page-template-modelhouse-lp .lumia *::after{ box-sizing: border-box; }

.page-template-modelhouse-lp .lumia section{
  position: relative;
  padding-block: var(--lc-sp-section);
  padding-inline: var(--lc-sp-inline);
}

.page-template-modelhouse-lp .lumia [id]{
  scroll-margin-block-start: 2rem;
}

.page-template-modelhouse-lp .lumia img{
  display: block;
  max-inline-size: 100%;
  height: auto;
}

.page-template-modelhouse-lp .lumia p{ margin: 0; }

.page-template-modelhouse-lp .lumia a{
  color: inherit;
  text-decoration: none;
}

/* 内側コンテンツの共通ラッパ */
.page-template-modelhouse-lp .lumia-fv__inner,
.page-template-modelhouse-lp .lumia-garden__inner,
.page-template-modelhouse-lp .lumia-air__inner,
.page-template-modelhouse-lp .lumia-exterior__inner,
.page-template-modelhouse-lp .lumia-design__inner,
.page-template-modelhouse-lp .lumia-gallery__inner,
.page-template-modelhouse-lp .lumia-design__cta-inner,
.page-template-modelhouse-lp .lumia-program__inner,
.page-template-modelhouse-lp .lumia-booth__inner,
.page-template-modelhouse-lp .lumia-cta__inner{
  position: relative;
  z-index: 1;
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
}

/* 本文 / リード 共通組版 */
.page-template-modelhouse-lp .lumia-lead,
.page-template-modelhouse-lp .lumia-body{
  font-family: var(--lc-font-body);
  font-weight: 400;
  font-size: clamp(.95rem, 3.4vw, 1.02rem);
  line-height: 2.0;
  letter-spacing: .02em;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: pretty;
}
.page-template-modelhouse-lp .lumia-lead p,
.page-template-modelhouse-lp .lumia-body p{
  margin-block: 1.1em;
}
.page-template-modelhouse-lp .lumia-lead p:first-child,
.page-template-modelhouse-lp .lumia-body p:first-child{ margin-block-start: 0; }
.page-template-modelhouse-lp .lumia-lead p:last-child,
.page-template-modelhouse-lp .lumia-body p:last-child{ margin-block-end: 0; }

/* キャプション */
.page-template-modelhouse-lp .lumia-cap{
  font-family: var(--lc-font-body);
  font-weight: 500;
  font-size: clamp(.78rem, 2.8vw, .85rem);
  line-height: 1.7;
  letter-spacing: .06em;
  color: var(--lc-text-sub);
}
.page-template-modelhouse-lp .lumia-cap::before{
  content: "— ";
  color: var(--lc-gold-strong);
}

/* 英字ラベル */
.page-template-modelhouse-lp .lumia-en{
  font-family: var(--lc-font-en);
  font-weight: 600;
  font-size: clamp(1.8rem, 7vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: .18em;
}
.page-template-modelhouse-lp .lumia-en-sm{
  font-family: var(--lc-font-en);
  font-weight: 500;
  letter-spacing: .08em;
  color: var(--lc-gold-strong);
}

/* chip（極小inline例外） */
.page-template-modelhouse-lp .lumia-chip{
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(.74rem, 2.7vw, .86rem);
  line-height: 1.4;
  letter-spacing: .03em;
  color: #fff;
  background: #a9743f;            /* テラコッタ塗りチップ（コンプ準拠） */
  padding: .5em .9em;
  border-radius: 3px;
  box-shadow: 0 2px 10px rgba(14,10,6,.3);
}

/* 強調字（暖/涼） */
.page-template-modelhouse-lp .lumia .em{
  font-family: var(--lc-font-head);
  font-weight: 800;
  font-size: 1.25em;
  color: var(--lc-gold-strong);
  letter-spacing: inherit;
}

/* 金1px罫（共通） */
.page-template-modelhouse-lp .lumia-rule{
  display: block;
  border: 0;
  inline-size: clamp(2.4rem, 12vw, 3.2rem);
  block-size: 1px;
  background: var(--lc-line);
  margin-block: .6em var(--lc-sp-tight);
  /* #7 スクロール連動下線：scaleX 0→1（左基点） */
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--lc-dur-m) var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-rule--center{
  margin-inline: auto;
}
.page-template-modelhouse-lp .lumia-rule--dark{
  background: var(--lc-line-dark);
}
.page-template-modelhouse-lp .lumia-rule.is-in{ transform: scaleX(1); }

/* ■記号 */
.page-template-modelhouse-lp .lumia-mark{
  color: var(--lc-gold-strong);
  margin-inline-end: .5em;
  font-size: .8em;
}

/* ===========================================================================
   §8  CTA ボタン  .lumia-cta-btn
   =========================================================================== */
.page-template-modelhouse-lp .lumia-cta-btn{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
  inline-size: 100%;
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
  min-block-size: 48px;
  padding: 1.05em 1.4em;
  border-radius: 2px;
  background: var(--lc-ink);
  color: var(--lc-on-dark);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(.98rem, 3.6vw, 1.1rem);
  letter-spacing: .08em;
  line-height: 1.3;
  /* 内側に金1px罫(inset) */
  box-shadow: inset 0 0 0 1px var(--lc-line);
  /* #8 CTA微反応 */
  transition:
    background-color .35s var(--lc-ease-out),
    transform .35s var(--lc-ease-out),
    box-shadow .35s var(--lc-ease-out),
    color .35s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-cta-btn__arrow{
  display: inline-block;
  transition: transform .35s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-cta-btn:hover,
.page-template-modelhouse-lp .lumia-cta-btn:focus-visible{
  background: var(--lc-gold);
  color: var(--lc-on-dark);
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px var(--lc-gold-on-dark);
}
.page-template-modelhouse-lp .lumia-cta-btn:hover .lumia-cta-btn__arrow,
.page-template-modelhouse-lp .lumia-cta-btn:focus-visible .lumia-cta-btn__arrow{
  transform: translateX(.25em);
}
/* 暗地用 CTA */
.page-template-modelhouse-lp .lumia-cta-btn--dark{
  background: transparent;
  color: var(--lc-on-dark);
  box-shadow: inset 0 0 0 1px var(--lc-gold-on-dark);
}
.page-template-modelhouse-lp .lumia-cta-btn--dark:hover,
.page-template-modelhouse-lp .lumia-cta-btn--dark:focus-visible{
  background: var(--lc-gold);
  color: var(--lc-black);
  box-shadow: inset 0 0 0 1px var(--lc-gold-on-dark);
}

/* ===========================================================================
   §9  focus 可視化
   =========================================================================== */
.page-template-modelhouse-lp .lumia :focus-visible{
  outline: 2px solid var(--lc-focus);
  outline-offset: 2px;
  border-radius: 2px;
}
.page-template-modelhouse-lp .lumia .lumia-cta--dark :focus-visible{
  outline-color: #fff;
  box-shadow: 0 0 0 4px var(--lc-focus);
}

/* ===========================================================================
   §7  motion 共通 reveal 初期状態 / .is-in
   =========================================================================== */
/* #1 フェードアップ */
.page-template-modelhouse-lp .lumia .lumia-reveal--up{
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity var(--lc-dur-m) var(--lc-ease-out),
    transform var(--lc-dur-m) var(--lc-ease-out);
  transition-delay: calc(var(--i, 0) * var(--lc-stagger));
}
.page-template-modelhouse-lp .lumia .lumia-reveal--up.is-in{
  opacity: 1;
  transform: translateY(0);
}

/* #2 クリップパス・カーテン（写真） */
.page-template-modelhouse-lp .lumia .lumia-reveal--curtain{
  clip-path: inset(0 0 100% 0);
  transition: clip-path var(--lc-dur-l) var(--lc-ease-curtain);
  transition-delay: calc(var(--i, 0) * var(--lc-stagger));
}
.page-template-modelhouse-lp .lumia .lumia-reveal--curtain > img{
  transform: scale(1.08);
  transition: transform var(--lc-dur-l) var(--lc-ease-curtain);
  transition-delay: calc(var(--i, 0) * var(--lc-stagger));
}
.page-template-modelhouse-lp .lumia .lumia-reveal--curtain.is-in{
  clip-path: inset(0 0 0 0);
}
.page-template-modelhouse-lp .lumia .lumia-reveal--curtain.is-in > img{
  transform: scale(1);
}

/* #3 テキストマスク立上げ（行/塊） */
.page-template-modelhouse-lp .lumia .lumia-reveal--mask{
  opacity: 0;
  transform: translateY(110%);
  transition:
    opacity var(--lc-dur-m) var(--lc-ease-out),
    transform var(--lc-dur-m) var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia .lumia-reveal--mask.is-in{
  opacity: 1;
  transform: translateY(0);
}

/* ===========================================================================
   §4 / §7#4  縦書き  .lumia-vtext
   =========================================================================== */
.page-template-modelhouse-lp .lumia-vtext{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.5rem, 5.2vw, 2.0rem);
  line-height: 1.9;          /* 縦書きの列間（横方向の余白）をゆったり */
  letter-spacing: .14em;
  /* vertical-rl: block-size=横幅 / inline-size=列の長さ。
     white-space:nowrapで自動折返しを禁止し、改列は<br>のみで明示制御
     （garden=br有り→2列 / air=br無し→1列） */
  block-size: auto;
  inline-size: auto;
  white-space: nowrap;
  margin-inline: 0;
  padding-block-start: .2em;
  color: var(--lc-ink);
  position: relative;
}
/* 行頭(上端)に金の短い罫 */
.page-template-modelhouse-lp .lumia-vtext::before{
  content: "";
  position: absolute;
  inset-block-start: -.7em;
  inset-inline-end: .05em;
  inline-size: 2px;
  block-size: 2.4em;
  background: var(--lc-gold);
}
/* 縦書きスタガー：外側ラッパは inline（brで列折返し・字spanが列を跨いで回り込む）*/
.page-template-modelhouse-lp .lumia-vtext > span{
  display: inline;
}
.page-template-modelhouse-lp .lumia-vtext > span > span{
  display: inline-block;
  opacity: 0;
  transform: translateY(.5em);
  transition:
    opacity .45s var(--lc-ease-out),
    transform .45s var(--lc-ease-out);
  transition-delay: calc(var(--i, 0) * var(--lc-stagger));
}
.page-template-modelhouse-lp .lumia-vtext.is-in > span > span{
  opacity: 1;
  transform: translateY(0);
}

/* ===========================================================================
   §5  背景リズム（明→暗→明）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-localnav{ background: var(--lc-paper); }
.page-template-modelhouse-lp .lumia-garden{   background: var(--lc-paper); }
.page-template-modelhouse-lp .lumia-air{      background: var(--lc-beige); }
.page-template-modelhouse-lp .lumia-exterior{ background: var(--lc-paper); }
.page-template-modelhouse-lp .lumia-design{   background: var(--lc-ink); color: var(--lc-on-dark); }
.page-template-modelhouse-lp .lumia-program{  background: var(--lc-paper); }
.page-template-modelhouse-lp .lumia-booth{    background: var(--lc-beige); }
.page-template-modelhouse-lp .lumia-cta{      background: var(--lc-black); color: var(--lc-on-dark); }

/* ===========================================================================
   S1  #hero  .lumia-fv
   =========================================================================== */
.page-template-modelhouse-lp .lumia-fv{
  min-block-size: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-fv__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  /* poster画像は使わない。読込前の一瞬は暗色（画像のチラ見えを防止） */
  background: var(--lc-black);
}
/* #6 Hero 背景動画（my-project構成を取込み・全画面cover・最初から再生） */
.page-template-modelhouse-lp .lumia-fv__video,
.page-template-modelhouse-lp .lumia-fv__img{
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}
/* 動画は微ズーム（静止画FVでは未使用） */
.page-template-modelhouse-lp .lumia-fv__video{
  transform: scale(1.04);
  animation: lumia-fv-zoom 24s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes lumia-fv-zoom{
  from{ transform: scale(1.04); }
  to{   transform: scale(1.12); }
}
.page-template-modelhouse-lp .lumia-fv__overlay{
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(14,14,12,.30) 0%, transparent 26%),
    linear-gradient(0deg, var(--lc-black) 0%, rgba(14,14,12,.30) 34%, transparent 64%),
    var(--lc-overlay);
}
.page-template-modelhouse-lp .lumia-fv__inner{
  padding-block: var(--lc-sp-section);
}
.page-template-modelhouse-lp .lumia-fv__logo{
  margin-block-end: var(--lc-sp-block);
  display: block;
}
/* ロゴ画像（白ヌキ suminoie）＋フワッと浮遊アニメ */
.page-template-modelhouse-lp .lumia-fv__logoImg{
  display: block;
  /* フワッと上下に漂う（reveal--up のエントランスとは別要素で transform 競合回避） */
  animation: lumia-logo-float 5.2s var(--lc-ease-out) infinite;
  will-change: transform;
}
.page-template-modelhouse-lp .lumia-fv__logoImg img{
  display: block;
  inline-size: clamp(11rem, 52vw, 15rem);
  block-size: auto;
  margin-inline: auto;
  /* 動画上でも視認できるよう柔らかな影 */
  filter: drop-shadow(0 4px 18px rgba(0,0,0,.45));
}
@keyframes lumia-logo-float{
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-7px); }
  100% { transform: translateY(0); }
}
.page-template-modelhouse-lp .lumia-fv__logo-sub{
  display: block;
  margin-block-start: .6em;
  font-family: var(--lc-font-head);
  font-size: clamp(.74rem, 2.8vw, .85rem);
  letter-spacing: .18em;
  color: var(--lc-on-dark-sub);
}
.page-template-modelhouse-lp .lumia-fv__eyebrow{
  margin: 0;
  font-family: var(--lc-font-head);
  font-weight: 500;
  font-size: clamp(.9rem, 3.4vw, 1.05rem);
  letter-spacing: .28em;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-fv__title{
  margin-block-start: var(--lc-sp-tight);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.7rem, 6.4vw, 2.4rem);
  line-height: 1.45;
  letter-spacing: .08em;
  color: var(--lc-on-dark);
  text-shadow: 0 2px 18px rgba(14,14,12,.5);
}
/* 「誕生」大型ディスプレイ（明朝・ヒーローの主役ワード） */
.page-template-modelhouse-lp .lumia-fv__birth{
  margin-block-start: clamp(.6rem, 2.5vw, 1.1rem);
  font-family: var(--lc-font-head);
  font-weight: 700;
  font-size: clamp(3.2rem, 16vw, 5.4rem);
  line-height: 1;
  letter-spacing: .14em;
  color: var(--lc-on-dark);
  text-shadow: 0 4px 28px rgba(14,14,12,.55);
}
.page-template-modelhouse-lp .lumia-fv__lead{
  margin-block-start: var(--lc-sp-block);
  color: var(--lc-on-dark);
  line-height: 1.95;
  text-shadow: 0 1px 14px rgba(14,14,12,.55);
}
.page-template-modelhouse-lp .lumia-fv__lead p{ margin-block: .8em; }
.page-template-modelhouse-lp .lumia-fv__band{
  margin: var(--lc-sp-block) auto 0;
  max-inline-size: var(--lc-maxw);
  background: var(--lc-black);
  color: var(--lc-on-dark);
  font-family: var(--lc-font-head);
  font-weight: 700;
  font-size: clamp(1.1rem, 3.6vw, 1.3rem);
  line-height: 1.5;
  letter-spacing: .14em;
  padding: .7em 1.1em;
  border-block: 1px solid var(--lc-line-dark);
}
.page-template-modelhouse-lp .lumia-fv__tags{
  margin-block-start: var(--lc-sp-block);
}
.page-template-modelhouse-lp .lumia-fv__tagrow{
  display: flex;
  flex-wrap: wrap;
  gap: .5em .9em;
  justify-content: center;
  margin-block: .5em;
}
.page-template-modelhouse-lp .lumia-fv__tagrow .lumia-chip::first-letter{
  color: var(--lc-gold-on-dark);
}
.page-template-modelhouse-lp .lumia-fv__cta{
  margin-block-start: var(--lc-sp-block);
}

/* ===========================================================================
   #localnav  .lumia-localnav
   =========================================================================== */
.page-template-modelhouse-lp .lumia-localnav{
  padding-block: var(--lc-sp-block);
  padding-inline: var(--lc-sp-inline);
}
.page-template-modelhouse-lp .lumia-localnav__list{
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-inline-size: var(--lc-maxw);
  border-block-start: 1px solid var(--lc-hairline);
}
.page-template-modelhouse-lp .lumia-localnav__item{ display: block; }
.page-template-modelhouse-lp .lumia-localnav a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.0em 1.1em;
  min-block-size: 48px;
  font-family: var(--lc-font-head);
  font-weight: 600;
  color: var(--lc-text);
  border-block-end: 1px solid var(--lc-hairline);
  transition: padding-inline-start .35s var(--lc-ease-out), background-color .35s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-localnav__ja{
  font-size: clamp(.95rem, 3.6vw, 1.05rem);
  letter-spacing: .04em;
}
.page-template-modelhouse-lp .lumia-localnav__item .lumia-en-sm{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: clamp(.74rem, 2.8vw, .85rem);
}
.page-template-modelhouse-lp .lumia-localnav__arrow{
  transition: transform .35s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-localnav a:hover,
.page-template-modelhouse-lp .lumia-localnav a:focus-visible{
  padding-inline-start: 1.4em;
  background: var(--lc-paper-2);
}
.page-template-modelhouse-lp .lumia-localnav a:hover .lumia-en-sm,
.page-template-modelhouse-lp .lumia-localnav a:focus-visible .lumia-en-sm{
  color: var(--lc-gold);
}
.page-template-modelhouse-lp .lumia-localnav a:hover .lumia-localnav__arrow,
.page-template-modelhouse-lp .lumia-localnav a:focus-visible .lumia-localnav__arrow{
  transform: translateX(.3em);
}
/* スクロールスパイ現在地 */
.page-template-modelhouse-lp .lumia-localnav a.is-current{
  background: var(--lc-paper-2);
}
.page-template-modelhouse-lp .lumia-localnav a.is-current .lumia-en-sm{
  color: var(--lc-gold);
}
.page-template-modelhouse-lp .lumia-localnav a.is-current .lumia-localnav__ja{
  position: relative;
}
.page-template-modelhouse-lp .lumia-localnav a.is-current .lumia-localnav__ja::before{
  content: "";
  position: absolute;
  inset-inline-start: -.7em;
  inset-block: .25em;
  inline-size: 2px;
  background: var(--lc-gold);
}

/* ===========================================================================
   共通セクション見出し  .lumia-secHead （新コンプの暖色セクション用）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-secHead{
  text-align: center;
  margin-block-end: clamp(2rem, 7vw, 3rem);
}
.page-template-modelhouse-lp .lumia-secHead__title{
  margin: 0;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.5rem, 5.6vw, 2.0rem);
  letter-spacing: .12em;
  line-height: 1.5;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-secHead__rule{
  display: block;
  inline-size: clamp(2.4rem, 12vw, 3.4rem);
  block-size: 1px;
  margin: clamp(.9rem, 3vw, 1.3rem) auto 0;
  background: var(--lc-gold);
}
/* 暗地セクション内の見出しは白＋金罫 */
.page-template-modelhouse-lp .lumia-cta--dark .lumia-secHead__title,
.page-template-modelhouse-lp .lumia-perf--dark .lumia-secHead__title{ color: var(--lc-on-dark); }
.page-template-modelhouse-lp .lumia-cta--dark .lumia-secHead__rule,
.page-template-modelhouse-lp .lumia-perf--dark .lumia-secHead__rule{ background: var(--lc-gold-on-dark); }

/* ===========================================================================
   S1.5  #performance  .lumia-perf  — 住宅性能スペックカード（新規）
   =========================================================================== */
.page-template-modelhouse-lp .lumia section.lumia-perf{
  background: var(--lc-beige);
  padding-block: var(--lc-sp-section);
  padding-inline: 0;   /* ブラウンの帯をベージュ背景の幅いっぱい（フルブリード） */
}
.page-template-modelhouse-lp .lumia-perf__inner{
  inline-size: 100%;
  margin-inline: 0;
}
.page-template-modelhouse-lp .lumia-perf__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;       /* 550px厳守＝縦積み（内部は番号|説明の横並び） */
  gap: clamp(.8rem, 3vw, 1.1rem);
}
.page-template-modelhouse-lp .lumia-perf__card{
  background: var(--lc-ink);
  color: var(--lc-on-dark);
  border-radius: 3px;
  padding: clamp(1.2rem, 5vw, 1.7rem) clamp(1.2rem, 5vw, 1.8rem);
  display: flex;
  flex-direction: column;          /* 番号→説明を縦積み（550px厳守・説明の潰れ防止） */
  align-items: center;
  text-align: center;
  gap: .7em;
}
.page-template-modelhouse-lp .lumia-perf__metric{
  margin: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .3em;
  white-space: nowrap;
  padding-block-end: .6em;
  border-block-end: 1px solid var(--lc-line-dark);
  inline-size: 100%;
}
.page-template-modelhouse-lp .lumia-perf__label{
  font-family: var(--lc-font-head);
  font-size: clamp(1.76rem, 6.75vw, 2.07rem);   /* 1.5倍 */
  letter-spacing: .04em;
  color: var(--lc-on-dark-sub);
}
.page-template-modelhouse-lp .lumia-perf__value{
  font-family: var(--lc-font-en);
  font-weight: 700;
  font-size: clamp(3.72rem, 18vw, 5.4rem);    /* さらに約1.3倍に拡大 */
  line-height: 1;
  color: var(--lc-gold-on-dark);
  letter-spacing: -.02em;
}
.page-template-modelhouse-lp .lumia-perf__unit{
  font-family: var(--lc-font-en);
  font-size: clamp(1.49rem, 5.85vw, 1.8rem);      /* さらに約1.5倍に拡大 */
  color: var(--lc-on-dark-sub);
}
.page-template-modelhouse-lp .lumia-perf__desc{
  margin: 0;
  font-family: var(--lc-font-body);
  font-size: clamp(1.0rem, 3.8vw, 1.19rem);    /* さらに約2/3に縮小 */
  line-height: 1.8;
  text-wrap: pretty;          /* 1文字孤立の改行を回避 */
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia p.lumia-perf__copy{
  margin: clamp(6.6rem, 24vw, 9.6rem) 0 clamp(2rem, 7vw, 2.8rem);   /* カード枠との間隔を3倍（p優先で確実適用） */
  padding-inline: clamp(.25rem, 1.5vw, .5rem);   /* 2行目を1行に収める幅を確保 */
  text-align: center;
  text-wrap: pretty;          /* "し"等の1文字だけの改行を回避 */
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.25rem, 5vw, 1.7rem);
  line-height: 1.7;
  letter-spacing: .06em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-perf .lumia-photo{ margin-inline: auto; }

/* secHead eyebrow（見て、触れて、体感する。等） */
.page-template-modelhouse-lp .lumia-secHead__eyebrow{
  margin: 0 0 .7em;
  font-family: var(--lc-font-head);
  font-weight: 500;
  font-size: clamp(.85rem, 3.4vw, 1.0rem);
  letter-spacing: .14em;
  color: var(--lc-mute);
}

/* テキストリンク（スミノイエについて→） */
.page-template-modelhouse-lp .lumia-program__btnwrap{
  margin-block-start: clamp(1.6rem, 6vw, 2.4rem);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-textlink{
  display: inline-flex;
  align-items: center;
  gap: .6em;
  padding: .7em 1.6em;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(.92rem, 3.6vw, 1.05rem);
  letter-spacing: .06em;
  color: var(--lc-ink);
  text-decoration: none;
  border: 1px solid var(--lc-gold);
  border-radius: 999px;
  transition: background-color .35s var(--lc-ease-out), color .35s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-textlink:hover{
  background: var(--lc-gold); color: #fff;
}
.page-template-modelhouse-lp .lumia-textlink__arrow{ transition: transform .35s var(--lc-ease-out); }
.page-template-modelhouse-lp .lumia-textlink:hover .lumia-textlink__arrow{ transform: translateX(.25em); }

/* ===========================================================================
   S6.5  #lowmainte  .lumia-lowmainte  — ローコストメンテナンス（新規）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-lowmainte{
  background: var(--lc-beige);
  padding-block: var(--lc-sp-section);
}
.page-template-modelhouse-lp .lumia-lowmainte__inner{
  inline-size: 100%;
  margin-inline: auto;
}
/* lowmainte：中央揃え＋写真は幅いっぱい（添付準拠） */
.page-template-modelhouse-lp .lumia section.lumia-lowmainte{
  padding-inline: 0;
}
.page-template-modelhouse-lp .lumia-lowmainte .lumia-secHead,
.page-template-modelhouse-lp .lumia-lowmainte__body{
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
  padding-inline: var(--lc-sp-inline);
}
.page-template-modelhouse-lp .lumia-lowmainte .lumia-photo{
  max-inline-size: none;
  inline-size: 100%;
}
.page-template-modelhouse-lp .lumia-lowmainte__body{
  margin-block-start: clamp(1.6rem, 6vw, 2.4rem);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-lowmainte__body p{ margin-block: .9em; }
.page-template-modelhouse-lp .lumia-lowmainte .lumia-photo{ margin-inline: auto; }

/* ===========================================================================
   S9  #typecheck  .lumia-typecheck  — お家づくりタイプ診断（緑帯・新規）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-typecheck{
  background: var(--green, #6fa368);
  color: #fff;
  padding-block: var(--lc-sp-section);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-typecheck__inner{
  inline-size: var(--lc-maxw);
  margin-inline: auto;
}
.page-template-modelhouse-lp .lumia-typecheck__en{
  margin: 0;
  font-family: var(--lc-font-en);
  font-weight: 700;
  font-size: clamp(2rem, 9vw, 3rem);
  letter-spacing: .14em;
  color: #fff;
}
.page-template-modelhouse-lp .lumia-typecheck__sub{
  margin: .4em 0 0;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1rem, 4vw, 1.2rem);
  letter-spacing: .08em;
}
.page-template-modelhouse-lp .lumia-typecheck__lead{
  margin: clamp(1.4rem, 5vw, 2rem) 0 clamp(1.8rem, 6vw, 2.4rem);
  font-family: var(--lc-font-head);
  font-weight: 500;
  font-size: clamp(1.05rem, 4.2vw, 1.3rem);
  line-height: 1.9;
  letter-spacing: .04em;
}
.page-template-modelhouse-lp .lumia-typecheck .lumia-typecheck__btn{
  background: #fff;
  color: #3f6a3a;
  box-shadow: inset 0 0 0 1px rgba(63,106,58,.22);
}
/* ラベル/矢印を明示（基底 .lumia-cta-btn の白を確実に上書き：詳細度0,4,0） */
.page-template-modelhouse-lp .lumia-typecheck .lumia-typecheck__btn .lumia-cta-btn__label,
.page-template-modelhouse-lp .lumia-typecheck .lumia-typecheck__btn .lumia-cta-btn__arrow{
  color: #3f6a3a;
}
.page-template-modelhouse-lp .lumia-typecheck .lumia-typecheck__btn:hover{
  background: rgba(255,255,255,.86);
  color: #2f5a2c;
}
.page-template-modelhouse-lp .lumia-typecheck .lumia-typecheck__btn:hover .lumia-cta-btn__label,
.page-template-modelhouse-lp .lumia-typecheck .lumia-typecheck__btn:hover .lumia-cta-btn__arrow{
  color: #2f5a2c;
}

/* ===========================================================================
   S1.2  #features  .lumia-features  — suminoie LAB の特徴（Heroから分離・暗色）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-features{
  background: var(--lc-ink);
  color: var(--lc-on-dark);
  padding-block: var(--lc-sp-section-tight);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-features__inner{
  inline-size: 100%;
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
}
.page-template-modelhouse-lp .lumia-features__title{
  margin: 0;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.4rem, 5.4vw, 1.9rem);
  letter-spacing: .1em;
  color: var(--lc-on-dark);
}
/* 1-2-2-1 の対称配置（flex-wrapの貪欲詰め=3-2-1偏りを排除し、明示行で制御） */
.page-template-modelhouse-lp .lumia-features__tags{
  margin-block-start: clamp(1.6rem, 6vw, 2.4rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .7em;
}
.page-template-modelhouse-lp .lumia-features__tagrow{
  margin: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .7em;
}
/* 添付バランスに合わせ：チップ拡大＋区切り罫を全幅に（タイトルは幅上限のため据え置き） */
.page-template-modelhouse-lp .lumia-features .lumia-chip{
  font-size: clamp(.88rem, 3.4vw, 1.3rem);   /* 約14px(375px)→約21px(広幅)・中央寄せで1-2-2-1維持 */
}
.page-template-modelhouse-lp .lumia-features .lumia-rule{
  inline-size: 100%;
  max-inline-size: var(--lc-maxw);
}

/* ===========================================================================
   S2  #concept  .lumia-garden
   =========================================================================== */
/* 縦組み×縦写真：左に縦長画像 / 右に縦書き見出し（見出しの横の空白を埋める） */
.page-template-modelhouse-lp .lumia-garden__head{
  margin-block-end: var(--lc-sp-block);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "img vtext" "sub sub";
  column-gap: clamp(.8rem, 3.5vw, 1.6rem);
  row-gap: clamp(.9rem, 3vw, 1.4rem);
  align-items: center;
}
.page-template-modelhouse-lp .lumia-garden__vtext{ margin: 0; grid-area: vtext; }
.page-template-modelhouse-lp .lumia-garden__headImg{ grid-area: img; }
.page-template-modelhouse-lp .lumia-garden__h3{ grid-area: sub; }
/* ヘッド縦長画像（共通：garden / air） */
.page-template-modelhouse-lp .lumia-garden__headImg,
.page-template-modelhouse-lp .lumia-air__headImg{
  margin: 0;
}
.page-template-modelhouse-lp .lumia-garden__headImg > img,
.page-template-modelhouse-lp .lumia-air__headImg > img{
  display: block;
  inline-size: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center;
  border-radius: 2px;
  box-shadow: var(--lc-shadow);
}
.page-template-modelhouse-lp .lumia-garden__headImg > figcaption,
.page-template-modelhouse-lp .lumia-air__headImg > figcaption{ display: none; }
.page-template-modelhouse-lp .lumia-garden__h3{
  margin: 0;
  text-align: left;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  line-height: 1.5;
  letter-spacing: .03em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-garden .lumia-photo + .lumia-photo{
  margin-block-start: var(--lc-sp-tight);
}
.page-template-modelhouse-lp .lumia-garden__copy{
  margin-block-start: var(--lc-sp-block);
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.35rem, 5.2vw, 1.8rem);
  line-height: 1.6;
  letter-spacing: .08em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-garden__sub{
  margin-block-start: var(--lc-sp-tight);
  text-align: center;
}

/* ===========================================================================
   S3  #air  .lumia-air
   =========================================================================== */
.page-template-modelhouse-lp .lumia-air__head{
  margin-block-end: var(--lc-sp-block);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "img vtext";
  column-gap: clamp(.8rem, 3.5vw, 1.6rem);
  align-items: center;
}
.page-template-modelhouse-lp .lumia-air__vtext{ margin: 0; grid-area: vtext; }
.page-template-modelhouse-lp .lumia-air__headImg{ grid-area: img; }
.page-template-modelhouse-lp .lumia-air .lumia-photo--tall{
  margin-inline: auto;
}
.page-template-modelhouse-lp .lumia-air__h3{
  margin-block-start: var(--lc-sp-block);
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  line-height: 1.5;
  letter-spacing: .03em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-air__body{
  margin-block-start: var(--lc-sp-tight);
  color: var(--lc-text);
}

/* ===========================================================================
   S4  #exterior  .lumia-exterior
   =========================================================================== */
.page-template-modelhouse-lp .lumia-exterior__h2{
  margin: 0;
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 700;
  font-size: clamp(1.45rem, 5vw, 1.9rem);
  line-height: 1.4;
  letter-spacing: .05em;
  color: var(--lc-ink);
}
/* S4 差し色：罫を茶赤に */
.page-template-modelhouse-lp .lumia-exterior .lumia-rule{
  background: var(--lc-terra);
}
.page-template-modelhouse-lp .lumia-exterior .lumia-photo{
  margin-block-start: var(--lc-sp-block);
}
.page-template-modelhouse-lp .lumia-exterior__h3{
  margin-block-start: var(--lc-sp-block);
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  line-height: 1.6;
  letter-spacing: .03em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-exterior__body{
  margin-block-start: var(--lc-sp-tight);
  color: var(--lc-text);
}
.page-template-modelhouse-lp .lumia-exterior__h3--interior{
  margin-block-start: var(--lc-sp-section);
  letter-spacing: .12em;
}

/* ===========================================================================
   S5  #design  .lumia-design  （暗・谷）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-design__h2{
  margin: 0;
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 700;
  font-size: clamp(1.45rem, 5vw, 1.9rem);
  line-height: 1.4;
  letter-spacing: .05em;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-design__h3{
  margin-block-start: var(--lc-sp-block);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  line-height: 1.55;
  letter-spacing: .03em;
  color: var(--lc-on-dark);
}
/* 暗地内 ■記号 */
.page-template-modelhouse-lp .lumia-design .lumia-mark{
  color: var(--lc-gold-on-dark);
}
.page-template-modelhouse-lp .lumia-design__body{
  margin-block-start: var(--lc-sp-tight);
  color: var(--lc-on-dark-sub);
}

/* ── ギャラリー（漆黒） ── */
.page-template-modelhouse-lp .lumia-gallery{
  margin-block-start: var(--lc-sp-section);
  margin-inline: calc(-1 * var(--lc-sp-inline));
  padding-block: var(--lc-sp-section);
  padding-inline: var(--lc-sp-inline);
  background: var(--lc-black);
}
.page-template-modelhouse-lp .lumia-gallery__h3{
  margin: 0;
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  letter-spacing: .14em;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-gallery__swiper{
  margin-block-start: var(--lc-sp-block);
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
  overflow: hidden;
  position: relative;
}
.page-template-modelhouse-lp .lumia-gallery__slide{
  display: block;
  margin: 0; /* figure既定マージンのリセット */
}
.page-template-modelhouse-lp .lumia-gallery__slide img{
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2px;
  border: 1px solid var(--lc-line-dark);
}
/* ギャラリーキャプション（暗地・金ダッシュ） */
.page-template-modelhouse-lp .lumia-gallery__cap{
  margin-block-start: .7em;
  font-family: var(--lc-font-body);
  font-weight: 500;
  font-size: clamp(.76rem, 2.7vw, .84rem);
  letter-spacing: .08em;
  color: var(--lc-on-dark-sub);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-gallery__cap::before{
  content: "— ";
  color: var(--lc-gold-on-dark);
}
/* Swiper ナビ／ページネーション（暗地・金） */
.page-template-modelhouse-lp .lumia-gallery .swiper-button-prev,
.page-template-modelhouse-lp .lumia-gallery .swiper-button-next{
  inline-size: 44px;
  block-size: 44px;
  color: var(--lc-gold-on-dark);
  --swiper-navigation-size: 22px;
}
.page-template-modelhouse-lp .lumia-gallery .swiper-pagination{
  position: static;
  margin-block-start: var(--lc-sp-tight);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-gallery .swiper-pagination-bullet{
  background: var(--lc-on-dark-sub);
  opacity: .5;
}
.page-template-modelhouse-lp .lumia-gallery .swiper-pagination-bullet-active{
  background: var(--lc-gold-on-dark);
  opacity: 1;
}

/* ── 中間CTA ── */
.page-template-modelhouse-lp .lumia-design__cta{
  margin-block-start: var(--lc-sp-section);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-design__cta-lead{
  margin-block-end: var(--lc-sp-block);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.3rem, 5vw, 1.7rem);
  letter-spacing: .08em;
  color: var(--lc-on-dark);
}

/* ===========================================================================
   S6  #program  .lumia-program
   =========================================================================== */
.page-template-modelhouse-lp .lumia-program__h2{
  margin: 0;
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 700;
  font-size: clamp(1.45rem, 5vw, 1.9rem);
  line-height: 1.4;
  letter-spacing: .05em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-program__body{
  margin-block-start: var(--lc-sp-block);
  color: var(--lc-text);
}
.page-template-modelhouse-lp .lumia-structure{
  margin: var(--lc-sp-block) auto 0;
  max-inline-size: var(--lc-maxw);
  padding: .8em;
  background: #fff;
  border: 1px solid var(--lc-hairline);
  border-radius: 2px;
}
.page-template-modelhouse-lp .lumia-structure img{
  inline-size: 100%;
  block-size: auto;
}
.page-template-modelhouse-lp .lumia-structure figcaption{
  margin-block-start: .8em;
  text-align: center;
}
.page-template-modelhouse-lp .lumia-program__en{
  margin: var(--lc-sp-section) 0 0;
  text-align: center;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-program__h3{
  margin-block-start: var(--lc-sp-tight);
  text-align: center;
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  letter-spacing: .03em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-program__list{
  list-style: none;
  margin: var(--lc-sp-block) 0 0;
  padding: 0;
}
.page-template-modelhouse-lp .lumia-program__item{
  display: flex;
  align-items: baseline;
  gap: .9em;
  padding: .8em 0;
  border-block-end: 1px solid var(--lc-hairline);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.0rem, 3.8vw, 1.12rem);
  letter-spacing: .04em;
  color: var(--lc-ink);
  /* スタガー（親 is-in で順次） */
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity var(--lc-dur-s) var(--lc-ease-out),
    transform var(--lc-dur-s) var(--lc-ease-out);
  transition-delay: calc(var(--i, 0) * var(--lc-stagger));
}
.page-template-modelhouse-lp .lumia-program__list.is-in .lumia-program__item{
  opacity: 1;
  transform: translateY(0);
}
.page-template-modelhouse-lp .lumia-program__item::before{
  content: "—";
  color: var(--lc-gold-strong);
}
.page-template-modelhouse-lp .lumia-program__no{
  font-size: .8em;
  color: var(--lc-gold-strong);
}

/* ===========================================================================
   S7  #booth  .lumia-booth
   =========================================================================== */
.page-template-modelhouse-lp .lumia-booth__card + .lumia-booth__card{
  margin-block-start: var(--lc-sp-section);
}
.page-template-modelhouse-lp .lumia-booth__h3{
  margin: 0 0 var(--lc-sp-block);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  line-height: 1.5;
  letter-spacing: .03em;
  color: var(--lc-ink);
}
.page-template-modelhouse-lp .lumia-booth .lumia-photo + .lumia-photo{
  margin-block-start: var(--lc-sp-tight);
}
.page-template-modelhouse-lp .lumia-booth__body{
  margin-block-start: var(--lc-sp-block);
  color: var(--lc-text);
}

/* ===========================================================================
   S8  #visit  .lumia-cta
   =========================================================================== */
.page-template-modelhouse-lp .lumia-cta{
  overflow: hidden;
  text-align: center;
}
.page-template-modelhouse-lp .lumia-cta__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.page-template-modelhouse-lp .lumia-cta__bg img{
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transform: translateY(calc((0.5 - var(--lc-progress, .5)) * var(--lc-parallax-dist)));
  will-change: transform;
}
.page-template-modelhouse-lp .lumia-cta__overlay{
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(0deg, var(--lc-black) 0%, rgba(14,14,12,.62) 60%, rgba(14,14,12,.78) 100%);
}
.page-template-modelhouse-lp .lumia-cta__h2{
  margin: 0;
  font-family: var(--lc-font-head);
  font-weight: 700;
  font-size: clamp(1.6rem, 6vw, 2.1rem);
  line-height: 1.4;
  letter-spacing: .08em;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-cta__btnwrap{
  margin-block-start: var(--lc-sp-block);
}
.page-template-modelhouse-lp .lumia-cta__contact{
  margin-block-start: var(--lc-sp-block);
}
.page-template-modelhouse-lp .lumia-tel{
  display: inline-block;
  font-family: var(--lc-font-en);
  font-weight: 600;
  font-size: clamp(1.6rem, 6vw, 2.0rem);
  line-height: 1.2;
  letter-spacing: .04em;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-cta__hours{
  margin-block-start: .6em;
  color: var(--lc-on-dark-sub);
}
.page-template-modelhouse-lp .lumia-cta__hours::before{ content: none; }

/* ===========================================================================
   §8  写真カード  .lumia-photo
   =========================================================================== */
.page-template-modelhouse-lp .lumia-photo{
  margin: 0;
  inline-size: 100%;
  max-inline-size: var(--lc-maxw);
}
.page-template-modelhouse-lp .lumia-photo > img{
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: var(--lc-shadow);
}
/* 縦長（実写 576×768 = 3:4） */
.page-template-modelhouse-lp .lumia-photo--tall{
  max-inline-size: clamp(16rem, 70vw, 26rem);
}
.page-template-modelhouse-lp .lumia-photo--tall > img{
  aspect-ratio: 3 / 4;
  max-block-size: 78svh;
  inline-size: 100%;
  block-size: auto;
  margin-inline: auto;
}
/* 写真キャプション（金ダッシュ .lumia-cap を写真下に） */
.page-template-modelhouse-lp .lumia-photo > figcaption{
  margin-block-start: .75em;
  padding-inline-start: .1em;
}
/* フォト・リズム：左右交互の微オフセット（550px内で写真が単調に積まれるのを防ぐ） */
.page-template-modelhouse-lp .lumia-photo--offset-l{
  margin-inline: 0 auto;
  max-inline-size: calc(var(--lc-maxw) * .92);
}
.page-template-modelhouse-lp .lumia-photo--offset-r{
  margin-inline: auto 0;
  max-inline-size: calc(var(--lc-maxw) * .92);
}
/* 暗地内の写真：影無し＋金細枠 */
.page-template-modelhouse-lp .lumia-design .lumia-photo > img,
.page-template-modelhouse-lp .lumia-cta .lumia-photo > img{
  box-shadow: none;
  border: 1px solid var(--lc-line-dark);
}

/* ===========================================================================
   SP追従バー  .lumia-nav  （SPのみ表示）
   =========================================================================== */
.page-template-modelhouse-lp .lumia-nav{
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 50;
  display: none; /* 既定は非表示。SP幅かつ Hero 通過後に表示 */
  align-items: stretch;
  gap: 1px;
  padding: .55rem .7rem calc(.55rem + env(safe-area-inset-bottom, 0px));
  background: rgba(14,14,12,.92);
  backdrop-filter: blur(6px);
  border-block-start: 1px solid var(--lc-line-dark);
  transform: translateY(120%);
  transition: transform .4s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-nav.is-visible{
  transform: translateY(0);
}
.page-template-modelhouse-lp .lumia-nav__tel{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .1em;
  min-block-size: 52px;
  padding-inline: 1.1em;
  border-radius: 2px;
  border: 1px solid var(--lc-gold-on-dark);
  color: var(--lc-on-dark);
  font-family: var(--lc-font-head);
}
.page-template-modelhouse-lp .lumia-nav__tel-icon{ font-size: 1.05em; line-height: 1; }
.page-template-modelhouse-lp .lumia-nav__tel-label{
  font-size: .72rem;
  letter-spacing: .08em;
}
.page-template-modelhouse-lp .lumia-nav__cta{
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  min-block-size: 52px;
  border-radius: 2px;
  background: var(--lc-gold);
  color: var(--lc-black);
  font-family: var(--lc-font-head);
  font-weight: 600;
  font-size: 1.0rem;
  letter-spacing: .08em;
  box-shadow: inset 0 0 0 1px var(--lc-gold-on-dark);
  transition: background-color .35s var(--lc-ease-out);
}
.page-template-modelhouse-lp .lumia-nav__cta-arrow{ display: inline-block; }
.page-template-modelhouse-lp .lumia-nav__cta:hover,
.page-template-modelhouse-lp .lumia-nav__cta:focus-visible{
  background: var(--lc-gold-on-dark);
}
/* SP幅のみ flex 表示（PCは右固定CTAパネルが本文外に存在＝重複回避） */
@media (max-width: 600px){
  .page-template-modelhouse-lp .lumia-nav{
    display: flex;
  }
}

/* ===========================================================================
   §7  reduced-motion 全停止（!important 許容は本ブロックのみ）
   =========================================================================== */
@media (prefers-reduced-motion: reduce){
  /* ルート自身のスムーススクロールも解除（.lumia配下セレクタでは届かないため明示） */
  .page-template-modelhouse-lp{ scroll-behavior: auto !important; }
  .page-template-modelhouse-lp .lumia *{
    animation: none !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .page-template-modelhouse-lp .lumia .lumia-reveal,
  .page-template-modelhouse-lp .lumia .lumia-reveal--up,
  .page-template-modelhouse-lp .lumia .lumia-reveal--curtain,
  .page-template-modelhouse-lp .lumia .lumia-reveal--mask,
  .page-template-modelhouse-lp .lumia .lumia-vtext > span,
  .page-template-modelhouse-lp .lumia .lumia-vtext > span > span,
  .page-template-modelhouse-lp .lumia .lumia-program__item,
  .page-template-modelhouse-lp .lumia .lumia-rule{
    opacity: 1;
    transform: none;
    clip-path: none;
  }
  .page-template-modelhouse-lp .lumia .lumia-reveal--curtain > img{
    transform: none;
  }
  /* 背景動画ズーム・ロゴ浮遊を停止し静止表示（A11y） */
  .page-template-modelhouse-lp .lumia .lumia-fv__video{ transform: none; opacity: 1; }
  .page-template-modelhouse-lp .lumia .lumia-fv__logoImg{ transform: none; }
}

/* ============================================================================
   2026追補：写真をコンテンツ全幅に／本文-写真の余白／体感プログラムを暗転
   ============================================================================ */

/* (1) 各セクションの写真をコンテンツ全幅(=.lumia幅)に。見出し・本文・キャプションは中央maxw */
.page-template-modelhouse-lp .lumia section.lumia-garden,
.page-template-modelhouse-lp .lumia section.lumia-program,
.page-template-modelhouse-lp .lumia section.lumia-booth{
  padding-inline: 0;
}
.page-template-modelhouse-lp .lumia-garden__inner,
.page-template-modelhouse-lp .lumia-program__inner,
.page-template-modelhouse-lp .lumia-booth__inner{
  max-inline-size: none;
  inline-size: 100%;
}
.page-template-modelhouse-lp .lumia-garden__inner > :not(figure),
.page-template-modelhouse-lp .lumia-program__inner > :not(figure),
.page-template-modelhouse-lp .lumia-booth__inner > :not(.lumia-booth__card),
.page-template-modelhouse-lp .lumia-booth__card > .lumia-booth__h3,
.page-template-modelhouse-lp .lumia-booth__card > .lumia-booth__body{
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
  padding-inline: var(--lc-sp-inline);
}
.page-template-modelhouse-lp .lumia-photo{
  max-inline-size: none;
  inline-size: 100%;
}
.page-template-modelhouse-lp .lumia-photo > figcaption{
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
  padding-inline: var(--lc-sp-inline);
}

/* (2) 本文テキストと直後の写真の間隔を確保 */
.page-template-modelhouse-lp .lumia-body + .lumia-photo{
  margin-block-start: var(--lc-sp-block);
}

/* (4) 体感プログラムを濃いブラウン背景に＋文字色反転（直前ベージュとの区切り・メリハリ） */
.page-template-modelhouse-lp .lumia-booth{
  background: var(--lc-ink);
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-booth .lumia-secHead__title,
.page-template-modelhouse-lp .lumia-booth__h3{
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-booth .lumia-secHead__rule{
  background: var(--lc-gold-on-dark);
}
.page-template-modelhouse-lp .lumia-booth .lumia-secHead__eyebrow{
  color: var(--lc-on-dark-sub);
}
.page-template-modelhouse-lp .lumia-booth .lumia-mark{
  color: var(--lc-gold-on-dark);
}
.page-template-modelhouse-lp .lumia-booth__body{
  color: var(--lc-on-dark-sub);
}
.page-template-modelhouse-lp .lumia-booth .lumia-photo > img{
  box-shadow: none;
  border: 1px solid var(--lc-line-dark);
}

/* booth→visit の「黒い間」を解消：暗い余白を圧縮＋visit上部オーバーレイを薄く（写真を見せる） */
.page-template-modelhouse-lp .lumia section.lumia-booth{
  padding-block-end: clamp(2rem, 6vw, 3rem);
}
.page-template-modelhouse-lp .lumia section.lumia-cta{
  padding-block-start: clamp(2rem, 6vw, 3rem);
}
.page-template-modelhouse-lp .lumia-cta__overlay{
  background: linear-gradient(0deg, var(--lc-black) 0%, rgba(14,14,12,.6) 50%, rgba(14,14,12,.4) 100%);
}

/* ============================================================================
   FV：添付準拠（ロゴ＝上部中央／誕生＝右下・特大／リード＝下の濃ブラウン帯）
   ============================================================================ */
.page-template-modelhouse-lp .lumia section.lumia-fv{ padding: 0; }
.page-template-modelhouse-lp .lumia-fv{
  display: block;
  min-block-size: 0;
}
.page-template-modelhouse-lp .lumia-fv__hero{
  position: relative;
  min-block-size: 70svh;
  display: flex;
  overflow: hidden;
  color: var(--lc-on-dark);
}
.page-template-modelhouse-lp .lumia-fv__hero .lumia-fv__inner{
  position: relative;
  z-index: 1;
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-block: clamp(2.4rem, 8vw, 4rem);
  padding-inline: var(--lc-sp-inline);
}
.page-template-modelhouse-lp .lumia-fv__head{ text-align: center; }
.page-template-modelhouse-lp .lumia-fv__head .lumia-fv__logoImg img{
  inline-size: clamp(6.5rem, 18vw, 7.5rem);   /* ロゴ（約120px） */
}
.page-template-modelhouse-lp .lumia-fv__head .lumia-fv__title{
  font-size: clamp(1.4rem, 5.2vw, 1.92rem);   /* 1行に収める */
  letter-spacing: .04em;
  white-space: nowrap;
}
.page-template-modelhouse-lp .lumia-fv__birth{
  align-self: flex-end;
  text-align: right;
  margin: 0 0 clamp(2.5rem, 10vw, 5rem);   /* 写真エリアへ少し持ち上げ */
  font-size: clamp(4.5rem, 22vw, 8rem);
}
.page-template-modelhouse-lp .lumia-fv__leadwrap{
  background: var(--lc-ink);
  color: var(--lc-on-dark);
  padding-block: var(--lc-sp-section);
  padding-inline: var(--lc-sp-inline);
  text-align: center;
}
.page-template-modelhouse-lp .lumia-fv__leadwrap .lumia-fv__lead{
  margin: 0 auto;
  max-inline-size: var(--lc-maxw);
  text-shadow: none;
}
.page-template-modelhouse-lp .lumia-fv__leadwrap .lumia-fv__cta{
  margin-block-start: var(--lc-sp-block);
}
/* 写真の下端をマスクで透過し、後ろのブラウン背景(=リード帯)へ滑らかに溶け込ませる（黒帯カット・グラデ透過） */
.page-template-modelhouse-lp .lumia-fv__hero{ background: var(--lc-ink); }
.page-template-modelhouse-lp .lumia-fv__bg{ background: transparent; }
.page-template-modelhouse-lp .lumia-fv__img,
.page-template-modelhouse-lp .lumia-fv__bg img{
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 34%, transparent 88%);
          mask-image: linear-gradient(180deg, #000 0%, #000 34%, transparent 88%);
}
.page-template-modelhouse-lp .lumia-fv__overlay{
  background:
    linear-gradient(180deg, rgba(14,14,12,.5) 0%, rgba(14,14,12,.12) 28%, transparent 48%),
    linear-gradient(0deg, rgba(36,28,21,.4) 0%, transparent 28%);
}

/* ============================================================================
   #access  .lumia-access — アクセス（地図＋住所）
   ============================================================================ */
.page-template-modelhouse-lp .lumia-access{
  background: var(--lc-paper);
}
.page-template-modelhouse-lp .lumia-access__inner{
  inline-size: 100%;
  max-inline-size: var(--lc-maxw);
  margin-inline: auto;
}
.page-template-modelhouse-lp .lumia-access__map{
  margin: var(--lc-sp-block) 0 0;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: var(--lc-shadow);
}
.page-template-modelhouse-lp .lumia-access__map iframe{
  display: block;
  inline-size: 100%;
  aspect-ratio: 4 / 3;
  block-size: auto;
  border: 0;
}
.page-template-modelhouse-lp .lumia-access__addr{
  margin-block-start: var(--lc-sp-tight);
  text-align: center;
  font-family: var(--lc-font-body);
  font-size: clamp(.95rem, 3.6vw, 1.05rem);
  line-height: 1.9;
  letter-spacing: .04em;
  color: var(--lc-text);
}
