/* ブログ（lp.css + legal.css の上に、記事と一覧の組版を足す）
   方針: LP と同じ素材で組む。カードを並べない、罫線で区切る、強調は --accent の下線マーカー 1 色、数字は .num。 */
.blog{max-width:760px;padding-top:64px}
.blog-kicker{display:inline-block;font-weight:700;font-size:14px;color:var(--court);margin:0 0 12px;letter-spacing:.02em}
.blog-kicker a{color:inherit}
.blog h1{font-size:34px;line-height:1.4;margin:0 0 14px}
.blog h1 .hl{background:linear-gradient(transparent 62%,var(--accent) 62% 94%,transparent 94%)}
.blog .lead{font-size:18px;line-height:1.85;color:var(--muted);margin:0 0 18px}
.blog .byline{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13.5px;color:var(--muted);margin:0 0 40px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.blog .byline b{font-weight:500;color:var(--ink)}
.blog h2{font-size:21px;line-height:1.5;margin:48px 0 12px;padding:0;border:0}
.blog h2 .no{display:inline-block;min-width:1.6em;color:var(--court);font-feature-settings:"tnum"}
.blog h3{font-size:17px;margin:28px 0 8px}
.blog p,.blog li{font-size:16.5px;line-height:1.95}
.blog ul,.blog ol{padding-left:1.3em}
.blog li+li{margin-top:4px}
.blog figure{margin:28px 0}
.blog figure svg{display:block;width:100%;height:auto}
.blog figure img{width:100%;border-radius:var(--r-md);border:1px solid var(--rule)}
.blog figcaption{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.7}
/* メモ: 左の色線は使わない。ラベル + 薄い面 */
.blog .tip{position:relative;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:14px 16px 14px 70px;margin:18px 0;font-size:15.5px;line-height:1.8}
.blog .tip::before{content:"メモ";position:absolute;left:14px;top:14px;height:24px;padding:0 8px;border-radius:var(--r-sm);background:var(--accent);color:var(--ink);font:700 12px/24px var(--f-body)}
/* 表: LP の USP 行と同じ、上に太い罫、見出しは下線だけ */
.blog table{width:100%;border-collapse:collapse;margin:14px 0 28px;font-size:14.5px;line-height:1.75;border-top:2px solid var(--ink)}
.blog th,.blog td{border-top:1px solid var(--rule);padding:12px 10px 12px 0;vertical-align:top;text-align:left;background:none;width:auto;white-space:normal}
.blog tr:first-child th{border-top:0;font-size:13px;color:var(--muted);font-weight:700;padding-top:10px}
.blog tr:last-child th,.blog tr:last-child td{border-bottom:1px solid var(--rule)}
.blog .cmp td:nth-child(-n+3),.blog .cmp th:nth-child(-n+3){white-space:nowrap}
.blog tr.me td{background:color-mix(in srgb,var(--accent) 22%,transparent)}
/* 引用・数字の見せ場 */
.blog .pull{margin:32px 0;padding:0 0 0 22px;border-left:3px solid var(--court);font-size:19px;line-height:1.6;color:var(--ink)}
.blog .pull .num{display:block;font-size:44px;color:var(--court);margin-bottom:6px}
/* バーコード（LP の「ラリーだけ」モチーフ）: 記事末の区切り */
.blog-bars{display:flex;height:18px;gap:0;margin:56px 0 0;overflow:hidden}
.blog-bars i{display:block;height:100%}
.blog-bars .r{background:var(--ink)}
.blog-bars .g{background:transparent}
.blog-bars .a{background:var(--accent)}
/* CTA: 箱に入れない。上に太い罫、左に一文、右に数字とボタン */
.blog-cta{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:end;padding:28px 0 8px;margin:0 0 8px;border-top:2px solid var(--ink)}
.blog-cta b{display:block;font-family:var(--f-head);font-size:24px;line-height:1.45;font-weight:700}
.blog-cta p{font-size:14.5px;color:var(--muted);margin:10px 0 0;line-height:1.75}
.blog-cta .price{font-size:40px;line-height:1;margin-bottom:14px}
.blog-cta .price small{font-size:15px;font-weight:500;color:var(--muted);margin-left:4px}
.blog-cta .btn{display:inline-flex}
.blog-related{margin-top:40px;padding-top:18px;border-top:1px solid var(--rule)}
.blog-related h2{font-size:14px;color:var(--muted);margin:0 0 10px;font-weight:700}
.blog-related ul{list-style:none;padding:0;margin:0}
.blog-related li{padding:10px 0;border-top:1px solid var(--rule);font-size:15.5px;line-height:1.6}
.blog-related li:first-child{border-top:0}
.blog-related a,.blog .back{color:var(--court)}
.blog .back{display:inline-block;margin-top:28px;font-size:15px}
/* カバー・要点・目次・書き手 */
.blog-cover{margin:0 0 36px}
.blog-cover img{width:100%;height:auto;border-radius:var(--r-md);background:var(--surface)}
.blog-cover figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.blog .byline span{color:var(--muted)}
.blog-points{margin:0 0 28px;padding:18px 22px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm)}
.blog-points b{display:block;font-size:13px;color:var(--court);margin-bottom:6px}
.blog-points ul{margin:0;padding-left:1.2em}
.blog-points li{font-size:15.5px;line-height:1.8}
.blog-toc{margin:0 0 36px;padding:0 0 18px;border-bottom:1px solid var(--rule)}
.blog-toc b{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
.blog-toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.blog-toc li{font-size:15px;line-height:1.7;break-inside:avoid}
.blog-toc a{color:var(--ink)}
.blog-toc a:hover{color:var(--court)}
.blog-author{display:flex;gap:16px;align-items:flex-start;margin:36px 0 0;padding:20px 0;border-top:1px solid var(--rule)}
.blog-author img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
.blog-author b{display:block;font-size:15px;margin-bottom:2px}
.blog-author span{font-size:14px;color:var(--muted);line-height:1.7}
.blog-related ul{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blog-related li{padding:0;border:0!important}
.blog-related li a{display:block;color:var(--ink)}
.blog-related img{width:100%;height:auto;border-radius:var(--r-sm);margin-bottom:8px;background:var(--surface)}
.blog-related b{display:block;font-size:14.5px;line-height:1.5}
.blog-related small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
/* 一覧: 注目 1 本 + 2 列のグリッド + テーマの絞り込み */
.blog-index{max-width:1000px}
.blog-filter{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 24px}
.blog-filter a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid var(--rule-strong);border-radius:999px;font-size:14px;color:var(--ink)}
.blog-filter a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.blog-feat{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;padding:28px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);color:var(--ink)}
.blog-feat img{width:100%;height:auto;border-radius:var(--r-md);background:var(--surface)}
.blog-feat .meta,.blog-card .meta{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
.blog-feat .meta b,.blog-card .meta b{color:var(--court)}
.blog-feat .ttl{display:block;font-family:var(--f-head);font-weight:700;font-size:28px;line-height:1.45;margin-bottom:10px}
.blog-feat .dek{display:block;font-size:15.5px;color:var(--muted);line-height:1.8}
.blog-feat .more{display:inline-block;margin-top:16px;font-weight:700;color:var(--court)}
.blog-feat:hover .ttl,.blog-card a:hover .ttl{color:var(--court)}
.blog-grid{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:1fr 1fr;gap:36px 32px;padding-top:36px}
.blog-card a{display:block;color:var(--ink)}
.blog-card img{width:100%;height:auto;border-radius:var(--r-md);margin-bottom:14px;background:var(--surface)}
.blog-card .ttl{display:block;font-family:var(--f-head);font-weight:700;font-size:20px;line-height:1.5;margin-bottom:6px;transition:color .15s}
.blog-card .dek{display:block;font-size:14.5px;color:var(--muted);line-height:1.75}
.blog-card[hidden]{display:none}
/* （旧）罫線の行 */
.blog-index{max-width:860px}
.blog-index h1{font-size:40px}
.blog-list{list-style:none;padding:0;margin:40px 0 0;border-top:2px solid var(--ink)}
.blog-row{border-bottom:1px solid var(--rule)}
.blog-row a{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:26px 0;color:var(--ink);text-decoration:none}
.blog-row .side{font-size:13px;color:var(--muted);line-height:1.7}
.blog-row .side b{display:block;color:var(--court);font-weight:700}
.blog-row .ttl{display:block;font-family:var(--f-head);font-weight:700;font-size:21px;line-height:1.5;margin-bottom:6px;transition:color .15s}
.blog-row a:hover .ttl{color:var(--court)}
.blog-row .dek{display:block;font-size:15px;color:var(--muted);line-height:1.75;max-width:62ch}
@media (max-width:720px){
  .blog-feat{grid-template-columns:1fr;gap:16px}.blog-feat .ttl{font-size:22px}
  .blog-grid{grid-template-columns:1fr;gap:28px}
  .blog-toc ol{columns:1}
  .blog-related ul{grid-template-columns:1fr;gap:14px}.blog-related li a{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}.blog-related img{margin:0}
  .blog h1{font-size:26px}.blog-index h1{font-size:30px}
  .blog-row a{grid-template-columns:1fr;gap:6px;padding:20px 0}
  .blog-row .side{display:flex;gap:10px}.blog-row .side b{display:inline}
  .blog-cta{grid-template-columns:1fr;gap:18px}
  .blog .tip{padding-left:16px;padding-top:44px}.blog .tip::before{top:12px}
  .blog .cmp td:nth-child(-n+3){white-space:normal}
}
