/* 特商法・プライバシーポリシー用(body.doc-page の範囲内だけに適用) */
.doc-page .doc-section { padding-top: 64px; }
.doc-page .doc-title { margin-top: 8px; }
.doc-page .doc-lead { margin: 20px 0 40px; font-size: 15px; line-height: 2; color: var(--text-sub); }
.doc-page .doc-table { display: grid; border-top: 1px solid var(--line); }
.doc-page .doc-table > div { display: grid; gap: 4px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.doc-page .doc-table dt { font-size: 14px; font-weight: 700; }
.doc-page .doc-table dd { font-size: 15px; line-height: 1.9; }
.doc-page .doc-term { font-weight: 700; }
.doc-page .doc-block { margin-top: 40px; }
.doc-page .doc-block h2 { margin: 0 0 12px; font-size: 18px; font-weight: 700; line-height: 1.6; }
.doc-page .doc-block p, .doc-page .doc-block li { font-size: 15px; line-height: 1.95; }
.doc-page .doc-block p + p, .doc-page .doc-block p + ul, .doc-page .doc-block ul + p { margin-top: 10px; }
.doc-page .doc-block ul { padding-left: 1.4em; list-style: disc; }
.doc-page a { text-underline-offset: 3px; }
@media (min-width: 768px) {
  .doc-page .doc-section { padding-top: 88px; }
  .doc-page .doc-table > div { grid-template-columns: 220px 1fr; gap: 24px; }
}

/* フッターのロゴ(リンク化) */
.doc-page a.footer-brand { text-decoration: none; }
.doc-page a.footer-brand:hover span { text-decoration: underline; text-underline-offset: 3px; }

/* TOPページへ戻るボタン(スクロール後に表示) */
.doc-page .to-top {
  position: fixed; right: 16px; bottom: 16px; z-index: 90;
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px;
  background: var(--accent); color: #fff; text-decoration: none;
  border: 1px solid var(--accent); border-radius: 2px;
  font-size: 22px; line-height: 1;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s, transform .2s, visibility .2s, background .2s;
}
.doc-page .to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.doc-page .to-top:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.doc-page .to-top:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
@media (min-width: 768px) {
  .doc-page .to-top { right: 32px; width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .doc-page .to-top { transition: none; transform: none; }
}

/* 第15項 お問い合わせ窓口 */
.doc-page .doc-contact p { margin: 0; }
.doc-page .doc-contact p + p { margin-top: 14px; }
.doc-page .doc-contact-name { font-weight: 700; }
.doc-page .doc-contact-row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .3em; }
.doc-page .doc-contact-row a { display: inline-block; padding: 6px 0; overflow-wrap: anywhere; }
.doc-page .doc-contact-note { color: var(--text-sub); font-size: 14px; }
