:root{
  --bg:#f4fbfc;
  --surface:#ffffff;
  --surface-2:#eef8fa;
  --line:#b9dce1;
  --line-strong:#7fc5cd;
  --ink:#10363d;
  --muted:#617c82;
  --accent:#18c6d1;
  --accent-deep:#04a9b7;
  --accent-soft:#d9f7f8;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink)}
body{margin:0;min-height:100dvh;background:linear-gradient(180deg,#fbffff 0,#f4fbfc 420px,#edf7f8 100%)}
a{color:inherit}
.legal-shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:24px 0 80px}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.brand-link{display:inline-flex;align-items:center;text-decoration:none}
.brand-link img{display:block;width:min(280px,58vw);height:auto}
.back-link{font-size:11px;font-weight:900;letter-spacing:.08em;color:#35636a;text-decoration:none}
.legal-hero{padding:66px 0 36px;border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 12px;color:var(--accent-deep);font:900 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em}
.legal-hero h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1.14;letter-spacing:-.045em}
.legal-hero .lead{max-width:720px;margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.9}
.legal-card{margin-top:28px;padding:34px 36px;background:#fff;border:1px solid var(--line)}
.legal-card h2{margin:34px 0 10px;font-size:20px;letter-spacing:-.02em}
.legal-card h2:first-child{margin-top:0}
.legal-card p,.legal-card li{color:#486970;font-size:13px;line-height:1.9}
.legal-card ul{margin:10px 0 0;padding-left:1.25em}
.legal-card a{color:#058c98;font-weight:800}
.legal-table{width:100%;border-collapse:collapse}
.legal-table th,.legal-table td{padding:17px 18px;border-bottom:1px solid #dcebed;vertical-align:top;font-size:13px;line-height:1.8;text-align:left}
.legal-table th{width:28%;background:#f7fcfd;color:#315c63;font-weight:900}
.legal-table td{background:#fff;color:#486970}
.legal-note{margin-top:26px;padding:18px 20px;background:var(--accent-soft);border-left:3px solid var(--accent);color:#35636a;font-size:12px;line-height:1.8}
.legal-footer{margin-top:42px;padding:28px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:10px 20px}
.legal-footer a{font-size:11px;font-weight:800;color:#55777d;text-decoration:none}
.legal-footer a:hover{text-decoration:underline}
.legal-footer small{color:#839b9f;font-size:10px}
@media(max-width:640px){
  .legal-shell{width:min(100% - 24px,980px);padding-top:14px}
  .legal-header{align-items:flex-start}
  .brand-link img{width:200px}
  .back-link{font-size:10px}
  .legal-hero{padding:46px 0 26px}
  .legal-card{padding:24px 20px}
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block;width:100%}
  .legal-table tr{border-bottom:1px solid var(--line)}
  .legal-table th,.legal-table td{border:0;padding:12px 14px}
  .legal-table th{padding-bottom:4px}
  .legal-table td{padding-top:4px}
  .legal-footer{display:block}
  .legal-footer small{display:block;margin-top:18px}
}