:root{--bg:#ffffff;--ink:#1c232d;--sub:#67707d;--accent:#0b63c4;--line:#e3e7ec;--card:#f6f8fa;--r:10px;--accent-soft:#edf4fc;--ok:#15803d;--bad:#c72c41;--gold:#8a5a12;--speed:#f2540b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP","Yu Gothic",sans-serif;line-height:1.8;-webkit-text-size-adjust:100%}
.wrap{max-width:900px;margin:0 auto;padding:0 16px}
header{border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:0;background:var(--bg);z-index:10}
.brand{font-family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP","Yu Gothic",sans-serif;font-size:21px;font-weight:700;text-decoration:none;color:var(--ink)}
.brand small{display:block;font-family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP","Yu Gothic",sans-serif;font-size:11.5px;font-weight:400;color:var(--sub);letter-spacing:.5px}
.brandrow{display:flex;align-items:center;gap:14px}
.navrow{display:flex;align-items:center;gap:8px}
nav{display:flex;gap:6px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none;flex:1;min-width:0}
nav::-webkit-scrollbar{display:none}
nav a{flex-shrink:0;font-size:13.5px;font-weight:700;color:var(--sub);text-decoration:none;padding:6px 12px;border-radius:99px;border:1px solid var(--line)}
nav a:hover,nav a.on{color:#fff;background:var(--accent);border-color:var(--accent)}
.brand{display:flex;align-items:center;gap:8px}
/* #PRバーはフッターへ移設（.pr-footer）。中立デフォルト値はサイト側extraCssで上書き可能 */
.pr-footer{font-size:12.5px;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin:0 0 16px}
h1{font-family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP","Yu Gothic",sans-serif;font-size:29px;line-height:1.5;margin:26px 0 10px}
h2{font-family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP","Yu Gothic",sans-serif;font-size:22px;margin:38px 0 12px;padding-left:11px;border-left:4px solid var(--accent)}
h3{font-size:17px;margin:26px 0 8px}
p{margin:0 0 15px}
.lead{background:var(--card);border-radius:var(--r);padding:16px 18px;font-size:14.5px;margin:18px 0}
.meta{font-size:12.5px;color:var(--sub);margin-bottom:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:18px 0}
.item{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card);display:flex;flex-direction:column}
.item img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;display:block}
.item .body{padding:12px 13px;display:flex;flex-direction:column;flex:1}
.item .name{font-size:13.5px;font-weight:700;line-height:1.55;margin-bottom:6px;flex:1}
.item .price{font-size:17px;font-weight:800;color:var(--accent)}
.item .shop{font-size:11.5px;color:var(--sub);margin-bottom:8px}
.cta{display:block;background:var(--accent);color:#fff;text-align:center;padding:10px;border-radius:8px;font-weight:700;font-size:13.5px;text-decoration:none;margin-top:auto}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}
th{background:var(--card);font-weight:700}
footer{border-top:1px solid var(--line);margin-top:50px;padding:22px 0 40px;font-size:12.5px;color:var(--sub)}
footer a{color:var(--sub)}
@media(max-width:600px){h1{font-size:24px}h2{font-size:19px}.grid{grid-template-columns:repeat(2,1fr);gap:10px}}/* データランキング5本（2026-08-28）。作品ページの「記録」からの回遊先 */
.rk-n{display:inline-block;min-width:2em;color:var(--acc);font-size:15px}
.rk-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.rk-nav a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:14px;text-decoration:none}
.faq-q{margin:0 0 14px;padding:12px 14px;border-left:3px solid var(--line);background:var(--card);border-radius:0 var(--r) var(--r) 0}
.faq-q b{display:block;margin-bottom:6px;font-size:15px}
.faq-q p{margin:0;font-size:14px;color:var(--sub);line-height:1.8}
/* 作品ページの「記録」（2026-08-27）。上位10%の順位・休載判定・次巻カウントダウン */
.records{list-style:none;padding:0;margin:14px 0}
.records li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:var(--card);font-size:14px}
.records li b:first-child{color:var(--sub);font-weight:700;min-width:9em}
.records .rk{margin-left:auto;font-size:13px;color:var(--sub);white-space:nowrap}
/* 「（続編を含む通算）」の注記。数字のすぐ後ろに小さく置く。
   同じ原因（版・続編の混在）を全巻価格欄だけが開示していた状態を揃えるため（2026-09-03） */
.nt{font-size:12px;color:var(--sub);font-weight:400;margin-left:4px}
.records .rk b{color:var(--acc);font-size:16px}
.cdown{margin:12px 0;padding:12px 14px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-size:15px}
.cdown b{color:var(--acc);font-size:19px}
.cdown-est{background:transparent;border-style:dashed}
.cd-n{display:block;margin-top:4px;font-size:12px;color:var(--sub);font-weight:400}
.pause{margin:16px 0;padding:14px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);font-size:14px;line-height:1.8}
.pause p{margin:0 0 8px}
.pause p:last-child{margin-bottom:0}
.pause-long{border-color:var(--acc)}
.pause-done{border-left:3px solid var(--acc)}
@media(max-width:600px){.records .rk{margin-left:0;width:100%}.records li b:first-child{min-width:0}}
/* ═══ 基礎の上書き（白基調・全ゴシック・余白と数字で信頼を作る） ═══ */
body{line-height:1.75}
.wrap{max-width:1040px}
p{font-size:15.5px}
h1{font-size:26px;font-weight:800;line-height:1.45;letter-spacing:.01em;margin:26px 0 10px}
h2{font-size:18.5px;font-weight:800;border-left:none;padding:0 0 9px;margin:46px 0 16px;border-bottom:1px solid var(--line);position:relative}
h2::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:3px;background:var(--accent);border-radius:2px}
h3{font-size:15px;font-weight:800}
.lead{background:none;border:none;border-left:3px solid var(--accent);font-size:15.5px;line-height:1.9;padding:2px 0 2px 14px;margin:16px 0 22px}
.lead p{margin:0 0 8px}.lead p:last-child{margin:0}
/* 更新ステータス（★2026-08-19改訂: 「生存」の緑ドットから「速さ」の二重シェブロンへ。
   情報量は増やさない＝テキスト内容は不変、アイコンだけ差し替え。全ページ共通の.metaに効くので
   本文テンプレート側の変更なしで10箇所以上へ一括反映される） */
/* 最終更新は「箱」にしない。直後のリード・目次と3連続で囲まれると、どれが主役か分からなくなる（検品指摘 2026-08-19） */
.meta{position:relative;display:block;font-size:11.5px;color:var(--sub);padding-left:16px;font-variant-numeric:tabular-nums;margin:0 0 16px}
.meta strong{color:var(--ink);font-weight:700}
.meta::before{content:"»";position:absolute;left:0;top:.28em;font-size:12px;font-weight:900;line-height:1;color:var(--speed);letter-spacing:-2px}

/* 速報バッジ（★2026-08-19追加: 「発売日の変更があった作品」見出しに添える。
   ニュース速報系メディアの「速報」タグを参照。色は.badgeやconf-*と衝突しないspeed専用色 */
.flash{display:inline-block;background:var(--speed);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.08em;border-radius:4px;padding:2px 7px 3px;margin-right:8px;vertical-align:3px;line-height:1}

/* ═══ ヘッダー: サイト名＝何のツールかを2秒で（課題1: 文字自体をワードマークSVG化） ═══ */
header{padding:12px 0 0}
.brand{display:flex;align-items:center;gap:8px}
.brand svg{flex:none;display:block;height:32px;width:auto}         /* ワードマークSVGはheight基準・width:autoで比率保持 */
.brand-tx{display:inline-block;font-size:18px;font-weight:800;letter-spacing:.02em}   /* wordmarkSvg未指定時のフォールバック用 */
.brand small{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;margin-top:2px}
nav{gap:0;padding:8px 0 0;align-items:center}
nav a{border:none;border-radius:0;background:none;padding:8px 11px 10px;font-size:13px;color:var(--sub)}
nav a:hover{color:var(--accent);background:none}
nav a.on{color:var(--accent);background:none;box-shadow:inset 0 -2px 0 var(--accent)}
/* 課題2対応: 「毎朝6時半更新」の置き場所をタグラインからナビ横のピルへ変更（情報は削らず移動） */
.nav-badge{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:800;color:#fff;background:var(--speed);border-radius:99px;padding:4px 11px 4px 10px;white-space:nowrap;letter-spacing:.02em;align-self:center}
/* ページ種別の色分け（修正7: 彩度低めの3色＋アクティブは現行の青のまま） */
nav a[data-g="month"]:not(.on){box-shadow:inset 0 -2px 0 rgba(15,138,114,.4)}
nav a[data-g="month"]:hover:not(.on){color:#0f8a72}
nav a[data-g="browse"]:not(.on){box-shadow:inset 0 -2px 0 rgba(124,92,191,.4)}
nav a[data-g="browse"]:hover:not(.on){color:#7c5cbf}
nav a[data-g="archive"]:not(.on){box-shadow:inset 0 -2px 0 rgba(184,134,11,.4)}
nav a[data-g="archive"]:hover:not(.on){color:#b8860b}
/* #PRバー（修正8: 上部固定→フッターの目立つ位置へ） */
.pr-footer{background:var(--accent-soft);border:1px solid var(--accent);color:var(--ink);font-weight:700}

/* ═══ ファクトボックス（統計サマリー。視線が最初に止まる場所） ═══ */
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.06);margin:18px 0 22px}
.stat{border:none;border-left:1px solid var(--line);border-radius:0;text-align:center;padding:14px 6px 11px;background:#fff}
.stat:first-child{border-left:none}
.stat b{display:block;font-size:25px;line-height:1.25;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:inherit}
.stat:first-child b{color:var(--accent)}
.stat b em{font-style:normal;font-size:12px;font-weight:700;color:var(--sub);margin-left:1px}
.stat span{font-size:10.5px;color:var(--sub);letter-spacing:.05em}

/* ═══ 商品カード（書影の棚 → 計算値チップ → 次巻帯 → 価格 → 控えめCTA） ═══ */
.grid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px}
.item{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.06)}
.cover{background:var(--card);border-bottom:1px solid var(--line)}
.cover img{width:100%;aspect-ratio:3/4;object-fit:contain;display:block;padding:10px;background:transparent}
.noimg{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;color:#a6afba;font-size:11px;font-weight:600;letter-spacing:.12em}
.item .body{padding:11px 12px 12px}
.item .name{font-size:13px;line-height:1.5;flex:0 0 auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em;margin-bottom:4px}
.item .shop{font-size:11px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item .rel{font-size:12px;color:var(--ink);font-weight:700;margin-bottom:6px;font-variant-numeric:tabular-nums}
.item .pre{display:inline-block;white-space:nowrap;font-size:11px;color:#fff;background:var(--accent);border-radius:99px;padding:2px 7px;font-weight:700;vertical-align:1px}
.badges{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 7px}
.badge{font-size:11px;font-weight:600;line-height:1.5;padding:2px 7px;border:none;border-radius:4px;background:#eef1f4;color:#4d5761;font-variant-numeric:tabular-nums}
.badge.b-vol{background:var(--accent-soft);color:var(--accent);font-weight:700}
.badge.b-first{background:var(--accent);color:#fff;font-weight:700}
.badge.b-final{background:#fdeaec;color:var(--bad);font-weight:700}
.badge.b-up{background:#fdeaec;color:var(--bad)}
.badge.b-down{background:#e8f5ee;color:var(--ok)}
.item .fc{display:block;font-size:11px;line-height:1.7;color:var(--sub);background:var(--accent-soft);border-radius:6px;padding:5px 8px;margin:0 0 4px}
.item .fc .fc-l{font-weight:700;margin-right:5px}
.item .fc b{color:var(--accent);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.item .fc .fc-s{font-size:11px;border:1px solid currentColor;border-radius:3px;padding:0 3px;opacity:.65;margin-left:4px;white-space:nowrap}
.item .price{margin-top:auto;padding-top:6px;font-size:12px;color:var(--ink);font-weight:600;display:flex;align-items:baseline;gap:2px;flex-wrap:wrap}
.item .price b{font-size:17px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.item .rv{color:var(--gold);font-weight:700;font-size:11.5px;margin-left:5px}
.item .rv .rvc{color:var(--sub);font-weight:400;font-size:10.5px}
/* 楽天CTA＝枠線ボタン（塗りボタンは読み放題CTA専用に予約） */
.cta{background:#fff;color:var(--accent);border:1.5px solid var(--accent);border-radius:8px;font-size:12.5px;padding:8px 4px;margin-top:8px;white-space:nowrap;letter-spacing:0}
.cta:hover{background:var(--accent-soft)}
.cta .pr-mini{font-size:11px;opacity:.75;font-weight:400;margin-left:2px}

/* ═══ 読み放題CTA（近日実装の最重要収益枠。ページ内で唯一の塗り大ボタン） ═══ */
.offer{border:2px solid var(--accent);border-radius:var(--r);background:var(--accent-soft);padding:20px 16px;margin:28px 0;text-align:center}
.offer-k{font-size:11.5px;font-weight:800;color:var(--accent);letter-spacing:.08em;margin:0 0 6px}
.offer-t{font-size:14.5px;font-weight:700;margin:0 0 14px;line-height:1.65}
.offer-t b{font-size:19px;color:var(--accent);font-variant-numeric:tabular-nums}
.offer-b{margin:0}
.offer-cta{display:inline-block;background:var(--accent);color:#fff;font-weight:800;font-size:14px;padding:12px 30px;border-radius:99px;text-decoration:none;box-shadow:0 2px 8px rgba(11,99,196,.35)}

/* ═══ 発売日見出し＋日付ジャンプ（意図A: 3秒で目的日へ） ═══ */
.date-h{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;border-top:none;border-left:4px solid var(--accent);padding:1px 0 1px 10px;margin:30px 0 12px;line-height:1.4;scroll-margin-top:112px;font-variant-numeric:tabular-nums}
.date-h .d-w{font-size:11.5px;font-weight:700;border-radius:4px;padding:1px 6px;background:#eef1f4;color:var(--sub)}
.date-h .d-w.d-sat{background:var(--accent-soft);color:var(--accent)}
.date-h .d-w.d-sun{background:#fdeaec;color:var(--bad)}
.date-h small{font-size:11px;color:var(--sub);font-weight:600;background:#eef1f4;border-radius:99px;padding:2px 9px}
.dayjump{position:sticky;top:96px;z-index:9;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:8px 2px;margin:12px 0 2px;background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none;scroll-behavior:smooth}
.dayjump::-webkit-scrollbar{display:none}
.dj-l{flex:none;font-size:11.5px;font-weight:700;color:var(--sub);letter-spacing:.04em}
.dayjump a{flex:none;font-size:11.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:4px 9px;text-decoration:none;font-variant-numeric:tabular-nums;transition:background .12s,color .12s}
.dayjump a.on{background:var(--accent);color:#fff}
.dayjump .dj-l{flex:none;font-size:11px;color:var(--sub);align-self:center;font-weight:600}

/* ═══ テーブル（価格.com的な「道具の密度」。横スクロールで破綻させない） ═══ */
.tbl{overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.06)}
.tbl table{margin:0;font-size:12.5px}
.tbl th{background:var(--card);font-size:11px;color:var(--sub);letter-spacing:.04em;white-space:nowrap;padding:9px 10px}
.tbl td{padding:9px 10px;vertical-align:top;font-variant-numeric:tabular-nums}
.tbl td:first-child{font-weight:700;min-width:11em}
.tbl tr:last-child td{border-bottom:none}
.tbl td b{color:var(--accent);white-space:nowrap}
.nw{white-space:nowrap}
.conf{display:inline-block;font-size:10.5px;font-weight:700;border-radius:99px;padding:1px 9px}
.conf-high{background:#e8f5ee;color:var(--ok)}
.conf-mid{background:#fdf3e2;color:var(--gold)}
.conf-low{background:#eef1f4;color:var(--sub)}
.up{color:var(--bad);font-weight:700}
.down{color:var(--ok);font-weight:700}

/* ═══ 注目新刊カルーセル＋カテゴリの棚（書影を見せる面。画像の上には何も載せない） ═══ */
.hotshelf{margin:14px 0 4px}
.hs-head{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;flex-wrap:wrap}
.hs-t{font-size:15px;font-weight:800}
.hs-t::before{content:"";display:inline-block;width:4px;height:14px;background:var(--accent);border-radius:2px;margin-right:7px;vertical-align:-2px}
.hs-n{font-size:10.5px;color:var(--sub)}
.car-wrap{display:flex;align-items:center;gap:6px}
.car{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;scrollbar-width:none;flex:1;min-width:0}
.car::-webkit-scrollbar{display:none}
.car-item{flex:0 0 108px;scroll-snap-align:start;text-decoration:none;color:var(--ink)}
.car-item img{width:108px;height:144px;object-fit:contain;background:var(--card);border:1px solid var(--line);border-radius:6px;display:block}
.ci-t{display:block;font-size:11.5px;font-weight:700;line-height:1.4;margin-top:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:108px}
.ci-d{display:block;font-size:11px;color:var(--sub);font-variant-numeric:tabular-nums}
.ci-n{display:block;font-size:11px;font-weight:700;color:#fff;background:var(--accent);border-radius:4px;padding:1px 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:108px}
.car-btn{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--accent);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.06);padding:0}
.car-btn:hover{border-color:var(--accent);background:var(--accent-soft)}
.car-hub{margin:0 0 6px}
h2 a{color:var(--ink);text-decoration:none}
h2 a:hover{color:var(--accent)}
.h2-n{font-size:11px;color:var(--sub);font-weight:600;margin-left:8px}
/* カテゴリ/テーマ棚の見出し（修正1: 見出し自体をリンク化し「すべて見る」の重複表現をやめる） */
.cat-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cat-h-main{display:inline-flex;align-items:baseline;gap:8px}
.cat-more{font-size:11px;font-weight:700;color:var(--sub);text-decoration:none;flex:none;white-space:nowrap}
.cat-more:hover{color:var(--accent)}

/* ═══ その他パーツ ═══ */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 22px}
.chips a{font-size:12.5px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 13px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.chips a:hover{border-color:var(--accent);color:var(--accent)}
.chips .chip-n{color:var(--sub);font-weight:400;margin-left:4px;font-size:10.5px}
.note{font-size:11.5px;color:var(--sub);background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:28px 0 0}
.note p{margin:0 0 8px}.note p:last-child{margin:0}
.credit{margin:22px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.credit-note{font-size:11.5px;color:var(--sub);margin:0 0 8px}
footer{background:var(--card);font-size:12px}

/* ═══ モバイル（2カラム維持。省略ルール: 著者とレビューを隠し、数字は残す） ═══ */
@media(max-width:600px){
h1{font-size:19px}
h2{font-size:16.5px;margin:38px 0 14px}
.stats{grid-template-columns:repeat(3,1fr)}
.stat{padding:11px 4px 9px}
.stat b{font-size:19px}
.stat:nth-child(3n+1){border-left:none}
.stat:nth-child(n+4){border-top:1px solid var(--line)}
.grid{grid-template-columns:repeat(2,1fr);gap:8px}
.item .body{padding:9px 9px 10px}
.item .name{font-size:12px}
.item .shop{display:none}
.item .rv{display:none}
.item .fc{font-size:10.5px;padding:5px 6px}
.item .fc b{font-size:11px}
.badge{font-size:9.5px;padding:2px 5px}
.item .price b{font-size:15px}
.cta{font-size:11px;padding:7px 2px}
.cta .pr-mini{font-size:9px}
.car-btn{display:none}
.car-wrap{gap:0}
.car-item{flex-basis:96px}
.car-item img{width:96px;height:128px}
.ci-t{max-width:96px}
.ci-n{max-width:96px}
.date-h{scroll-margin-top:96px}
.brand{gap:6px}
.brand svg{height:26px;width:auto}
.brand-tx{font-size:16px}
.nav-badge{font-size:9.5px;padding:3px 9px 3px 8px}
}
/* 目次: 何があるか一覧で示す。件数を添えて「読む価値」を先に見せる */
/* 目次。連番の橙＝ロゴの「最速」バッジと同じ色で、ページの背骨であることを示す */
nav.toc{display:block;flex:none;overflow:visible;border:1px solid var(--line);border-radius:12px;padding:0;margin:18px 0 28px;background:var(--card);overflow:hidden}
.toc-h{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;color:var(--ink);letter-spacing:.04em;padding:12px 18px;border-bottom:1px solid var(--line)}
.toc-h span{font-size:9.5px;font-weight:800;letter-spacing:.14em;color:#fff;background:var(--speed);border-radius:4px;padding:3px 7px}
.toc ol{list-style:none;margin:0;padding:6px 18px 10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 26px}
.toc li{border-bottom:1px solid var(--line)}
.toc li:last-child{border-bottom:none}
.toc li a{display:flex;align-items:baseline;gap:11px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;padding:9px 2px;transition:padding .12s}
.toc li a i{font-style:normal;font-size:11.5px;font-weight:800;color:var(--sub);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.toc li a b{font-weight:600;flex:1}
.toc li a u{text-decoration:none;font-size:11px;color:var(--line);transition:color .12s,transform .12s;display:inline-block}
.toc li a:hover{padding-left:6px}
.toc li a:hover b{color:var(--accent)}
.toc li a:hover u{color:var(--accent);transform:translateY(2px)}
.toc-n{font-size:11.5px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.toc li.hot a b{color:var(--speed)}
.toc li.hot a u{color:var(--speed)}
h2[id]{scroll-margin-top:14px}
@media(max-width:600px){.toc ol{grid-template-columns:1fr}.toc li a{font-size:13.5px}
/* 記事の目次は項目数が多い(最大11)。モバイルで本文まで延々スクロールさせないよう行を詰める */
.post-toc li{padding:3px 0}.post-toc li a{font-size:13px;line-height:1.5}}

/* 記事の導入。本文より大きく、行間も広く。ここで読むかどうかが決まる */
.intro{font-size:16px;line-height:1.95;color:var(--ink);margin:14px 0 22px;max-width:760px}
.intro p{margin:0 0 13px}
.intro p:last-child{margin:0}
.intro p:first-child::first-letter{font-size:1.05em;font-weight:700}

/* 要点＝記事の結論。本文の箇条書きと同じ見え方にしない */
.summary{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:var(--card);padding:14px 18px 14px 16px;margin:0 0 26px;max-width:760px}
.summary ul{margin:0;padding-left:1.1em}
.summary li{font-size:13.5px;line-height:1.8;margin:7px 0}
.summary li::marker{color:var(--speed)}
/* 要点ボックスは枠自体が強調なので、中の強調にマーカーまで重ねない（重なると全部が目立って何も目立たない） */

/* 見出し。H2は左のアクセント罫、H3は小さな印。段落との境目を作る */
.post h2{position:relative;margin:38px 0 14px;padding:0 0 8px 13px;font-size:18px;border-bottom:1px solid var(--line)}
.post h2::before{content:"";position:absolute;left:0;top:2px;bottom:10px;width:4px;border-radius:2px;background:var(--accent)}
.post h3{position:relative;margin:26px 0 9px;padding-left:13px;font-size:15.5px;font-weight:700}
.post h3::before{content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;border-radius:1px;background:var(--speed)}
/* 見出し直後の段落は詰める（見出しと本文が離れると別の話に見える） */
.post h2+p,.post h3+p{margin-top:0}
/* 本文中の強調は色で拾わせず、太さだけで。色を使うのはデータと図解に限定する */
.post strong{font-weight:700;background:linear-gradient(transparent 62%,rgba(217,119,6,.20) 62%)}
/* 要点ボックスは枠自体が強調。中の強調にマーカーまで重ねると全部目立って何も目立たない */
.post .summary strong,.summary strong{background:none}
/* 「全点を見る」導線。ナビから今月を外したぶん、ここが月ページへの主動線になる */
.more{margin:18px 0 4px}
.more a{display:inline-flex;flex-direction:column;gap:2px;border:1px solid var(--accent);border-radius:8px;padding:11px 20px;text-decoration:none;font-size:14.5px;font-weight:700;color:var(--accent);transition:background .15s}
.more a:hover{background:var(--card)}
.more a span{font-size:11.5px;font-weight:400;color:var(--sub)}
/* 数字の帯。規模を一息で伝える。箱にはせず、細い縦罫で区切るだけにする */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:16px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.num{padding:11px 4px 10px 14px;border-left:1px solid var(--line)}
.num:first-child{border-left:none;padding-left:0}
.num a{text-decoration:none;display:block}
.num b{display:block;font-size:23px;font-weight:800;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.num em{font-style:normal;font-size:12px;font-weight:700;color:var(--sub);margin-left:2px}
.num span{display:block;margin-top:3px;font-size:11.5px;color:var(--sub);line-height:1.35}
.num a:hover b{color:var(--accent)}
.num a:hover span{color:var(--accent)}
@media(max-width:600px){
  .nums{grid-template-columns:repeat(2,1fr)}
  .num{padding:9px 4px 9px 12px}
  .num:nth-child(3),.num:nth-child(4){border-top:1px solid var(--line)}
  .num:nth-child(3){border-left:none;padding-left:0}
  .num b{font-size:20px}
}
/* ═══ 漫画界隈ニュース ═══ */
.newslist{list-style:none;margin:0 0 20px;padding:0}
.newslist li{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.nl-c{flex:none;font-size:11.5px;font-weight:800;border-radius:4px;padding:2px 7px;white-space:nowrap;color:#fff;background:var(--sub)}
.nl-anime{background:var(--accent)}
.nl-liveaction{background:#7c3aed}
.nl-award{background:var(--speed)}
.nl-launch{background:#0f8a72}
.nl-t{flex:1;min-width:0;font-size:13.5px;line-height:1.6}
.nl-t a{color:var(--ink);text-decoration:none;font-weight:600}
.nl-t a:hover{color:var(--accent);text-decoration:underline}
.nl-s{margin-left:7px;font-size:11px;color:var(--sub);white-space:nowrap}
.nl-mine{flex:none;font-size:11.5px;font-weight:700;color:var(--speed);text-decoration:none;white-space:nowrap}
.nl-mine:hover{text-decoration:underline}
@media(max-width:600px){.newslist li{flex-wrap:wrap;gap:6px 8px}.nl-t{flex-basis:100%}}
/* ═══ 検索窓（ヘッダー） ═══ */
.srch{position:relative;flex:1;max-width:270px;margin-left:auto}
.srch input{width:100%;box-sizing:border-box;font-family:inherit;font-size:13px;padding:7px 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--ink);outline:none}
.srch input:focus{border-color:var(--accent);background:var(--bg)}
.srch input::placeholder{color:var(--sub)}
.srch-r{position:absolute;top:calc(100% + 6px);right:0;left:0;min-width:240px;background:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.10);z-index:50;overflow:hidden}
.srch-r a{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:9px 13px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.srch-r a:last-child{border-bottom:none}
.srch-r a:hover{background:var(--card);color:var(--accent)}
.srch-r a span{font-size:11px;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}
.srch-none{padding:11px 13px;font-size:12px;color:var(--sub);line-height:1.6}
@media(max-width:600px){.srch{max-width:none;min-width:0}.srch input{font-size:16px;padding:6px 12px}.srch-r{left:auto;width:min(300px,86vw)}}
/* ═══ 発売カレンダー（ホーム） ═══ */
.cal{max-width:640px;margin:16px 0 6px}
.cal-w{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
.cal-w span{text-align:center;font-size:10.5px;font-weight:700;color:var(--sub)}
.cal-w .cal-sun{color:var(--bad)}
.cal-w .cal-sat{color:var(--accent)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-e{min-height:52px}
.cal-d{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:52px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;font-family:inherit;padding:4px 2px;position:relative;transition:border-color .12s,background .12s}
.cal-d b{font-size:14.5px;font-weight:800;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}
.cal-d i{font-style:normal;font-size:9.5px;line-height:1.2;color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.cal-d i::after{content:"点"}
.cal-d.cal-sun b{color:var(--bad)}
.cal-d.cal-sat b{color:var(--accent)}
.cal-off{background:#fbfcfd;border-color:#eef1f4;cursor:default}
.cal-off b{color:#c3cad3;font-weight:600}
button.cal-d:hover{border-color:var(--accent)}
.cal-d.on{background:var(--accent);border-color:var(--accent)}
.cal-d.on b,.cal-d.on i{color:#fff}
.cal-d.today::after{content:"今日";position:absolute;top:-7px;left:50%;transform:translateX(-50%);font-size:8.5px;font-weight:800;color:#fff;background:var(--speed);border-radius:6px;padding:1px 5px;line-height:1.3}
.cal-d.today{border-color:var(--speed);border-width:1.5px}
.cal-tbd{margin-top:8px;font-family:inherit;font-size:12px;font-weight:700;color:var(--sub);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 14px;cursor:pointer}
.cal-tbd.on{background:var(--accent);border-color:var(--accent);color:#fff}
.cal-note{font-size:12px;color:var(--sub);margin:10px 0 0}
/* めくるん（マスコット。2026-08-20ユーザー承認） */
.cal-note-row{display:flex;align-items:center;gap:10px;margin-top:10px}
.mekurun{width:74px;height:auto;flex:none}
.cal-note-row .cal-note{margin:0}
.daypanel>.date-h{margin-top:18px}
@media(max-width:600px){.cal{max-width:none}.cal-d{min-height:40px}.cal-d b{font-size:13.5px}}
/* ニュース記事の引用（見出し引用＋出典帰属） */
.cite{margin:0 0 22px;padding:13px 17px;border-left:3px solid var(--line);background:var(--card);border-radius:0 8px 8px 0;font-size:14px;line-height:1.75;color:var(--ink)}
.cite cite{display:block;margin-top:6px;font-style:normal;font-size:12px;color:var(--sub)}
.cite cite a{color:var(--sub)}
/* カレンダー購読ボックス（リテンションの主砲。research/RETENTION.md） */
.calbox{display:flex;flex-direction:column;gap:6px;border:1.5px dashed var(--accent);border-radius:10px;padding:13px 16px;margin:14px 0 20px;background:var(--card)}
.calbox-t{font-size:14.5px;font-weight:800;color:var(--ink)}
.calbox-d{font-size:12px;color:var(--sub);line-height:1.65}
.calbox-b{display:flex;gap:10px;flex-wrap:wrap;margin-top:3px}
.calbox-b a{font-size:13px;font-weight:700;color:#fff;background:var(--accent);border-radius:8px;padding:8px 16px;text-decoration:none}
.calbox-b a:last-child{background:var(--bg);color:var(--accent);border:1.5px solid var(--accent)}
.calbox-b a:hover{opacity:.85}
.synopsis{margin:14px 0 20px;padding:14px 16px;border-left:4px solid var(--accent);background:var(--card);border-radius:0 10px 10px 0}
.synopsis p{margin:0;font-size:14px;line-height:1.9;color:var(--ink)}
.synopsis cite{display:block;margin-top:8px;font-size:11.5px;color:var(--sub);font-style:normal}
.relbox{margin:16px 0}
.relbox h3{font-size:14px;margin:14px 0 6px}
.rellist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}
.rellist li{border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:#fff;font-size:13px}
.rellist a{font-weight:600;text-decoration:none}
.rellist .rl-m{display:block;color:var(--sub);font-size:11.5px;margin-top:2px}
.rellist .rel-i{display:flex;gap:9px;align-items:flex-start}
.rel-th{flex:none;display:block;border-radius:4px;overflow:hidden;line-height:0}
.rel-th img{width:44px;height:62px;object-fit:cover;display:block}
.rel-noimg{width:44px;height:62px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);font-size:18px;line-height:1}
.rel-b{min-width:0;flex:1}
.to-series{display:block;margin-top:8px;font-size:12px;font-weight:700;color:var(--accent);text-decoration:none;text-align:center;padding:6px 4px;border-radius:8px;background:var(--accent-soft)}
.to-series:hover{text-decoration:underline}
.pr-x{margin-left:6px;white-space:nowrap;text-decoration:none}
.cal-m{margin:18px 0}
.cal-m h3{font-size:15px;margin:0 0 8px;display:flex;align-items:baseline;gap:8px}
.cal-m h3 small{font-size:11.5px;color:var(--sub);font-weight:400}
.cal-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:5px}
.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:#c3cad3;text-decoration:none}
.cal-day b{font-size:13px;font-weight:700;line-height:1.1}
.cal-day i{font-style:normal;font-size:9.5px;line-height:1.2}
.cal-day.on{background:var(--card);border-color:var(--accent);color:var(--ink)}
.cal-day.on i{color:var(--accent);font-weight:700}
.cal-day.on i::after{content:"作"}
.cal-day.on:hover{background:var(--accent-soft)}
.answer{margin:12px 0 16px;padding:13px 16px;border-left:4px solid var(--accent);background:var(--card);border-radius:0 10px 10px 0;font-size:14.5px;line-height:1.9}
.answer b{color:var(--accent)}
.pr-top{margin:0 0 14px;padding:7px 12px;background:var(--card);border:1px solid var(--line);border-radius:8px;font-size:11.5px;line-height:1.6;color:var(--sub)}
.zenkan-cta{margin:12px 0 6px}
.zenkan-cta a{display:inline-block;font-size:14px;font-weight:800;color:#fff;background:var(--accent);border-radius:8px;padding:11px 22px;text-decoration:none}
.zenkan-cta a:hover{opacity:.88}
.zenkan-cta .pr-mini{color:#fff;opacity:.85;margin-left:5px}
.zk-note{display:block;margin-top:6px;font-size:11.5px;color:var(--sub)}
.bs-box{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:18px 0;background:var(--card)}
.bs-t{margin:0 0 6px;font-size:14.5px;font-weight:800}
.bs-d{margin:0 0 10px;font-size:12.5px;line-height:1.85;color:var(--sub)}
.bs-a{display:inline-block;font-size:13.5px;font-weight:700;color:var(--accent);background:#fff;border:1.5px solid var(--accent);border-radius:8px;padding:9px 20px;text-decoration:none}
.bs-a:hover{background:var(--accent-soft)}
.ctform{max-width:560px;margin:16px 0}
.ctform label{display:block;font-size:13px;font-weight:700;margin-bottom:14px}
.ctform input,.ctform textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;font-family:inherit;font-size:15px;font-weight:400;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.ctform input:focus,.ctform textarea:focus{outline:none;border-color:var(--accent);background:var(--bg)}
.ct-opt,.ct-req{margin-left:7px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:99px}
.ct-opt{background:var(--card);color:var(--sub);border:1px solid var(--line)}
.ct-req{background:var(--accent);color:#fff}
.ct-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.ct-send{font-family:inherit;font-size:15px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:11px 30px;cursor:pointer}
.ct-send:hover{opacity:.88}
.ct-box{border-radius:8px;padding:11px 14px;margin:12px 0;font-size:13.5px;font-weight:700}
.ct-ok{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}
.ct-ng{background:#fff4f4;color:var(--bad);border:1px solid var(--bad)}
.ct-note{font-size:12px;color:var(--sub);line-height:1.8}
.howto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0 14px}
.ht{position:relative;border:1px solid var(--line);border-radius:10px;padding:12px 14px 12px 44px;background:var(--card)}
.ht-n{position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ht-d b{font-weight:700;color:var(--ink)}
.ht-t{display:block;font-weight:800;font-size:14px;margin-bottom:4px}
.ht-d{display:block;font-size:12.5px;line-height:1.8;color:var(--sub)}
.ht-d a{color:var(--accent)}
.insight{border:1.5px dashed var(--accent);border-radius:10px;padding:13px 16px;margin:12px 0 20px;background:var(--card)}
.insight p{margin:0;font-size:13.5px;line-height:1.95}
.insight .ins-note{margin-top:7px;font-size:11.5px;color:var(--sub)}
.zenkan{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:10px 0 18px;background:var(--card)}
.zenkan p{margin:0 0 8px;font-size:13.5px;line-height:1.8}
/* ═══ シリーズ別ページ ═══ */
/* 次巻ボックス＝このページの答え。最初に目に入る位置で最も強く */
.s-next{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border:1.5px solid var(--accent);border-radius:10px;padding:14px 18px;margin:16px 0 18px;background:var(--card)}
.s-next-l{font-size:11px;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--accent);border-radius:4px;padding:3px 8px}
.s-next b{font-size:19px;font-weight:800;color:var(--ink)}
.s-next a{font-size:13px;font-weight:700;color:var(--accent)}
.s-next-note{flex-basis:100%;font-size:11.5px;color:var(--sub);line-height:1.6}
.s-next-fix{border-color:var(--speed)}
.s-next-fix .s-next-l{background:var(--speed)}
.s-next-end{border-color:var(--line)}
.s-next-end .s-next-l{background:var(--sub)}
/* 事実の帯はホームの.numsと同じ設計を流用 */
.s-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:14px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.s-facts .num{padding:11px 4px 10px 14px;border-left:1px solid var(--line)}
.s-facts .num:first-child{border-left:none;padding-left:0}
.facts-cmp{margin:-14px 0 20px;font-size:12px;color:var(--sub);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.facts-cmp a{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;font-weight:700;color:var(--accent);text-decoration:none;background:var(--card)}
.facts-cmp a:hover{background:var(--accent-soft);border-color:var(--accent)}
.rk-go{display:inline-block;margin-left:6px;padding:1px 8px;border:1px solid var(--line);border-radius:999px;font-size:10.5px;font-weight:800;color:var(--accent);text-decoration:none;white-space:nowrap}
.rk-go:hover{background:var(--accent-soft);border-color:var(--accent)}
.yasuku{margin:14px 0 4px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.yasuku>b{font-size:13px}
.ytbl{width:100%;border-collapse:collapse;margin:8px 0 6px;font-size:13px}
.ytbl td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:baseline}
.ytbl td:first-child{white-space:nowrap}
.ytbl .yv{font-weight:800;color:var(--accent);white-space:nowrap;text-align:right}
.ytbl .yn{font-size:11.5px;color:var(--sub)}
.yn2{font-size:12px;line-height:1.7;margin:6px 0 0}
.zk-sub{margin:8px 0 0;font-size:12px;color:var(--sub);line-height:1.7}
.zk-sub a{color:var(--accent);font-weight:700}
/* ═══ 次に読む漫画を探す ═══ */
.finder{margin:18px 0 10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.fq{margin-bottom:12px}
.fq label{display:block;font-size:12.5px;font-weight:800;color:var(--sub);margin-bottom:5px}
.fq select{width:100%;padding:11px 12px;font-size:15px;font-family:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:9px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);background-position:calc(100% - 18px) 51%,calc(100% - 13px) 51%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.fq select:focus{outline:none;border-color:var(--accent)}
.fnote{margin:14px 0 0;font-size:12.5px;font-weight:700;color:var(--accent);text-align:center}
.fr{margin-top:14px}
.fr td a{font-weight:800}
.fr-a{display:block;font-size:11px;color:var(--sub);margin-top:2px}
.fr-l{font-size:11.5px;color:var(--sub)}
@media(min-width:640px){.finder{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.fnote{grid-column:1/-1}}
@media(max-width:600px){.fr-l{display:none}.fr thead th:last-child{display:none}}
.reco-note{font-size:12px;color:var(--sub);line-height:1.75;margin:0 0 12px}
.reco-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.reco-list a{font-size:15px;font-weight:800;color:var(--accent);text-decoration:none}
.reco-why{display:block;font-size:11.5px;color:var(--sub);margin-top:3px}
.reco-m{display:block;font-size:11.5px;color:var(--ink);margin-top:2px;font-variant-numeric:tabular-nums}
.shelf-pace{margin:10px 0 0;padding:11px 13px;border-radius:9px;background:var(--accent-soft);font-size:13px;line-height:1.75}
.keep-n b{color:var(--accent)}
.nearbox{list-style:none;padding:0;margin:10px 0 6px}
.nearbox li{padding:11px 0;border-bottom:1px solid var(--line)}
.nearbox li:last-child{border-bottom:none}
.nb-l{display:block;font-size:11px;font-weight:800;color:var(--sub);letter-spacing:.02em;margin-bottom:3px}
.nearbox a{font-size:15px;font-weight:800;color:var(--accent);text-decoration:none;line-height:1.4}
.nearbox a:hover{text-decoration:underline}
.nb-w{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.y-renta{display:inline-block;padding:6px 12px;border:1.5px solid var(--accent);border-radius:99px;font-size:12.5px;font-weight:800;color:var(--accent);text-decoration:none;white-space:nowrap}
.y-renta:hover{background:var(--accent-soft)}
/* ★スマホでは3列目（補足）を隠す。**リンクは必ず2列目に置くこと**。
   2026-08-31にRenta!のリンクを3列目に置いてしまい、訪問の80%を占めるスマホで
   まるごと見えない状態になっていた（出荷前に気づいて修正）。 */
@media(max-width:600px){.ytbl td:last-child{display:none}}
@media(max-width:600px){
  .s-facts{grid-template-columns:repeat(2,1fr)}
  .s-facts .num:nth-child(3),.s-facts .num:nth-child(4){border-top:1px solid var(--line)}
  .s-facts .num:nth-child(3){border-left:none;padding-left:0}
  .s-next b{font-size:17px}
}
/* 表の道具化（デザイン監査 2026-08-22: ゼブラ・見出し固定・hover） */
.tbl tbody tr:nth-child(even){background:#f9fafb}
.tbl thead th{position:sticky;top:0;background:var(--card);z-index:2}
.tbl tbody tr:hover{background:var(--accent-soft)}
/* めくるんの配置バリエーション（デザイン監査 2026-08-22: today/フッターに増員） */
.today-hero{display:flex;align-items:center;gap:14px}
.today-hero>div{flex:1}
.mk-today{width:64px;height:auto;flex:none;animation:mk-flip .7s ease-out 1}
@keyframes mk-flip{0%{transform:perspective(300px) rotateX(-70deg);transform-origin:top;opacity:0}100%{transform:none;opacity:1}}
.mk-foot{width:40px;height:auto;vertical-align:middle;margin-right:8px}
.foot-mekurun{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--sub);margin:10px 0 2px}
/* カード上の☆お気に入り（ワンタップ本棚） */
.cover{position:relative}
.card-fav{position:absolute;top:6px;right:6px;z-index:3;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:rgba(255,255,255,.92);color:#b0a89e;font-size:17px;line-height:1;cursor:pointer;font-family:inherit;transition:transform .15s,color .15s;padding:0}
.card-fav.on{color:#f5a623;border-color:#f5a623;background:#fffdf4}
.card-fav.pop{transform:scale(1.35)}
.card-fav:hover{transform:scale(1.12)}
.wish{display:block;width:100%;margin-top:6px;background:#fff;color:#8a8177;border:1.5px dashed var(--line);border-radius:8px;font-size:12px;padding:6px 4px;cursor:pointer;font-family:inherit;letter-spacing:0;transition:transform .15s,color .15s,border-color .15s}
.wish.on{color:var(--accent);border-color:var(--accent);border-style:solid;background:var(--accent-soft)}
.wish.pop{transform:scale(1.06)}
.wish .wc{margin-left:5px;font-weight:700}
.wish .wc:empty{display:none}
.rankgrid{counter-reset:rk}
.rankgrid .item{position:relative}
.rankgrid .item::before{counter-increment:rk;content:counter(rk);position:absolute;top:6px;left:6px;z-index:3;width:26px;height:26px;border-radius:50%;background:rgba(31,41,55,.82);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rankgrid .item:nth-child(1)::before{background:#d4a017}
.rankgrid .item:nth-child(2)::before{background:#8f9aa8}
.rankgrid .item:nth-child(3)::before{background:#b3702d}
.wishrank{list-style:none;margin:14px 0;padding:0;counter-reset:wr}
.wishrank li{counter-increment:wr;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;background:#fff}
.wishrank li::before{content:counter(wr);flex:none;width:26px;height:26px;border-radius:50%;background:rgba(31,41,55,.82);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.wishrank li:nth-child(1)::before{background:#d4a017}
.wishrank li:nth-child(2)::before{background:#8f9aa8}
.wishrank li:nth-child(3)::before{background:#b3702d}
.wishrank .wr-n{flex:1;min-width:0;font-weight:600}
.wishrank .wr-c{flex:none;color:var(--accent);font-weight:700;font-size:13px}
.vt-list{list-style:none;margin:14px 0;padding:0}
.vt-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;background:#fff}
.vt-row img{flex:none;border-radius:4px;object-fit:cover}
.vt-v{color:#8a8177;font-size:11.5px;font-weight:400;margin-left:4px;white-space:nowrap}
.vt-btn{display:inline-block;width:auto;flex:none;margin-top:0;padding:6px 12px;white-space:nowrap}
/* 記事内の商品カード（書影つき・視覚要素） */
.pcard{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:14px;margin:14px 0 20px;background:var(--card);max-width:560px}
.pcard-img{flex:none;width:92px}
.pcard-img img{width:100%;height:auto;border-radius:4px;display:block}
.pcard-t{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.5}
.pcard-m{margin-top:5px;font-size:12px;color:var(--sub)}
.pcard-m b{color:var(--ink)}
.pcard-a{margin-top:10px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.pcard-a a{font-size:12.5px;font-weight:700;color:#fff;background:var(--accent);border-radius:7px;padding:7px 13px;text-decoration:none}
.pcard-a a.pcard-s{background:none;color:var(--accent);padding:0;border:none}
/* ═══ マイ本棚 ═══ */
.shelf-btn{display:inline-block;margin-left:12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--accent);background:var(--bg);border:1.5px solid var(--accent);border-radius:99px;padding:6px 14px;cursor:pointer;vertical-align:middle;transition:background .12s,color .12s}
.shelf-btn.on{background:var(--accent);color:#fff}
.keep{margin:14px 0 18px;padding:14px;border:1.5px solid var(--accent);border-radius:12px;background:var(--accent-soft)}
.keep-b{display:block;width:100%;margin:0;font-size:15px;padding:13px 10px;border-radius:9px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-weight:800;font-family:inherit}
.keep-b.on{background:var(--bg);color:var(--accent);border:1.5px solid var(--accent)}
.keep-n{margin:9px 0 0;font-size:11.5px;color:var(--sub);line-height:1.6;text-align:center}
.keep-n a{color:var(--accent);font-weight:700}
.shelf-table{border-collapse:collapse;width:100%;font-size:14px}
.shelf-table th{font-size:11.5px;color:var(--sub);text-align:left;padding:6px 8px;border-bottom:2px solid var(--line)}
.shelf-table td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.shelf-table a{color:var(--ink);font-weight:700;text-decoration:none}
.shelf-table a:hover{color:var(--accent)}
.sh-v{display:inline-block;margin-left:8px;font-size:11px;color:var(--sub)}
.sh-date{font-variant-numeric:tabular-nums;color:var(--ink)}
.sh-fix{font-size:10.5px;font-weight:800;color:#fff;background:var(--speed);border-radius:4px;padding:1px 6px}
.sh-yosou{font-size:10.5px;font-weight:700;color:var(--sub);border:1px solid var(--line);border-radius:4px;padding:1px 6px}
.sh-done{font-size:12px;font-weight:700;color:var(--sub)}
.sh-ics{text-decoration:none;margin-right:10px;font-size:16px}
.sh-del{font-family:inherit;font-size:11px;color:var(--sub);background:none;border:1px solid var(--line);border-radius:6px;padding:3px 9px;cursor:pointer}
.sh-del:hover{color:var(--bad);border-color:var(--bad)}
.shelf-empty{display:flex;align-items:center;gap:18px;border:1.5px dashed var(--line);border-radius:12px;padding:22px;margin:16px 0}
.mk-empty{width:96px;height:auto;flex:none}
.mk-anniv{width:44px;height:44px;flex:none;border-radius:50%;border:1.5px solid var(--line);background:var(--card);object-fit:contain;padding:3px;box-sizing:border-box;vertical-align:middle;margin-right:9px}
@media(max-width:600px){.mk-anniv{width:38px;height:38px;margin-right:7px}}
.shelf-tools textarea{width:100%;box-sizing:border-box;font-size:11px;font-family:monospace;border:1px solid var(--line);border-radius:6px;padding:8px;margin:6px 0}
@media(max-width:600px){.shelf-btn{display:block;margin:10px 0 0}}
/* ═══ 読み物記事 ═══ */
.crumb{font-size:12px;color:var(--sub);margin:0 0 6px}
.crumb a{color:var(--sub)}
.post{max-width:760px}
.post h2{margin:34px 0 12px}
.post h3{margin:24px 0 8px;font-size:15.5px;font-weight:700}
.post p{margin:0 0 14px;font-size:15.5px;line-height:1.85}
.post ul,.post ol{margin:0 0 16px;padding-left:1.35em}
.post li{margin:5px 0;font-size:14px;line-height:1.75}
.post strong{font-weight:700}
.post code{font-size:12.5px;background:var(--card);border:1px solid var(--line);border-radius:3px;padding:1px 5px}
.post blockquote{margin:0 0 16px;padding:10px 14px;border-left:3px solid var(--line);color:var(--sub);font-size:13.5px}
/* 表は必ず自身の中で横スクロールさせる（ページ全体を横スクロールさせない） */
.tw{overflow-x:auto;margin:0 0 18px;-webkit-overflow-scrolling:touch}
.tw table{border-collapse:collapse;width:100%;min-width:420px;font-size:13px}
.tw th,.tw td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.tw th{background:var(--card);font-weight:700;white-space:nowrap}

/* 図解 */
.fig{margin:20px 0 24px;padding:0}
.fig svg{width:100%;height:auto;display:block}
.fig figcaption{margin-top:8px;font-size:12px;color:var(--sub);line-height:1.6}

/* サービス枠。提携前は公式リンクのみ、提携後は［PR］が付く */
.svc{border:1px solid var(--line);border-radius:9px;padding:13px 15px;margin:18px 0;background:var(--card)}
.svc-pr{border-color:var(--accent)}
.svc-h{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.svc-n{font-size:14.5px;font-weight:700;color:var(--ink)}
.svc-p{font-size:13px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.svc-pr-t{font-size:10.5px;font-weight:700;color:var(--sub)}
.svc-d{margin:6px 0 10px;font-size:12.5px;color:var(--sub);line-height:1.6}
.svc-a{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);text-decoration:none}
.svc-a:hover{text-decoration:underline}

/* 記事一覧 */
.glist{list-style:none;margin:0 0 20px;padding:0}
.glist li{border-bottom:1px solid var(--line);padding:11px 0}
.glist li a{font-size:14.5px;font-weight:700;color:var(--ink);text-decoration:none;display:block}
.glist li a:hover{color:var(--accent);text-decoration:underline}
.glist li span{display:block;margin-top:4px;font-size:12.5px;color:var(--sub);line-height:1.6}
.glist-big li{padding:15px 0}
.glist-big li a{font-size:16px}
@media(max-width:600px){.post p,.post li{font-size:13.5px}.tw table{font-size:12px}}