/* ============================================
   Static Document Pages (gx-doc-page)
   FAQ / 会社概要 / プライバシーポリシー / 運営ポリシー / お問い合わせ
   --------------------------------------------
   これらの固定ページは Bricks テンプレートを持たず、素の Gutenberg/フォームを
   #brx-content に直接描画する（フルブリード）。読みやすい行幅・余白・見出し階層を
   single-post.css の本文タイポgrafiに合わせて付与する。
   フックは functions.php の body_class フィルタ（slug allowlist）が付ける gx-doc-page。
   ============================================ */

/* 読み幅コンテナ（measure）＋ナビ直下の余白確保 */
body.gx-doc-page #brx-content {
  max-width: 820px;
  margin-inline: auto;
  padding: var(--sp-16) var(--sp-6) var(--sp-24);
  font-size: var(--fs-base);
  line-height: 1.9;
  color: var(--gx-dark);
}

/* ページタイトル（h1） */
body.gx-doc-page #brx-content > h1 {
  font-size: clamp(1.875rem, 4vw, 2.5rem); /* 30〜40px */
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0 0 var(--sp-8);
}

/* セクション見出し（h2） */
body.gx-doc-page #brx-content h2 {
  font-size: var(--fs-lg); /* 24px */
  font-weight: 700;
  line-height: 1.35;
  margin: var(--sp-12) 0 var(--sp-4);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid var(--gx-gray-light);
}

/* 小見出し・FAQ の質問など（h3） */
body.gx-doc-page #brx-content h3 {
  font-size: 1.1875rem; /* 19px — base(16) と h2(24) の中間 */
  font-weight: 700;
  line-height: 1.45;
  margin: var(--sp-8) 0 var(--sp-2);
}

/* 本文段落 */
body.gx-doc-page #brx-content p {
  margin: 0 0 var(--sp-4);
}

/* リスト */
body.gx-doc-page #brx-content ul,
body.gx-doc-page #brx-content ol {
  padding-left: 1.5em;
  margin: 0 0 var(--sp-4);
}

body.gx-doc-page #brx-content li {
  margin-bottom: var(--sp-1);
  line-height: 1.8;
}

/* リンク */
body.gx-doc-page #brx-content a {
  color: var(--gx-accent, #2563eb);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

body.gx-doc-page #brx-content a:hover {
  text-decoration: none;
}

/* テーブル（ポリシー系で使われることがある） */
body.gx-doc-page #brx-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 var(--sp-6);
  font-size: var(--fs-sm);
}

body.gx-doc-page #brx-content th,
body.gx-doc-page #brx-content td {
  border: 1px solid var(--gx-gray-light);
  padding: var(--sp-2) var(--sp-4);
  text-align: left;
  vertical-align: top;
}

/* お問い合わせフォーム（Ninja Forms）周りの余白 */
body.gx-doc-page #brx-content .nf-form-cont,
body.gx-doc-page #brx-content form {
  margin-top: var(--sp-6);
}

/* モバイル */
@media (max-width: 767px) {
  body.gx-doc-page #brx-content {
    padding: var(--sp-8) var(--sp-4) var(--sp-16);
  }

  body.gx-doc-page #brx-content h2 {
    margin-top: var(--sp-8);
  }
}
