:root { --ink:#0b1f2d; --ink2:#153447; --paper:#f5f1e8; --accent:#f0a34d; --muted:#63717b; --line:rgba(11,31,45,.13); }
* { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; }
a { color:inherit; }
.legal-header { display:flex; min-height:76px; padding:12px max(20px,calc((100% - 1120px)/2)); align-items:center; justify-content:space-between; gap:20px; color:#fff; background:var(--ink); }
.legal-brand { display:flex; flex-direction:column; text-decoration:none; }
.legal-brand strong { font-size:15px; }
.legal-brand small { margin-top:3px; color:rgba(255,255,255,.58); font-size:8px; letter-spacing:.14em; }
.legal-back { padding:10px 14px; border:1px solid rgba(255,255,255,.25); border-radius:99px; text-decoration:none; font-size:11px; font-weight:800; }
.legal-hero { padding:clamp(62px,9vw,110px) 20px clamp(45px,7vw,80px); color:#fff; background:linear-gradient(135deg,var(--ink),var(--ink2)); }
.legal-container { width:min(940px,100%); margin-inline:auto; }
.legal-kicker { margin:0; color:var(--accent); font-size:10px; font-weight:900; letter-spacing:.18em; }
.legal-hero h1 { margin:16px 0 0; font-size:clamp(34px,6vw,66px); letter-spacing:-.055em; line-height:1.2; }
.legal-hero p:last-child { max-width:680px; margin:22px 0 0; color:rgba(255,255,255,.68); font-size:12px; line-height:1.9; }
.legal-content { padding:clamp(50px,8vw,90px) 20px 110px; background:#fff; }
.legal-section { padding:34px 0; border-top:1px solid var(--line); }
.legal-section:first-child { padding-top:0; border-top:0; }
.legal-section h2 { margin:0 0 17px; font-size:22px; letter-spacing:-.03em; }
.legal-section p,.legal-section li { color:var(--muted); font-size:12px; line-height:2; }
.legal-section ul { margin:12px 0 0; padding-left:1.5em; }
.legal-table { width:100%; border-collapse:collapse; }
.legal-table th,.legal-table td { padding:18px 16px; border-top:1px solid var(--line); text-align:left; vertical-align:top; font-size:12px; line-height:1.9; }
.legal-table th { width:220px; color:var(--ink); background:#faf8f2; }
.legal-table td { color:var(--muted); }
.legal-note { margin-top:30px; padding:18px 20px; color:#765126; background:#fff7eb; border-radius:14px; font-size:11px; line-height:1.8; }
.legal-footer { padding:35px 20px; color:rgba(255,255,255,.6); background:var(--ink); text-align:center; font-size:9px; }
.legal-footer nav { display:flex; margin-bottom:17px; justify-content:center; flex-wrap:wrap; gap:12px 22px; }
.legal-footer a { color:#fff; }
@media (max-width:640px) {
  .legal-header { min-height:66px; padding:10px 14px; }
  .legal-brand strong { font-size:11px; }
  .legal-back { padding:9px 11px; font-size:9px; }
  .legal-hero { padding-top:55px; }
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td { display:block; width:100%; }
  .legal-table th { padding-bottom:7px; }
  .legal-table td { padding-top:9px; border-top:0; }
}
