/*
Theme Name: NEXBIZ 2026 Media
Theme URI: https://info.nexbiz.co.jp/
Author: 合同会社NEXBIZ
Description: NEXBIZ 2026のデザインを維持し、食品EC・法人口座メディアを統合する子テーマ
Template: nexbiz-2026
Version: 1.0.0
Text Domain: nexbiz-2026-media
*/


/* ============================================================
   NEXBIZ 2026 Media ─ 子テーマ style.css への追記
   2026-09-08

   方針：
   - グローバルセレクタを作らない。すべてメディア用のラッパー配下に限定する。
   - .wp-block-table / figcaption / table / li などは、素の状態で書かない。
     （素で書くと、投稿・固定ページ・アーカイブなどサイト全体に影響します）
   ============================================================ */

/* ------------------------------------------------------------
   0. 適用範囲について

   .hub-extra   ... 固定ページ（ガイドページ）の本文ラッパー。page.php が出力
   .legal-doc   ... 固定ページ（編集方針・広告掲載ポリシー・免責事項）の本文ラッパー。page.php が出力
   .nexbiz-post ... 投稿本文のラッパー。functions.php 側で投稿本文を包む
   ------------------------------------------------------------ */

/* 1. 見出しの行送り（既存の不具合の修正） */
.section-heading h2,
.service-heading h2,
.faq-title h2,
.editorial-intro h2 { line-height: 1.18; }

/* 2. 広告表記　本文と同等以上の大きさ。縮小・削除しないこと */
.hub-extra .ad-label,
.legal-doc .ad-label,
.nexbiz-post .ad-label {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #ffffff;
  background: #111111;
  padding: 6px 14px;
  margin: 0 0 18px;
}
.hub-extra .ad-note,
.legal-doc .ad-note,
.nexbiz-post .ad-note {
  font-size: .92rem;
  line-height: 1.9;
  color: #4a4a45;
  margin: 0 0 8px;
  max-width: 52em;
}
.hub-extra .ad-inline,
.legal-doc .ad-inline,
.nexbiz-post .ad-inline { margin: 2.4em 0 .6em; }

.hub-extra .pr-label,
.legal-doc .pr-label,
.nexbiz-post .pr-label {
  font-size: 1em;
  color: inherit;
  background: #f1f1ee;
  padding: .6em .8em;
  margin: 0 0 1.4em;
  line-height: 1.9;
}

@media (max-width: 640px) {
  .hub-extra .ad-label,
  .legal-doc .ad-label,
  .nexbiz-post .ad-label { font-size: .95rem; }
}

/* 3. ガイドページ本文（.hub-extra） */
.hub-extra { max-width: 900px; margin: 0 auto; padding: 0 24px 96px; line-height: 2.0; }
.hub-extra h2 {
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(1.2rem, 3vw, 1.55rem); line-height: 1.6; letter-spacing: -.02em;
  margin: 3em 0 1em; padding-top: 1.1em; border-top: 1px solid var(--line);
}
.hub-extra h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.hub-extra h3 { font-family: var(--serif); font-weight: 500; font-size: 1.12rem; margin: 2.2em 0 .7em; }
.hub-extra h3::before { content: "— "; color: var(--blue); }
.hub-extra p { margin: 1.1em 0; }
.hub-extra strong { font-weight: 700; }
.hub-extra a { text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 4px; }
.hub-extra .wp-block-table { overflow-x: auto; margin: 1.9em 0; -webkit-overflow-scrolling: touch; }
.hub-extra table { border-collapse: collapse; width: 100%; font-size: .88rem; min-width: 640px; line-height: 1.8; }
.hub-extra th, .hub-extra td { border: 0; border-bottom: 1px solid var(--line); padding: 12px 14px; text-align: left; vertical-align: top; }
.hub-extra thead th { border-top: 2px solid var(--blue); font-weight: 700; white-space: nowrap; font-size: .82rem; }
.hub-extra .note { font-size: .78em; color: #6b6b66; font-weight: 400; }
.hub-extra ul { padding-left: 0; list-style: none; margin: 1.3em 0; }
.hub-extra li { margin: 0; padding: .65em 0 .65em 26px; border-bottom: 1px solid var(--line); position: relative; }
.hub-extra li::before { content: ""; position: absolute; left: 0; top: 1.35em; width: 12px; height: 2px; background: var(--blue); }
.hub-extra ol { padding-left: 1.4em; margin: 1.3em 0; }
.hub-extra ol li { padding-left: 0; border-bottom: 0; }
.hub-extra ol li::before { content: none; }
.hub-extra blockquote { border-left: 3px solid var(--blue); margin: 1.8em 0; padding: .2em 0 .2em 1.2em; color: #4a4a45; font-size: .95rem; }
.hub-extra .article-meta { font-size: .8rem; color: #5c5c57; background: var(--paper); padding: 14px 16px; line-height: 1.85; }
.hub-extra .article-disclaimer { font-size: .78rem; color: #5c5c57; background: var(--paper); padding: 22px; line-height: 1.95; }
.hub-extra .nexbiz-figure { margin: 2.4em 0; }
.hub-extra .nexbiz-figure svg { border: 1px solid var(--line); width: 100%; height: auto; display: block; }
.hub-extra figcaption { font-size: .82rem; color: #5c5c57; margin-top: .8em; line-height: 1.85; }
@media (max-width: 640px) { .hub-extra { padding: 0 20px 72px; } }

/* 4. 信頼性ページ本文（.legal-doc） */
.legal-doc { max-width: 820px; margin: 0 auto; padding: 64px 24px 96px; line-height: 2.0; }
.legal-doc h2 {
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(1.2rem, 3vw, 1.55rem); line-height: 1.6; letter-spacing: -.02em;
  margin: 3em 0 1em; padding-top: 1.1em; border-top: 1px solid var(--line);
}
.legal-doc h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-doc h3 { font-family: var(--serif); font-weight: 500; font-size: 1.12rem; margin: 2.2em 0 .7em; }
.legal-doc h3::before { content: "— "; color: var(--blue); }
.legal-doc p { margin: 1.1em 0; }
.legal-doc strong { font-weight: 700; }
.legal-doc a { text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 4px; }
.legal-doc .wp-block-table { overflow-x: auto; margin: 1.8em 0; -webkit-overflow-scrolling: touch; }
.legal-doc table { border-collapse: collapse; width: 100%; font-size: .92rem; min-width: 420px; line-height: 1.85; }
.legal-doc th, .legal-doc td { border: 0; border-bottom: 1px solid var(--line); padding: 12px 14px; text-align: left; vertical-align: top; }
.legal-doc thead th { border-top: 2px solid var(--blue); font-weight: 700; white-space: nowrap; font-size: .85rem; }
.legal-doc tbody th { white-space: nowrap; font-weight: 700; width: 9em; }
.legal-doc ul { padding-left: 0; list-style: none; margin: 1.3em 0; }
.legal-doc li { margin: 0; padding: .65em 0 .65em 26px; border-bottom: 1px solid var(--line); position: relative; }
.legal-doc li::before { content: ""; position: absolute; left: 0; top: 1.35em; width: 12px; height: 2px; background: var(--blue); }
.legal-doc .article-meta { font-size: .8rem; opacity: .7; }
@media (max-width: 640px) { .legal-doc { padding: 40px 20px 72px; } }

/* 5. 投稿本文（.nexbiz-post） */
.nexbiz-post .wp-block-table { overflow-x: auto; margin: 1.9em 0; -webkit-overflow-scrolling: touch; }
.nexbiz-post table { border-collapse: collapse; width: 100%; font-size: .9rem; min-width: 520px; line-height: 1.85; }
.nexbiz-post th, .nexbiz-post td { border: 0; border-bottom: 1px solid var(--line); padding: 12px 14px; text-align: left; vertical-align: top; }
.nexbiz-post thead th { border-top: 2px solid var(--blue); font-weight: 700; white-space: nowrap; font-size: .84rem; }
.nexbiz-post figcaption { font-size: .82rem; color: #5c5c57; margin-top: .8em; line-height: 1.85; }
.nexbiz-post .nexbiz-figure { margin: 2.6em 0; }
.nexbiz-post .nexbiz-figure svg { border: 1px solid var(--line); width: 100%; height: auto; display: block; }
.nexbiz-post blockquote { border-left: 3px solid var(--blue); margin: 1.8em 0; padding: .2em 0 .2em 1.2em; color: #4a4a45; font-size: .95rem; }
.nexbiz-post ol { padding-left: 1.4em; margin: 1.4em 0; }
.nexbiz-post ol li { margin: .6em 0; }
.nexbiz-post .article-meta { font-size: .82rem; color: #5c5c57; line-height: 1.85; }
.nexbiz-post .article-disclaimer { font-size: .8rem; color: #5c5c57; border-top: 1px solid var(--line); padding-top: 1.4em; margin-top: 3em; line-height: 1.9; }
.nexbiz-post .nexbiz-author { margin: 3em 0 0; }

/* 6. 記事固有の注記（.article-note） */
.hub-extra .article-note,
.legal-doc .article-note,
.nexbiz-post .article-note {
  font-size: .8rem;
  color: #5c5c57;
  background: #f1f1ee;
  padding: 18px 20px;
  margin: 2.6em 0 0;
  line-height: 1.95;
}
