/* ============================================================
   article.css — お知らせ記事本文の可読性レイヤー（single.php 専用）
   根拠: デジタル庁DS（本文16px以上・字間26px以下=2%）／WCAG 2.2
   SC1.4.3・1.4.12・2.5.8／JLREQ（行長40字以内・行間1.5〜2.0）／
   実測: note 18px/620px・ITmedia 16px/660px・日経xTECH 18px/680px
   実記事はclassなしの素タグ出力（実測）のため要素セレクタを主軸に
   .wp-block-* を併記する。editor-style.css はビルダーが本ファイル
   から自動生成する（.entry-content → body 変換）。
   ============================================================ */

/* ===== 記事シェル（中央寄せ・読書幅 680px ≒ 18px×38字） ===== */
.post-shell{max-width:680px;margin-inline:auto}

/* ===== 記事ヘッダー（ピル・日付・アイキャッチ） ===== */
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 24px}
.post-meta .dates{font-size:13px;font-weight:700;color:#717171;font-variant-numeric:tabular-nums}
.cat-pill{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1;padding:6px 14px;border-radius:999px;background:#EAF2FF;color:#1D5FCC}
.cat-pill[data-cat="notice"]{background:#EAF2FF;color:#1D5FCC}
.cat-pill[data-cat="subsidy"]{background:#FFF0E8;color:#B84509}
.cat-pill[data-cat="column"]{background:#FFEAF3;color:#C4256E}
.cat-pill[data-cat="works"]{background:#E5F8F3;color:#0B7A62}
.post-eyecatch{margin:0 0 40px}
.post-eyecatch img{width:100%;height:auto;border-radius:var(--radius,22px);box-shadow:var(--shadow)}

/* ===== 目次（the_content フィルタが挿入。h2が2つ以上ある記事のみ） ===== */
.post-toc{background:var(--cream-deep,#FFF6EE);border-radius:var(--radius,22px);padding:24px 28px;margin:0 0 2.5em}
.post-toc .toc-title{display:block;font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--ink,#262630)}
.post-toc ol{list-style:none;margin:10px 0 0;padding:0}
.post-toc li{margin:0}
.post-toc a{display:inline-block;padding:7px 0;color:var(--accent-tx,#1B5CE6);font-size:15px;font-weight:700;line-height:1.6;text-decoration:none}
.post-toc a:hover{text-decoration:underline;text-underline-offset:3px}

/* ===== 本文タイポグラフィ ===== */
.entry-content{font-size:18px;line-height:1.8;letter-spacing:.02em;color:#444}
.entry-content > *:first-child{margin-top:0}
.entry-content > *:last-child{margin-bottom:0}
.entry-content p{margin:0 0 1.8em}

/* 見出し（アンカーは固定ヘッダー分を逃がす） */
.entry-content h2{font-size:26px;line-height:1.5;font-weight:900;letter-spacing:.01em;color:var(--ink,#262630);margin:2.5em 0 .75em;padding-bottom:.45em;border-bottom:2px solid rgba(255,106,43,.3);scroll-margin-top:110px}
.entry-content h3{font-size:20px;line-height:1.5;font-weight:700;color:var(--ink,#262630);margin:2em 0 .6em;scroll-margin-top:110px}
.entry-content h4{font-size:18px;line-height:1.5;font-weight:700;color:var(--ink,#262630);margin:1.8em 0 .5em}
.entry-content h2 + h3{margin-top:1em}

/* リスト */
.entry-content ul,.entry-content ol{margin:0 0 1.8em;padding-left:1.5em}
.entry-content li{margin:0 0 .5em}
.entry-content li:last-child{margin-bottom:0}
.entry-content ul li::marker{color:var(--accent-tx,#1B5CE6)}
.entry-content ol li::marker{color:var(--accent-tx,#1B5CE6);font-weight:700}
.entry-content li > ul,.entry-content li > ol{margin:.5em 0 0}

/* リンク・強調 */
.entry-content a{color:var(--accent-tx,#1B5CE6);text-decoration:underline;text-underline-offset:3px}
.entry-content a:hover{text-decoration-thickness:2px}
.entry-content strong{color:var(--ink,#262630);font-weight:700}

/* 表（素の<table>出力に対応。カラム過多時は横スクロール） */
.entry-content table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 1.8em;font-size:15px;line-height:1.7}
.entry-content th,.entry-content td{border:1px solid rgba(43,43,43,.18);padding:10px 14px;text-align:left;vertical-align:top}
.entry-content th{background:var(--cream-deep,#FFF6EE);color:var(--ink,#262630);font-weight:700;white-space:nowrap}
.entry-content .wp-block-table{margin:0 0 1.8em;overflow-x:auto}
.entry-content .wp-block-table table{margin:0}

/* 引用 */
.entry-content blockquote{margin:0 0 1.8em;padding:1em 1.3em;background:var(--cream-deep,#FFF6EE);border-left:3px solid var(--accent,#FF6A2B);border-radius:0 12px 12px 0}
.entry-content blockquote p{margin:0 0 .8em}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content blockquote cite{display:block;margin-top:.6em;font-size:13px;font-style:normal;color:#717171}

/* 画像・図版（srcset/lazyはWPコアが自動付与） */
.entry-content img{max-width:100%;height:auto;border-radius:12px}
.entry-content figure{margin:2em 0}
.entry-content figure.wp-block-image{margin:2em 0}
.entry-content figcaption,.entry-content .wp-element-caption{margin-top:.6em;font-size:13px;line-height:1.7;color:#717171;text-align:center}
.entry-content .aligncenter{margin-inline:auto;text-align:center}
.entry-content .has-text-align-center{text-align:center}
.entry-content .has-text-align-right{text-align:right}

/* 区切り・埋め込み */
.entry-content hr{border:0;border-top:1px solid rgba(43,43,43,.15);margin:2.5em 0}
.entry-content iframe{max-width:100%}
.entry-content .wp-block-embed{margin:2em 0}
.entry-content .wp-block-embed__wrapper iframe{width:100%}

/* ===== 関連記事 ===== */
.post-related{margin-top:64px;border-top:1px solid rgba(43,43,43,.12);padding-top:28px}
.post-related .rel-title{font-size:20px;font-weight:900;color:var(--ink,#262630);margin:0 0 6px}
.post-related .rel-row{display:flex;gap:16px;align-items:flex-start;padding:14px 4px;border-bottom:1px solid rgba(43,43,43,.12);text-decoration:none}
.post-related .rel-row time{font-size:12px;font-weight:700;color:#717171;min-width:80px;padding-top:3px;font-variant-numeric:tabular-nums}
.post-related .rel-row .rel-t{font-size:15px;font-weight:700;line-height:1.6;color:var(--ink,#262630)}
.post-related .rel-row:hover .rel-t{text-decoration:underline;text-underline-offset:3px}

/* ===== 一覧へ戻る ===== */
.post-back{margin-top:48px}
.post-back a{font-weight:700;color:var(--accent-tx,#1B5CE6);text-decoration:none}
.post-back a:hover{text-decoration:underline}

/* ===== モバイル（デジタル庁: 本文16px基準） ===== */
@media(max-width:600px){
  .entry-content{font-size:16px}
  .entry-content h2{font-size:22px}
  .entry-content h3{font-size:18px}
  .entry-content h4{font-size:16px}
  .entry-content table{font-size:14px}
  .post-toc{padding:20px 22px}
  .post-eyecatch{margin-bottom:28px}
}
