/* ============================================================================
   法的・ユーティリティページ共通スタイル
   （privacy / terms / account-deletion の3ページで共有）

   LP 本体（index.html）とは別系統。ビルド工程を持たない方針のため、
   共通部だけをこのファイルに抽出し、ページ固有のスタイルは各ページの
   <style> に残す。
   ============================================================================ */

:root{
  --navy:#0b2e8a;
  --blue:#2f7bff;
  --blue-softer:#f3f8ff;
  --ink:#0a1d52;
  --ink-2:#26356f;
  --muted:#5b6890;
  --hair:#dbe5f7;
  --hair-2:#cfdcf3;
  --warn-bg:#fff6e9;
  --warn-line:#f4d59a;
  --card-bg:#ffffff;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 500px at 80% -10%, #d6e7ff 0%, rgba(214,231,255,0) 60%),
    linear-gradient(180deg, #eaf2ff 0%, #f6faff 40%, #ffffff 100%);
  -webkit-font-smoothing:antialiased;
  line-height:1.85;
  font-weight:500;
  font-feature-settings:"palt";
  min-height:100vh;
}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:720px;margin:0 auto;padding:0 20px;}

/* ============ Header ============ */
.site-header{padding:22px 0 6px;}
.brand{display:inline-flex;align-items:center;gap:10px;}
.brand img{height:34px;width:auto;display:block;}

/* ============ Card ============ */
.card{
  background:var(--card-bg);
  border:1px solid var(--hair);
  border-radius:20px;
  box-shadow:0 24px 60px -34px rgba(11,46,138,.4);
  padding:34px 30px;
  margin:20px 0 40px;
}
h1{
  font-weight:900;font-size:26px;line-height:1.4;
  margin:0 0 8px;color:var(--ink);
}
.meta{font-size:13px;color:var(--muted);margin:0 0 18px;}
.lead{font-size:15px;color:var(--ink-2);margin:0 0 22px;}

/* ============ 本文 ============ */
h2{
  font-size:17px;font-weight:700;color:var(--navy);
  margin:34px 0 12px;padding:0 0 8px;
  border-bottom:1px solid var(--hair);
}
h3{font-size:15px;font-weight:700;color:var(--ink);margin:22px 0 8px;}
p{font-size:14.5px;color:var(--ink-2);margin:0 0 12px;}
ul,ol{margin:0 0 12px;padding-left:1.3em;}
li{font-size:14.5px;color:var(--ink-2);margin:6px 0;}
li b,p b{color:var(--ink);font-weight:700;}
/* 条文内の号（入れ子リスト）は余白を詰める */
li > ul, li > ol{margin:4px 0 0;}

/* 定義リスト（事業者情報） */
dl{margin:0 0 12px;}
dt{font-size:13px;font-weight:700;color:var(--muted);margin:12px 0 2px;}
dd{font-size:14.5px;color:var(--ink);margin:0;}

/* 表。狭い画面では表だけを横スクロールさせ、本文は縦組みのまま保つ */
.table-scroll{overflow-x:auto;margin:0 0 12px;}
table{border-collapse:collapse;width:100%;min-width:460px;}
th,td{
  font-size:13.5px;text-align:left;vertical-align:top;
  padding:10px 12px;border-bottom:1px solid var(--hair);
}
th{color:var(--navy);font-weight:700;background:var(--blue-softer);white-space:nowrap;}
td{color:var(--ink-2);}

/* ============ 補足ボックス ============ */
.callout{
  background:var(--warn-bg);
  border:1px solid var(--warn-line);
  border-radius:12px;
  padding:12px 16px;margin:0 0 12px;
  font-size:13.5px;color:#7a5a1e;
}
.callout b{color:#5f4410;}
.note{
  background:var(--blue-softer);
  border:1px solid var(--hair-2);
  border-radius:12px;
  padding:12px 16px;margin:0 0 12px;
  font-size:13.5px;color:var(--ink-2);
}

/* ============ Footer ============ */
footer{padding:8px 0 40px;text-align:center;}
.foot-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:0 0 12px;}
.foot-links a{font-size:13px;color:var(--muted);font-weight:500;}
.copyright{font-size:12px;color:var(--muted);}

@media (max-width:520px){
  .card{padding:26px 18px;border-radius:16px;}
  h1{font-size:22px;}
}
