/* ═══════════════════════════════════════════════════════════════
   AIBUILDERZ 下層ページ v8 ─ 導入事例（/case-list/ と事例のページ）
   置き場: assets/css/v8-case.css（ハンドル aibz-v8-case、依存 aibz-v8-common）
   読み込み: inc-case-detail.php の aibz_case_enqueue()（優先度 101）

   ・事例カード .ccard はトップの導入事例のカード（parts/cases.css）と同じ骨組み・同じトーン
     写真（16:10）→ 業態と置き換えたもの → 題 → 説明 → 数字の前後 .kp → 細い罫と「事例を見る」と黒い丸の矢印
   ・事例のページ .cd は、頭（.lh）→ アイキャッチと数字 → 経緯 → 課題 → アプローチ → 道具 → 流れ → 結果 → 工夫 → まとめ → CTA → ほかの事例
     （経緯 .cd-hist とアプローチ .cd-appr は 2026-09-23 に足した。配列に無い章は出ない）
   ・色は白〜銀の面と墨の字だけ。青は使わない。黒い面に白い字を載せない（黒は棒と丸い矢印だけ）
   ・印（概算 など）は数字のうしろの小さい灰色の字 .tg「（概算）」。枠も塗りも付けない（札・ピルにしない）
   ・数字と単位のかたまりは .nb で折り返さない（inc-case-detail.php の aibz_case_tx が包む）
   ・すべて body.v8 の下に閉じる。寸法は v8-common.css の3段（1024px 以上／768〜1023px／767px 以下）
   ═══════════════════════════════════════════════════════════════ */

/* ── 数字のうしろの小さな印「（概算）」と、補足の数字（年 約30時間 など） ── */
.v8 .tg{
  display:inline; margin-left:.2em;
  font-size:12.5px; font-weight:600; line-height:1.4; letter-spacing:.02em; color:var(--ink3);
  white-space:nowrap; vertical-align:baseline; font-feature-settings:"palt";
}
.v8 .sb{font-size:12.5px; font-weight:600; line-height:1.5; letter-spacing:.02em; color:var(--ink3); white-space:nowrap; font-feature-settings:"palt"}
.v8 .kp-bw .tg, .v8 .kp-aw .tg{margin-left:0}
/* 「いずれも概算。」「数値はいずれも概算」 */
.v8 .es{font-weight:700; color:var(--ink3)}
/* 数字と単位のかたまり（約1.6時間・1.8〜2.0万円・12〜20件 など）を折り返さない */
.v8 .nb{white-space:nowrap}


/* ═══ 数字の前後 .kp（カードと、事例のページの「数字で見る変化」） ═══
   1件ずつ横に長い行にする: 項目名（左）と「前 → 後」の数字（右）→ 2本の棒（前 100%、後はその割合）→ 注記。
   前の数字は小さく灰、後の数字は大きく墨、印（概算）は後ろに。1023px 以下と大きい版（.is-lg）は項目名の下に数字を置く */
.v8 .kp{
  display:grid; grid-template-columns:minmax(0,1fr); margin:0; padding:0 22px;
  border-radius:16px; background:var(--tint); box-shadow:inset 0 0 0 1px rgba(20,32,50,.05);
}
.v8 .kp-i{display:grid; grid-template-columns:auto minmax(0,1fr); align-items:baseline; gap:0 16px; min-width:0; padding:16px 0 15px}
.v8 .kp-i + .kp-i{border-top:1px solid var(--hair)}
.v8 .kp dt{grid-column:1; margin:0; font-size:13px; font-weight:800; line-height:1.5; letter-spacing:.06em; color:var(--ink3)}
.v8 .kp dd{margin:0; min-width:0}
.v8 .kp-nums{grid-column:2; display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:baseline; gap:4px 8px}
.v8 .kp-bw, .v8 .kp-aw{display:inline-flex; align-items:baseline; gap:8px; white-space:nowrap}
.v8 .kp-b{font-size:14px; font-weight:700; line-height:1.4; letter-spacing:.02em; color:var(--ink3); font-variant-numeric:tabular-nums}
.v8 .kp-a{font-size:24px; font-weight:900; line-height:1.25; letter-spacing:.01em; color:var(--ink); font-variant-numeric:tabular-nums}
/* 前 → 後 の矢印（細い線と三角） */
.v8 .kp-to{
  flex:0 0 auto; align-self:center; width:18px; height:10px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10'><path d='M0 5 H13' stroke='%23222A36' stroke-width='1.4'/><path d='M12 1.2 L17.4 5 L12 8.8 Z' fill='%23222A36'/></svg>") center / 18px 10px no-repeat;
  opacity:.7;
}
.v8 .kp dd.kp-bars{grid-column:1 / -1; display:grid; gap:5px; margin-top:10px}
.v8 .kp-bar{position:relative; display:block; height:6px; border-radius:99px; background:rgba(17,17,17,.07)}
.v8 .kp-bar i{position:absolute; left:0; top:0; bottom:0; border-radius:inherit}
.v8 .kp-bar.is-b i{background:linear-gradient(90deg, #B9BFC7, #979EA8)}
.v8 .kp-bar.is-a i{background:var(--g-black)}
.v8 .kp dd.kp-nt{grid-column:1 / -1; margin-top:8px; font-size:12.5px; font-weight:500; line-height:1.7; letter-spacing:.02em; color:var(--ink3); word-break:auto-phrase; text-wrap:pretty}
@media (max-width:1023px){
  .v8 .kp-i{grid-template-columns:minmax(0,1fr)}
  .v8 .kp dd.kp-nums{grid-column:1; justify-content:flex-start; margin-top:4px}
}

/* 大きい版（事例のページの頭）。面を敷かず、項目名の下に大きな数字、太い棒 */
.v8 .kp.is-lg{padding:0; background:none; box-shadow:none; border-radius:0}
.v8 .kp.is-lg .kp-i{grid-template-columns:minmax(0,1fr); padding:16px 0 14px; border-top:1px solid var(--hair)}
.v8 .kp.is-lg dt{font-size:14px}
.v8 .kp.is-lg dd.kp-nums{grid-column:1; justify-content:flex-start; gap:4px 10px; margin-top:8px}
.v8 .kp.is-lg .kp-bw, .v8 .kp.is-lg .kp-aw{gap:10px}
.v8 .kp.is-lg .kp-b{font-size:18px}
.v8 .kp.is-lg .kp-a{font-size:36px; line-height:1.15}
.v8 .kp.is-lg .kp-to{width:22px; height:12px; background-size:22px 12px}
.v8 .kp.is-lg dd.kp-bars{gap:7px; margin-top:12px}
.v8 .kp.is-lg .kp-bar{height:10px}
.v8 .kp.is-lg dd.kp-nt{margin-top:8px; font-size:13px}


/* ═══ 事例カード .ccard ─ トップの導入事例のカードと同じ骨組み ═══
   縦のカード: 写真 → 文字（.bd）→ 数字の前後（.kp）→ 下の行（.ft）。同じ段のカードは数字と下の行の位置をそろえる。
   横長のカード（1024px 以上で1件だけのとき＝ほかの事例、と 768〜1023px のすべて）:
     1段目に写真（左）と文字（右）、2段目に数字の前後を横いっぱい（2つを左右に）、3段目に下の行 */
.v8 .ccards{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; margin:0; padding:0; list-style:none}
.v8 .ccards.n2{grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px}
.v8 .ccards.n1{grid-template-columns:minmax(0,1fr)}
.v8 .ccards > li{display:flex; min-width:0}
.v8 .ccard{
  display:flex; flex-direction:column; width:100%;
  border-radius:18px; box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 a.ccard:hover{box-shadow:var(--e3), 0 0 0 1px var(--pale)}
/* 写真。流れの中に置き、幅から高さを決める（iPhone の Safari でも高さが 0 にならない） */
.v8 .ccard .ph{position:relative; flex:0 0 auto; overflow:hidden; border-bottom:1px solid var(--hair); background:#DDE1E6}
.v8 .ccard .ph img{
  display:block; width:100%; height:auto; aspect-ratio:16 / 10; object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover){ .v8 a.ccard:hover .ph img{transform:scale(1.03)} }
.v8 .ccard .bd{position:relative; z-index:1; flex:1 1 auto; padding:26px 30px 0}
/* 業態（太く）と、置き換えたもの（細く）。トップ・メディアのカードと同じく1行に並べ、間に細い縦罫。
   入りきらないときは、置き換えたものが言葉の切れ目で次の行へ続く */
.v8 .ccard .meta{margin:0; font-size:13px; line-height:1.75; word-break:auto-phrase; text-wrap:balance}
.v8 .ccard .meta .k{font-weight:800; letter-spacing:.08em; color:var(--ink2); white-space:nowrap}
.v8 .ccard .meta .s{margin-left:12px; padding-left:12px; border-left:1px solid var(--hair); font-weight:700; letter-spacing:.04em; color:var(--ink3)}
.v8 .ccard .hd{
  margin:14px 0 0; font-size:22px; font-weight:900; line-height:1.52; letter-spacing:.01em; color:var(--ink);
  word-break:auto-phrase; text-wrap:balance;
}
.v8 .ccard .ds{
  margin:12px 0 0; font-size:15px; font-weight:500; line-height:1.9; letter-spacing:.03em; color:var(--ink2);
  word-break:auto-phrase; text-wrap:pretty;
}
.v8 .ccard > .kp{position:relative; z-index:1; margin:22px 30px 0}
/* 下の行：細い罫、「事例を見る」、黒い丸の矢印。カードの下端にそろえる */
.v8 .ccard .ft{
  position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:24px 30px 0; padding:14px 0 22px; border-top:1px solid var(--hair);
  font-size:15px; font-weight:700; line-height:1.5; letter-spacing:.06em; color:var(--ink);
}
.v8 .ccard .ar{
  position:relative; flex:0 0 auto; width:38px; height:38px; border-radius:50%; background:#111; color:#fff;
  box-shadow:0 8px 16px -10px rgba(6,12,22,.6);
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.v8 .ccard .ar svg{position:absolute; left:50%; top:50%; width:12px; height:12px; margin:-6px 0 0 -5px}
.v8 .ccard .ar path{fill:currentColor}
@media (hover:hover){ .v8 a.ccard:hover .ar{transform:translateX(4px)} }

/* 横長のカード（同じ指定を2つの幅に書く） */
@media (min-width:1024px){
  .v8 .ccards.n1 .ccard{display:grid; grid-template-columns:minmax(0,44%) minmax(0,1fr); grid-template-areas:"ph bd" "kp kp" "ft ft"; column-gap:40px; padding:32px 36px 0}
  .v8 .ccards.n1 .ccard .ph{grid-area:ph; align-self:start; border-bottom:0; border-radius:14px; box-shadow:0 0 0 1px var(--hair)}
  .v8 .ccards.n1 .ccard .bd{grid-area:bd; padding:4px 0 0}
  .v8 .ccards.n1 .ccard > .kp{grid-area:kp; grid-template-columns:repeat(2, minmax(0,1fr)); margin:28px 0 0; padding:0}
  .v8 .ccards.n1 .ccard .kp-i{grid-template-columns:minmax(0,1fr); padding:16px 24px 15px}
  .v8 .ccards.n1 .ccard .kp dd.kp-nums{grid-column:1; justify-content:flex-start; margin-top:4px}
  .v8 .ccards.n1 .ccard .kp-i + .kp-i{border-top:0; border-left:1px solid var(--hair)}
  .v8 .ccards.n1 .ccard .ft{grid-area:ft; margin:24px 0 0}
}
@media (min-width:768px) and (max-width:1023px){
  .v8 .ccards, .v8 .ccards.n2{grid-template-columns:minmax(0,1fr); gap:24px}
  .v8 .ccard{display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr); grid-template-areas:"ph bd" "kp kp" "ft ft"; column-gap:28px; padding:24px 28px 0}
  .v8 .ccard .ph{grid-area:ph; align-self:start; border-bottom:0; border-radius:12px; box-shadow:0 0 0 1px var(--hair)}
  .v8 .ccard .bd{grid-area:bd; padding:0}
  .v8 .ccard .hd{margin-top:10px; font-size:20px}
  .v8 .ccard .ds{font-size:14.5px; line-height:1.85}
  .v8 .ccard > .kp{grid-area:kp; grid-template-columns:repeat(2, minmax(0,1fr)); margin:22px 0 0; padding:0}
  .v8 .ccard .kp-i{padding:14px 20px 13px}
  .v8 .ccard .kp-i + .kp-i{border-top:0; border-left:1px solid var(--hair)}
  .v8 .ccard .ft{grid-area:ft; margin:22px 0 0}
}
@media (max-width:767px){
  .v8 .ccards, .v8 .ccards.n2{grid-template-columns:minmax(0,1fr); gap:20px}
  .v8 .ccard .bd{padding:20px 20px 0}
  .v8 .ccard .hd{margin-top:10px; font-size:19px; line-height:1.56}
  .v8 .ccard .ds{margin-top:10px; font-size:14.5px; line-height:1.85}
  .v8 .ccard > .kp{margin:18px 20px 0; padding:0 16px}
  .v8 .ccard .ft{margin:20px 20px 0; padding:12px 0 18px; font-size:14px}
  .v8 .kp-i{padding:14px 0 13px}
  .v8 .kp-a{font-size:21px}
  .v8 .kp-b{font-size:13px}
}

/* 一覧の章：頭との間を詰める */
.v8 .cl-cards{padding-top:16px}
/* 2026-09-23 板垣さん指示「縦長すぎる。タイトルとタグだけで十分」: 一覧のカードは 写真・業態のタグ・題 だけにする（どの幅でも）。
   説明・数字の前後・置き換えたもの・下の行は出さない（事例のページの「ほかの事例」のカードはそのまま） */
.v8 .cl-cards .ccard .ds, .v8 .cl-cards .ccard > .kp, .v8 .cl-cards .ccard .ft, .v8 .cl-cards .ccard .meta .s{display:none}
.v8 .cl-cards .ccard .bd{padding-bottom:24px}
/* 2026-09-23 板垣さん指示「一覧のカードが大きすぎる」: 1024px 以上は件数が少なくても3列の幅にそろえ、左から並べる */
@media (min-width:1024px){
  .v8 .cl-cards .ccards.n1, .v8 .cl-cards .ccards.n2{grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px}
  .v8 .cl-cards .ccards .ccard{display:flex; padding:0}
  .v8 .cl-cards .ccard .bd{padding:22px 24px 26px}
  .v8 .cl-cards .ccard .hd{font-size:19px}
  .v8 .cl-cards .ccard .ds{font-size:14px; line-height:1.85}
  .v8 .cl-cards .ccard > .kp{margin:18px 24px 0; padding:0 18px}
  .v8 .cl-cards .ccard .ft{margin:20px 24px 0; padding:12px 0 18px}
  /* カードが細いので、数字の項目名を上、前 → 後 を下の行に置く */
  .v8 .cl-cards .kp-i{grid-template-columns:minmax(0,1fr)}
  .v8 .cl-cards .kp dd.kp-nums{grid-column:1; justify-content:flex-start; margin-top:4px}
}


/* ═══ 事例のページ .cd ═══ */

/* 章の上下の余白は一覧より少し詰める（章が多いので） */
.v8 .cd-sec{padding:calc(var(--blk) * .62) 0}
.v8 .cd .hx + *{margin-top:48px}

/* ── 頭：業態の行、会社、リード（左）と、要点の並び（右） ── */
.v8 .cd-lh{padding-bottom:64px}
.v8 .cd-lh .lh-meta{margin-top:22px}
.v8 .cd-intro{display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:40px 56px; align-items:start; margin-top:40px}
.v8 .cd-co{position:relative; display:flex; align-items:baseline; gap:16px; margin:0; font-size:16px; font-weight:700; line-height:1.85; letter-spacing:.03em; color:var(--ink)}
.v8 .cd-co .k{flex:0 0 auto; font-size:13px; font-weight:800; letter-spacing:.14em; color:var(--ink3)}
.v8 .cd-co .t{word-break:auto-phrase}
.v8 .cd-lh .cd-lead{max-width:none; margin-top:22px; padding-top:22px; border-top:1px solid var(--hair)}
.v8 .cd-facts{
  position:relative; margin:0; padding:8px 28px; border-radius:22px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-facts > div{padding:16px 0 17px}
.v8 .cd-facts > div + div{border-top:1px solid var(--hair)}
.v8 .cd-facts dt{margin:0; font-size:12.5px; font-weight:800; line-height:1.5; letter-spacing:.12em; color:var(--ink3)}
.v8 .cd-facts dd{margin:5px 0 0; font-size:15px; font-weight:700; line-height:1.75; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}

/* ── アイキャッチと、数字で見る変化（1枚の面に並べる） ──
   画像は 16:10 の枠にそのまま入れ、切らない（カード画像ルール 鉄則2。枠の比率＝画像の比率）。
   面の内側に角丸で置き（鉄則1。画像の側にも角丸）、右の数字の列とは縦の真ん中でそろえる */
.v8 .cd-hero{
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center;
  padding:20px; border-radius:28px;
  background:var(--face); box-shadow:var(--e3), 0 0 0 1px var(--pale);
}
.v8 .cd-hero-ph{
  position:relative; margin:0; aspect-ratio:16 / 10; overflow:hidden;
  border-radius:18px; background:#DDE1E6; box-shadow:0 0 0 1px var(--hair);
}
.v8 .cd-hero-ph img{display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit}
.v8 .cd-hero-kp{display:flex; flex-direction:column; justify-content:center; padding:14px 18px 8px 36px}
.v8 .cd-hero-en{margin:0; font-size:15px; font-weight:700; line-height:1.3; letter-spacing:.06em; color:var(--ink2)}
.v8 .cd-hero-ja{margin:6px 0 12px; font-size:24px; font-weight:900; line-height:1.4; letter-spacing:.02em; color:var(--ink)}

/* ── 導入の経緯（1枚の面に、年・見出し・本文の行。左の点を線でつなぐ。いちばん新しい行の点だけ墨） ── */
.v8 .cd-hist{
  margin:0; padding:8px 48px 8px 84px; list-style:none; border-radius:24px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-hist-i{position:relative; display:grid; grid-template-columns:150px minmax(0,1fr); gap:6px 32px; padding:30px 0 31px}
.v8 .cd-hist-i + .cd-hist-i{border-top:1px solid var(--hair)}
/* 点（年の左）。縁だけの白い点、最後の行だけ墨 */
.v8 .cd-hist-i::before{
  content:""; position:absolute; left:-41px; top:40px; z-index:1; width:11px; height:11px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 1.5px rgba(17,17,17,.36);
}
.v8 .cd-hist-i:last-child::before{background:#111; box-shadow:0 0 0 1.5px #111}
/* 点と点をつなぐ線（この行の点の下から、次の行の点の上まで） */
.v8 .cd-hist-i:not(:last-child)::after{content:""; position:absolute; left:-36px; top:57px; bottom:-34px; width:1px; background:rgba(17,17,17,.16)}
.v8 .cd-hist .wh{margin:0; font-size:22px; font-weight:900; line-height:1.35; letter-spacing:.02em; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap}
.v8 .cd-hist .bx{min-width:0}
.v8 .cd-hist .hd{margin:0; font-size:18px; font-weight:800; line-height:1.65; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}
.v8 .cd-hist .tx{margin:8px 0 0; font-size:15.5px; font-weight:500; line-height:1.95; letter-spacing:.03em; color:var(--ink2); text-wrap:pretty}

/* ── 課題（2列のカード。番号を地に大きく薄く敷く） ── */
.v8 .cd-issues{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none}
.v8 .cd-issue{
  position:relative; overflow:hidden; padding:34px 34px 32px; border-radius:22px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-issue .no{
  position:absolute; right:-4px; top:-20px; z-index:0;
  font-size:104px; font-weight:900; line-height:1; letter-spacing:-.02em; color:rgba(17,17,17,.055);
  pointer-events:none; user-select:none; font-variant-numeric:tabular-nums;
}
.v8 .cd-issue .hd{position:relative; margin:0; padding-right:64px; font-size:19px; font-weight:800; line-height:1.6; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}
.v8 .cd-issue .tx{position:relative; margin:12px 0 0; font-size:15.5px; font-weight:500; line-height:1.95; letter-spacing:.03em; color:var(--ink2); text-wrap:pretty}

/* ── アプローチと導入の流れ（1枚の面に、番号の丸・工程の名前と見出し・本文の行）──
   丸は縁だけ（塗らない）。丸と丸を細い線でつなぎ、最後の丸だけ縁を太い墨にする */
.v8 .cd-appr{
  margin:0; padding:8px 48px; list-style:none; border-radius:24px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-ap{position:relative; display:grid; grid-template-columns:44px minmax(0,300px) minmax(0,1fr); gap:6px 32px; align-items:start; padding:28px 0 29px}
.v8 .cd-ap + .cd-ap{border-top:1px solid var(--hair)}
.v8 .cd-ap .no{
  position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  background:var(--face); box-shadow:inset 0 0 0 1px rgba(17,17,17,.26);
  font-size:14px; font-weight:800; line-height:1; letter-spacing:.02em; color:var(--ink2); font-variant-numeric:tabular-nums;
}
.v8 .cd-ap:last-child .no{box-shadow:inset 0 0 0 2px #111; color:var(--ink)}
/* 丸の下から、次の行の丸の上まで */
.v8 .cd-ap:not(:last-child)::after{content:""; position:absolute; left:21.5px; top:72px; bottom:-28px; width:1px; background:rgba(17,17,17,.18)}
.v8 .cd-ap .hb{min-width:0; padding-top:2px}
.v8 .cd-ap .lb{margin:0 0 4px; font-size:12.5px; font-weight:800; line-height:1.5; letter-spacing:.12em; color:var(--ink3)}
.v8 .cd-ap .hd{margin:0; font-size:18px; font-weight:800; line-height:1.65; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}
.v8 .cd-ap .bd{min-width:0}
.v8 .cd-ap .tx{margin:0; padding-top:4px; font-size:15.5px; font-weight:500; line-height:1.95; letter-spacing:.03em; color:var(--ink2); text-wrap:pretty}
/* できたもの（その工程で作ったもの）。本文の下に細い罫で区切って小さく */
.v8 .cd-ap .out{margin:12px 0 0; padding-top:10px; border-top:1px dashed rgba(17,17,17,.16); font-size:14px; font-weight:700; line-height:1.8; letter-spacing:.02em; color:var(--ink); text-wrap:pretty}
.v8 .cd-ap .out .k{margin-right:10px; font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--ink3)}

/* ── 工程がどう変わったか（前の工程 → 置き換え先を1行ずつ。人は白い面、AI・プログラムは点線、なくなった工程は点線＋灰色の字） ── */
.v8 .cd-map{padding:10px 40px 18px; border-radius:24px; background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale)}
.v8 .cd-map-hd, .v8 .cd-mr{display:grid; grid-template-columns:minmax(0,1fr) 168px minmax(0,1fr); gap:0 12px; align-items:center}
.v8 .cd-map-hd{margin:0; padding:14px 0 12px; border-bottom:1px solid rgba(17,17,17,.24); font-size:13px; font-weight:800; line-height:1.5; letter-spacing:.14em; color:var(--ink3)}
.v8 .cd-map-l{margin:0; padding:0; list-style:none}
.v8 .cd-mr{padding:12px 0}
.v8 .cd-mr + .cd-mr{border-top:1px solid var(--hair)}
.v8 .cd-mr .bx{min-width:0; align-self:stretch; padding:13px 16px 12px; border-radius:14px; background:#fff; box-shadow:var(--e1), 0 0 0 1px var(--pale)}
.v8 .cd-mr .st{margin:0; font-size:15px; font-weight:700; line-height:1.7; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase; text-wrap:pretty}
.v8 .cd-mr .mt{margin:4px 0 0; font-size:13px; font-weight:600; line-height:1.6; letter-spacing:.02em; color:var(--ink3)}
.v8 .cd-mr.is-ai .bx.is-a, .v8 .cd-mr.is-program .bx.is-a{background:rgba(255,255,255,.22); box-shadow:none; border:1.5px dashed rgba(17,17,17,.30)}
.v8 .cd-mr.is-gone .bx.is-a{background:none; box-shadow:none; border:1.5px dashed rgba(17,17,17,.22)}
.v8 .cd-mr.is-gone .bx.is-a .st{color:var(--ink3); font-weight:600}
/* 真ん中：細い矢印の上に、何に変わったかの言葉 */
.v8 .cd-mr .to{position:relative; margin:0; padding-bottom:14px; text-align:center}
.v8 .cd-mr .to::after{
  content:""; position:absolute; left:6px; right:6px; bottom:2px; height:10px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='10' viewBox='0 0 160 10' preserveAspectRatio='none'><path d='M0 5 H153' stroke='%23222A36' stroke-width='1.2'/><path d='M152 1.2 L158 5 L152 8.8 Z' fill='%23222A36'/></svg>") center / 100% 10px no-repeat; opacity:.55;
}
.v8 .cd-mr .tg2{font-size:12.5px; font-weight:800; line-height:1.5; letter-spacing:.06em; color:var(--ink2)}
.v8 .cd-mr.is-gone .tg2{color:var(--ink)}

/* ── 使った道具と月額（1枚の面に、道具・役割・月額の3列） ── */
.v8 .cd-tools{
  padding:10px 40px 14px; border-radius:24px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-tools-hd, .v8 .cd-tool{display:grid; grid-template-columns:230px minmax(0,1fr) 300px; gap:0 36px}
.v8 .cd-tools-hd{margin:0; padding:16px 0 14px; border-bottom:1px solid rgba(17,17,17,.24); font-size:13px; font-weight:800; line-height:1.5; letter-spacing:.14em; color:var(--ink3)}
.v8 .cd-tools-l{margin:0; padding:0; list-style:none}
.v8 .cd-tool{align-items:start; padding:24px 0 25px}
.v8 .cd-tool + .cd-tool{border-top:1px solid var(--hair)}
.v8 .cd-tool .nm{margin:0; font-size:17px; font-weight:800; line-height:1.65; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}
.v8 .cd-tool .rl{margin:0; font-size:15px; font-weight:500; line-height:1.9; letter-spacing:.03em; color:var(--ink2); text-wrap:pretty}
.v8 .cd-tool .ct{margin:0}
.v8 .cd-tool .ct .v{display:block; font-size:17px; font-weight:800; line-height:1.65; letter-spacing:.02em; color:var(--ink); font-variant-numeric:tabular-nums}
.v8 .cd-tool .ct .nt{display:block; margin-top:4px; font-size:13px; font-weight:500; line-height:1.75; letter-spacing:.02em; color:var(--ink3)}
.v8 .cd-tool .k{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
/* 使った時期（tools[].when）。名前の上に小さく。置き換えた後だけ墨 */
.v8 .cd-tool .nmw{min-width:0}
.v8 .cd-tool .wn{margin:0 0 3px; font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.12em; color:var(--ink3)}
.v8 .cd-tool .wn.is-after{color:var(--ink)}

/* ── 作業の流れ（前と後を左右に並べる。人の工程は白い面、AI・プログラムの工程は点線の枠） ── */
.v8 .cd-legend{display:flex; flex-wrap:wrap; gap:10px 28px; margin:0; font-size:14px; font-weight:700; line-height:1.5; letter-spacing:.04em; color:var(--ink)}
.v8 .cd .hx + .cd-legend{margin-top:36px}
.v8 .cd-legend .lg{display:inline-flex; align-items:center; gap:10px}
.v8 .cd-legend .lg::before{content:""; flex:0 0 auto; width:30px; height:20px; border-radius:7px}
.v8 .cd-legend .is-hu::before{background:#fff; box-shadow:var(--e1), 0 0 0 1px var(--pale)}
.v8 .cd-legend .is-ai::before{border:1.5px dashed rgba(17,17,17,.42); background:rgba(255,255,255,.22)}
.v8 .cd-flow{display:grid; grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr); align-items:start; margin-top:22px}
.v8 .cd-flow-to{display:flex; justify-content:center; align-self:stretch; align-items:flex-start; padding-top:118px}
.v8 .cd-flow-to .go{width:44px; height:44px; background:#fff; box-shadow:var(--e1), 0 0 0 1px var(--pale)}
.v8 .cd-fcol{
  padding:28px 26px 26px; border-radius:24px;
  background:linear-gradient(158deg, rgba(255,255,255,.90) 0%, rgba(246,247,249,.84) 50%, rgba(234,237,241,.80) 100%);
  box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-fcol-hd{display:flex; align-items:baseline; gap:14px; margin:0; padding:0 2px 18px; border-bottom:1px solid var(--hair)}
.v8 .cd-fcol-hd .en{font-size:15px; font-weight:800; line-height:1.3; letter-spacing:.1em; color:var(--ink3)}
.v8 .cd-fcol-hd .ja{font-size:22px; font-weight:900; line-height:1.35; letter-spacing:.02em; color:var(--ink)}
.v8 .cd-steps{margin:0; padding:0; list-style:none}
.v8 .cd-step{
  display:grid; grid-template-columns:30px minmax(0,1fr); gap:0 12px;
  margin-top:12px; padding:16px 18px 15px 16px; border-radius:16px;
  background:#fff; box-shadow:var(--e1), 0 0 0 1px var(--pale);
}
.v8 .cd-steps > .cd-step:first-child{margin-top:18px}
/* 工程のまとまりの見出し（新しい記事・リライトなど）。番号は通しのまま */
.v8 .cd-steps-grp{margin:20px 2px 0; font-size:13px; font-weight:800; line-height:1.5; letter-spacing:.1em; color:var(--ink3)}
.v8 .cd-steps + .cd-steps-grp{margin-top:30px}
.v8 .cd-steps-grp + .cd-steps > .cd-step:first-child{margin-top:10px}
.v8 .cd-step.is-ai{background:rgba(255,255,255,.22); box-shadow:none; border:1.5px dashed rgba(17,17,17,.30); padding:15px 17px 14px 15px}
.v8 .cd-step .no{padding-top:3px; font-size:13px; font-weight:800; line-height:1.5; letter-spacing:.04em; color:var(--ink3); font-variant-numeric:tabular-nums}
.v8 .cd-step .bx{min-width:0}
.v8 .cd-step .st{margin:0; font-size:15.5px; font-weight:700; line-height:1.75; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase; text-wrap:pretty}
.v8 .cd-step.is-ai .st{font-weight:600; color:var(--ink2)}
.v8 .cd-step .mt{display:flex; flex-wrap:wrap; gap:4px 20px; margin:8px 0 0; font-size:13.5px; font-weight:600; line-height:1.7; letter-spacing:.02em; color:var(--ink2)}
.v8 .cd-step .k{margin-right:8px; font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--ink3)}
.v8 .cd-step .tm b{font-weight:800; color:var(--ink)}
.v8 .cd-step.is-ai .tm b{font-weight:700; color:var(--ink3)}
.v8 .cd-step .tm small{display:block; font-size:12.5px; font-weight:500; line-height:1.7; color:var(--ink3)}

/* ── 結果（2列のカード。前は銀の棒 100%、後は墨の棒。減った分は斜線で残す） ── */
.v8 .cd-res{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none}
.v8 .cd-r{
  display:flex; flex-direction:column; min-width:0;
  padding:30px 32px 26px; border-radius:22px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-r-hd{display:flex; align-items:flex-start; justify-content:space-between; gap:10px 20px}
.v8 .cd-r-lb{flex:1 1 auto; min-width:0}
.v8 .cd-r .lb{margin:0; font-size:17px; font-weight:800; line-height:1.6; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}
/* 数値はいずれも概算（カードの中で1回だけ） */
.v8 .cd-r .es{margin:4px 0 0; font-size:13px; line-height:1.6; letter-spacing:.04em}
.v8 .cd-r .df{display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex:0 0 auto; margin:0; text-align:right}
.v8 .cd-r .df .v{font-size:24px; font-weight:900; line-height:1.3; letter-spacing:.01em; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap}
/* 差の下の補足（年 約30時間 など）。印ではなく、小さい数字として置く */
.v8 .cd-r .df .sb{font-size:13px; font-weight:700; line-height:1.6; letter-spacing:.04em}
.v8 .cd-r-rows{display:grid; gap:14px; margin:22px 0 22px}
.v8 .cd-r-row .top{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:0}
.v8 .cd-r-row .k{flex:0 0 36px; font-size:13px; font-weight:800; line-height:1.5; letter-spacing:.12em; color:var(--ink3)}
.v8 .cd-r-row .v{font-variant-numeric:tabular-nums}
.v8 .cd-r-row.is-b .v{font-size:18px; font-weight:700; line-height:1.4; letter-spacing:.02em; color:var(--ink2)}
.v8 .cd-r-row.is-a .v{font-size:32px; font-weight:900; line-height:1.2; letter-spacing:.01em; color:var(--ink)}
.v8 .cd-bar{position:relative; display:block; height:14px; margin:8px 0 0 46px; border-radius:99px; background:rgba(17,17,17,.06)}
.v8 .cd-bar i{position:absolute; left:0; top:0; bottom:0; border-radius:inherit}
.v8 .cd-r-row.is-b .cd-bar i{background:linear-gradient(90deg, #BCC2CA, #969DA7)}
.v8 .cd-r-row.is-a .cd-bar{
  background:repeating-linear-gradient(135deg, rgba(17,17,17,.13) 0 1.5px, rgba(17,17,17,0) 1.5px 7px);
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.16);
}
.v8 .cd-r-row.is-a .cd-bar i{background:var(--g-black); box-shadow:0 6px 12px -8px rgba(6,12,22,.6)}
/* 文字だけで比べる行（道具代・たまっていた記帳など） */
.v8 .cd-r.is-text .cd-r-row .top{flex-wrap:nowrap}
.v8 .cd-r.is-text .cd-r-row .v{font-size:17px; font-weight:700; line-height:1.7; color:var(--ink2); word-break:auto-phrase}
.v8 .cd-r.is-text .cd-r-row.is-a .v{font-weight:800; color:var(--ink)}
.v8 .cd-r.is-text .df .v{font-size:18px; line-height:1.5; white-space:normal; max-width:12em; word-break:auto-phrase}
.v8 .cd-r .nt{margin:auto 0 0; padding-top:14px; border-top:1px solid var(--hair); font-size:13px; font-weight:500; line-height:1.8; letter-spacing:.02em; color:var(--ink3); word-break:auto-phrase; text-wrap:pretty}

/* ── 進め方の工夫（1枚の面に、番号・見出し・本文の行） ── */
.v8 .cd-points{
  margin:0; padding:8px 48px; list-style:none; border-radius:24px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-pt{display:grid; grid-template-columns:56px minmax(0,300px) minmax(0,1fr); gap:6px 32px; padding:30px 0 31px}
.v8 .cd-pt + .cd-pt{border-top:1px solid var(--hair)}
.v8 .cd-pt .no{font-size:28px; font-weight:900; line-height:1.15; letter-spacing:.02em; color:rgba(17,17,17,.22); font-variant-numeric:tabular-nums}
.v8 .cd-pt .hd{margin:0; font-size:18px; font-weight:800; line-height:1.65; letter-spacing:.02em; color:var(--ink); word-break:auto-phrase}
.v8 .cd-pt .tx{margin:0; font-size:15.5px; font-weight:500; line-height:1.95; letter-spacing:.03em; color:var(--ink2); text-wrap:pretty}

/* ── まとめ ── */
.v8 .cd-close{
  position:relative; max-width:920px; margin:0 auto; padding:60px 80px 64px; border-radius:28px;
  background:var(--face); box-shadow:var(--e2), 0 0 0 1px var(--pale);
}
.v8 .cd-close .en{margin:0; font-size:17px; font-weight:700; line-height:1.3; letter-spacing:.05em; color:var(--ink2)}
.v8 .cd-close .ttl{margin:6px 0 0; font-size:32px; font-weight:900; line-height:1.35; letter-spacing:.02em; color:var(--ink)}
.v8 .cd-close .tx{margin:24px 0 0; font-size:18px; font-weight:500; line-height:2.05; letter-spacing:.04em; color:var(--ink); text-wrap:pretty}

/* ── CTA とほかの事例（CTA は v8-common.css の .endcta のまま。ここでは間だけ整える） ── */
.v8 .cd .endcta{padding-bottom:calc(var(--blk) * .5)}
.v8 .cd-others{padding-top:calc(var(--blk) * .5)}
.v8 .cd-others .hx-row .hx + *{margin-top:0}


/* ═══ 768〜1023px ═══ */
@media (max-width:1023px){
  .v8 .cd-intro{grid-template-columns:minmax(0,1fr); gap:32px}
  .v8 .cd-facts{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 28px; padding:6px 28px 8px}
  .v8 .cd-facts > div + div{border-top:0}
  .v8 .cd-facts > div{border-bottom:1px solid var(--hair)}
  .v8 .cd-facts > div:nth-last-child(-n+2):nth-child(odd), .v8 .cd-facts > div:last-child{border-bottom:0}
  .v8 .cd-hero{grid-template-columns:minmax(0,1fr); padding:16px}
  .v8 .cd-hero-kp{padding:26px 20px 12px}
  .v8 .cd-hero .kp.is-lg{grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 32px}
  .v8 .cd-hero .kp.is-lg .kp-i + .kp-i{border-top:1px solid var(--hair)}
  .v8 .kp.is-lg .kp-a{font-size:30px}
  .v8 .cd-hist{padding:6px 32px 6px 68px}
  .v8 .cd-hist-i{grid-template-columns:120px minmax(0,1fr); gap:6px 24px}
  .v8 .cd-hist-i::before{left:-37px}
  .v8 .cd-hist-i:not(:last-child)::after{left:-32px}
  .v8 .cd-hist .wh{font-size:20px}
  .v8 .cd-appr{padding:6px 32px}
  .v8 .cd-ap{grid-template-columns:44px minmax(0,1fr); gap:6px 20px}
  .v8 .cd-ap .bd{grid-column:2}
  .v8 .cd-map{padding:6px 28px 14px}
  .v8 .cd-map-hd, .v8 .cd-mr{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)}
  .v8 .cd-issues{gap:20px}
  .v8 .cd-issue{padding:30px 28px 28px}
  .v8 .cd-tools{padding:6px 32px 10px}
  .v8 .cd-tools-hd, .v8 .cd-tool{grid-template-columns:180px minmax(0,1fr) 220px; gap:0 24px}
  .v8 .cd-flow{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}
  .v8 .cd-flow-to .go{width:36px; height:36px}
  .v8 .cd-fcol{padding:24px 18px 20px}
  .v8 .cd-step{grid-template-columns:24px minmax(0,1fr); gap:0 8px; padding:14px 14px 13px 12px}
  .v8 .cd-step.is-ai{padding:13px 13px 12px 11px}
  .v8 .cd-step .st{font-size:15px}
  .v8 .cd-res{gap:20px}
  .v8 .cd-r{padding:26px 24px 22px}
  /* 2列のカードは幅が狭いので、差を見出しの下に置く（見出しが3行に割れないように） */
  .v8 .cd-r-hd{flex-direction:column; align-items:flex-start; gap:6px}
  .v8 .cd-r .df{flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:2px 10px; text-align:left}
  .v8 .cd-r.is-text .df .v{max-width:none}
  .v8 .cd-r-row.is-a .v{font-size:28px}
  .v8 .cd-points{padding:6px 32px}
  .v8 .cd-pt{grid-template-columns:48px minmax(0,1fr); gap:6px 20px}
  .v8 .cd-pt .tx{grid-column:2}
  .v8 .cd-close{padding:52px 56px 56px}
}

/* ═══ 767px 以下 ═══ */
@media (max-width:767px){
  .v8 .cd .hx + *{margin-top:32px}
  .v8 .cd-lh{padding-bottom:48px}
  .v8 .cd-lh .lh-meta{flex-direction:column; align-items:flex-start; gap:2px}
  .v8 .cd-lh .lh-meta > * + *{padding-left:0; border-left:0; font-weight:600}
  .v8 .cd-intro{margin-top:28px; gap:28px}
  .v8 .cd-co{flex-direction:column; gap:2px; font-size:15.5px}
  .v8 .cd-lh .cd-lead{margin-top:18px; padding-top:18px}
  .v8 .cd-facts{grid-template-columns:minmax(0,1fr); margin:0 -8px; padding:4px 20px 6px; border-radius:20px}
  .v8 .cd-facts > div{border-bottom:0}
  .v8 .cd-facts > div + div{border-top:1px solid var(--hair)}
  .v8 .cd-facts > div{padding:14px 0 15px}
  .v8 .cd-hero{margin:0 -8px; padding:10px; border-radius:22px}
  .v8 .cd-hero-ph{border-radius:14px}
  .v8 .cd-hero-kp{padding:20px 12px 8px}
  .v8 .cd-hero-ja{font-size:21px; margin-bottom:10px}
  .v8 .cd-hero .kp.is-lg{grid-template-columns:minmax(0,1fr)}
  .v8 .kp.is-lg .kp-a{font-size:28px}
  .v8 .kp.is-lg .kp-b{font-size:15px}
  .v8 .kp.is-lg dd.kp-nums{gap:4px 8px}
  /* 経緯：年を見出しの上に置き、点と線は左の余白に */
  .v8 .cd-hist{margin:0 -8px; padding:4px 20px 4px 48px; border-radius:20px}
  .v8 .cd-hist-i{grid-template-columns:minmax(0,1fr); gap:4px; padding:24px 0 25px}
  .v8 .cd-hist-i::before{left:-30px; top:32px}
  .v8 .cd-hist-i:not(:last-child)::after{left:-25px; top:49px; bottom:-26px}
  .v8 .cd-hist .wh{font-size:19px}
  .v8 .cd-hist .hd{font-size:17px}
  .v8 .cd-hist .tx{font-size:15px; line-height:1.9}
  /* アプローチ：丸を小さく、本文は見出しの下 */
  .v8 .cd-appr{margin:0 -8px; padding:4px 20px; border-radius:20px}
  .v8 .cd-ap{grid-template-columns:36px minmax(0,1fr); gap:4px 16px; padding:24px 0 25px}
  .v8 .cd-ap .no{width:36px; height:36px; font-size:13px}
  .v8 .cd-ap:not(:last-child)::after{left:17.5px; top:60px; bottom:-24px}
  .v8 .cd-ap .hb{padding-top:0}
  .v8 .cd-ap .hd{font-size:17px}
  .v8 .cd-ap .tx{font-size:15px; line-height:1.9}
  .v8 .cd-ap .bd{grid-column:1 / -1}
  /* 工程の図：前 → 下向きの矢印と言葉 → 後 を縦に積む */
  .v8 .cd-map{margin:0 -8px; padding:4px 16px 10px; border-radius:20px}
  .v8 .cd-map-hd{display:none}
  .v8 .cd-mr{grid-template-columns:minmax(0,1fr); gap:0; padding:16px 0}
  .v8 .cd-mr .to{padding:8px 0 8px 22px; text-align:left}
  .v8 .cd-mr .to::after{left:8px; right:auto; top:4px; bottom:4px; width:10px; height:auto;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='40' viewBox='0 0 10 40' preserveAspectRatio='none'><path d='M5 0 V33' stroke='%23222A36' stroke-width='1.2'/><path d='M1.2 32 L5 38 L8.8 32 Z' fill='%23222A36'/></svg>") center / 10px 100% no-repeat}
  .v8 .cd-mr .st{font-size:14.5px}
  .v8 .cd-issues{grid-template-columns:minmax(0,1fr); gap:16px}
  .v8 .cd-issue{margin:0 -8px; padding:26px 20px 24px; border-radius:20px}
  .v8 .cd-issue .no{font-size:84px; top:-14px}
  .v8 .cd-issue .hd{font-size:17.5px; padding-right:48px}
  .v8 .cd-issue .tx{font-size:15px; line-height:1.9}
  .v8 .cd-tools{margin:0 -8px; padding:4px 20px 6px; border-radius:20px}
  .v8 .cd-tools-hd{display:none}
  .v8 .cd-tool{grid-template-columns:minmax(0,1fr); gap:8px; padding:20px 0 21px}
  .v8 .cd-tool .k{position:static; width:auto; height:auto; overflow:visible; clip:auto; display:block; margin-bottom:2px; font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--ink3)}
  .v8 .cd-tool .rl{font-size:14.5px; line-height:1.85}
  .v8 .cd-legend{gap:8px 20px; font-size:13.5px}
  .v8 .cd-flow{grid-template-columns:minmax(0,1fr); margin-left:-8px; margin-right:-8px}
  .v8 .cd-flow-to{padding:14px 0; align-self:auto}
  .v8 .cd-flow-to .go{transform:rotate(90deg)}
  .v8 .cd-fcol{padding:22px 14px 16px; border-radius:20px}
  .v8 .cd-fcol-hd{padding:0 4px 14px}
  .v8 .cd-fcol-hd .ja{font-size:20px}
  .v8 .cd-step .st{font-size:14.5px; line-height:1.75}
  .v8 .cd-step .mt{font-size:13px; gap:2px 16px}
  .v8 .cd-res{grid-template-columns:minmax(0,1fr); gap:16px}
  .v8 .cd-r{margin:0 -8px; padding:24px 20px 20px; border-radius:20px}
  .v8 .cd-r .lb{font-size:16px}
  .v8 .cd-r .df .v{font-size:22px}
  .v8 .cd-r-row.is-b .v{font-size:16px}
  .v8 .cd-r-row.is-a .v{font-size:27px}
  .v8 .cd-r-row .k{flex-basis:30px}
  .v8 .cd-bar{height:12px; margin-left:40px}
  .v8 .cd-r.is-text .cd-r-row .v{font-size:16px}
  .v8 .cd-points{margin:0 -8px; padding:4px 20px; border-radius:20px}
  .v8 .cd-pt{grid-template-columns:minmax(0,1fr); gap:4px; padding:24px 0 25px}
  .v8 .cd-pt .tx{grid-column:auto; font-size:15px; line-height:1.9}
  .v8 .cd-pt .no{font-size:22px}
  .v8 .cd-pt .hd{font-size:17px}
  .v8 .cd-close{margin:0 -8px; padding:36px 20px 40px; border-radius:20px}
  .v8 .cd-close .en{font-size:15px}
  .v8 .cd-close .ttl{font-size:26px}
  .v8 .cd-close .tx{margin-top:18px; font-size:16px; line-height:2}
}

/* 見出しと本文の折り返し：語の途中で折らない（対応していないブラウザではふつうに折れる）。
   数字と単位のかたまりは .nb で折らない */
.v8 .cd-hero-ja, .v8 .cd-fcol-hd .ja, .v8 .cd-close .ttl{word-break:auto-phrase}
.v8 .cd-tool .ct .v, .v8 .cd-tool .ct .nt, .v8 .cd-step .mt{word-break:auto-phrase}
.v8 .cd-tool .ct .nt, .v8 .cd-step .tm small, .v8 .cd-facts dd{text-wrap:pretty}

/* 2つの数字を左右に並べる所（横長のカード、768〜1023px の頭の数字）では、
   項目名・数字・棒・注記の段を左右でそろえる（棒の高さがずれないように） */
@supports (grid-template-rows:subgrid){
  @media (min-width:1024px){
    .v8 .ccards.n1 .ccard .kp-i{grid-row:span 4; grid-template-rows:subgrid}
  }
  @media (min-width:768px) and (max-width:1023px){
    .v8 .ccard .kp-i, .v8 .cd-hero .kp.is-lg .kp-i{grid-row:span 4; grid-template-rows:subgrid}
  }
}
/* 768〜1023px の頭の数字は、前と後を必ず2行に分け、左右で数字の組みをそろえる */
@media (min-width:768px) and (max-width:1023px){
  .v8 .cd-hero .kp.is-lg dd.kp-nums{flex-direction:column; align-items:flex-start; gap:2px}
}

@media (prefers-reduced-motion: reduce){
  .v8 .ccard .ph img, .v8 .ccard .ar{transition:none}
  .v8 a.ccard:hover .ph img, .v8 a.ccard:hover .ar{transform:none}
}
