:root { --legal-blue:#075ee8; --legal-ink:#082052; --legal-text:#33476e; --legal-muted:#687795; --legal-line:#dce8f8; }
* { box-sizing:border-box; } body { min-width:320px; margin:0; background:#f8fbff; color:var(--legal-ink); font-family:"BIZ UDPGothic","Meiryo","Segoe UI",sans-serif; line-height:1.75; } a { color:var(--legal-blue); text-decoration-thickness:1px; text-underline-offset:3px; }
.legal-header { border-bottom:1px solid rgba(8,32,82,.09); background:rgba(255,255,255,.94); }.legal-header-inner { width:min(100%,1180px); min-height:60px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.legal-brand { display:inline-flex; flex:0 0 auto; }.legal-brand img { display:block; width:99px; height:auto; }.legal-header nav { display:flex; gap:22px; flex-wrap:wrap; justify-content:flex-end; }.legal-header nav a { color:var(--legal-text); font-size:13px; font-weight:700; text-decoration:none; }.legal-header nav a:hover { color:var(--legal-blue); }
.legal-main { padding:70px 24px 96px; }.legal-document { width:min(100%,820px); margin:0 auto; padding:44px clamp(22px,5vw,58px) 56px; border:1px solid var(--legal-line); border-radius:16px; background:#fff; box-shadow:0 18px 48px rgba(10,68,157,.08); }.legal-eyebrow { margin:0 0 12px; color:var(--legal-blue); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.legal-document h1 { margin:0; font-size:clamp(28px,5vw,38px); line-height:1.35; letter-spacing:-.03em; }.legal-updated { margin:12px 0 46px; color:var(--legal-muted); font-size:13px; }.legal-body h2 { margin:42px 0 12px; font-size:19px; line-height:1.55; }.legal-body h2:first-child { margin-top:0; }.legal-body p,.legal-body li,.legal-body td,.legal-body th { font-size:15px; }.legal-body p { margin:0; color:var(--legal-text); }.legal-body p + p { margin-top:14px; }.legal-body ul { margin:12px 0 0; padding-left:1.35em; color:var(--legal-text); }.legal-body li + li { margin-top:7px; }.legal-body table { width:100%; border-collapse:collapse; }.legal-body th,.legal-body td { padding:14px 16px; border:1px solid var(--legal-line); vertical-align:top; text-align:left; color:var(--legal-text); }.legal-body th { width:31%; background:#f4f8ff; color:var(--legal-ink); font-weight:800; white-space:nowrap; }
.legal-footer { padding:40px 24px; border-top:1px solid rgba(255,255,255,.08); background:#040810; color:#fff; }.legal-footer > div { width:min(100%,980px); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }.legal-footer span { font-weight:800; }.legal-footer nav { display:flex; flex-wrap:wrap; gap:10px 22px; }.legal-footer a { color:rgba(255,255,255,.68); font-size:13px; text-decoration:none; }.legal-footer a:hover { color:#fff; }.legal-footer small { color:rgba(255,255,255,.38); }
@media (max-width:640px) { .legal-header-inner { min-height:54px; padding:0 16px; }.legal-header nav { gap:14px; }.legal-header nav a:first-child { display:none; }.legal-main { padding:30px 16px 54px; }.legal-document { padding:30px 22px 38px; border-radius:12px; }.legal-updated { margin-bottom:34px; }.legal-body th,.legal-body td { display:block; width:100%; }.legal-body th { border-bottom:0; white-space:normal; }.legal-footer > div { flex-direction:column; align-items:flex-start; } }
