  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  :root{
    --teal:#2bb8c8; --teal-dark:#1d8898; --teal-soft:#7fd8d3;
    --teal-bg:#eefafa; --teal-08:rgba(43,184,200,.10);
    --navy:#0f3a43; --gold:#c5a059;
    --text:#1a1a1a; --sub:#4a5555; --line:#e8ecec; --desk:#edf3f3; --paper:#ffffff;
    /* 改訂版（2026-08-10 採用）: 濃紺を文字の主役／goldを差し色 */
    --canvas:#eef2f2; --ink:#12303a; --deep:#176a72; --sand:#c3a25f; --rule:#e2e7e5; --tpale:#edf7f6;
  }
  html{ scroll-behavior:smooth; }
  body{ font-family:'Zen Kaku Gothic New',sans-serif; color:var(--text); font-weight:400;
    background:var(--desk); line-height:1.9; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
  svg.ic{ width:100%; height:100%; display:block; }
  .ic-stroke{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

  .sitebar{ position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); }
  .sitebar .in{ max-width:800px; margin:0 auto; padding:11px 22px; display:flex; align-items:center; gap:10px; }
  .sitebar .bk{ font-size:13.5px; font-weight:700; color:var(--navy); text-decoration:none; }
  .bk-br{ display:none; }
  .sitebar .ch{ font-size:12px; color:var(--sub); margin-left:auto; letter-spacing:.04em; }
  .chmenu{ position:relative; margin-left:12px; }
  .chmenu>summary{ list-style:none; cursor:pointer; font-size:13px; font-weight:700; color:var(--teal-dark); padding:6px 14px; border:1px solid var(--line); border-radius:20px; user-select:none; }
  .chmenu>summary::-webkit-details-marker{ display:none; }
  .chmenu[open]>summary{ background:var(--teal-bg); border-color:var(--teal-soft); }
  .chmenu .menu{ position:absolute; right:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 28px rgba(15,58,67,.14); padding:8px; min-width:250px; max-width:calc(100vw - 44px); z-index:30; }
  .chmenu .menu a,.chmenu .menu span{ display:block; padding:9px 12px; border-radius:8px; font-size:13.5px; text-decoration:none; color:var(--navy); }
  .chmenu .menu a:hover{ background:var(--teal-bg); }
  .chmenu .menu .cur{ color:var(--teal-dark); font-weight:700; background:var(--teal-08); }
  .pdf-dl{ display:flex; align-items:center; gap:6px; margin-left:12px; font-size:13px; font-weight:700; color:var(--teal-dark); padding:6px 14px; border:1px solid var(--line); border-radius:20px; text-decoration:none; white-space:nowrap; flex-shrink:0; }
  .pdf-dl svg.ic{ width:14px; height:14px; flex-shrink:0; }
  .pdf-dl:hover{ background:var(--teal-bg); border-color:var(--teal-soft); }

  .wrap{ max-width:760px; margin:26px auto 0; padding:14px 46px 54px; background:var(--paper); border-radius:18px; box-shadow:0 4px 26px rgba(15,58,67,.06); }
  .hero{ padding:30px 0 8px; }
  .eyebrow{ display:flex; align-items:center; gap:10px; margin-bottom:12px; color:var(--teal-dark); }
  .eyebrow .num{ font-family:'Gupter',serif; font-size:13px; letter-spacing:.24em; }
  .eyebrow .line{ width:44px; height:1px; background:var(--teal-soft); }
  .hero h1{ font-size:27px; font-weight:700; color:var(--navy); line-height:1.5; letter-spacing:.02em; margin-bottom:16px; }
  .hero .lead{ font-size:15.5px; color:#2a3232; }

  .sec{ margin-top:44px; }
  .sec-h{ display:flex; align-items:center; gap:11px; font-size:19px; font-weight:700; color:var(--navy); margin-bottom:16px; line-height:1.5; }
  .sec-h .dot{ width:9px; height:9px; border-radius:50%; background:var(--teal); flex-shrink:0; }
  .p{ font-size:15px; color:#1c1c1c; margin-bottom:14px; }
  .mini-label{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--teal-dark); margin-bottom:14px; }
  .mini-label svg{ width:18px; height:18px; }

  .insight{ display:flex; align-items:center; gap:18px; background:var(--teal-bg); border-radius:16px; padding:22px 24px; }
  .insight .ic-wrap{ width:44px; height:44px; flex-shrink:0; color:var(--teal-dark); }
  .insight p{ font-size:15px; line-height:1.75; }
  .insight strong{ color:var(--navy); }

  .timeline{ display:flex; align-items:stretch; gap:0; }
  .tl-stage{ flex:1; text-align:center; padding:20px 12px; border-radius:16px; }
  .tl-stage .ic-wrap{ width:38px; height:38px; margin:0 auto 10px; }
  .tl-stage .age{ font-family:'Gupter',serif; font-size:32px; font-weight:700; line-height:1; }
  .tl-stage .age small{ font-family:'Zen Kaku Gothic New'; font-size:13px; font-weight:500; }
  .tl-stage .cap{ font-size:13px; color:var(--sub); margin-top:9px; line-height:1.55; }
  .tl-stage.s1{ background:var(--teal-08); color:var(--teal-dark); }
  .tl-stage.s2{ background:rgba(197,160,89,.12); color:#9c7f43; }
  .tl-stage.s3{ background:rgba(15,58,67,.07); color:var(--navy); }
  .tl-op{ display:flex; align-items:center; color:var(--teal-soft); padding:0 6px; }
  .tl-op svg{ width:22px; height:22px; }

  .duo{ display:flex; gap:16px; }
  .duo .card{ flex:1; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 22px; }
  .duo .card .head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
  .duo .card .p-ic{ width:40px; height:40px; border-radius:11px; background:var(--teal-08); color:var(--teal-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .duo .card .p-ic svg{ width:22px; height:22px; }
  .duo .card h4{ font-size:16px; font-weight:700; color:var(--navy); }
  .duo .card p{ font-size:13.5px; color:var(--sub); line-height:1.8; }

  .points{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
  .points.cols3{ grid-template-columns:repeat(3,1fr); }
  .points .point{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 18px; display:flex; flex-direction:column; }
  .points .point .p-ic{ width:38px; height:38px; border-radius:10px; background:var(--teal-08); color:var(--teal-dark); display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
  .points .point .p-ic svg{ width:21px; height:21px; }
  .points .point h4{ font-size:14.5px; font-weight:700; color:var(--navy); margin-bottom:6px; }
  .points .point p{ font-size:12.5px; color:var(--sub); line-height:1.7; }
  .points .point .badges{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:12px; }
  .points .point .badge{ font-size:11px; font-weight:700; color:#fff; background:#e8965a; padding:3px 10px; border-radius:20px; white-space:nowrap; }

  .statement{ background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dark) 100%); color:#fff; border-radius:18px; padding:30px 30px; }
  .statement .st-ic{ width:40px; height:40px; color:rgba(255,255,255,.9); margin-bottom:14px; }
  .statement .big{ font-size:20px; font-weight:700; line-height:1.55; margin-bottom:10px; }
  .statement p{ font-size:14px; color:rgba(255,255,255,.9); line-height:1.85; }

  .result{ display:flex; align-items:center; gap:24px; background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dark) 100%); color:#fff; border-radius:18px; padding:26px 30px; }
  .result .r-ic{ width:46px; height:46px; color:rgba(255,255,255,.9); flex-shrink:0; }
  .result .big{ font-family:'Gupter',serif; font-size:42px; font-weight:700; line-height:1; }
  .result .big small{ font-family:'Zen Kaku Gothic New'; font-size:15px; font-weight:500; }
  .result .r-txt{ font-size:14px; color:rgba(255,255,255,.92); line-height:1.8; }

  .cl{ list-style:none; background:#fff; border:1px solid var(--line); border-radius:16px; padding:6px 20px; }
  .cl li{ display:flex; align-items:flex-start; gap:12px; padding:14px 2px; border-bottom:1px solid var(--line); font-size:14.5px; color:#444; line-height:1.7; }
  .cl li:last-child{ border-bottom:none; }
  .cl .ck{ width:22px; height:22px; color:var(--teal); flex-shrink:0; margin-top:2px; }

  .flow{ display:flex; align-items:stretch; gap:0; background:var(--teal-bg); border-radius:16px; padding:22px 16px; }
  .flow-step{ flex:1; text-align:center; padding:0 8px; }
  .flow-step .fs-ic{ width:38px; height:38px; margin:0 auto 8px; color:var(--teal-dark); }
  .flow-step .fs-t{ font-size:12.5px; color:var(--navy); font-weight:700; line-height:1.45; }
  .flow-op{ display:flex; align-items:center; color:var(--teal-soft); }
  .flow-op svg{ width:20px; height:20px; }

  .compare{ display:flex; gap:16px; }
  .compare .col{ flex:1; border-radius:16px; padding:20px 22px; }
  .compare .bad{ background:#fdf1ef; border:1px solid #f6d5cd; }
  .compare .good{ background:var(--teal-bg); border:1px solid var(--teal-soft); }
  .compare .c-h{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:14.5px; margin-bottom:10px; }
  .compare .bad .c-h{ color:#c0563e; }
  .compare .good .c-h{ color:var(--teal-dark); }
  .compare .c-h svg{ width:22px; height:22px; }
  .compare p{ font-size:13.5px; color:#2a3232; line-height:1.8; }

  .note{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px dashed var(--teal-soft); border-radius:14px; padding:20px 22px; }
  .note.warn{ border-color:#eeb9ab; background:#fdf6f4; }
  .note .ic-wrap{ width:30px; height:30px; color:var(--teal-dark); flex-shrink:0; margin-top:2px; }
  .note.warn .ic-wrap{ color:#c0563e; }
  .note p{ font-size:14px; color:var(--text); line-height:1.8; }
  .note strong{ color:var(--navy); }

  .aside{ margin-top:14px; font-size:13px; color:var(--sub); line-height:1.85; font-style:italic; }

  .sig{ text-align:right; margin-top:26px; font-size:14px; color:var(--sub); }
  .sig b{ color:var(--navy); font-weight:700; }
  .disclaimer{ margin-top:44px; padding-top:18px; border-top:1px solid var(--line); font-size:12px; color:#aaa; line-height:1.7; }

  /* シェアバー */
  .share{ margin-top:40px; padding-top:22px; border-top:1px solid var(--line); }
  .share .share-l{ font-size:12.5px; font-weight:700; color:var(--navy); margin-bottom:12px; display:flex; align-items:center; gap:7px; }
  .share .share-l svg{ width:17px; height:17px; color:var(--teal-dark); }
  .share .btns{ display:flex; flex-wrap:wrap; gap:9px; }
  .share button{ font-family:inherit; cursor:pointer; border:1px solid var(--line); background:#fff;
    border-radius:10px; padding:10px 14px; display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:700; color:var(--navy); }
  .share button:hover{ border-color:var(--teal); background:var(--teal-bg); }
  .share button svg{ width:18px; height:18px; }
  .share .sb-line{ color:#06C755; } .share .sb-x{ color:#000; } .share .sb-fb{ color:#1877F2; }
  .share .sb-copy{ color:var(--teal-dark); } .share .sb-native{ color:var(--teal-dark); }
  .share .sb-native{ display:none; }
  body.can-share .share .sb-native{ display:inline-flex; }
  .share .copied{ font-size:12px; color:var(--teal-dark); margin-left:4px; opacity:0; transition:opacity .2s; }
  .share .copied.on{ opacity:1; }

  /* 歯の並び図解（あご幅に収まる/収まらない） */
  .teeth{ background:var(--teal-bg); border-radius:16px; padding:22px; display:grid; grid-template-columns:1fr 240px; align-items:center; row-gap:16px; column-gap:18px; }
  .teeth-row{ display:contents; }
  .teeth .jaw{ display:flex; justify-content:center; align-items:flex-end; gap:5px; height:58px; background:#fff; border:1px solid var(--teal-soft); border-radius:10px; padding:8px 12px; overflow:hidden; width:100%; max-width:280px; justify-self:center; }
  .teeth .jaw svg{ width:27px; height:32px; color:var(--teal-dark); flex-shrink:0; }
  .teeth-row.bad .jaw{ gap:0; width:150px; justify-self:center; }
  .teeth-row.bad .jaw svg{ margin:0 -4px; }
  .teeth-row.bad .jaw svg:nth-child(2){ transform:translateY(-7px) rotate(-10deg); }
  .teeth-row.bad .jaw svg:nth-child(5){ transform:translateY(-5px) rotate(11deg); }
  .teeth-row.bad .jaw svg:nth-child(7){ transform:translateY(6px) rotate(-6deg); }
  .teeth .tcap{ font-size:12.5px; color:var(--sub); line-height:1.55; }
  .teeth .tcap b{ display:block; font-size:14px; color:var(--navy); margin-bottom:2px; }
  .teeth-row.bad .tcap b{ color:#c0563e; }

  /* サポート図解＋結論コネクタ */
  .il-center{ text-align:center; margin-bottom:16px; }
  .il-center svg{ width:104px; height:auto; }
  .conn{ display:flex; flex-direction:column; align-items:center; gap:2px; margin:16px 0; color:var(--teal-dark); }
  .conn span{ font-size:12px; font-weight:700; letter-spacing:.06em; }
  .conn svg{ width:22px; height:22px; transform:rotate(90deg); }

  /* 8020 数値 */
  .result .r-num{ white-space:nowrap; display:flex; align-items:baseline; gap:3px; color:#fff; font-weight:700; font-size:15px; line-height:1.25; }
  .result .r-num b{ font-family:'Gupter',serif; font-size:40px; font-weight:700; }

  /* フッター（著者・発行） */
  .sitefoot{ max-width:800px; margin:38px auto 0; padding:22px 22px 52px; border-top:1px solid var(--line); color:var(--sub); font-size:12.5px; line-height:1.85; display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:flex-end; }
  .sitefoot b{ color:var(--navy); }
  .pub{ display:flex; align-items:center; gap:10px; }
  .pub-l{ font-size:11px; color:var(--sub); letter-spacing:.12em; }
  .pub-brand{ display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
  .pub-logo{ width:150px; height:auto; display:block; }
  .pub-name{ font-size:12px; color:var(--sub); }
  .cover-pub{ width:170px; height:auto; display:block; margin:16px auto 0; }
  .cover-pubname{ font-size:12px; color:rgba(255,255,255,.85); margin-top:6px; letter-spacing:.02em; }

  /* 奥付（コロフォン） */
  .colophon{ border:1px solid var(--line); border-radius:16px; padding:24px 26px; background:#fafcfc; }
  .colophon .col-title b{ font-size:15px; color:var(--navy); }
  .colophon .col-title span{ font-size:12px; color:var(--sub); }
  .colophon dl{ margin-top:16px; display:grid; grid-template-columns:96px 1fr; gap:11px 14px; font-size:12.5px; }
  .colophon dt{ color:var(--teal-dark); font-weight:700; }
  .colophon dd{ color:var(--text); line-height:1.7; }
  .colophon dd a{ color:var(--teal-dark); word-break:break-all; }
  .colophon .copyright{ margin-top:18px; padding-top:14px; border-top:1px solid var(--line); font-size:11.5px; color:var(--sub); line-height:1.7; }

  /* 歯とあごバランス（説明＋図解を1枠に） */
  .il-center img{ width:150px; height:auto; display:block; margin:0 auto; }

  /* Point! ラベル（補足エリア共通） */
  .insight, .note{ position:relative; }
  .insight::before, .note::before{ content:"POINT"; position:absolute; top:-9px; left:18px;
    background:var(--teal); color:#fff; font-size:10px; font-weight:700; letter-spacing:.12em;
    padding:2px 10px; border-radius:20px; box-shadow:0 1px 4px rgba(15,58,67,.15); }
  .note.warn::before{ content:"注意"; background:#d16a4c; letter-spacing:.08em; }

  .chapnav{ max-width:760px; margin:36px auto 0; padding:0 22px; }
  .chapnav .row{ display:flex; gap:12px; }
  .chapnav a,.chapnav span{ flex:1; border:1px solid var(--line); border-radius:14px; padding:16px 18px; background:#fff; text-decoration:none; font-size:13.5px; line-height:1.5; }
  .chapnav .lbl{ font-size:11px; color:var(--sub); letter-spacing:.08em; display:block; margin-bottom:4px; }
  .chapnav a{ color:var(--navy); font-weight:700; }
  .chapnav a:hover{ border-color:var(--teal); background:var(--teal-bg); }
  .chapnav .next{ text-align:right; }
  .chapnav .disabled{ color:#bbb; }

  /* ハブ */
  .cover-bleed{ background:linear-gradient(160deg,var(--teal) 0%,var(--teal-dark) 100%); color:#fff; }
  .cover{ padding:52px 44px; text-align:center; }
  .cover .kicker{ font-family:'Gupter',serif; letter-spacing:.28em; text-transform:uppercase; font-size:11px; color:rgba(255,255,255,.7); margin-bottom:22px; }
  .cover h1{ font-size:29px; font-weight:700; line-height:1.5; margin-bottom:14px; }
  .cover .sub{ font-size:14px; color:rgba(255,255,255,.9); line-height:1.8; }
  .cover .accent{ width:44px; height:2px; background:rgba(255,255,255,.7); margin:22px auto; }
  .cover .author{ font-size:13px; color:rgba(255,255,255,.85); }
  .hublist{ margin-top:26px; display:flex; flex-direction:column; gap:12px; }
  .hublist a{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px 22px; text-decoration:none; }
  .hublist a:hover{ border-color:var(--teal); background:var(--teal-bg); }
  .hublist .n{ font-family:'Gupter',serif; font-size:15px; color:var(--teal-dark); letter-spacing:.15em; flex-shrink:0; width:72px; white-space:nowrap; }
  .hublist .tt{ display:block; font-size:15.5px; font-weight:700; color:var(--navy); line-height:1.5; }
  .hublist .dd{ display:block; font-size:12.5px; color:var(--sub); margin-top:5px; line-height:1.65; }
  .hublist .go{ margin-left:auto; width:22px; height:22px; color:var(--teal); flex-shrink:0; }
  .chmenu .menu .soon{ color:#bbb; }
  .hublist .hub-soon{ display:flex; align-items:center; gap:16px; background:#fafafa; border:1px dashed var(--line); border-radius:16px; padding:20px 22px; }
  .hublist .hub-soon .n{ font-family:'Gupter',serif; font-size:15px; letter-spacing:.15em; width:72px; white-space:nowrap; color:#ccc; flex-shrink:0; }
  .hublist .hub-soon .tt{ display:block; font-size:15.5px; font-weight:700; color:#aaa; line-height:1.5; }
  .hublist .hub-soon .dd{ display:block; font-size:12.5px; color:#c4c4c4; margin-top:5px; line-height:1.65; }
  .hublist .hub-soon .soon-tag{ margin-left:auto; font-size:11px; color:#bbb; border:1px solid var(--line); border-radius:20px; padding:3px 10px; flex-shrink:0; }


  /* ══════════════════════════════════════════════════════
     改訂版デザイン（2026-08-10 三川先生承認）
     ヒーロー強化／脱カード／tealはアクセント／濃紺・gold
     ※タイムライン・白背景・本文ほぼ黒は現行維持
     ══════════════════════════════════════════════════════ */
  body{ background:var(--canvas); line-height:1.95; }
  .sitebar{ background:rgba(255,255,255,.9); border-bottom:1px solid rgba(18,48,58,.10); }
  .sitebar .in{ max-width:1040px; padding:13px 28px; }
  .sitebar .bk{ font-size:12px; letter-spacing:.06em; }
  .sitebar .ch{ font-family:'Gupter',serif; letter-spacing:.14em; color:var(--sub); }
  .chmenu>summary{ border:0; border-radius:0; padding:5px 0 5px 16px; color:var(--ink); }
  .chmenu[open]>summary{ background:none; border-color:transparent; }
  .wrap{ max-width:880px; padding:0 72px 76px; border-radius:0;
    box-shadow:0 1px 0 rgba(18,48,58,.05), 0 24px 60px rgba(18,48,58,.06); }
  .cover-bleed{ margin-left:-72px; margin-right:-72px; }

  /* hero */
  .hero{ padding:76px 0 58px; border-bottom:1px solid var(--rule); }
  .hero .eyebrow{ margin-bottom:26px; color:var(--deep); }
  .hero .eyebrow .num{ font-size:14px; letter-spacing:.28em; }
  .hero .eyebrow .line{ width:56px; background:var(--sand); }
  .hero-kicker{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:11px; letter-spacing:.12em; color:var(--sub); margin-left:4px; }
  .hero-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) 260px; gap:52px; align-items:center; }
  .hero h1{ font-size:38px; line-height:1.5; letter-spacing:.03em; color:var(--ink); margin-bottom:22px; font-weight:700; }
  .hero .lead{ max-width:600px; font-size:15px; line-height:2.05; color:#2b2b2b; }
  .hero-visual{ height:250px; position:relative; display:grid; place-items:center; }
  .hero-mark{ width:100px; height:100px; border-radius:50%; background:var(--deep); color:#fff; padding:28px; position:relative; z-index:2; box-shadow:0 16px 36px rgba(23,106,114,.20); }
  .hero-mark svg{ width:100%; height:100%; }
  .hero-orbit{ position:absolute; border:1px solid rgba(47,158,167,.30); border-radius:50%; }
  .orbit-a{ width:186px; height:186px; transform:rotate(18deg); }
  .orbit-b{ width:244px; height:128px; transform:rotate(-24deg); border-color:rgba(195,162,95,.42); }
  .hero-age{ position:absolute; z-index:3; background:#fff; font-family:'Gupter',serif; font-size:23px; line-height:1; padding:6px 9px; border:1px solid var(--rule); box-shadow:0 8px 18px rgba(18,48,58,.09); color:var(--ink); }
  .hero-age small{ font-family:'Zen Kaku Gothic New'; font-size:10px; margin-left:2px; }
  .hero-age.word{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:13px; font-weight:700; padding:6px 11px; letter-spacing:.04em; }
  .age-a{ top:26px; left:24px; } .age-b{ right:4px; top:80px; } .age-c{ bottom:26px; left:62px; }

  /* sections：見出しにgoldタブ */
  .sec{ margin-top:58px; }
  .sec-h{ font-size:20px; color:var(--ink); gap:12px; line-height:1.55; }
  .sec-h .dot{ width:6px; height:26px; border-radius:1px; background:var(--sand); }
  .p{ font-size:15px; color:#1f1f1f; line-height:2.05; max-width:680px; }
  .mini-label{ font-size:11px; letter-spacing:.14em; color:var(--sub); text-transform:uppercase; margin-bottom:16px; }

  /* 脱カード：insight＝引用罫 / note＝上下罫 / duo＝区切り罫。POINTラベル撤去 */
  .insight{ background:transparent; border:0; border-left:2px solid var(--teal); border-radius:0; padding:6px 0 6px 24px; align-items:flex-start; gap:20px; max-width:720px; }
  .insight .ic-wrap{ width:32px; height:32px; color:var(--deep); margin-top:3px; }
  .insight p{ font-size:15px; color:#1f1f1f; line-height:2; }
  .insight strong{ font-size:17px; color:var(--ink); }
  .insight::before, .note::before{ display:none !important; }
  .note{ background:transparent; border:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); border-radius:0; padding:22px 0; gap:14px; max-width:720px; }
  .note .ic-wrap{ color:var(--deep); }
  .note p{ font-size:14px; color:#2b2b2b; line-height:1.95; }
  .note strong{ color:var(--ink); }

  /* 注意喚起note：goldの結論boxと同じ「面」構造で、赤系にして一目で区別できるように */
  .note.warn{ border:1px solid #e3a692; border-left:4px solid #c0563e; border-radius:2px;
    background:#fdf3f0; padding:24px 26px; max-width:none; }
  .note.warn .ic-wrap{ color:#c0563e; }
  .note.warn p{ font-size:15px; color:#3a1f18; line-height:1.95; }
  .note.warn strong{ color:#a8412a; }
  .duo{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
  .duo .card{ border:0; border-radius:0; padding:26px 28px 28px 0; background:transparent; }
  .duo .card + .card{ border-left:1px solid var(--rule); padding-left:28px; }
  .duo .card .head{ margin-bottom:14px; gap:12px; }
  .duo .card .p-ic{ width:32px; height:32px; border-radius:50%; background:var(--tpale); color:var(--deep); }
  .duo .card .p-ic svg{ width:18px; height:18px; }
  .duo .card h4{ font-size:16px; color:var(--ink); }
  .duo .card p{ font-size:13.5px; color:#3a3a3a; line-height:1.95; }

  /* statement／result：濃紺の面（tealグラデをやめる） */
  .statement{ background:var(--ink); border-radius:2px; padding:40px 44px; position:relative; overflow:hidden; }
  .statement:after{ content:""; position:absolute; width:170px; height:170px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-66px; top:-66px; }
  .statement .st-ic{ color:var(--sand); }
  .statement .big{ font-size:22px; line-height:1.7; max-width:660px; }
  .statement p{ font-size:13px; line-height:1.9; color:rgba(255,255,255,.72); max-width:650px; }
  .result{ background:var(--ink); border-radius:2px; }
  .result .r-ic{ color:var(--sand); }
  .result .r-num b{ color:#fff; }

  /* 主役の図（points/checklist/flow/compare/teeth）は色付きのまま、トーンだけ馴染ませる */
  .points .point{ border-color:var(--rule); border-radius:10px; }
  .points .point h4{ color:var(--ink); }
  .cl{ border-color:var(--rule); border-radius:10px; }
  .cl li{ border-bottom-color:var(--rule); color:#2b2b2b; }
  .flow{ border-radius:12px; }
  .flow-step .fs-t{ color:var(--ink); }
  .compare .col{ border-radius:12px; }
  .teeth{ border-radius:12px; }
  .teeth .tcap b{ color:var(--ink); }
  .fig-title, .col-table dt{ color:var(--deep); }

  /* 結論コネクタ：ラベルを目立たせ、直後のnoteを結論ボックスに */
  .conn{ gap:6px; margin:22px 0 0; color:var(--deep); }
  .conn span{ font-size:11px; font-weight:700; letter-spacing:.14em; background:var(--sand);
    color:#fff; padding:3px 12px; border-radius:20px; }
  .conn svg{ width:20px; height:20px; color:var(--sand); }
  .conn + .note{ border:1px solid var(--sand); border-left:4px solid var(--sand); border-radius:2px;
    background:#fdfaf4; padding:24px 26px; margin-top:14px; max-width:none; }
  .conn + .note p{ font-size:15px; color:var(--ink); line-height:1.95; }
  .conn + .note strong{ color:var(--ink); }
  .conn + .note .ic-wrap{ color:#9c7f43; }

  /* 単独で使うgold強調note（結論コネクタなしで重要な一文を強調） */
  .note.gold{ border:1px solid var(--sand); border-left:4px solid var(--sand); border-radius:2px;
    background:#fdfaf4; padding:24px 26px; max-width:none; }
  .note.gold p{ font-size:15px; color:var(--ink); line-height:1.95; }
  .note.gold strong{ color:var(--ink); }
  .note.gold .ic-wrap{ color:#9c7f43; }

  .disclaimer, .share{ border-top-color:var(--rule); }
  .share button{ border:1px solid var(--rule); border-radius:3px; background:transparent; }
  .chapnav{ max-width:880px; padding:0 72px 66px; }
  .chapnav .row{ border-top:1px solid var(--rule); padding-top:24px; }
  .chapnav a,.chapnav span{ border-color:var(--rule); border-radius:10px; }
  .sitefoot{ max-width:1040px; }

  /* ハブ（表紙＋目次）も改訂トーンに */
  .cover{ padding:64px 48px; }
  .cover .kicker{ letter-spacing:.3em; }
  .cover h1{ font-size:32px; letter-spacing:.04em; }
  .cover .accent{ background:var(--sand); width:54px; height:2px; }
  .hublist{ margin-top:32px; gap:0; border-top:1px solid var(--rule); }
  .hublist a, .hublist .hub-soon{ border:0; border-bottom:1px solid var(--rule); border-radius:0; background:transparent; padding:22px 6px; }
  .hublist a:hover{ background:var(--tpale); }
  .hublist .n{ color:var(--deep); } .hublist .tt{ color:var(--ink); } .hublist .go{ color:var(--teal); }
  .colophon{ border-color:var(--rule); border-radius:10px; }

  @media (max-width:640px){
    body{ background:var(--paper); }
    .wrap{ margin:0; border-radius:0; box-shadow:none; padding:8px 20px 44px; }
    .cover-bleed{ margin-left:-20px; margin-right:-20px; }
    /* 改訂版 hero のモバイル */
    .hero{ padding:52px 0 44px; }
    .hero-grid{ grid-template-columns:1fr; gap:26px; }
    .hero h1{ font-size:29px; }
    .hero-visual{ height:180px; order:-1; }
    .hero-mark{ width:80px; height:80px; padding:22px; }
    .orbit-a{ width:146px; height:146px; } .orbit-b{ width:186px; height:104px; }
    .age-a{ left:16%; top:8px; } .age-b{ right:12%; top:48px; } .age-c{ left:26%; bottom:12px; }
    .hero-kicker{ display:none; }
    .pdf-dl{ margin-left:8px; padding:6px 10px; }
    .pdf-dl span{ display:none; }
    .bk-br{ display:inline; }
    .sec{ margin-top:46px; }
    /* 見出し装飾で本文幅が削られるのを緩和（狭幅端末の改行対策） */
    .sec-h{ gap:9px; font-size:18px; }
    .sec-h .dot{ width:4px; height:22px; }
    .insight{ padding-left:16px; gap:14px; }
    .insight .ic-wrap{ width:26px; height:26px; }
    .insight p{ font-size:14.5px; }
    .insight strong{ font-size:16px; }
    .note{ gap:11px; }
    .note .ic-wrap{ width:24px; height:24px; }
    .conn + .note{ padding:20px 18px; }
    .hublist a, .hublist .hub-soon{ gap:12px; padding:20px 4px; }
    .hublist .n{ width:60px; font-size:14px; }
    .hublist .tt{ font-size:15px; }
    .duo{ grid-template-columns:1fr; }
    .duo .card,.duo .card + .card{ padding:24px 0; border-left:0; }
    .duo .card + .card{ border-top:1px solid var(--rule); }
    .statement{ padding:30px 24px; } .statement .big{ font-size:19px; }
    .chapnav{ padding:0 22px 52px; }
    .sec-h{ font-size:17.5px; }
    .timeline{ flex-direction:column; gap:8px; }
    .tl-stage{ display:flex; align-items:center; gap:16px; text-align:left; padding:16px 18px; }
    .tl-stage .ic-wrap{ margin:0; flex-shrink:0; }
    .tl-stage .cap{ margin-top:0; }
    .tl-op{ justify-content:center; padding:2px 0; transform:rotate(90deg); }
    .duo,.compare{ flex-direction:column; }
    .points.cols3{ grid-template-columns:1fr 1fr; }
    .teeth{ grid-template-columns:1fr; row-gap:8px; }
    .teeth .tcap{ width:auto; text-align:center; }
    .teeth-row.bad .jaw{ justify-self:center; }
    .result .r-num{ white-space:normal; }
    .colophon dl{ grid-template-columns:1fr; gap:2px 0; }
    .colophon dt{ margin-top:10px; }
    .flow{ display:grid; grid-template-columns:auto auto; justify-content:center; align-items:center; row-gap:10px; column-gap:14px; }
    .flow-step{ display:contents; }
    .flow-step .fs-ic{ margin:0; justify-self:end; }
    .flow-step .fs-t{ text-align:left; justify-self:start; }
    .flow-op{ grid-column:1 / -1; justify-content:center; padding:2px 0; transform:rotate(90deg); }
    .result{ flex-wrap:wrap; }
    .cover{ padding:40px 26px; }
    .chapnav .row{ flex-direction:column; }
    .chapnav .next{ text-align:left; }
  }
