:root { --ink:#1f2f2b; --muted:#5d6d67; --cream:#f7f7f2; --blue:#0074bf; --blue-dark:#005d99; --green:#2f6f54; --line:#dce4df; --white:#fff; --mint:#e4f0e8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.topbar { height:78px; display:flex; align-items:center; justify-content:space-between; max-width:980px; margin:auto; padding:0 28px; border-bottom:1px solid rgba(24,33,43,.1); }
.brand { display:flex; gap:10px; align-items:center; color:var(--ink); text-decoration:none; font-size:21px; font-weight:800; }
.brand img { width:40px; height:40px; object-fit:contain; }
.back-link { color:var(--blue-dark); font-size:13px; font-weight:700; text-decoration:none; }
.back-link:hover { text-decoration:underline; }
main { max-width:860px; margin:0 auto; padding:72px 28px 90px; }
.eyebrow { margin-bottom:14px; color:var(--blue); font-size:12px; letter-spacing:.18em; font-weight:800; }
h1 { max-width:760px; margin:0; font-size:clamp(42px,7vw,68px); line-height:1.02; letter-spacing:-.055em; }
.lede { max-width:700px; margin:22px 0 0; color:var(--muted); font-size:19px; line-height:1.65; }
.updated { margin:18px 0 0; color:var(--muted); font-size:13px; }
.notice { margin:38px 0; padding:20px 22px; background:var(--mint); border-left:4px solid var(--green); border-radius:0 12px 12px 0; line-height:1.6; }
.contents { display:flex; flex-wrap:wrap; gap:10px 20px; margin:36px 0 50px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.contents strong { width:100%; font-size:13px; }
.contents a { color:var(--blue-dark); font-size:13px; font-weight:700; }
.policy-section { padding:34px 0; border-top:1px solid var(--line); }
.policy-section h2 { margin:0 0 14px; font-size:27px; letter-spacing:-.035em; }
.policy-section h3 { margin:26px 0 8px; font-size:18px; }
.policy-section p,.policy-section li { color:#43544e; line-height:1.7; }
.policy-section p { margin:10px 0; }
.policy-section ul,.policy-section ol { margin:12px 0; padding-left:24px; }
.policy-section li+li { margin-top:8px; }
a { color:var(--blue-dark); }
.data-table { width:100%; margin:20px 0; border-collapse:collapse; background:#fff; border:1px solid var(--line); }
.data-table th,.data-table td { padding:15px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); line-height:1.55; }
.data-table th { color:var(--ink); background:#edf3ef; font-size:13px; }
.data-table td { color:#43544e; font-size:14px; }
.data-table tr:last-child td { border-bottom:0; }
.contact-card { padding:24px; background:var(--ink); color:#fff; border-radius:16px; }
.contact-card h2 { color:#fff; }
.contact-card p { color:#dce7e2; }
.contact-card a { color:#fff; font-weight:800; }
.site-footer { max-width:980px; margin:auto; padding:28px; color:var(--muted); border-top:1px solid var(--line); font-size:12px; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:10px 20px; margin-bottom:12px; }
.site-footer a { color:var(--blue-dark); font-weight:700; }
.site-footer p { margin:0; }
@media (max-width:640px) { main{padding-top:48px}.topbar{padding:0 20px}.back-link{font-size:0}.back-link::after{content:"Home";font-size:13px}.data-table,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table thead{display:none}.data-table tr{border-bottom:1px solid var(--line)}.data-table td{border:0}.data-table td:first-child{padding-bottom:0;color:var(--ink);font-weight:800} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
