:root{
  --legal-bg:#f8fafc;
  --legal-surface:#ffffff;
  --legal-text:#1f2937;
  --legal-muted:#6b7280;
  --legal-link:#2563eb;
  --legal-shadow:0 1px 3px rgba(15,23,42,.08);
  --legal-radius:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--legal-bg);
  color:var(--legal-text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  line-height:1.75;
}
a{color:var(--legal-link)}
.legal-page{
  width:min(896px,calc(100% - 32px));
  margin:48px auto;
  padding:40px 32px;
  background:var(--legal-surface);
  border-radius:var(--legal-radius);
  box-shadow:var(--legal-shadow);
}
.legal-page.narrow{max-width:768px}
.legal-page h1{margin:0;font-size:clamp(28px,4vw,36px);line-height:1.3;font-weight:700}
.legal-updated{margin:8px 0 0;color:var(--legal-muted);font-size:12px}
.legal-intro{margin:24px 0 0}
.legal-page h2{margin:32px 0 0;font-size:20px;line-height:1.5;font-weight:600}
.legal-page p{margin:12px 0 0}
.legal-page ul,.legal-page ol{margin:12px 0 0;padding-left:24px}
.legal-page li+li{margin-top:4px}
.legal-page .small{font-size:14px}
.legal-page .underline{text-decoration:underline}
@media (max-width:560px){
  .legal-page{width:min(100% - 24px,896px);margin:24px auto;padding:28px 20px;border-radius:14px}
  .legal-page h1{font-size:28px}
  .legal-page h2{font-size:18px;margin-top:28px}
}
