:root { color-scheme: light; --ink:#65545c; --muted:#8a7375; --coral:#df8f7b; --cream:#fffaf2; --yellow:#f6d873; --mint:#a9d9c4; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--ink); font-family:"Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif; line-height:1.9; background:radial-gradient(circle at 10% 10%,rgba(246,216,115,.28),transparent 24rem),radial-gradient(circle at 90% 80%,rgba(169,217,196,.32),transparent 25rem),#fdf5ee; }
a { color:#bd705f; }
.legal-header { padding:28px 20px 10px; text-align:center; }
.legal-home { display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:800; text-decoration:none; }
.legal-home::before { content:"←"; color:var(--coral); }
.legal-main { width:min(92%,900px); margin:18px auto 48px; }
.legal-card { position:relative; overflow:hidden; padding:clamp(28px,6vw,64px); border:3px solid rgba(255,255,255,.84); border-radius:34px; background:rgba(255,253,248,.94); box-shadow:0 20px 60px rgba(116,78,73,.12); }
.legal-card::after { content:"✦"; position:absolute; right:30px; top:22px; color:var(--yellow); font-size:34px; }
.legal-eyebrow { margin:0; color:var(--coral); font-size:13px; font-weight:900; letter-spacing:.18em; }
h1 { margin:4px 0 26px; font-size:clamp(30px,6vw,48px); line-height:1.35; }
h2 { margin:34px 0 8px; padding-left:14px; border-left:6px solid var(--mint); font-size:21px; line-height:1.5; }
p, li { font-size:15px; }
ul { padding-left:1.4em; }
.legal-note { padding:15px 18px; border-radius:16px; background:#fff4d6; }
.legal-table { width:100%; border-collapse:collapse; }
.legal-table th,.legal-table td { padding:12px; border-bottom:1px solid #eaded7; text-align:left; vertical-align:top; }
.legal-table th { width:28%; color:var(--muted); }
.legal-updated { margin-top:38px; color:var(--muted); font-size:13px; }
.legal-footer { padding:22px 20px 32px; text-align:center; color:var(--muted); font-size:12px; }
.legal-footer nav { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin-bottom:8px; }
.guide-nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin:24px 0 34px; }
.guide-nav a { display:flex; align-items:center; min-height:62px; padding:12px 16px; border:2px solid #f0dfd5; border-radius:18px; background:#fff; color:var(--ink); font-size:14px; font-weight:800; line-height:1.45; text-decoration:none; box-shadow:0 7px 18px rgba(116,78,73,.06); }
.guide-nav a:hover,.guide-nav a[aria-current="page"] { border-color:#efb9a9; background:#fff5ee; }
.step-list { list-style:none; padding:0; counter-reset:steps; }
.step-list li { position:relative; margin:14px 0; padding:16px 18px 16px 58px; border-radius:18px; background:#fff8ed; }
.step-list li::before { counter-increment:steps; content:counter(steps); position:absolute; left:16px; top:15px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--coral); color:#fff; font-weight:900; }
.info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.info-box { padding:17px 19px; border-radius:18px; background:#fff; border:2px solid #efe2da; }
.info-box h2,.info-box h3 { margin:0 0 6px; padding:0; border:0; font-size:18px; }
.faq-list details { margin:12px 0; padding:14px 18px; border:2px solid #efe2da; border-radius:17px; background:#fff; }
.faq-list summary { cursor:pointer; font-weight:900; }
.faq-list details p { margin-bottom:0; }
.status-ok { color:#347a62; font-weight:900; }
@media (max-width:600px) { .legal-card{border-radius:24px}.legal-table th,.legal-table td{display:block;width:100%;padding:8px 4px}.legal-table th{padding-top:16px;border-bottom:0} }
