/* ============================================================
   blayn マガジン — 記事本文（.post_content）スタイル
   SWELL投稿本文に blayn デザインの見出し・囲み・比較表・インラインCTAを適用。
   カラーは --brand-primary 連動。
   ============================================================ */

/* SWELL標準の見出し装飾（::before/::after の全幅罫線など）を打ち消し、
   blaynの装飾のみを残す（二重罫線の競合防止） */
.post_content h2::before,
.post_content h2::after,
.post_content h3::before,
.post_content h3::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
}

/* 記事ページ（single）限定：見出し h2 青の左ボーダー＋淡いブランド帯
   ※トップの中央寄せセクション見出し(.blayn-sechead__title)に漏れないよう .single に限定 */
.single .post_content h2 {
  font-size: var(--fs-h3);
  color: var(--text-strong);
  font-weight: var(--fw-head);
  line-height: var(--lh-head);
  margin: 56px 0 20px;
  padding: 14px 0 14px 18px;
  border: 0;
  border-left: 5px solid var(--brand-primary);
  background: linear-gradient(90deg, var(--brand-primary-tint), transparent);
  border-radius: 0 6px 6px 0;
}
/* 記事ページ限定：見出し h3 下線のみ */
.single .post_content h3 {
  font-size: 1.25rem;
  color: var(--text-strong);
  font-weight: var(--fw-head);
  margin: 36px 0 14px;
  padding: 0 0 8px;
  border: 0;
  border-bottom: 2px solid var(--border);
  background: none;
}
.single .post_content p { line-height: var(--lh-body); }

/* 囲みボックス（この記事でわかること 等） */
.blayn-callout {
  background: var(--brand-primary-tint);
  border: 1px solid color-mix(in srgb, var(--brand-primary) 22%, #fff);
  border-radius: 8px; padding: 20px 24px; margin: 28px 0;
}
.blayn-callout__t { font-weight: 700; color: var(--brand-primary); margin-bottom: 8px; }
.blayn-callout p { margin: 0; font-size: 14px; }

/* 比較テーブル */
.blayn-table { width: 100%; border-collapse: collapse; margin: 24px 0 28px; font-size: 14px;
  overflow: hidden; border-radius: 8px; box-shadow: var(--shadow-card); }
.blayn-table th, .blayn-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--border); }
.blayn-table thead th { background: var(--brand-primary); color: #fff; font-weight: 600; }
.blayn-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--brand-primary) 3%, #fff); }
.blayn-table td:first-child { font-weight: 600; color: var(--text-strong); }

/* 本文中インラインCTA（点線枠） */
.blayn-cta-inline {
  background: var(--brand-band-blue);
  border: 1px dashed var(--brand-primary);
  border-radius: 10px; padding: 24px; margin: 32px 0;
  display: flex; gap: 20px; align-items: center;
}
.blayn-cta-inline__txt { flex: 1; }
.blayn-cta-inline__txt strong { display: block; color: var(--text-strong); font-size: 1.05rem; margin-bottom: 4px; }
.blayn-cta-inline__txt span { font-size: 13px; color: var(--text-muted); }
@media (max-width: 600px) { .blayn-cta-inline { flex-direction: column; text-align: center; } }
