:root{--blue:#2563eb;--blue-d:#1d4ed8;--ink:#1c2b3a;--muted:#5b6b7d;--line:#e2e8f0}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Poppins","Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
.legal-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}
.legal-header .inner{max-width:960px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.legal-header img{height:40px;width:auto;max-width:240px;display:block;object-fit:contain}
.legal-header .back{font-size:14px;font-weight:600;text-decoration:none;color:var(--blue);white-space:nowrap}
.legal-header .back:hover{text-decoration:underline}
.legal-main{max-width:840px;margin:0 auto;padding:36px 20px 56px}
h2.center,.h2text-cotainer h2{text-align:center;margin:0 0 4px}
.h2-main{display:block;font-size:27px;font-weight:800;color:var(--ink);letter-spacing:.01em;line-height:1.35}
.h2-margin{margin:0}
.h2text-cotainer > p:first-of-type,.h2text-cotainer > .text16:first-of-type{text-align:center;color:var(--muted)}
.h2-sub2{font-size:17px;font-weight:700;color:var(--blue-d);margin:30px 0 8px;padding-top:16px;border-top:1px solid var(--line)}
.text16{font-size:15px;color:#33424f;margin:0 0 12px}
.margin-top05{margin-top:8px}
.legal-footer{background:#0f1f3a;color:#cdd8ea;margin-top:24px}
.legal-footer .inner{max-width:960px;margin:0 auto;padding:32px 20px;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}
.legal-footer .brand{font-weight:800;color:#fff;font-size:16px;letter-spacing:.04em}
.legal-footer address{font-style:normal;font-size:13px;color:#9fb0c8;margin-top:8px;line-height:1.7}
.legal-footer nav a{display:block;color:#cdd8ea;text-decoration:none;font-size:14px;padding:5px 0}
.legal-footer nav a:hover{color:#fff}
.legal-footer .btn{display:inline-block;margin-top:12px;background:linear-gradient(180deg,var(--blue),var(--blue-d));color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:10px 22px;border-radius:999px}
.legal-footer .copy{width:100%;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:4px;font-size:12px;color:#8394ad;text-align:center}
@media(max-width:640px){.h2-main{font-size:22px}.legal-main{padding:26px 18px 44px}}
