:root{--ink:#26352f;--muted:#65756d;--cream:#f7f5ef;--paper:#fffefa;--line:#e3e4da;--deep:#3c594b}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9}.legal-header{border-bottom:1px solid var(--line);background:#fbfaf6}.legal-header-inner{max-width:880px;margin:auto;padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.legal-brand{color:var(--ink);font-weight:800;letter-spacing:.08em;text-decoration:none}.back-link{color:var(--deep);font-size:.875rem;text-underline-offset:4px}.legal-main{max-width:880px;margin:0 auto;padding:58px 24px 90px}.eyebrow{margin:0 0 8px;color:#829882;font:700 .72rem 'DM Sans',sans-serif;letter-spacing:.18em}.legal-main h1{margin:0;font-size:clamp(2rem,5vw,3.2rem);line-height:1.35;letter-spacing:-.04em}.updated{margin:12px 0 42px;color:var(--muted);font-size:.84rem}.legal-card{padding:34px clamp(20px,5vw,52px);border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 10px 35px rgba(38,53,47,.045)}section+section{margin-top:36px;padding-top:32px;border-top:1px solid var(--line)}h2{margin:0 0 14px;color:var(--deep);font-size:1.25rem;line-height:1.5}p{margin:0 0 13px}ol,ul{margin:8px 0 0;padding-left:1.45em}li+li{margin-top:7px}a{color:var(--deep)}.note{margin-top:18px;padding:15px 17px;border-radius:10px;background:#f1f5ef;color:#425c50;font-size:.92rem}.legal-table{width:100%;border-collapse:collapse;font-size:.95rem}.legal-table th,.legal-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.legal-table th{width:30%;color:var(--deep);font-weight:700}.legal-footer{padding:28px 24px;border-top:1px solid var(--line);color:var(--muted);text-align:center;font-size:.8rem}.legal-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}@media(max-width:600px){.legal-main{padding-top:38px}.legal-card{padding:25px 18px}.legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block}.legal-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.legal-table th,.legal-table td{width:auto;padding:2px 0;border:0}.legal-table td{margin-top:4px}}
