@charset "UTF-8";
/* =========================================
   初期styleリセット
========================================= */
.lout-grid.lout-breadcrumbs {
    display: none !important;
}
.lout-grid h1 {
    display: none;
    border-bottom: none;
}
.lout-grid h1:after{
    content:none;
}
.lout-grid h2,.lout-grid h3{
    border-bottom: none;
}
.lout-grid.lout-breadcrumbs {
    width: 960px;
}
.lout-followmenu {
    display: none;
}

header.lout-header.lout-grid {
    width: 960px;
}
.lout-grid {
    width: 100%;
}
.lout-footer .lout-footer-inner {
    width: 100%;
max-width: 960px;
    margin: auto;
}
.lout-hamburgerbtn{
    display: none;
}
.lout-contents {
    padding-left: 0px;
    padding-right: 0px;
}
.sp-br{
    display: none;
}

.css-1r2yhgy.evf3f5610{
    display: none;
}
.ymtbanner.is-w899 {
    margin: 0;
}

@media (min-width: 768px) {
.pc-br{
    display: none;
}
}

/* ---- WordPressテーマ調整：LPを含むブロックだけに効かせる（ヘッダー・グロナビの .lout-grid には触れない） ---- */
.lout-contents:has(#custom-lp-wrapper) { padding-left: 0; padding-right: 0; }
.lout-grid:has(#custom-lp-wrapper) h1:not(#custom-lp-wrapper h1) { display: none; }
.lout-grid:has(#custom-lp-wrapper) h2:not(#custom-lp-wrapper h2),
.lout-grid:has(#custom-lp-wrapper) h3:not(#custom-lp-wrapper h3) { border-bottom: none; }
/* 画面幅いっぱいの帯（100vw）でスクロールバー分の横スクロールが出ないよう、LPを含むページだけ横方向を切る */
body:has(#custom-lp-wrapper) { overflow-x: clip; }
/* 737〜1007px：テーマは .lout-grid を 960px に固定し、html/body の横方向を切っている（実サイト実測 2026-10-29）。
   そのままだと画面より広い 960px の本文の右側が切れて見えなくなるので、LPを含む本文の枠だけ画面幅に戻す */
@media (min-width: 737px) and (max-width: 1007px) {
  .lout-grid:has(#custom-lp-wrapper) { width: auto; }
}
/* サイト共通のヘッダーがあるページでは、LP側のロゴ帯を出さない（二重表示の防止） */
body:has(.lout-header, .lout-header_wrap) #custom-lp-wrapper .lp-head { display: none; }
/* サイト共通の下部固定バー（資料請求／見学会情報／ご来店予約）は、このLPのページだけ LP の追従ボタン（カタログ＋来場予約）に置き換える */
body:has(#custom-lp-wrapper) .lout-followmenu { display: none !important; }

/* ---- デザイントークン（値はカンプ実測） ---- */
#custom-lp-wrapper {
  --yj-blue: #004097;      /* コーポレートブルー：愛車・人生の大字 */
  --cta-blue: #00469B;     /* 来場予約ボタン */
  --cta-blue-hover: #0A58B8;
  --night: #253043;        /* POINT帯のデニム調ネイビー */
  --gold: #A79648;         /* 真鍮ゴールド：番号・PLAN01・カタログ外枠 */
  --gold-deep: #857630;    /* 白地に載せるゴールド文字（AA確保） */
  --gold-bright: #CDB872;  /* 紺地に載せるゴールド強調（真鍮ゴールドの明度違い） */
  --olive: #89772D;        /* カタログカード地 */
  --teal: #013B4F;         /* PLAN02 */
  --paper: #E6E6E6;        /* ABOUT・PLAN特長帯 */
  --paper-soft: #F3F3F1;   /* 紙色の帯（声・FAQ・間取り） */
  --ink: #1F1F1F;
  --gutter: 28px;
  --mincho: "Shippori Mincho", "Yu Mincho", "YuMincho", serif;
  --gothic: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --display: "Cinzel", "Times New Roman", serif;
  --garamond: "Cormorant Garamond", "Times New Roman", serif;
}

/* ---- ベース／wpautop対策（必須） ---- */
#custom-lp-wrapper, #custom-lp-wrapper *, #custom-lp-wrapper *:before, #custom-lp-wrapper *:after { box-sizing: border-box; }
#custom-lp-wrapper p:empty { display: none !important; }
#custom-lp-wrapper p { margin-bottom: 0; }
#custom-lp-wrapper .cta-btn + br, #custom-lp-wrapper .cta-sub + br, #custom-lp-wrapper .fixed-cta-btn + br { display: none; }
#custom-lp-wrapper .lp-assets { display: none !important; }
/* wpautop がボタン<a>を<p>で包んでも、ボタンが直接レイアウトに参加するよう包みを透過させる */
#custom-lp-wrapper p:has(.cta-btn), #custom-lp-wrapper p:has(.cta-sub){ display: contents; }
#custom-lp-wrapper h1, #custom-lp-wrapper h2, #custom-lp-wrapper h3, #custom-lp-wrapper h4 {
  display: block !important; visibility: visible !important;
  margin: 0; padding: 0; font-weight: normal; border: none; background: none;
}
#custom-lp-wrapper h1:before, #custom-lp-wrapper h2:before, #custom-lp-wrapper h3:before, #custom-lp-wrapper h4:before,
#custom-lp-wrapper h1:after, #custom-lp-wrapper h2:after, #custom-lp-wrapper h3:after, #custom-lp-wrapper h4:after { content: none; }
#custom-lp-wrapper {
  position: relative;
  font-family: var(--mincho); font-weight: 500;
  color: var(--ink); background: #fff;
  line-height: 1.8; letter-spacing: .04em;
  line-break: strict; text-spacing-trim: trim-start;
  padding-bottom: 72px; /* SP追従ボタンの逃げ */
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
#custom-lp-wrapper p, #custom-lp-wrapper h1, #custom-lp-wrapper h2, #custom-lp-wrapper h3, #custom-lp-wrapper h4, #custom-lp-wrapper li, #custom-lp-wrapper dt, #custom-lp-wrapper dd, #custom-lp-wrapper figcaption, #custom-lp-wrapper summary {
  word-break: auto-phrase; text-wrap: pretty;
}
#custom-lp-wrapper img { max-width: 100%; height: auto; vertical-align: bottom; display: block; border: none; }
#custom-lp-wrapper ul { list-style: none; margin: 0; padding: 0; }
#custom-lp-wrapper figure, #custom-lp-wrapper blockquote { margin: 0; padding: 0; border: none; quotes: none; }
#custom-lp-wrapper blockquote:before, #custom-lp-wrapper blockquote:after { content: none; }
#custom-lp-wrapper a { color: inherit; }
#custom-lp-wrapper a:focus-visible { outline: 3px solid #7FA8E8; outline-offset: 3px; }
#custom-lp-wrapper em { font-style: normal; }
#custom-lp-wrapper .br-pc { display: none; }
/* Cinzel は小文字をスモールキャップで描く。全大文字で見せる見出しのみ変換（セクションラベルはスモールキャップのまま） */

/* 写真フレーム：画像は枠に合わせて object-fit。差し替え時に比率が違っても崩れない */
#custom-lp-wrapper .ph { position: relative; overflow: hidden; }
#custom-lp-wrapper .ph img { width: 100%; object-fit: cover; }
#custom-lp-wrapper .ph--case:after,
#custom-lp-wrapper .ph--img:after {
  position: absolute; z-index: 3; pointer-events: none;
  color: #fff; font-family: var(--gothic); font-weight: 500; line-height: 1;
  text-shadow: 0 0 6px rgba(0,0,0,.55), 0 0 2px rgba(0,0,0,.45);
}
#custom-lp-wrapper .ph--case:after { content: "当社施工事例"; right: 9px; bottom: 8px; font-size: 11px; letter-spacing: .14em; opacity: .9; }
#custom-lp-wrapper .ph--img:after { content: "image"; right: 9px; bottom: 8px; font-size: 10.5px; letter-spacing: .04em; }

/* フルブリード（ラッパーでは切らない。各セクション側で overflow を管理） */
#custom-lp-wrapper .full-bleed { width: 100vw; margin-left: calc(50% - 50vw); position: relative; }

/* ---- セクションラベル（罫線＋○＋スモールキャップ） ---- */

/* 縦罫＋末端の左下へのハネ（カンプ共通モチーフ）：縦線＝:after/:before の一方、ハネ＝もう一方を線の下端に吊るして回転 */

/* ============================================================
   ヘッダー
   ============================================================ */
#custom-lp-wrapper .lp-head {
  display: flex; justify-content: center; align-items: center;
  padding: 14px 0 4px;
  background: #101B31;
}
#custom-lp-wrapper .lp-head-logo { height: 40px; width: auto; }

/* ============================================================
   ヒーロー：3枚の写真 × 縦組みコピー × GARAGE HOUSE の大文字
   位置・文字サイズはステージ幅基準（cqw）。どの画面幅でも関係が崩れない
   ============================================================ */
#custom-lp-wrapper .hero {
  background-color: #101B31;
  background-image: linear-gradient(180deg, rgba(16, 27, 49, .9) 0%, rgba(16, 28, 54, .86) 60%, rgba(18, 30, 54, .92) 100%), url("assets/texture-night.jpg");
  background-size: auto, 720px 720px;
  overflow: clip;
}
#custom-lp-wrapper .hero-stage { position: relative; aspect-ratio: 800 / 1290; container-type: inline-size; }

#custom-lp-wrapper .hero-side { position: absolute; }
#custom-lp-wrapper .hero-side img { position: absolute; inset: 0; width: 100%; height: 100%; }
#custom-lp-wrapper .hero-side--l { left: 0; top: 16.5%; width: 29%; height: 57.5%; }
#custom-lp-wrapper .hero-side--l img { object-position: 46% 50%; }
#custom-lp-wrapper .hero-side--r { right: 0; top: 5.9%; width: 29%; height: 57.4%; }
#custom-lp-wrapper .hero-side--r img { object-position: 76% 50%; }

#custom-lp-wrapper .hero-center { position: absolute; left: 31.9%; top: .9%; width: 36.6%; height: 89.6%; z-index: 2; }
#custom-lp-wrapper .hero-center-img { position: absolute; inset: 0; height: 100%; object-position: 32% 50%; }
#custom-lp-wrapper .hero-center:before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(12, 34, 92, .74) 0%, rgba(14, 38, 96, .42) 28%, rgba(10, 20, 44, 0) 46%, rgba(10, 18, 36, 0) 72%, rgba(12, 20, 38, .5) 100%);
}
#custom-lp-wrapper .hero-center.ph--case:after { left: auto; right: 10px; bottom: 10px; }
#custom-lp-wrapper .hero-title {
  position: absolute !important; z-index: 2; top: 0; left: 50%; transform: translateX(-50%);
  padding-top: 4.75cqw;
  writing-mode: vertical-rl;
  color: #fff; font-weight: 600; font-size: 4vw; font-size: 4cqw; line-height: 1; letter-spacing: .1em;
  text-shadow: 0 0 14px rgba(5, 15, 40, .4);
}
#custom-lp-wrapper .hero-title-line { display: block; white-space: nowrap; margin-left: 1.05em; }
#custom-lp-wrapper .hero-title-line + .hero-title-line { margin-left: 0; }

#custom-lp-wrapper .hero-garage { position: absolute; inset: 0; margin: 0; z-index: 3; pointer-events: none; }
#custom-lp-wrapper .hg-row {
  position: absolute; display: block; white-space: nowrap;
  font-family: var(--display); font-weight: 500; line-height: 1;
  font-size: 19.1vw; font-size: 19.1cqw; letter-spacing: .2em;
  color: rgba(238, 238, 234, .92);
  text-shadow: 0 1px 3px rgba(4, 10, 24, .28), 0 2px 24px rgba(4, 10, 24, .38);
}
#custom-lp-wrapper .hg-row--1 { left: -.055em; top: 38.4%; }
#custom-lp-wrapper .hg-row--2 { left: calc(24.5% - .05em); top: 50.1%; letter-spacing: .14em; }
#custom-lp-wrapper .hg-au { color: rgba(192, 174, 104, .92); }

#custom-lp-wrapper .hero-en {
  position: absolute; z-index: 3; left: 71.2%; top: 64.7%; margin: 0;
  writing-mode: vertical-rl;
  font-family: var(--garamond); font-weight: 500; font-size: 3vw; font-size: 3cqw; line-height: 2.1; letter-spacing: .05em;
  color: #E6E6E2;
}
#custom-lp-wrapper .hero-lexus { position: absolute; z-index: 4; left: 2.5%; top: 83.3%; width: 37%; }
#custom-lp-wrapper .hero-lexus:after { left: auto; right: 4px; bottom: -14px; text-shadow: none; color: #AEB5C2; }
#custom-lp-wrapper .hero-barcode { position: absolute; z-index: 4; left: 64.5%; top: 89.4%; width: 32%; transform: rotate(-3deg); }

/* ロード時のオーケストレーション（ヒーローのみ・1回） */
@keyframes lpRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes lpFade { from { opacity: 0; } to { opacity: 1; } }
#custom-lp-wrapper .hero-center { animation: lpRise 1s cubic-bezier(.2,.7,.2,1) .05s both; }
#custom-lp-wrapper .hero-side--l { animation: lpRise 1s cubic-bezier(.2,.7,.2,1) .2s both; }
#custom-lp-wrapper .hero-side--r { animation: lpRise 1s cubic-bezier(.2,.7,.2,1) .32s both; }
#custom-lp-wrapper .hero-title { animation: lpFade 1.2s ease .5s both; }
#custom-lp-wrapper .hero-garage { animation: lpFade 1.1s ease .62s both; }
#custom-lp-wrapper .hero-en { animation: lpFade 1s ease .9s both; }
#custom-lp-wrapper .hero-lexus { animation: lpRise 1s cubic-bezier(.2,.7,.2,1) .8s both; }
#custom-lp-wrapper .hero-barcode { animation: lpRise 1s cubic-bezier(.2,.7,.2,1) .95s both; }

/* ============================================================
   色の固定：紺1（#131F38）／真鍮2（暗い背景用・明るい背景用）＋線用1／CTAの青1
   ============================================================ */
#custom-lp-wrapper {
  --night: #131F38;
  --navy-box: #1A2744;
  --gold: #B7A565;          /* 線・罫・アイコン */
  --gold-deep: #8C7440;     /* 白地の金文字（白に対して約4.5:1） */
  --gold-bright: #C2A86A;   /* 紺地の金文字 */
  --cta-blue: #00469B;
  --cta-blue-hover: #003A80;
  --paper-soft: #F3F3F1;
  --line: #E2E1DC;
}

#custom-lp-wrapper .num { font-family: var(--display); font-weight: 600; letter-spacing: .01em; font-variant-numeric: lining-nums; }

/* ============================================================
   共通部品
   ============================================================ */
/* 章番号つきのラベル（線は Concept・Plan・Next Step だけ） */
#custom-lp-wrapper .kicker {
  display: flex; align-items: baseline; gap: 12px; margin: 0;
  font-family: var(--display); font-weight: 500; font-size: 12.5px; line-height: 1; letter-spacing: .18em; color: var(--gold-deep);
}
#custom-lp-wrapper .kicker-num { font-weight: 600; font-size: 13px; letter-spacing: .1em; }
#custom-lp-wrapper .kicker-num:after { content: "／"; margin-left: 10px; font-family: var(--gothic); font-weight: 400; opacity: .6; }
#custom-lp-wrapper .kicker--light { color: var(--gold-bright); }
#custom-lp-wrapper .kicker--line { align-items: center; }
#custom-lp-wrapper .kicker--line:before { content: ""; flex: none; width: 28px; height: 1px; background: var(--gold); }
#custom-lp-wrapper .kicker--center { justify-content: center; }
#custom-lp-wrapper .kicker--center:after { content: ""; flex: none; width: 28px; height: 1px; background: var(--gold); }

#custom-lp-wrapper .pain-title, #custom-lp-wrapper .concept-title, #custom-lp-wrapper .family-title, #custom-lp-wrapper .wants-title,
#custom-lp-wrapper .structure-title, #custom-lp-wrapper .plans-title, #custom-lp-wrapper .money-title, #custom-lp-wrapper .voices-title, #custom-lp-wrapper .closing-title {
  margin: 16px 0 0; font-size: 25px; font-weight: 600; line-height: 1.6; letter-spacing: .06em;
}
#custom-lp-wrapper .concept-title, #custom-lp-wrapper .structure-title, #custom-lp-wrapper .plans-title, #custom-lp-wrapper .closing-title { font-size: 28px; line-height: 1.5; letter-spacing: .05em; }
#custom-lp-wrapper .concept-title, #custom-lp-wrapper .structure-title, #custom-lp-wrapper .closing-title { color: #fff; }
#custom-lp-wrapper .nowrap { display: inline-block; white-space: nowrap; }

/* ボタン：来場予約は青の塗り（全ページで1色）。紺地では内側に真鍮の細線 */
#custom-lp-wrapper .cta-btn, #custom-lp-wrapper .cta-sub {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 100%; margin: 0 auto; padding: 0 44px; text-decoration: none; line-height: 1.3; white-space: nowrap;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}
#custom-lp-wrapper .cta-btn { min-height: 64px; background: var(--cta-blue); color: #fff; font-size: 17.5px; font-weight: 600; letter-spacing: .18em; outline: 1px solid rgba(255, 255, 255, .26); outline-offset: -5px; }
#custom-lp-wrapper .cta-btn:hover { background: var(--cta-blue-hover); }
#custom-lp-wrapper .cta-sub { min-height: 64px; padding: 0 40px 0 30px; background: transparent; color: var(--ink); border: 1px solid var(--gold); font-size: 14.5px; font-weight: 600; letter-spacing: .06em; }
#custom-lp-wrapper .cta-sub:hover { background: var(--gold); color: #fff; }
#custom-lp-wrapper .cta-sub--on-dark { color: #fff; border-color: rgba(194, 168, 106, .85); }
#custom-lp-wrapper .cta-sub--on-dark:hover { background: var(--gold-bright); color: var(--night); }
#custom-lp-wrapper .cta-btn-arrow, #custom-lp-wrapper .cta-sub-arrow {
  position: absolute; right: 22px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  border-top: 2px solid currentColor; border-right: 2px solid currentColor;
  transform: rotate(45deg); transition: transform .3s ease;
}
#custom-lp-wrapper .cta-sub-arrow { width: 8px; height: 8px; margin-top: -4px; color: var(--gold); }
#custom-lp-wrapper .cta-sub--on-dark .cta-sub-arrow { color: var(--gold-bright); }
#custom-lp-wrapper .cta-sub:hover .cta-sub-arrow { color: inherit; }
#custom-lp-wrapper .cta-btn:hover .cta-btn-arrow, #custom-lp-wrapper .cta-sub:hover .cta-sub-arrow { transform: translateX(4px) rotate(45deg); }
/* 2行のボタン：上に行動、下に負担の軽さ（無料・郵送 など） */
#custom-lp-wrapper .cta-btn-tx { display: flex; flex-direction: column; align-items: center; gap: 5px; line-height: 1.25; }
#custom-lp-wrapper .cta-btn-sub { font-family: var(--gothic); font-weight: 500; font-size: 11.5px; letter-spacing: .08em; opacity: .9; }
#custom-lp-wrapper .cta-sub .cta-sub-text { font-size: 15.5px; letter-spacing: .1em; }
#custom-lp-wrapper .cta-sub .cta-btn-sub { color: var(--gold-deep); opacity: 1; }
#custom-lp-wrapper .cta-sub--on-dark .cta-btn-sub { color: var(--gold-bright); }
#custom-lp-wrapper .cta-sub:hover .cta-btn-sub { color: inherit; }
/* 来場予約（塗り）とカタログ（線）を並べる */
#custom-lp-wrapper .cta-pair { display: grid; gap: 12px; }
#custom-lp-wrapper .cta-micro { margin: 10px 0 0; text-align: center; font-family: var(--gothic); font-weight: 400; font-size: 12px; line-height: 1.6; letter-spacing: .06em; color: #666; }
#custom-lp-wrapper .cta-micro--light { color: rgba(255, 255, 255, .8); }

/* 文字リンク（資料請求の導線）：タップ領域は高さ44px以上 */

/* お客様の声は2種類だけ。主＝左に真鍮の縦線（構造・プラン・Voiceの1件目）／脇＝上下の罫（04・07・Voiceの2件目以降） */
#custom-lp-wrapper .trust-quote, #custom-lp-wrapper .struct-voice, #custom-lp-wrapper .plan-voice, #custom-lp-wrapper .money-voice { margin: 0; text-align: left; }
#custom-lp-wrapper .trust-quote blockquote p, #custom-lp-wrapper .struct-voice blockquote p, #custom-lp-wrapper .plan-voice blockquote p, #custom-lp-wrapper .money-voice blockquote p {
  margin: 0; font-size: 15px; font-weight: 600; line-height: 1.95; letter-spacing: .02em;
}
#custom-lp-wrapper .trust-quote figcaption, #custom-lp-wrapper .struct-voice figcaption, #custom-lp-wrapper .plan-voice figcaption, #custom-lp-wrapper .money-voice figcaption {
  margin-top: 10px; font-family: var(--gothic); font-weight: 400; font-size: 12.5px; line-height: 1.6; letter-spacing: .06em; color: #6E6E6E;
}
#custom-lp-wrapper .trust-quote-note { display: block; margin-top: 2px; font-size: 11px; }
#custom-lp-wrapper .trust-quote, #custom-lp-wrapper .money-voice { padding: 18px 0 16px; background: none; border-top: 1px solid #D6D4CC; border-bottom: 1px solid #D6D4CC; }

/* タブ（CSSのみ：radio + :has）。radio は見えないが、キーボードの矢印キーで操作できる */
#custom-lp-wrapper .tab-radio { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
#custom-lp-wrapper .wants-tabs p, #custom-lp-wrapper .plans-tabs p, #custom-lp-wrapper .cta-pair p,
#custom-lp-wrapper .fixed-cta p { display: contents; }
@keyframes lpPanel { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* 紺の帯（コンセプト・構造・最終CTA） */
#custom-lp-wrapper .concept, #custom-lp-wrapper .structure, #custom-lp-wrapper .closing {
  background-color: var(--night);
  background-image: linear-gradient(rgba(19, 31, 56, .88), rgba(19, 31, 56, .9)), url("assets/texture-night.jpg");
  background-size: auto, 720px 720px;
  color: #F2F2F0; overflow: clip;
}

/* ============================================================
   01 共感
   ============================================================ */
#custom-lp-wrapper .pain { padding: 64px 0 0; background: #fff; }
#custom-lp-wrapper .pain-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .pain-list { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
#custom-lp-wrapper .pain-list li { display: flex; align-items: flex-start; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 15px; font-weight: 600; line-height: 1.7; letter-spacing: .02em; }
#custom-lp-wrapper .pain-list li:before { content: ""; flex: none; width: 14px; height: 1px; margin-top: .85em; background: var(--gold-deep); }
#custom-lp-wrapper .pain-ph { margin: 30px calc(var(--gutter) * -1) 0 0; }
#custom-lp-wrapper .pain-ph img { aspect-ratio: 16 / 10; }
#custom-lp-wrapper .pain-close { margin: 44px 0 0; text-align: center; font-size: 22px; font-weight: 600; line-height: 1.75; letter-spacing: .06em; }
/* 締めの一文から真鍮の線を垂らし、そのまま02の紺の帯へつなぐ */
#custom-lp-wrapper .pain-close:after { content: ""; display: block; width: 1px; height: 64px; margin: 26px auto 0; background: linear-gradient(var(--gold), var(--gold-bright)); }

/* ============================================================
   02 コンセプト（寸法線と「6m」がこのページの目印）
   ============================================================ */
#custom-lp-wrapper .concept { padding: 72px 0 0; }
#custom-lp-wrapper .concept-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .concept-lead { margin: 18px 0 0; font-size: 15px; line-height: 2.05; letter-spacing: .04em; color: #E6E8EE; }
/* 表題欄（図面右下の仕様欄の形式） */
#custom-lp-wrapper .spec { margin: 28px 0 0; border-top: 1px solid rgba(194, 168, 106, .7); border-bottom: 1px solid rgba(194, 168, 106, .7); }
#custom-lp-wrapper .spec-row { display: grid; grid-template-columns: 6.2em 1fr; }
#custom-lp-wrapper .spec-row + .spec-row { border-top: 1px solid rgba(255, 255, 255, .12); }
#custom-lp-wrapper .spec dt { display: flex; align-items: center; padding: 12px 0; border-right: 1px solid rgba(255, 255, 255, .12); font-family: var(--gothic); font-weight: 400; font-size: 12px; line-height: 1.4; letter-spacing: .16em; color: #B4BBC9; }
#custom-lp-wrapper .spec dd { margin: 0; padding: 12px 0 12px 18px; font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: .08em; color: #fff; }
#custom-lp-wrapper .concept-visual { position: relative; margin: 48px calc(var(--gutter) * -1) 0; padding-top: 40px; }
#custom-lp-wrapper .dim { position: absolute; top: 4px; left: 16px; right: 16px; height: 22px; margin: 0; border-left: 1px solid var(--gold-bright); border-right: 1px solid var(--gold-bright); }
#custom-lp-wrapper .dim:before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--gold-bright); }
/* 寸法線の止め（図面の斜線）。寸法線は「実際の数量があるところ」にだけ使う：02の約6m／08の45・65名 */
#custom-lp-wrapper .dim:after, #custom-lp-wrapper .voices-dim-bar:after {
  content: ""; position: absolute; left: -6px; right: -6px; top: 50%; height: 12px; margin-top: -6px; pointer-events: none;
  background:
    linear-gradient(135deg, transparent calc(50% - .8px), var(--tick, var(--gold-bright)) calc(50% - .8px), var(--tick, var(--gold-bright)) calc(50% + .8px), transparent calc(50% + .8px)) left center / 12px 12px no-repeat,
    linear-gradient(135deg, transparent calc(50% - .8px), var(--tick, var(--gold-bright)) calc(50% - .8px), var(--tick, var(--gold-bright)) calc(50% + .8px), transparent calc(50% + .8px)) right center / 12px 12px no-repeat;
}
#custom-lp-wrapper .dim-label {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; align-items: baseline; padding: 0 14px; background: #14213B;
  font-family: var(--mincho); font-weight: 600; font-size: 16px; line-height: 1; letter-spacing: .12em; color: var(--gold-bright); white-space: nowrap;
}
#custom-lp-wrapper .dim-num { margin: 0 3px 0 2px; font-family: var(--display); font-weight: 600; font-size: 32px; line-height: .8; letter-spacing: 0; }
#custom-lp-wrapper .concept-ph img { aspect-ratio: 16 / 10; }

/* ============================================================
   03 家族にとって
   ============================================================ */
#custom-lp-wrapper .family { padding: 72px 0 64px; background: #fff; }
#custom-lp-wrapper .family-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .family-body { margin-top: 28px; }
#custom-lp-wrapper .family-ph { margin: 0 calc(var(--gutter) * -1); }
#custom-lp-wrapper .family-ph img { aspect-ratio: 3 / 2; }
#custom-lp-wrapper .family-list { margin: 8px 0 0; padding: 0; list-style: none; }
#custom-lp-wrapper .family-item { padding: 20px 0; border-bottom: 1px solid var(--line); }
#custom-lp-wrapper .family-h { font-size: 18px; font-weight: 600; line-height: 1.6; letter-spacing: .04em; }
#custom-lp-wrapper .family-text { margin: 6px 0 0; font-size: 14.5px; line-height: 1.95; color: #333; }

/* ============================================================
   04 ガレージで、何をしたいですか？
   ============================================================ */
#custom-lp-wrapper .wants { padding: 64px 0 72px; background: var(--paper-soft); }
#custom-lp-wrapper .wants-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .wants-lead { margin: 12px 0 0; font-size: 14px; line-height: 1.85; color: #555; }
#custom-lp-wrapper .wants-ui { position: relative; margin-top: 26px; }
#custom-lp-wrapper .wants-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid #D6D4CC; }
#custom-lp-wrapper .wants-tab {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 6px 2px 14px;
  text-align: center; color: #6B6B6B; cursor: pointer; transition: color .25s ease;
}
#custom-lp-wrapper .wants-tab:after { content: ""; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 2px; background: transparent; transition: background-color .25s ease; }
#custom-lp-wrapper .wants-tab:hover { color: var(--ink); }
#custom-lp-wrapper .wants-tab-en { font-family: var(--garamond); font-style: italic; font-weight: 500; font-size: 20px; line-height: 1.1; letter-spacing: .01em; color: #A8A49A; transition: color .25s ease; }
#custom-lp-wrapper .wants-tab-ja { margin-top: 5px; font-size: 12.5px; letter-spacing: .02em; font-weight: 600; line-height: 1.4; word-break: keep-all; }
#custom-lp-wrapper .wants-panel { display: none; margin-top: 24px; animation: lpPanel .45s ease both; }
#custom-lp-wrapper .wants-ui:has(#lp-want-1:checked) .wants-panel--1,
#custom-lp-wrapper .wants-ui:has(#lp-want-2:checked) .wants-panel--2,
#custom-lp-wrapper .wants-ui:has(#lp-want-3:checked) .wants-panel--3 { display: block; }
#custom-lp-wrapper .wants-ui:has(#lp-want-1:checked) .wants-tab[for="lp-want-1"],
#custom-lp-wrapper .wants-ui:has(#lp-want-2:checked) .wants-tab[for="lp-want-2"],
#custom-lp-wrapper .wants-ui:has(#lp-want-3:checked) .wants-tab[for="lp-want-3"] { color: var(--ink); }
#custom-lp-wrapper .wants-ui:has(#lp-want-1:checked) .wants-tab[for="lp-want-1"]:after,
#custom-lp-wrapper .wants-ui:has(#lp-want-2:checked) .wants-tab[for="lp-want-2"]:after,
#custom-lp-wrapper .wants-ui:has(#lp-want-3:checked) .wants-tab[for="lp-want-3"]:after { background: var(--gold-deep); }
#custom-lp-wrapper .wants-ui:has(#lp-want-1:checked) .wants-tab[for="lp-want-1"] .wants-tab-en,
#custom-lp-wrapper .wants-ui:has(#lp-want-2:checked) .wants-tab[for="lp-want-2"] .wants-tab-en,
#custom-lp-wrapper .wants-ui:has(#lp-want-3:checked) .wants-tab[for="lp-want-3"] .wants-tab-en { color: var(--gold-deep); }
#custom-lp-wrapper .wants-ui:has(#lp-want-1:focus-visible) .wants-tab[for="lp-want-1"],
#custom-lp-wrapper .wants-ui:has(#lp-want-2:focus-visible) .wants-tab[for="lp-want-2"],
#custom-lp-wrapper .wants-ui:has(#lp-want-3:focus-visible) .wants-tab[for="lp-want-3"] { outline: 3px solid #7FA8E8; outline-offset: 2px; }
#custom-lp-wrapper .wants-ph { margin: 0 calc(var(--gutter) * -1); }
#custom-lp-wrapper .wants-ph img { aspect-ratio: 3 / 2; }
#custom-lp-wrapper .wants-body { padding-top: 24px; }
#custom-lp-wrapper .wants-h { font-size: 22px; font-weight: 600; line-height: 1.6; letter-spacing: .06em; }
#custom-lp-wrapper .wants-text { margin: 12px 0 0; font-size: 15px; line-height: 2; letter-spacing: .02em; }
#custom-lp-wrapper .wants-points { margin: 18px 0 0; padding: 0; list-style: none; border-top: 1px solid #DCDAD3; }
#custom-lp-wrapper .wants-points li { position: relative; padding: 11px 0 11px 22px; border-bottom: 1px solid #DCDAD3; font-size: 14px; font-weight: 500; line-height: 1.7; color: #333; }
#custom-lp-wrapper .wants-points li:before { content: ""; position: absolute; left: 2px; top: 1.5em; width: 11px; height: 1px; background: var(--gold-deep); }
#custom-lp-wrapper .wants-cta { margin-top: 44px; text-align: center; }
#custom-lp-wrapper .wants-cta .trust-quote { margin-bottom: 30px; }
#custom-lp-wrapper .trust-quote-label { margin: 0 0 8px; font-family: var(--gothic); font-weight: 500; font-size: 12px; letter-spacing: .1em; color: var(--gold-deep); }
#custom-lp-wrapper .wants-cta-lead { display: none; margin: 0 0 18px; font-size: 15px; font-weight: 600; line-height: 1.85; }
#custom-lp-wrapper .wants-ui:has(#lp-want-1:checked) .wants-cta-lead--1,
#custom-lp-wrapper .wants-ui:has(#lp-want-2:checked) .wants-cta-lead--2,
#custom-lp-wrapper .wants-ui:has(#lp-want-3:checked) .wants-cta-lead--3 { display: block; }

/* ============================================================
   05 構造
   ============================================================ */
#custom-lp-wrapper .structure { padding: 80px 0 72px; }
#custom-lp-wrapper .structure-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .structure-lead { margin: 16px 0 0; font-size: 15px; line-height: 2; color: #E6E8EE; }
#custom-lp-wrapper .struct-item { margin-top: 44px; }
#custom-lp-wrapper .struct-ph img { aspect-ratio: 3 / 2; }
#custom-lp-wrapper .struct-q { margin: 20px 0 0; font-size: 15px; font-weight: 600; line-height: 1.6; color: #fff; }
#custom-lp-wrapper .struct-h { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 21px; font-weight: 600; line-height: 1.5; letter-spacing: .1em; color: var(--gold-bright); }
#custom-lp-wrapper .struct-fig { display: flex; align-items: baseline; margin: 14px 0 0; line-height: 1; }
#custom-lp-wrapper .struct-fig-label { margin-right: 14px; font-family: var(--gothic); font-weight: 400; font-size: 12px; letter-spacing: .14em; color: #B4BBC9; }
#custom-lp-wrapper .struct-fig .num { font-size: 48px; color: var(--gold-bright); }
#custom-lp-wrapper .struct-fig-unit { margin-left: 4px; font-family: var(--garamond); font-weight: 500; font-size: 22px; color: var(--gold-bright); }
#custom-lp-wrapper .struct-body { margin: 12px 0 0; font-size: 15px; line-height: 2.05; letter-spacing: .02em; color: #E6E8EE; }
#custom-lp-wrapper .struct-voice { margin-top: 52px; padding-left: 18px; border-left: 1px solid var(--gold-bright); }
#custom-lp-wrapper .struct-voice blockquote p { color: #fff; }
#custom-lp-wrapper .struct-voice figcaption { color: rgba(255, 255, 255, .72); }
#custom-lp-wrapper .struct-cta { margin-top: 40px; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, .18); text-align: center; }
#custom-lp-wrapper .struct-cta-lead { margin: 0 0 20px; font-size: 15px; font-weight: 600; line-height: 1.9; color: #fff; }

/* ============================================================
   06 実例プラン（タブ）
   ============================================================ */
#custom-lp-wrapper .plans { padding: 72px 0 56px; background: #fff; }
#custom-lp-wrapper .plans-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .plans-ui { position: relative; margin-top: 26px; }
#custom-lp-wrapper .plans-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #D6D4CC; }
#custom-lp-wrapper .plans-tab { position: relative; display: flex; flex-direction: column; align-items: center; padding: 12px 6px 14px; cursor: pointer; color: #8A8A86; transition: color .25s ease; }
#custom-lp-wrapper .plans-tab:hover { color: var(--ink); }
#custom-lp-wrapper .plans-tab-num { font-family: var(--display); font-weight: 600; font-size: 26px; line-height: 1; font-variant-numeric: lining-nums; }
#custom-lp-wrapper .plans-tab-ja { margin-top: 7px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .02em; text-align: center; }
#custom-lp-wrapper .plans-tab:after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: transparent; transition: background-color .25s ease; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-1:checked) .plans-tab[for="lp-plan-1"],
#custom-lp-wrapper .plans-ui:has(#lp-plan-2:checked) .plans-tab[for="lp-plan-2"] { color: var(--ink); }
#custom-lp-wrapper .plans-ui:has(#lp-plan-1:checked) .plans-tab[for="lp-plan-1"] .plans-tab-num,
#custom-lp-wrapper .plans-ui:has(#lp-plan-2:checked) .plans-tab[for="lp-plan-2"] .plans-tab-num { color: var(--gold-deep); }
#custom-lp-wrapper .plans-ui:has(#lp-plan-1:checked) .plans-tab[for="lp-plan-1"]:after,
#custom-lp-wrapper .plans-ui:has(#lp-plan-2:checked) .plans-tab[for="lp-plan-2"]:after { background: var(--gold); }
#custom-lp-wrapper .plans-ui:has(#lp-plan-1:focus-visible) .plans-tab[for="lp-plan-1"],
#custom-lp-wrapper .plans-ui:has(#lp-plan-2:focus-visible) .plans-tab[for="lp-plan-2"] { outline: 3px solid #7FA8E8; outline-offset: 2px; }
#custom-lp-wrapper .plan-panel { display: none; padding-top: 26px; animation: lpPanel .45s ease both; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-1:checked) .plan-panel--1,
#custom-lp-wrapper .plans-ui:has(#lp-plan-2:checked) .plan-panel--2 { display: block; }
#custom-lp-wrapper .plan-hero { margin: 0 calc(var(--gutter) * -1); }
#custom-lp-wrapper .plan-hero img { aspect-ratio: 4 / 3; }
#custom-lp-wrapper .plan-summary { margin-top: 22px; }
#custom-lp-wrapper .plan-name { font-size: 21px; font-weight: 600; line-height: 1.6; letter-spacing: .06em; }
#custom-lp-wrapper .plan-tags { margin: 10px 0 0; font-size: 13px; line-height: 1.8; letter-spacing: .04em; color: #6B6B6B; }
#custom-lp-wrapper .plan-data { margin: 18px 0 0; border-top: 1px solid var(--line); }
#custom-lp-wrapper .plan-data div { display: grid; grid-template-columns: 5.2em 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
#custom-lp-wrapper .plan-data dt { font-size: 13px; font-weight: 500; line-height: 1.7; color: #777; }
#custom-lp-wrapper .plan-data dd { margin: 0; font-size: 14.5px; font-weight: 600; line-height: 1.7; }
#custom-lp-wrapper .plan-data-note { display: block; font-size: 12px; font-weight: 400; color: #777; }
#custom-lp-wrapper .plan-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 8px; margin-top: 28px; }
#custom-lp-wrapper .plan-shot { margin: 0; }
#custom-lp-wrapper .plan-shot--main { grid-column: 1 / -1; }
#custom-lp-wrapper .plan-shot img { aspect-ratio: 1 / 1; }
#custom-lp-wrapper .plan-shot--main img { aspect-ratio: 4 / 3; }
#custom-lp-wrapper .plan-shot figcaption { margin-top: 8px; font-size: 13.5px; font-weight: 600; line-height: 1.55; }
#custom-lp-wrapper .plan-shot-en { display: block; margin-bottom: 3px; font-family: var(--display); font-weight: 500; font-size: 11.5px; line-height: 1; letter-spacing: .14em; color: var(--gold-deep); }
#custom-lp-wrapper .plan-voice { margin-top: 30px; padding-left: 18px; border-left: 1px solid var(--gold); }
/* 間取り図：SPは横スクロール（次の図が少し見える） */
#custom-lp-wrapper .floor-hint { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: 30px 0 10px; font-family: var(--display); font-weight: 500; font-size: 11px; line-height: 1; letter-spacing: .2em; color: #8A8A86; }
#custom-lp-wrapper .floor-hint:after { content: ""; width: 28px; height: 1px; background: currentColor; }
#custom-lp-wrapper .plan-floor { display: flex; gap: 12px; margin: 0 calc(var(--gutter) * -1) 0; padding: 22px var(--gutter) 18px; background: var(--paper-soft); overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
#custom-lp-wrapper .floor-fig { flex: 0 0 84%; scroll-snap-align: center; margin: 0; display: flex; flex-direction: column; justify-content: flex-end; }
#custom-lp-wrapper .floor-fig img { width: 100%; mix-blend-mode: multiply; }
#custom-lp-wrapper .floor-fig--roof img { width: 72%; margin: 0 auto; }
/* 「1F」「2F」は図に描かれているので、キャプションは読み上げ用にだけ残す */
#custom-lp-wrapper .floor-fig figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ============================================================
   カタログ（06 プランの直後）：見開き3点 → カタログ請求（塗り）／来場（線）
   ============================================================ */
#custom-lp-wrapper .catalog { padding: 72px 0 64px; text-align: center; background: var(--paper-soft); }
#custom-lp-wrapper .catalog-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .catalog-en { margin: 0; font-family: var(--display); font-weight: 500; font-size: 13px; line-height: 1; letter-spacing: .3em; color: var(--gold-deep); }
#custom-lp-wrapper .catalog-en:before { content: ""; display: block; width: 1px; height: 40px; margin: 0 auto 22px; background: var(--gold); }
#custom-lp-wrapper .catalog-title { margin-top: 18px !important; font-size: 26px; font-weight: 600 !important; line-height: 1.6; letter-spacing: .08em; color: var(--ink); }
#custom-lp-wrapper .catalog-lead { margin: 18px 0 0; text-align: left; font-size: 14px; line-height: 2.05; letter-spacing: .04em; color: #444; }
/* SPは横スクロール（次の見開きが少し見える） */
#custom-lp-wrapper .catalog-spreads { display: flex; gap: 12px; margin: 32px calc(var(--gutter) * -1) 0; padding: 0 var(--gutter) 8px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
#custom-lp-wrapper .catalog-spreads::-webkit-scrollbar { display: none; }
#custom-lp-wrapper .catalog-spreads img { flex: 0 0 84%; width: 84%; aspect-ratio: 1400 / 990; object-fit: cover; scroll-snap-align: center; box-shadow: 0 14px 30px rgba(20, 28, 45, .22); }
#custom-lp-wrapper .catalog-hint { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: 10px 0 0; font-family: var(--display); font-weight: 500; font-size: 11px; line-height: 1; letter-spacing: .2em; color: #8A8A86; }
#custom-lp-wrapper .catalog-hint:after { content: ""; width: 28px; height: 1px; background: currentColor; }
#custom-lp-wrapper .catalog-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 28px; }
#custom-lp-wrapper .catalog-action .cta-btn { min-height: 68px; padding: 0 36px 0 16px; font-size: clamp(13px, 4vw, 15px); letter-spacing: .03em; }

/* ============================================================
   07 費用と土地
   ============================================================ */
#custom-lp-wrapper .money { padding: 72px 0; background: var(--paper-soft); }
#custom-lp-wrapper .money-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .money-grid { display: grid; gap: 40px; margin-top: 30px; }
#custom-lp-wrapper .money-item { padding-top: 22px; border-top: 1px solid var(--gold); }
#custom-lp-wrapper .money-q { margin: 0; font-family: var(--gothic); font-weight: 500; font-size: 13px; letter-spacing: .08em; color: var(--gold-deep); }
#custom-lp-wrapper .money-h { margin-top: 8px; font-size: 20px; font-weight: 600; line-height: 1.6; letter-spacing: .04em; }
#custom-lp-wrapper .money-text { margin: 12px 0 0; font-size: 14.5px; line-height: 2; color: #333; }
#custom-lp-wrapper .money-voice { margin-top: 22px; }
#custom-lp-wrapper .money-voice blockquote p { font-size: 14px; }

/* ============================================================
   08 オーナーの声（施主VOC ready の逐語・表記確定分）
   ============================================================ */
#custom-lp-wrapper .voices { padding: 72px 0; background: #fff; }
#custom-lp-wrapper .voices-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .voices-stat { margin-top: 22px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
#custom-lp-wrapper .voices-stat-num { margin: 0; line-height: 1; }
#custom-lp-wrapper .voices-stat-num .num { font-size: 56px; color: var(--gold-deep); }
#custom-lp-wrapper .voices-stat-of { margin-left: 4px; font-size: 15px; font-weight: 600; }
/* 65名の全長に対して、45名の位置まで真鍮色で引く寸法線 */
#custom-lp-wrapper .voices-dim { position: relative; height: 32px; margin: 14px 6px 0; }
#custom-lp-wrapper .voices-dim:before { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 1px; background: #CFCBBE; }
#custom-lp-wrapper .voices-dim:after { content: ""; position: absolute; right: 0; bottom: 0; width: 1px; height: 13px; background: #B9B6AC; }
#custom-lp-wrapper .voices-dim-bar { --tick: var(--gold-deep); position: absolute; left: 0; bottom: 0; width: 69.23%; height: 13px; border-left: 1px solid var(--gold-deep); border-right: 1px solid var(--gold-deep); }
#custom-lp-wrapper .voices-dim-bar:before { content: ""; position: absolute; left: 0; right: 0; bottom: 5.5px; height: 2px; background: var(--gold); }
#custom-lp-wrapper .voices-dim-bar:after { top: auto; bottom: 0; margin-top: 0; }
#custom-lp-wrapper .voices-dim-val, #custom-lp-wrapper .voices-dim-total { position: absolute; right: 0; bottom: 17px; font-family: var(--display); font-weight: 600; font-size: 12px; line-height: 1; letter-spacing: .04em; transform: translateX(50%); }
#custom-lp-wrapper .voices-dim-val { color: var(--gold-deep); }
#custom-lp-wrapper .voices-dim-total { color: #8A8A86; }
#custom-lp-wrapper .voices-stat-text { margin: 10px 0 0; font-size: 14px; line-height: 1.85; }
#custom-lp-wrapper .voices-list { display: grid; margin: 36px 0 0; }
#custom-lp-wrapper .voice { margin: 0; padding: 22px 0; border-bottom: 1px solid #D6D4CC; display: flex; flex-direction: column; }
#custom-lp-wrapper .voice--lead { margin-bottom: 30px; padding: 4px 0 4px 20px; border-bottom: 0; border-left: 1px solid var(--gold); }
#custom-lp-wrapper .voice--lead + .voice { border-top: 1px solid #D6D4CC; }
#custom-lp-wrapper .voice-quote { flex: 1; margin: 0; }
#custom-lp-wrapper .voice-quote p { margin: 0; font-size: 14.5px; line-height: 2; letter-spacing: .01em; word-break: normal; }
#custom-lp-wrapper .voice--lead .voice-quote p { font-size: 18px; font-weight: 600; line-height: 1.9; }
#custom-lp-wrapper .voice-name { margin-top: 12px; display: flex; justify-content: space-between; gap: 10px; font-family: var(--gothic); font-weight: 400; font-size: 12.5px; letter-spacing: .1em; color: #555; }
#custom-lp-wrapper .voice--lead .voice-name { justify-content: flex-start; gap: 18px; }
#custom-lp-wrapper .voice-tag { font-weight: 500; color: var(--gold-deep); letter-spacing: .06em; }
#custom-lp-wrapper .voices-note { margin: 16px 0 0; font-family: var(--gothic); font-size: 11.5px; line-height: 1.7; color: #777; }

/* ============================================================
   最終CTA：温度別の2択
   ============================================================ */
#custom-lp-wrapper .closing { padding: 88px 0 80px; text-align: center; }
#custom-lp-wrapper .closing-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .closing-title { font-size: 23px; }
#custom-lp-wrapper .closing-lead { margin: 18px 0 0; font-size: 14px; line-height: 2; letter-spacing: .04em; color: #DCE0E8; }
#custom-lp-wrapper .closing-paths { display: grid; gap: 18px; margin-top: 36px; text-align: left; }
#custom-lp-wrapper .closing-path { display: flex; flex-direction: column; gap: 12px; padding: 28px 22px 26px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(194, 168, 106, .4); }
#custom-lp-wrapper .closing-path--visit { background: rgba(255, 255, 255, .08); border-color: rgba(194, 168, 106, .7); }
#custom-lp-wrapper .closing-path-en { margin: 0; font-family: var(--garamond); font-style: italic; font-weight: 500; font-size: 18px; line-height: 1; letter-spacing: .04em; color: var(--gold-bright); }
#custom-lp-wrapper .closing-path-t { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.5; letter-spacing: .1em; color: #fff; }
#custom-lp-wrapper .closing-path-d { margin: 0; font-size: 13.5px; line-height: 2; letter-spacing: .03em; color: rgba(255, 255, 255, .82); }
#custom-lp-wrapper .closing-path-ph { margin: 6px 0 4px; }
#custom-lp-wrapper .closing-path-ph img { width: 100%; aspect-ratio: 960 / 450; object-fit: cover; box-shadow: 0 12px 28px rgba(0, 0, 0, .35); }
#custom-lp-wrapper .closing-path-action { margin-top: auto; }
#custom-lp-wrapper .closing-path-action .cta-btn, #custom-lp-wrapper .closing-path-action .cta-sub { width: 100%; }
#custom-lp-wrapper .closing-path-note { margin: 10px 0 0; text-align: center; font-family: var(--gothic); font-weight: 400; font-size: 12px; letter-spacing: .06em; color: rgba(255, 255, 255, .72); }
#custom-lp-wrapper .closing-gift-note { margin: 18px 0 0; text-align: left; font-family: var(--gothic); font-weight: 400; font-size: 11px; line-height: 1.75; color: rgba(255, 255, 255, .6); }
#custom-lp-wrapper .closing-promise { margin: 44px 0 0; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 15px; font-weight: 600; line-height: 1.8; letter-spacing: .04em; }
#custom-lp-wrapper .closing-promise sup { font-size: 10px; }
#custom-lp-wrapper .closing-note { margin: 10px auto 0; max-width: 640px; text-align: left; font-family: var(--gothic); font-weight: 400; font-size: 11.5px; line-height: 1.7; color: rgba(255, 255, 255, .62); }

/* ============================================================
   追従ボタン：カタログ（表紙つき・白）＋来場予約（青）の2分割。SPは画面下の帯、PCは右下
   ============================================================ */
#custom-lp-wrapper .fixed-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px;
  padding: 6px 6px calc(6px + env(safe-area-inset-bottom));
  background: rgba(19, 31, 56, .97); box-shadow: 0 -6px 22px rgba(4, 10, 24, .22);
}
#custom-lp-wrapper .fixed-cta-btn {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 56px; padding: 0 18px 0 8px; text-decoration: none; color: #fff;
  transition: background-color .25s ease;
}
#custom-lp-wrapper .fixed-cta-btn--catalog { background: #fff; color: var(--ink); }
#custom-lp-wrapper .fixed-cta-btn--catalog:hover { background: #F1EDE2; }
#custom-lp-wrapper .fixed-cta-btn--visit { background: var(--cta-blue); outline: 1px solid rgba(255, 255, 255, .26); outline-offset: -4px; }
#custom-lp-wrapper .fixed-cta-btn--visit:hover { background: var(--cta-blue-hover); }
/* カタログの実物の表紙を小さく添える（何が届くかが一目で分かる） */
#custom-lp-wrapper .fixed-cta-cover { flex: none; width: 25px; height: auto; box-shadow: 0 3px 8px rgba(4, 10, 24, .35); transform: rotate(-5deg); }
#custom-lp-wrapper .fixed-cta-tx { display: flex; flex-direction: column; align-items: center; gap: 3px; line-height: 1.2; }
#custom-lp-wrapper .fixed-cta-t { font-size: 13.5px; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
#custom-lp-wrapper .fixed-cta-s { font-family: var(--gothic); font-weight: 500; font-size: 10.5px; letter-spacing: .02em; white-space: nowrap; opacity: .9; }
#custom-lp-wrapper .fixed-cta-btn--catalog .fixed-cta-s { color: var(--gold-deep); opacity: 1; }
#custom-lp-wrapper .fixed-cta-arrow { position: absolute; right: 10px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
#custom-lp-wrapper .fixed-cta-btn--catalog .fixed-cta-arrow { color: var(--gold-deep); }
/* 幅360px未満の端末では、カタログ側の矢印を省いて文字の幅を確保する */
@media (max-width: 359px) {
  #custom-lp-wrapper .fixed-cta-btn--catalog { gap: 6px; padding-right: 8px; }
  #custom-lp-wrapper .fixed-cta-cover { width: 21px; }
  #custom-lp-wrapper .fixed-cta-btn--catalog .fixed-cta-arrow { display: none; }
}

/* ============================================================
   アクセシビリティ・演出
   ============================================================ */
/* ============================================================
   タブレット（600〜1007px）：SP版の組みのまま、文字の列を中央の約640pxに収める
   （--gutter を広げるだけで、写真の裁ち落とし＝負のマージンは画面端まで届く）
   ============================================================ */
@media (min-width: 600px) and (max-width: 1007px) {
  #custom-lp-wrapper { --gutter: max(28px, calc((100vw - 640px) / 2)); }
  #custom-lp-wrapper .hero-stage { max-width: 560px; margin: 0 auto; }
  #custom-lp-wrapper .fixed-cta { left: 50%; right: auto; width: min(640px, 100%); transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  #custom-lp-wrapper .hero-center, #custom-lp-wrapper .hero-side--l, #custom-lp-wrapper .hero-side--r,
  #custom-lp-wrapper .hero-title, #custom-lp-wrapper .hero-garage, #custom-lp-wrapper .hero-en,
  #custom-lp-wrapper .hero-lexus, #custom-lp-wrapper .hero-barcode,
  #custom-lp-wrapper .wants-panel, #custom-lp-wrapper .plan-panel { animation: none; }
  #custom-lp-wrapper .cta-btn, #custom-lp-wrapper .cta-sub, #custom-lp-wrapper .cta-btn-arrow, #custom-lp-wrapper .cta-sub-arrow,
  #custom-lp-wrapper .fixed-cta-btn, #custom-lp-wrapper .wants-tab, #custom-lp-wrapper .plans-tab { transition: none; }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    @keyframes lpSettle { from { transform: scale(1.07); } to { transform: scale(1); } }
    #custom-lp-wrapper .pain .ph img, #custom-lp-wrapper .concept .ph img, #custom-lp-wrapper .family .ph img, #custom-lp-wrapper .structure .ph img {
      animation: lpSettle linear both; animation-timeline: view(); animation-range: entry 0% cover 45%;
    }
  }
}

@media (min-width: 1008px) {
  #custom-lp-wrapper { --gutter: 0px; --container: 960px; --side: max(20px, calc((100vw - var(--container)) / 2)); padding-bottom: 0; }
  #custom-lp-wrapper .br-sp { display: none; }
  #custom-lp-wrapper .br-pc { display: inline; }

  /* セクションラベル：罫線は画面端から、文字は 960px 軸の左端に */

  /* ヘッダー（サイトヘッダーが無い環境のみ表示） */
  #custom-lp-wrapper .lp-head { padding: 16px 0 6px; }
  #custom-lp-wrapper .lp-head-logo { height: 42px; }

  /* ---- ヒーロー（960×608。位置と文字はステージ幅基準の cqw） ---- */
  #custom-lp-wrapper .hero-stage { aspect-ratio: 1200 / 760; max-width: var(--container); margin: 0 auto; }
  #custom-lp-wrapper .hero-side--l { top: 26%; width: 24.2%; height: 56%; }
  #custom-lp-wrapper .hero-side--r { top: 9%; width: 24.2%; height: 73%; }
  #custom-lp-wrapper .hero-side--r img { object-position: 72% 50%; }
  #custom-lp-wrapper .hero-center { left: 34.5%; top: 2%; width: 31%; height: 80%; }
  #custom-lp-wrapper .hero-center-img { object-position: 30% 50%; }
  #custom-lp-wrapper .hero-title { padding-top: 3cqw; font-size: 2.05cqw; letter-spacing: .12em; }
  #custom-lp-wrapper .hg-row { font-size: 15cqw; }
  #custom-lp-wrapper .hg-row--1 { left: -.05em; top: 37.5%; }
  #custom-lp-wrapper .hg-row--2 { left: auto; right: -.17em; top: 57.5%; }
  #custom-lp-wrapper .hero-en { left: 67.6%; top: 7%; font-size: 1.42cqw; line-height: 2.1; }
  #custom-lp-wrapper .hero-lexus { left: 1%; top: 77.5%; width: 26%; }
  #custom-lp-wrapper .hero-barcode { left: auto; right: 2.5%; top: 83.5%; width: 23%; }
  #custom-lp-wrapper .hero-side.ph--img:after { bottom: 8px; font-size: 10px; }

  #custom-lp-wrapper .hero { padding-bottom: 24px; }

  /* ---- 共通 ---- */
  #custom-lp-wrapper .pain-inner, #custom-lp-wrapper .concept-inner, #custom-lp-wrapper .family-inner, #custom-lp-wrapper .wants-inner, #custom-lp-wrapper .structure-inner,
  #custom-lp-wrapper .plans-inner, #custom-lp-wrapper .money-inner, #custom-lp-wrapper .voices-inner, #custom-lp-wrapper .closing-inner { max-width: var(--container); margin: 0 auto; padding: 0; }
  #custom-lp-wrapper .kicker { font-size: 13px; }
  #custom-lp-wrapper .kicker--line:before { width: calc(var(--side) - 14px); margin-left: calc(var(--side) * -1); }
  #custom-lp-wrapper .kicker--center:before, #custom-lp-wrapper .kicker--center:after { width: 48px; margin-left: 0; }
  /* 見出しは3段：章の転換点 46px／通常 38px／補助 32px（本文15pxの約3倍・2.5倍・2倍） */
  #custom-lp-wrapper .pain-title, #custom-lp-wrapper .concept-title, #custom-lp-wrapper .family-title, #custom-lp-wrapper .wants-title,
  #custom-lp-wrapper .structure-title, #custom-lp-wrapper .plans-title, #custom-lp-wrapper .money-title, #custom-lp-wrapper .voices-title, #custom-lp-wrapper .closing-title { margin-top: 22px; font-size: 38px; line-height: 1.5; }
  #custom-lp-wrapper .concept-title, #custom-lp-wrapper .structure-title, #custom-lp-wrapper .plans-title, #custom-lp-wrapper .closing-title { font-size: 46px; line-height: 1.42; letter-spacing: .05em; }
  #custom-lp-wrapper .family-title, #custom-lp-wrapper .money-title{ font-size: 32px; }
  #custom-lp-wrapper .cta-btn { font-size: 16.5px; }
  #custom-lp-wrapper .cta-pair { grid-template-columns: 1fr 1fr; gap: 14px; }
  #custom-lp-wrapper .cta-pair .cta-btn, #custom-lp-wrapper .cta-pair .cta-sub { width: 100%; margin: 0; padding: 0 34px 0 20px; letter-spacing: .1em; }
  #custom-lp-wrapper .trust-quote, #custom-lp-wrapper .money-voice { padding: 22px 0 18px; }

  /* ---- 01 共感：見出し＋リスト（左）／写真（右）。締めの一文から線を紺の帯まで垂らす ---- */
  #custom-lp-wrapper .pain { padding: 96px 0 0; }
  #custom-lp-wrapper .pain-inner { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; align-items: start; }
  #custom-lp-wrapper .pain-head { grid-column: 1; }
  #custom-lp-wrapper .pain-list { margin-top: 48px; }
  #custom-lp-wrapper .pain-list li { padding: 19px 0; font-size: 16px; }
  #custom-lp-wrapper .pain-ph { grid-column: 2; grid-row: 1; margin: 0; }
  #custom-lp-wrapper .pain-ph img { aspect-ratio: auto; height: 540px; }
  #custom-lp-wrapper .pain-close { grid-column: 1 / -1; margin-top: 120px; font-size: 34px; line-height: 1.6; letter-spacing: .08em; }
  #custom-lp-wrapper .pain-close:after { height: 120px; margin-top: 48px; }

  /* ---- 02 コンセプト：1行の見出し → 寸法線つきのパノラマ → 本文と表題欄 ---- */
  #custom-lp-wrapper .concept { padding: 140px 0 150px; }
  #custom-lp-wrapper .concept-inner { display: grid; grid-template-columns: 6fr 5fr; column-gap: 72px; align-items: start; }
  #custom-lp-wrapper .concept-head { display: contents; }
  #custom-lp-wrapper .concept-inner .kicker { grid-column: 1 / -1; grid-row: 1; }
  #custom-lp-wrapper .concept-title { grid-column: 1 / -1; grid-row: 2; }
  #custom-lp-wrapper .concept-visual { grid-column: 1 / -1; grid-row: 3; margin: 56px 0 0; padding-top: 72px; }
  #custom-lp-wrapper .concept-lead { grid-column: 1; grid-row: 4; margin-top: 52px; font-size: 16px; line-height: 2.1; }
  #custom-lp-wrapper .spec { grid-column: 2; grid-row: 4; margin-top: 52px; }
  #custom-lp-wrapper .spec dd { font-size: 16px; }
  #custom-lp-wrapper .concept-ph img { aspect-ratio: 12 / 5; }
  #custom-lp-wrapper .dim { top: 16px; left: 0; right: 0; height: 30px; }
  #custom-lp-wrapper .dim-label { padding: 0 22px; font-size: 20px; letter-spacing: .14em; }
  #custom-lp-wrapper .dim-num { font-size: 56px; }

  /* ---- 03 家族：縦長の写真を画面左端まで（左）／章番号・見出し・3項目（右）。01と左右を入れ替える ---- */
  #custom-lp-wrapper .family { padding: 140px 0 120px; }
  #custom-lp-wrapper .family-inner { display: grid; grid-template-columns: 5fr 6fr; grid-template-rows: auto auto 1fr; column-gap: 80px; }
  #custom-lp-wrapper .family-body { display: contents; }
  #custom-lp-wrapper .family-inner .kicker { grid-column: 2; grid-row: 1; margin-top: 12px; }
  #custom-lp-wrapper .family-title { grid-column: 2; grid-row: 2; }
  #custom-lp-wrapper .family-ph { grid-column: 1; grid-row: 1 / 4; margin: 0 0 0 calc(var(--side) * -1); }
  #custom-lp-wrapper .family-ph img { aspect-ratio: auto; height: 600px; }
  #custom-lp-wrapper .family-list { grid-column: 2; grid-row: 3; align-self: end; margin: 48px 0 0; border-top: 1px solid var(--line); }
  #custom-lp-wrapper .family-item { padding: 22px 0; }
  #custom-lp-wrapper .family-h { font-size: 19px; }
  #custom-lp-wrapper .family-text { font-size: 15px; }

  /* ---- 04 何をしたい？：タブ（英字の斜体）、写真（7）と提案（5）、CTAは声（左）と行動（右） ---- */
  #custom-lp-wrapper .wants { padding: 120px 0 104px; }
  #custom-lp-wrapper .wants-lead { font-size: 15px; }
  #custom-lp-wrapper .wants-ui { margin-top: 40px; }
  #custom-lp-wrapper .wants-tab { padding: 8px 8px 18px; }
  #custom-lp-wrapper .wants-tab-en { font-size: 28px; }
  #custom-lp-wrapper .wants-tab-ja { margin-top: 6px; font-size: 15px; }
  #custom-lp-wrapper .wants-tab:after { left: 0; right: 0; }
  #custom-lp-wrapper .wants-panel { margin-top: 48px; }
  #custom-lp-wrapper .wants-ui:has(#lp-want-1:checked) .wants-panel--1,
  #custom-lp-wrapper .wants-ui:has(#lp-want-2:checked) .wants-panel--2,
  #custom-lp-wrapper .wants-ui:has(#lp-want-3:checked) .wants-panel--3 { display: grid; grid-template-columns: 7fr 5fr; gap: 56px; align-items: center; }
  #custom-lp-wrapper .wants-ph { margin: 0; }
  #custom-lp-wrapper .wants-body { padding-top: 0; }
  #custom-lp-wrapper .wants-h { font-size: 26px; }
  #custom-lp-wrapper .wants-cta { display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; align-items: center; margin-top: 80px; text-align: left; }
  #custom-lp-wrapper .wants-cta .trust-quote { margin: 0; }
  #custom-lp-wrapper .wants-cta-lead { margin-bottom: 20px; font-size: 16px; }
  #custom-lp-wrapper .wants-cta .cta-micro { margin-top: 12px; text-align: left; }

  /* ---- 05 構造：写真と説明を左右交互。声は主の形（左の縦線）、CTAは横一列 ---- */
  #custom-lp-wrapper .structure { padding: 160px 0 120px; }
  #custom-lp-wrapper .structure-lead { max-width: 620px; font-size: 16px; }
  #custom-lp-wrapper .struct-item { display: grid; grid-template-columns: 6fr 5fr; gap: 64px; align-items: center; margin-top: 80px; }
  #custom-lp-wrapper .struct-item--rev { grid-template-columns: 5fr 6fr; }
  #custom-lp-wrapper .struct-item--rev .struct-ph { order: 2; }
  #custom-lp-wrapper .struct-q { margin-top: 0; font-size: 16px; }
  #custom-lp-wrapper .struct-h { font-size: 26px; }
  #custom-lp-wrapper .struct-fig { margin-top: 18px; }
  #custom-lp-wrapper .struct-fig .num { font-size: 60px; }
  #custom-lp-wrapper .struct-fig-unit { font-size: 26px; }
  #custom-lp-wrapper .struct-body { font-size: 15px; }
  #custom-lp-wrapper .struct-voice { max-width: 800px; margin: 112px 0 0; padding: 6px 0 6px 36px; }
  #custom-lp-wrapper .struct-voice blockquote p { font-size: 22px; line-height: 1.9; }
  #custom-lp-wrapper .struct-voice figcaption { margin-top: 16px; font-size: 13px; }
  #custom-lp-wrapper .struct-cta { display: grid; grid-template-columns: 1fr 360px; column-gap: 56px; align-items: center; margin-top: 80px; padding-top: 44px; text-align: left; }
  #custom-lp-wrapper .struct-cta-lead { margin: 0; font-size: 17px; }
  #custom-lp-wrapper .struct-cta-action .cta-micro { text-align: center; }

  /* ---- 06 実例プラン：外観は画面幅いっぱいのパノラマ ---- */
  #custom-lp-wrapper .plans { padding: 140px 0 96px; }
  #custom-lp-wrapper .plans-ui { margin-top: 44px; }
  #custom-lp-wrapper .plans-tab { flex-direction: row; justify-content: center; gap: 14px; padding: 16px 10px 18px; }
  #custom-lp-wrapper .plans-tab-num { font-size: 30px; }
  #custom-lp-wrapper .plans-tab-ja { margin-top: 0; font-size: 15px; }
  #custom-lp-wrapper .plan-panel { padding-top: 44px; }
  #custom-lp-wrapper .plan-hero { margin: 0 calc(var(--side) * -1); }
  #custom-lp-wrapper .plan-hero img { aspect-ratio: 21 / 9; max-height: 640px; }
  #custom-lp-wrapper .plan-summary { display: grid; grid-template-columns: 5fr 6fr; grid-template-rows: auto 1fr; column-gap: 64px; align-items: start; margin-top: 52px; }
  #custom-lp-wrapper .plan-name, #custom-lp-wrapper .plan-tags { grid-column: 1; }
  #custom-lp-wrapper .plan-name { font-size: 26px; }
  #custom-lp-wrapper .plan-data { grid-column: 2; grid-row: 1 / 3; margin-top: 0; }
  #custom-lp-wrapper .plan-data dd { font-size: 15px; }
  #custom-lp-wrapper .plan-gallery { grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
  #custom-lp-wrapper .plan-shot--main { grid-column: auto; }
  #custom-lp-wrapper .plan-shot img, #custom-lp-wrapper .plan-shot--main img { aspect-ratio: 3 / 2; }
  #custom-lp-wrapper .plan-shot figcaption { font-size: 14px; }
  #custom-lp-wrapper .plan-voice { max-width: 760px; margin: 56px 0 0; padding: 4px 0 4px 32px; }
  #custom-lp-wrapper .plan-voice blockquote p { font-size: 17px; }
  #custom-lp-wrapper .floor-hint { display: none; }
  #custom-lp-wrapper .plan-floor { display: grid; grid-template-columns: 1.25fr 1fr .75fr; gap: 32px; align-items: start; margin: 56px 0 0; padding: 40px 40px 36px; overflow: visible; }
  #custom-lp-wrapper .floor-fig { flex: none; }
  #custom-lp-wrapper .floor-fig--roof img { width: 100%; }

  /* ---- カタログ章：見開き3点を横一列、ボタンは中央に2つ ---- */
  #custom-lp-wrapper .catalog { padding: 140px 0 120px; }
  #custom-lp-wrapper .catalog-inner { max-width: var(--container); margin: 0 auto; padding: 0; }
  #custom-lp-wrapper .catalog-title { margin-top: 22px !important; font-size: 40px; line-height: 1.5; }
  #custom-lp-wrapper .catalog-lead { margin-top: 24px; text-align: center; font-size: 15.5px; }
  #custom-lp-wrapper .catalog-spreads { overflow: visible; margin: 56px 0 0; padding: 0; gap: 20px; }
  #custom-lp-wrapper .catalog-spreads img { flex: 1 1 0; width: auto; min-width: 0; }
  #custom-lp-wrapper .catalog-hint { display: none; }
  #custom-lp-wrapper .catalog-actions { grid-template-columns: 400px 300px; justify-content: center; gap: 20px; margin-top: 56px; }
  #custom-lp-wrapper .catalog-action .cta-btn { padding: 0 44px 0 30px; font-size: 16.5px; letter-spacing: .1em; }

  /* ---- 07 費用と土地：2列 ---- */
  #custom-lp-wrapper .money { padding: 120px 0; }
  #custom-lp-wrapper .money-grid { grid-template-columns: 1fr 1fr; gap: 72px; margin-top: 52px; }
  #custom-lp-wrapper .money-h { font-size: 23px; }
  #custom-lp-wrapper .money-text { font-size: 15px; }

  /* ---- 08 オーナーの声：見出しと「45／65」の寸法線を横並び。1件目は主、残り2件は縦罫で区切った2段 ---- */
  #custom-lp-wrapper .voices { padding: 150px 0 128px; }
  #custom-lp-wrapper .voices-head { display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; align-items: start; margin-top: 22px; }
  #custom-lp-wrapper .voices-title { margin-top: 0; }
  #custom-lp-wrapper .voices-stat { margin: 0; padding: 0; border: 0; }
  #custom-lp-wrapper .voices-stat-num .num { font-size: 96px; line-height: .9; }
  #custom-lp-wrapper .voices-stat-of { margin-left: 8px; font-size: 18px; }
  #custom-lp-wrapper .voices-dim { margin-top: 18px; }
  #custom-lp-wrapper .voices-stat-text { margin-top: 12px; font-size: 14.5px; }
  #custom-lp-wrapper .voices-list { grid-template-columns: 1fr 1fr; margin: 88px 0 0; }
  #custom-lp-wrapper .voice { padding: 30px 0; border-top: 1px solid #D6D4CC; }
  #custom-lp-wrapper .voice--lead { grid-column: 1 / -1; margin-bottom: 64px; padding: 6px 0 6px 40px; border-top: 0; }
  #custom-lp-wrapper .voice--lead .voice-quote p { font-size: 26px; line-height: 1.85; word-break: auto-phrase; }
  #custom-lp-wrapper .voice--lead .voice-name { margin-top: 20px; }
  #custom-lp-wrapper .voice--lead + .voice { padding-right: 44px; }
  #custom-lp-wrapper .voice--lead + .voice + .voice { padding-left: 44px; border-left: 1px solid #D6D4CC; }
  #custom-lp-wrapper .voice-quote p { font-size: 15px; }
  #custom-lp-wrapper .voices-note { margin-top: 24px; font-size: 12px; }

  /* ---- 最終CTA ---- */
  #custom-lp-wrapper .closing { padding: 184px 0 120px; }
  #custom-lp-wrapper .closing-lead { margin-top: 24px; font-size: 15px; }
  #custom-lp-wrapper .closing-paths { grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 56px; }
  #custom-lp-wrapper .closing-path { padding: 36px 34px 32px; }
  #custom-lp-wrapper .closing-path-t { font-size: 22px; }
  #custom-lp-wrapper .closing-promise { max-width: 760px; margin: 80px auto 0; font-size: 16px; }

  /* ---- 追従ボタン（PC）：右下に2つ並べる ---- */
  #custom-lp-wrapper .fixed-cta { left: auto; right: 24px; bottom: 24px; grid-template-columns: auto auto; gap: 8px; padding: 8px; box-shadow: 0 16px 38px rgba(3, 22, 56, .38); }
  #custom-lp-wrapper .fixed-cta-btn { min-height: 62px; padding: 0 38px 0 18px; gap: 12px; }
  #custom-lp-wrapper .fixed-cta-btn--visit { padding-left: 30px; }
  #custom-lp-wrapper .fixed-cta-cover { width: 34px; }
  #custom-lp-wrapper .fixed-cta-t { font-size: 15.5px; letter-spacing: .1em; }
  #custom-lp-wrapper .fixed-cta-s { font-size: 11px; }
  #custom-lp-wrapper .fixed-cta-arrow { right: 16px; }
  /* PC：施工事例の表記は全写真で右下・内側に統一 */
  #custom-lp-wrapper#custom-lp-wrapper .ph--case:after { right: 14px; bottom: 12px; }
}
