/* =====================================================================
   light.css  →  ダーク統一版（旧クラス名を維持したままダークテーマ化）
   サイト全体のダーク・エディトリアルに合わせ、規約／サービス系ページを
   可読性高く整える。class名は据え置きでマークアップ変更を最小化。
   ===================================================================== */
:root{
  --bg:#050505;
  --fg:#f2f2f2;
  --muted:rgba(242,242,242,.72);
  --line:rgba(242,242,242,.18);
  --line2:rgba(242,242,242,.12);
  --surface:rgba(255,255,255,.03);
  --accent:#ddb55e;
  --accent-soft:rgba(221,181,94,.16);
  --shadow:0 22px 80px rgba(0,0,0,.55);
  --container:760px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:
    radial-gradient(1100px 600px at 50% -5%, rgba(255,255,255,.05), transparent 60%),
    var(--bg);
  color:var(--fg);
  font-family: Inter, "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:15px;
  line-height:1.65;
  letter-spacing:.2px;
  -webkit-font-smoothing:antialiased;
}

a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent-soft); color:#fff; }

.container{
  width:min(var(--container), calc(100% - 44px));
  margin-inline:auto;
}

/* ── Header ── */
.lightTopbar{
  position:sticky; top:0; z-index:40;
  background:rgba(5,5,5,.65);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.lightTopbar__inner{
  display:flex; justify-content:space-between; align-items:center;
  width:min(1120px, calc(100% - 44px)); margin-inline:auto;
  padding:14px 0;
}
.lightBrand{
  display:inline-flex; align-items:center; padding:8px 14px;
  border:1px solid var(--line);
  font-family:"Cormorant Garamond", serif; letter-spacing:.04em;
  transition:border-color .2s var(--ease);
}
.lightBrand:hover{ border-color:rgba(242,242,242,.4); }
.lightNav a{
  margin-left:16px;
  font-family:"Cormorant Garamond", serif; letter-spacing:.04em;
  color:rgba(242,242,242,.82);
  transition:color .18s var(--ease);
}
.lightNav a:hover{ color:var(--accent); }

/* ── Article ── */
.article{ padding:46px 0 72px; }
.article h1{
  font-family:"Cormorant Garamond", serif; letter-spacing:.06em;
  font-size:clamp(26px, 4vw, 34px); font-weight:600;
  margin:0 0 8px;
}
.article .meta{
  color:var(--muted); font-size:12.5px; letter-spacing:.06em; margin:0 0 18px;
}
.legalKicker{
  margin:0 0 8px;
  color:var(--accent);
  font-family:"Cormorant Garamond", serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.articleLead{
  margin:0 0 18px;
  color:var(--muted);
  font-size:14px;
  line-height:1.9;
}
.hr{
  height:1px;
  background:linear-gradient(90deg, var(--accent), var(--line) 40%, transparent);
  border:none; margin:18px 0 26px;
}

.legalNav,
.legalToc{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.legalNav{
  margin:22px 0 16px;
}
.legalNav a,
.legalToc a{
  border:1px solid var(--line);
  background:var(--surface);
  color:rgba(242,242,242,.76);
  transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);
}
.legalNav a{
  border-radius:999px;
  padding:8px 14px;
  font-size:12.5px;
  letter-spacing:.04em;
}
.legalNav a:hover,
.legalNav a[aria-current="page"]{
  background:var(--accent-soft);
  border-color:rgba(221,181,94,.5);
  color:var(--fg);
}
.legalToc{
  margin:0 0 8px;
  padding:16px;
  border:1px solid var(--line2);
  border-radius:16px;
  background:rgba(255,255,255,.02);
}
.legalToc a{
  border-radius:999px;
  padding:6px 11px;
  font-size:12px;
  line-height:1.5;
}
.legalToc a:hover{
  transform:translateY(-1px);
  border-color:rgba(242,242,242,.34);
  color:var(--fg);
}

/* ── Card ── */
.cardLight{
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:16px;
  padding:26px 24px;
  box-shadow:var(--shadow);
}

h2{
  margin:28px 0 10px;
  font-family:"Cormorant Garamond", serif; letter-spacing:.06em;
  font-size:18px; font-weight:600;
  display:flex; align-items:center; gap:10px;
}
h2::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--accent); flex-shrink:0;
}
.cardLight > h2:first-child{ margin-top:4px; }
h3{ margin:18px 0 8px; font-size:15px; font-weight:600; color:rgba(242,242,242,.92); }

p, li{ color:var(--muted); line-height:1.95; font-size:14.5px; }
.cardLight p{ margin:0 0 12px; }
.cardLight ul, .cardLight ol{ margin:0 0 12px; padding-left:1.4em; }
.cardLight li{ margin:4px 0; }
.cardLight li::marker{ color:rgba(221,181,94,.7); }
.cardLight a:not(.btnPill){
  color:var(--accent);
  text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:rgba(221,181,94,.45);
  transition:text-decoration-color .2s var(--ease);
}
.cardLight a:not(.btnPill):hover{ text-decoration-color:var(--accent); }
.legalDoc{ scroll-margin-top:84px; }
.legalDoc h2{ scroll-margin-top:84px; }
.legalDoc h3{
  padding-top:4px;
  color:rgba(242,242,242,.9);
}
.ruleBreak{
  height:1px;
  margin:24px 0 4px;
  background:linear-gradient(90deg, transparent, var(--line2), transparent);
}
.placeholderLine{
  color:rgba(242,242,242,.68);
}
.small{ color:rgba(242,242,242,.55); font-size:12.5px; }

/* ── FAQ ── */
.faq h3{ margin-top:18px; }
.faq .q{ font-weight:600; color:rgba(242,242,242,.92); }
.faq .a{ color:var(--muted); }

/* ── Button（style.css の btnPill と同調） ── */
.btnPill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 18px; border-radius:999px;
  border:1px solid var(--line);
  font-size:13.5px; letter-spacing:.06em;
  background:var(--fg); color:var(--bg);
  transition:transform .18s var(--ease), box-shadow .28s var(--ease), background .18s var(--ease);
}
.btnPill:hover{ transform:translateY(-2px); background:#fff; box-shadow:0 10px 28px rgba(0,0,0,.5); }

a:focus-visible, button:focus-visible, .btnPill:focus-visible{
  outline:2px solid var(--accent); outline-offset:3px; border-radius:6px;
}

/* ── Footer ── */
.footerLight{
  border-top:1px solid var(--line);
  padding:20px 0;
  color:rgba(242,242,242,.6);
  font-size:12.5px;
}
.footerLight__inner{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  width:min(1120px, calc(100% - 44px)); margin-inline:auto;
}
.footerLight__inner--stack{
  align-items:flex-start;
}
.footerLegalLinks{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 16px;
}
.footerLight a{
  color:rgba(242,242,242,.72);
  text-decoration:underline; text-underline-offset:4px;
  transition:color .18s var(--ease);
}
.footerLight a:hover{ color:var(--accent); }

@media (max-width: 720px){
  .article{ padding-top:34px; }
  .lightTopbar__inner,
  .footerLight__inner{
    width:min(100% - 32px, 1120px);
  }
  .lightNav a{ margin-left:10px; }
  .cardLight{ padding:22px 18px; }
  .legalToc{ padding:12px; }
  .footerLight__inner,
  .footerLegalLinks{
    justify-content:flex-start;
  }
  .footerLight__inner{
    flex-direction:column;
  }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
