/* ==========================================================
   投稿（single.php）専用スタイル — 記事本文のタイポグラフィと前後記事ナビ。
   器（フレーム・黒帯ヒーロー・4:8・行リスト・ページ送り・404）は assets/css/sub-d.css が正本。
   ブランドルール: 黄は黒地の上か、黄地×黒文字の面でのみ使う(白地の小要素・細字には使わない)。緑は使わない。
   ========================================================== */

.post__side .d-more { font: 700 15px/1.5 var(--ff-d); }
.post__side .d-more:hover i { transform: translateX(-6px); }

/* ---------- アイキャッチ ---------- */
.post__eyecatch { border-radius: 20px; overflow: hidden; margin-bottom: 44px; }
.post__eyecatch img { width: 100%; height: auto; display: block; }

/* ---------- 本文タイポグラフィ ---------- */
.post__body { font-size: 16px; line-height: 2.05; color: var(--g9); max-width: 44em; }
.post__body > * + * { margin-top: 1.5em; }
.post__body p { margin: 0; }
.post__body ul, .post__body ol { margin: 0; padding-left: 1.4em; }
.post__body ul { list-style: disc; }
.post__body ol { list-style: decimal; }
.post__body li + li { margin-top: .5em; }
.post__body h2 { font-size: 25px; line-height: 1.55; margin-top: 2.6em; padding-top: 1.1em; border-top: 1px solid var(--k); }
.post__body > h2:first-child { margin-top: 0; }
.post__body h3 { font-size: 20px; line-height: 1.6; margin-top: 2em; }
.post__body a { text-decoration: underline; text-underline-offset: 4px; }
.post__body a:hover { color: var(--g7); }
.post__body img { border-radius: 14px; height: auto; }
.post__body figure { margin: 0; }
.post__body figure img { margin-inline: auto; }
.post__body figcaption { margin-top: .6em; font-size: 13px; color: var(--sub); text-align: center; }
.post__body blockquote { margin: 0; padding: 22px 26px; background: #FFF6D1; border-radius: 14px; font-size: 15px; line-height: 1.95; }
.post__body blockquote > * + * { margin-top: 1em; }
.post__body hr { border: none; border-top: 1px solid var(--line); margin: 2.6em 0; }
.post__body table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.8; }
.post__body th, .post__body td { padding: 14px 12px 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; }
.post__body th { font-family: var(--ff-d); font-weight: 700; }
.post__body thead th { border-top: 0; border-bottom: 2px solid var(--k); }
.post__body .wp-block-image, .post__body .wp-block-embed, .post__body .wp-block-gallery, .post__body .wp-block-quote { margin-top: 1.6em; }

/* ---------- 前後記事ナビ（罫線） ---------- */
.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin-top: 72px; max-width: 44em; }
.post-nav a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 20px 0; border-top: 1px solid var(--k); }
.post-nav__next { text-align: right; }
.post-nav__next a { align-items: flex-end; }
.post-nav__label { font: 700 12.5px/1 var(--ff-d); color: var(--sub); }
.post-nav__ttl { font-size: 14.5px; font-weight: 700; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.post-nav a:hover .post-nav__ttl { text-decoration: underline; text-underline-offset: 5px; }

@media (max-width: 860px) {
  .post__eyecatch { margin-bottom: 32px; }
  .post__body { font-size: 15px; }
  .post__body h2 { font-size: 21px; }
  .post__body h3 { font-size: 17.5px; }
  .post-nav { grid-template-columns: 1fr; margin-top: 56px; }
  .post-nav__next { text-align: left; }
  .post-nav__next a { align-items: flex-start; }
}
