:root{--navy:#17345b;--orange:#e98c2d;--paper:#fffdf8;--beige:#f3eee4;--line:#ded3c2;--ink:#252b32;--muted:#68645e;--green:#2d8066}
*{box-sizing:border-box}
html{min-height:100%;background:var(--beige);-webkit-text-size-adjust:100%}
body{min-height:100%;margin:0;background:linear-gradient(180deg,#fffaf1 0,#f3eee4 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans SC","Noto Sans JP","PingFang SC","Microsoft YaHei","Hiragino Sans","Yu Gothic",sans-serif;line-height:1.75}
a{color:var(--navy)}
button{font:inherit}
.legal-shell{width:min(760px,100%);margin:0 auto;padding:18px 16px 48px}
.legal-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.legal-back{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-size:24px;text-decoration:none}
.legal-brand{font-size:14px;font-weight:900;color:var(--navy)}
.legal-brand small{display:block;color:var(--muted);font-size:11px;font-weight:700}
.legal-hero,.legal-card{border:1px solid rgba(222,211,194,.9);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(23,52,91,.08)}
.legal-hero{padding:24px;margin-bottom:14px;background:linear-gradient(135deg,#17345b,#255e88);color:#fff}
.legal-hero .eyebrow{margin:0;color:#f7b56b;font-size:11px;font-weight:900;letter-spacing:.08em}
.legal-hero h1{margin:6px 0 8px;font-size:26px;line-height:1.35}
.legal-hero p{margin:0;color:rgba(255,255,255,.82);font-size:13px}
.legal-card{padding:22px}
.legal-card h2{margin:24px 0 7px;color:var(--navy);font-size:17px;line-height:1.5}
.legal-card h2:first-child{margin-top:0}
.legal-card p,.legal-card li{font-size:13px;color:#4e5358}
.legal-card ul{padding-left:1.35em}
.legal-meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.consent-card{padding:24px}
.consent-points{display:grid;gap:9px;margin:17px 0;padding:0;list-style:none}
.consent-points li{display:flex;gap:9px;color:#49535c;font-size:13px}
.consent-points li::before{content:"✓";flex:0 0 auto;color:var(--green);font-weight:900}
.consent-check{display:flex;align-items:flex-start;gap:11px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffaf2;font-size:13px;font-weight:750}
.consent-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}
.consent-action{width:100%;min-height:50px;border:0;border-radius:14px;background:linear-gradient(90deg,#d96f23,#ef8e32);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(217,111,35,.22)}
.consent-action:disabled{filter:grayscale(.7);opacity:.48;box-shadow:none}
.consent-note{margin:12px 0 0;color:var(--muted);font-size:11px;text-align:center}
@media(max-width:520px){.legal-shell{padding:12px 10px 36px}.legal-hero,.legal-card,.consent-card{border-radius:18px}.legal-hero{padding:20px}.legal-hero h1{font-size:23px}.legal-card,.consent-card{padding:18px}}
