/* ============================================================
   規約・ポリシー・注意・問い合わせページ共通のスタイル(V3.9)
   診断画面(index.html)と同じ配色。スマホで読みやすい文字サイズと
   行間にし、横スクロールが出ないようにする。
   ============================================================ */
:root{
  --bg:#f3f2ee;
  --surface:#ffffff;
  --surface-muted:#faf9f6;
  --ink:#1c1c1a;
  --ink-muted:#63615a;
  --border:#ddd9d0;
  --accent:#222220;
  --accent-warm:#a6491d;
  --focus:#2f6fed;
  --radius:10px;
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:var(--ink);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}

.page{max-width:720px;margin:0 auto;padding:20px 16px 32px;}
.page-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13.5px;font-weight:700;text-decoration:none;}
.doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 18px;overflow-wrap:anywhere;}
.doc h1{margin:0 0 6px;font-size:21px;line-height:1.4;}
.doc .doc-meta{margin:0 0 18px;font-size:12.5px;color:var(--ink-muted);}
.doc h2{margin:26px 0 8px;padding-top:14px;border-top:1px solid var(--border);font-size:16.5px;line-height:1.5;}
.doc h2:first-of-type{border-top:0;padding-top:0;}
.doc h3{margin:16px 0 6px;font-size:14.5px;}
.doc p,.doc li{font-size:14.5px;line-height:1.85;}
.doc p{margin:0 0 10px;}
.doc ul,.doc ol{margin:0 0 12px;padding-left:1.4em;}
.doc li{margin:0 0 4px;}
.doc .callout{margin:0 0 14px;padding:12px 14px;border-left:4px solid var(--accent-warm);background:#fbf1ea;border-radius:6px;}
.doc .callout p:last-child,.doc .callout ul:last-child{margin-bottom:0;}
.doc dl.info-table{margin:0 0 12px;}
.doc dl.info-table dt{font-weight:700;font-size:14px;margin:10px 0 2px;}
.doc dl.info-table dd{margin:0 0 0 0;font-size:14px;line-height:1.8;color:var(--ink);}

/* 問い合わせフォーム */
.form-field{margin:0 0 16px;}
.form-field label,.form-field .label{display:block;font-size:14px;font-weight:700;margin:0 0 6px;}
.form-field .hint{margin:4px 0 0;font-size:12.5px;color:var(--ink-muted);line-height:1.6;}
.form-field select,.form-field input,.form-field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;padding:10px 12px;}
.form-field textarea{min-height:150px;resize:vertical;line-height:1.7;}
.counter{display:block;text-align:right;font-size:12px;color:var(--ink-muted);margin-top:4px;}
.counter.over{color:var(--accent-warm);font-weight:700;}
.btn-submit{display:block;width:100%;padding:13px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;}
.btn-submit:disabled{opacity:.55;cursor:default;}
.form-status{margin:12px 0 0;padding:10px 12px;border-radius:8px;font-size:13.5px;line-height:1.7;}
.form-status.error{background:#fbf1ea;border-left:4px solid var(--accent-warm);}
.form-status.success{background:#eef6ef;border-left:4px solid #3f8a52;}

/* 共通フッター(診断画面・ログイン画面・各ページ) */
.site-footer{max-width:720px;margin:0 auto;padding:18px 16px 28px;text-align:center;}
.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;}
.site-footer a{font-size:13px;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px;padding:4px 0;}
.site-footer .footer-note{margin:10px 0 0;font-size:11.5px;color:var(--ink-muted);}
