/* ============================================================
   MUKIAI トップ v2 読みやすさの直し（read.css）
   根拠：_design/読みやすさ_実測と設計_draft.md（第5節 文字／第6節 カード 案A／第7節 3D／第8節 動き）
   読み込み：index-v2.html だけ。いちばん最後に読む（type.css → top.css → hero.css → space.css → add.css → thumbs.css → read.css）。
   効く範囲：<body class="space read">。ヒーロー（#hero）と reel の動画には手を入れていない。
   文字の大きさは type.css の段（--t0〜--t5）だけを使う。ボタンとメニューは段の外（設計 5.1）。
   ============================================================ */
.read{
  --rule:rgba(201,210,234,.24);    /* 区切りの線 */
  --body:#DDE3F3;                  /* 本文の色 */
  --sub:#C9D2EA;                   /* 補足の色 */
  /* 出方（設計 6.4）：見出しは 0.95 秒以内に読める */
  --dur-reveal:700ms; --stagger-line:60ms; --stagger-char:12ms; --dur-roll:800ms;
}
body.read{font-size:var(--t4);line-height:var(--lh4)}

/* ---------------- 1. 文字の段 ---------------- */
/* 見出し t2 */
.space.read .h2,.space.read .h2--xl{font-size:var(--t2);line-height:var(--lh2);letter-spacing:-.01em;max-width:21em}
.space.read .gs-a,.space.read .gs-b{font-size:var(--t2);line-height:var(--lh2);max-width:14em}
/* 特大 t1。05 の主役の1文だけ t0（チーフの決定：サイトで一番大きい1文） */
.space.read .end-title{font-size:var(--t1);line-height:var(--lh1)}
.space.read .grad-title{font-size:var(--t0);line-height:var(--lh1)}
.space.read .kpi-num{font-size:clamp(56px,6.2vw,104px);line-height:1}
/* 小見出し t3 */
.space.read .h3,.space.read .plain .h3,.space.read .road-head h3,.space.read .takeaway h3,.space.read .trust h2,.space.read .reason h3,.space.read .fact h3,.space.read .step h3,.space.read .pcard-title{
  font-size:var(--t3);line-height:var(--lh3);letter-spacing:0;font-weight:900}
.space.read .why-close,.space.read .lead-strong,.space.read .beside-note,.space.read .conds li,.space.read .asks li,.space.read .svc-price,.space.read .pcard .svc-price,.space.read .plain-lead{
  font-size:var(--t3);line-height:var(--lh3);font-weight:700;color:#fff;letter-spacing:0}
.space.read .pcard--wide .pcard-title{font-size:var(--t2);line-height:var(--lh2);letter-spacing:-.01em}
.space.read .zeros b,.space.read .reason .roll-num{font-size:var(--t2);line-height:1}
/* 本文 t4（太さ 500：暗い背景では 400 だと細く見えたため。見比べは _design/read_weight_*.png） */
.space.read .lead,.space.read .grad-sub,.space.read .end-lead,.space.read .reason p,.space.read .fact p:not(.fact-sky),.space.read .step p:not(.step-k),.space.read .dots li,
.space.read .order-why p:not(.order-k),.space.read .kpi-cap,.space.read .road-head p,.space.read .road-items li,.space.read .road-items b,.space.read .cond-head p,.space.read .cond-foot,
.space.read .pcard-desc,.space.read .consult-note,.space.read .takes p,.space.read .plain p,.space.read .zeros li span,.space.read .trust-head p,.space.read .trust-items li{
  font-size:var(--t4);line-height:var(--lh4);color:var(--body);font-weight:500;letter-spacing:.01em}
.space.read .lead,.space.read .grad-sub,.space.read .end-lead,.space.read .cond-foot,.space.read .consult-note,.space.read .plain p,.space.read .order-why .dots,.space.read .cond-head p,.space.read .road-head p{max-width:var(--measure)}
.space.read .kpi-cap,.space.read .takes p,.space.read .trust-items li,.space.read .road-items b,.space.read .cond-foot--strong{font-weight:700;color:#fff}
/* 補足 t5（これより小さい文字は置かない） */
.space.read .eyebrow,.space.read .fact-sky,.space.read .step-k,.space.read .kpi-note,.space.read .road-items span,.space.read .road-today span,.space.read .svc-fine,.space.read .pcard-meta,
.space.read .svc-price small,.space.read .btn-note,.space.read .plain .plain-foot,.space.read .take-k,.space.read .trust-k,.space.read .order-k,.space.read .end-sub,.space.read .conds li::before,
.space.read .foot-nav,.space.read .foot-info,.space.read .foot-line-note,.space.read .foot-credit,.space.read .foot-bottom,.space.read .scrollnav small,.space.read .mobile-menu>a small,.space.read .kpi-unit,.space.read .kpi-sub{
  font-size:var(--t5);line-height:var(--lh5)}
.space.read .kpi-note,.space.read .svc-fine,.space.read .btn-note,.space.read .plain .plain-foot,.space.read .foot-info,.space.read .foot-info dd,.space.read .foot-info dt,.space.read .foot-line-note,.space.read .foot-credit,.space.read .foot-bottom,.space.read .end-sub{color:var(--sub);font-weight:500}
.space.read .kpi-unit,.space.read .kpi-sub{font-size:var(--t3);line-height:1}
.space.read .btn-note{max-width:var(--measure)}
.space.read .eyebrow,.space.read .pcard-meta{letter-spacing:.12em}
/* ボタンとメニューは段の外 */
.space.read .btn{font-size:16px}.space.read .btn--lg{font-size:18px}.space.read .nav{font-size:15px}
.space.read .header-cta .btn,.space.read .fixed-bar .btn{font-size:14px}
.space.read .reel-btn,.space.read .reel-hint{font-size:14px}
.space.read .mobile-menu>a.mm-sub{font-size:var(--t3)}
.space.read .scrollnav b{font-size:var(--t3)}.space.read .foot-tag{font-size:var(--t3)}

/* ---------------- 2. ヘッダー：面を付ける（見出しと重ならないように） ---------------- */
.space.read .site-header.is-scrolled[data-tone="dark"]{background:rgba(3,6,14,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--rule)}

/* ---------------- 3. 面をやめる（線と余白と番号で区切る。設計 6.3 案A） ---------------- */
.space.read .reason,.space.read .fact,.space.read .step,.space.read .order-why,.space.read .kpi,.space.read .kpi--accent,.space.read .road,.space.read .asks li,.space.read .takes li,
.space.read .conds li,.space.read .plain,.space.read .zeros li,.space.read .trust,.space.read .beside-note{
  background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-radius:0;border:0}
.space.read .reason::before{display:none}
.space.read .dots{display:grid;gap:6px;margin-top:10px}
.space.read .dots li{position:relative;padding-left:1.1em}
.space.read .dots li::before{content:"";position:absolute;left:.15em;top:.78em;width:5px;height:5px;border-radius:50%;background:#8DB8FF}

/* 01：番号つきの5行（番号｜理由｜説明）。線は左から伸びる */
.space.read #why{padding-bottom:clamp(24px,3vw,48px)}
.space.read .why-head .lead{margin-top:clamp(20px,2.4vw,32px)}
.space.read .reasons{display:block;margin-top:clamp(40px,5vw,80px)}
.space.read .reason{position:relative;display:grid;grid-template-columns:clamp(84px,8vw,130px) minmax(0,1.05fr) minmax(0,1fr);column-gap:clamp(20px,3.4vw,56px);align-items:baseline;padding:clamp(18px,2vw,28px) 0;overflow:visible}
.space.read .reason::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule);transform:scaleX(0);transform-origin:left;transition:transform 580ms cubic-bezier(.3,0,0,1);transition-delay:calc(var(--i) * 100ms)}
.space.read .reason.in::after{transform:none}
.space.read .reason:last-child{border-bottom:1px solid var(--rule)}
.space.read .reason .roll-num{color:#8DB8FF}
.space.read .reason h3{margin:0}
.space.read .reason .rv .li{transition-delay:calc(var(--i) * var(--stagger-line))}
.space.read .reason p{margin:0}
.space.read .why-close{margin-top:clamp(36px,4.4vw,64px);max-width:24em}

/* 02：縦の線で区切った3段組み。段ごとに 27px 上げて出す（0.6 秒、80ms ずらし。中の行は割らない） */
.space.read .beside-body{display:block;margin-top:clamp(28px,3.4vw,48px)}
.space.read .lead-strong{margin-top:clamp(18px,2vw,28px);max-width:24em}
.space.read .beside-note{display:block;padding:0;margin-top:clamp(18px,2vw,28px);white-space:normal;color:#8DB8FF;max-width:24em}
.space.read .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(44px,5.4vw,80px);border-top:1px solid var(--rule)}
.space.read .fact{padding:clamp(24px,3vw,44px) clamp(20px,2.6vw,40px) 0 0}
.space.read .fact+.fact{padding-left:clamp(20px,2.6vw,40px);border-left:1px solid var(--rule)}
.space.read .fact h3{margin-top:10px;color:#fff}
.space.read .fact p:not(.fact-sky){margin-top:12px}
.space.read .up{opacity:0;transform:translateY(27px);transition:opacity 600ms var(--ease-reveal),transform 600ms var(--ease-reveal);transition-delay:calc(var(--i) * 80ms)}
.space.read .up.in{opacity:1;transform:none}

/* 03：ピン留めをやめ、2×2。文字は最初から読める。月だけが順に灯る（装飾の型：0.58 秒、100ms ずらし） */
.space.read #process .process-pin{height:auto}
.space.read #process .process-sticky{position:relative;height:auto;min-height:0;display:block;padding:var(--sec) 0}
.space.read #process .steps{grid-template-columns:repeat(2,1fr);gap:clamp(32px,4vw,60px) clamp(40px,6vw,96px);margin-top:clamp(36px,4.4vw,64px)}
.space.read #process .steps-line{display:none}
.space.read #process .step{position:relative;opacity:1;padding:0 0 0 76px;min-height:0}
.space.read #process .step .phase{position:absolute;left:0;top:4px;margin:0;width:52px;height:52px;transform:scale(0) rotate(0deg);transition:transform 580ms cubic-bezier(.3,0,0,1),box-shadow 580ms;transition-delay:calc(var(--i) * 100ms)}
.space.read #process .step.lit .phase{transform:scale(1) rotate(180deg);box-shadow:0 0 0 1px rgba(160,200,255,.6),0 0 22px rgba(160,200,255,.45)}
.space.read #process .step .ph-lit{fill:#F3F6FF}
.space.read .step h3{margin-top:0;color:#fff}
.space.read .step p:not(.step-k),.space.read .step .dots{margin-top:8px;max-width:30em}
.space.read .order-why{display:block;margin-top:clamp(40px,5vw,72px);padding:clamp(22px,2.6vw,36px) 0 0;border-top:1px solid var(--rule)}
.space.read .order-k{color:#8DB8FF;font-weight:800;letter-spacing:.12em}
.space.read .order-why .arrow-link{margin-top:18px;font-size:var(--t4)}

/* 04：数字3つを縦の線で区切る。進み具合は箱なし */
.space.read .kpis{gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.space.read .kpi{padding:clamp(24px,3vw,44px) clamp(20px,2.6vw,40px) clamp(24px,3vw,40px) 0}
.space.read .kpi+.kpi{padding-left:clamp(20px,2.6vw,40px);border-left:1px solid var(--rule)}
.space.read .kpi-sub{color:#8DB8FF}
.space.read .kpi-note{margin-top:10px}
.space.read .road{padding:clamp(40px,5vw,72px) 0 0}
.space.read .road .arrow-link{font-size:var(--t4)}

/* 05：主役の1文は入ってすぐ読める距離に。条件は線で区切った5行。チェックの四角は装飾の型で出す */
.space.read .grad-pin{height:320vh}
.space.read .conds{gap:0;border-bottom:1px solid var(--rule);margin-top:clamp(28px,3.4vw,48px)}
.space.read .conds li{padding:clamp(16px,1.8vw,26px) 0;border-top:1px solid var(--rule)}
.space.read .conds .box{transform:scale(0);transition:transform 580ms cubic-bezier(.3,0,0,1);transition-delay:calc(var(--n,0) * 100ms)}
.space.read .conds li.in .box{transform:none}
.space.read .conds li:nth-child(2){--n:1}.space.read .conds li:nth-child(3){--n:2}.space.read .conds li:nth-child(4){--n:3}.space.read .conds li:nth-child(5){--n:4}
.space.read .cond-foot{margin-top:18px}.space.read .cond-foot--strong{margin-top:6px}

/* 06：3D を枠から出す（設計 第7節）。伴走は文字を左、3D を右に大きく */
.space.read .pcard-img,.space.read .why-fig,.space.read .consult-fig{box-shadow:none;border-radius:0;overflow:visible;background:none}
.space.read .thumb3d{overflow:visible;background:none}
.space.read .pcard-title{overflow:visible;white-space:normal}
.space.read .pcard-desc{max-width:30em;margin-top:12px}
.space.read .pcard-dots{margin-top:10px}
.space.read .pcard .svc-price{margin-top:16px}
.space.read .pcard-meta{margin:0 0 8px}
.space.read .pcard:not(.pcard--wide) .pcard-meta{margin-top:8px}
@media (min-width:861px){
  .space.read .pcard--wide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:1fr repeat(6,auto) 1fr;column-gap:clamp(24px,4vw,64px)}
  .space.read .pcard--wide .pcard-img{grid-column:2;grid-row:1 / -1;aspect-ratio:4/3;align-self:center;margin-right:calc(var(--gutter) * -1)}
  .space.read .pcard--wide .pcard-meta{grid-column:1;grid-row:2}
  .space.read .pcard--wide .pcard-title{grid-column:1;grid-row:3}
  .space.read .pcard--wide .pcard-desc{grid-column:1;grid-row:4}
  .space.read .pcard--wide .pcard-dots{grid-column:1;grid-row:5}
  .space.read .pcard--wide .svc-price{grid-column:1;grid-row:6}
  .space.read .pcard--wide .svc-fine{grid-column:1;grid-row:7}
  .space.read .why-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
  .space.read .why-fig{aspect-ratio:1/1;margin-right:calc(var(--gutter) * -1)}
  .space.read .consult-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .space.read .consult-fig{aspect-ratio:1/1;margin-right:calc(var(--gutter) * -1)}
}

/* 情報の扱い：上下に線。左に見出し、右に2行 */
.space.read .trust{padding:clamp(28px,3.4vw,48px) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.space.read .trust-items li{border-top:0;padding:8px 0}
.space.read .trust-items li:last-child{border-bottom:0}

/* 07：番号の丸つきの4行（丸は 0.35 秒、80ms ずらし）。持ち帰るものは上に線1本の3段組み */
.space.read .asks{gap:0;border-bottom:1px solid var(--rule);margin-top:clamp(24px,3vw,40px)}
.space.read .asks li{padding:clamp(14px,1.6vw,22px) 0;border-top:1px solid var(--rule)}
.space.read .asks .ask-k{transform:scale(0);transition:transform 350ms cubic-bezier(.65,0,.35,1);transition-delay:calc(var(--n,0) * 80ms)}
.space.read .asks li.in .ask-k{transform:none}
.space.read .asks li:nth-child(2){--n:1}.space.read .asks li:nth-child(3){--n:2}.space.read .asks li:nth-child(4){--n:3}
.space.read .consult-note{margin-top:20px}
.space.read .takes{gap:0;border-top:1px solid var(--rule)}
.space.read .takes li{padding:clamp(20px,2.4vw,32px) clamp(20px,2.4vw,36px) 0 0}
.space.read .takes li+li{padding-left:clamp(20px,2.4vw,36px);border-left:1px solid var(--rule)}
.space.read .btn-notes{display:grid;gap:4px;margin-top:18px;padding:0}
.space.read .btn-notes li{position:relative;padding-left:1.1em}
.space.read .btn-notes li::before{content:"";position:absolute;left:.15em;top:.72em;width:5px;height:5px;border-radius:50%;background:#8DB8FF}

/* 08：箱なし。0 を大きく、縦の線で区切る */
.space.read .plain{padding:0;max-width:none}
.space.read .plain-lead{margin-top:16px}
.space.read .zeros{gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);max-width:900px;margin-top:clamp(24px,3vw,40px)}
.space.read .zeros li{padding:20px 22px 20px 0;flex-direction:column-reverse;align-items:flex-start;gap:6px}
.space.read .zeros li+li{padding-left:22px;border-left:1px solid var(--rule)}
.space.read .zeros li span{font-weight:700;color:#fff}

/* 09 */
.space.read .end-inner .btn-note{max-width:var(--measure)}

/* カーソルの月：文字の上で止まっているときは薄くする（top.js が .rest を付ける） */
.moonlet.rest{opacity:.25}

/* ---------------- スマホ ---------------- */
@media (max-width:860px){
  .space.read .reason{grid-template-columns:52px minmax(0,1fr);column-gap:14px;row-gap:6px;padding:18px 0}
  .space.read .reason h3,.space.read .reason p{grid-column:2}
  .space.read .facts,.space.read .takes,.space.read .kpis{grid-template-columns:1fr;border-top:0}
  .space.read .fact,.space.read .fact+.fact,.space.read .takes li,.space.read .takes li+li,.space.read .kpi,.space.read .kpi+.kpi{padding:22px 0;border-left:0;border-top:1px solid var(--rule)}
  .space.read #process .steps{grid-template-columns:1fr}
  .space.read #process .step{padding-left:64px}
  .space.read #process .step .phase{width:44px;height:44px}
  .space.read .zeros{grid-template-columns:repeat(3,1fr)}
  .space.read .zeros li{padding:14px 8px 14px 0}.space.read .zeros li+li{padding-left:10px}
  .space.read .road{padding:32px 0 0}
  .space.read .why-fig,.space.read .consult-fig,.space.read .pcard--wide .pcard-img{margin-inline:calc(var(--gutter) * -1);aspect-ratio:1/0.72}
  .space.read .pcard:not(.pcard--wide) .pcard-img{margin-inline:calc(var(--gutter) * -1);aspect-ratio:1/0.56}
  .space.read .trust{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .space.read .up,.space.read .conds .box,.space.read .asks .ask-k,.space.read #process .step .phase{opacity:1;transform:none}
  .space.read .reason::after{transform:none}
}

/* 追補：段から外れていた残り（実測で見つけたもの） */
.space.read .svc-fine,.space.read .pcard .svc-fine{font-size:var(--t5)!important;line-height:var(--lh5);max-width:var(--measure)}
.space.read .sec-call{font-size:var(--t4);line-height:var(--lh4)}
.space.read .asks .ask-k{font-size:var(--t5)}
.space.read .foot-credit{max-width:var(--measure)}
