/* プライバシーポリシー・運営者情報などの文章ページ用 */
.doc { max-width: 760px; margin: 0 auto; padding: 24px 16px 40px; }
.doc h1 { font-size: 22px; font-weight: 800; margin-bottom: 6px; }
.doc .updated { color: var(--muted); font-size: 12px; margin: 0 0 20px; }
.doc section { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 18px; margin-bottom: 14px; }
.doc h2 { font-size: 16px; font-weight: 800; margin-bottom: 8px; }
.doc p, .doc li { font-size: 14px; line-height: 1.8; color: #36404b; }
.doc p { margin: 0 0 8px; }
.doc p:last-child { margin-bottom: 0; }
.doc ul { margin: 0 0 8px; padding-left: 1.3em; }
.doc a { color: var(--primary); }
.doc table { width: 100%; border-collapse: collapse; font-size: 14px; }
.doc th, .doc td { text-align: left; padding: 9px 6px; border-bottom: 1px solid var(--border); vertical-align: top; }
.doc th { width: 30%; color: var(--muted); font-weight: 700; white-space: nowrap; }
.doc tr:last-child th, .doc tr:last-child td { border-bottom: 0; }
.doc .contact-btn { display: inline-flex; align-items: center; text-decoration: none; margin-top: 4px; }
.doc a.btn-primary, .doc a.btn-primary:visited { color: #fff; }
.doc .pending { display: inline-block; background: #f1f4f7; color: var(--muted); border-radius: 999px; padding: 8px 16px; font-weight: 700; font-size: 13px; }
.back { display: inline-block; margin-top: 8px; font-size: 14px; }

/* 料金一覧ページ */
.doc-wide { max-width: 880px; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.doc .price-table { min-width: 560px; }
.doc .price-table th, .doc .price-table td { white-space: normal; width: auto; }
.doc .price-table small { font-size: 11px; color: var(--muted); }
.doc .price-table thead th { color: var(--muted); font-size: 12px; border-bottom: 2px solid var(--border); }
.doc .price-table tbody th { color: var(--text); font-weight: 800; }
.doc .price-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.doc .notes { margin-top: 10px; font-size: 12px; }
.doc .notes li { font-size: 12px; color: var(--muted); line-height: 1.7; }

/* 解約方法ページ */
.doc h3 { font-size: 14px; font-weight: 800; margin: 14px 0 6px; }
.doc h3:first-of-type { margin-top: 4px; }
.doc .steps { margin: 0 0 8px; padding-left: 1.5em; }
.doc .steps li { margin-bottom: 4px; }
.doc .cancel-list { columns: 2; column-gap: 24px; }
.doc .cancel-list li { break-inside: avoid; margin-bottom: 4px; }
@media (max-width: 520px) { .doc .cancel-list { columns: 1; } }
