/* ─────────────────────────────────────────────
   QuuMo — 文書ページ（プライバシー / サポート）共通スタイル
   トップページの "Count Pop" スタイル（style.css）を土台に、
   読みもの向けの最小限の追加だけを行う。
───────────────────────────────────────────── */

/* 文書ページ専用の簡易ナビ（トップへ戻る導線） */
.doc-nav-left { display: flex; align-items: center; gap: 18px; }
.doc-back { font-size: 13px; font-weight: 700; color: var(--muted-2); text-decoration: none; }
.doc-back:hover { color: var(--ink); }
.doc-logo { display: flex; align-items: center; text-decoration: none; }

/* ページ見出しバンド */
.doc-hero { background: var(--cream); border-bottom: 2px solid var(--ink); }
.doc-hero-inner { max-width: 860px; margin: 0 auto; padding: 64px 40px 52px; }
.doc-hero .eyebrow { margin-bottom: 14px; }
.doc-hero-title { font-family: var(--font-display); font-weight: 900; font-size: 46px; line-height: 1.16; letter-spacing: -.01em; }
.doc-hero-lead { font-size: 14.5px; line-height: 2; color: var(--body); margin-top: 18px; max-width: 640px; }
.doc-meta { font-family: var(--font-mono); font-size: 12px; color: var(--muted); margin-top: 22px; letter-spacing: .04em; }

/* 本文 */
.doc-body { background: #fff; }
.doc-wrap { max-width: 860px; margin: 0 auto; padding: 64px 40px 80px; }

.doc-section { padding: 28px 0; border-bottom: 2px dashed var(--dot); }
.doc-section:last-child { border-bottom: none; }
.doc-section h2 {
  font-family: var(--font-display); font-weight: 900; font-size: 24px;
  line-height: 1.4; margin-bottom: 16px; display: flex; align-items: baseline; gap: 12px;
}
.doc-section h2 .doc-num { font-family: var(--font-mono); font-size: 14px; color: var(--coral); flex-shrink: 0; }
.doc-section h3 { font-family: var(--font-display); font-weight: 700; font-size: 17px; margin: 22px 0 10px; }
.doc-section p { font-size: 14px; line-height: 2.05; color: var(--body); margin-bottom: 14px; }
.doc-section p:last-child { margin-bottom: 0; }
.doc-section a { color: var(--coral); text-decoration: underline; text-underline-offset: 3px; }
.doc-section a:hover { color: var(--ink); }
.doc-section strong { font-weight: 700; color: var(--ink); }

.doc-list { list-style: none; display: flex; flex-direction: column; gap: 12px; margin: 6px 0 14px; }
.doc-list li { position: relative; padding-left: 22px; font-size: 14px; line-height: 1.95; color: var(--body); }
.doc-list li::before {
  content: ""; position: absolute; left: 0; top: 11px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--coral);
}

/* 重要訴求カード（映像は保存・送信しない等） */
.doc-highlight {
  background: var(--cream); border: 3px solid var(--ink); border-radius: 18px;
  padding: 24px 26px; box-shadow: 6px 6px 0 var(--green); margin: 8px 0 18px;
}
.doc-highlight .doc-highlight-title { font-family: var(--font-display); font-weight: 900; font-size: 18px; margin-bottom: 10px; }
.doc-highlight p { font-size: 13.5px; line-height: 2; color: var(--muted-2); margin-bottom: 0; }

/* 連絡先ボックス */
.doc-contact-box {
  background: var(--cream); border: 2px solid var(--ink); border-radius: 16px;
  padding: 22px 24px; margin-top: 8px;
}
.doc-contact-box dl { display: grid; grid-template-columns: max-content 1fr; gap: 10px 20px; }
.doc-contact-box dt { font-family: var(--font-mono); font-size: 12px; color: var(--muted); letter-spacing: .04em; }
.doc-contact-box dd { font-size: 14px; color: var(--ink); }

/* FAQ（サポートページ） */
.faq-item { padding: 20px 0; border-bottom: 2px dashed var(--dot); }
.faq-item:last-child { border-bottom: none; }
.faq-q { font-family: var(--font-display); font-weight: 700; font-size: 16px; margin-bottom: 10px; display: flex; gap: 10px; }
.faq-q .faq-mark { color: var(--coral); flex-shrink: 0; }
.faq-a { font-size: 14px; line-height: 2; color: var(--body); padding-left: 26px; }
.faq-a a { color: var(--coral); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 720px) {
  .doc-hero-inner { padding: 44px 22px 36px; }
  .doc-hero-title { font-size: 32px; line-height: 1.24; }
  .doc-wrap { padding: 44px 22px 60px; }
  .doc-section h2 { font-size: 21px; }
  .doc-contact-box dl { grid-template-columns: 1fr; gap: 4px 0; }
  .doc-contact-box dd { margin-bottom: 10px; }
}
