:root{
  --background:#f9f9ff;--foreground:#24232a;--card:#fff;--secondary:#f3f3f8;
  --muted-fg:#686874;--border:#e4e4ef;--brand:#5b5ce2;--ring:#706ee8;
  --lp-font:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:radial-gradient(ellipse 42rem 34rem at 3% -8%,rgb(136 104 242/.12),transparent 68%),radial-gradient(ellipse 40rem 32rem at 98% -4%,rgb(66 198 212/.1),transparent 66%),linear-gradient(155deg,#fbfaff 0%,#f7f9ff 48%,#f5fbfc 100%);background-attachment:fixed;color:var(--foreground);font-family:var(--lp-font);font-feature-settings:"palt";line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:4px}.legal-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgb(228 228 239/.8);background:rgb(249 249 255/.88);backdrop-filter:blur(18px)}.legal-header__inner{display:flex;align-items:center;justify-content:space-between;width:min(1160px,calc(100% - 40px));height:76px;margin:auto}.legal-brand{display:inline-flex;align-items:center;gap:10px;color:var(--foreground);font-size:18px;font-weight:900;letter-spacing:.15em;text-decoration:none}.legal-brand img{width:34px;height:34px}.legal-back{color:var(--muted-fg);font-size:12px;font-weight:700;text-decoration:none}.legal-back:hover{color:var(--brand)}.legal-shell{display:grid;grid-template-columns:230px minmax(0,760px);gap:clamp(42px,7vw,96px);width:min(1100px,calc(100% - 40px));margin:clamp(58px,8vw,100px) auto 0}.legal-aside{align-self:start;position:sticky;top:118px}.legal-kicker{margin:0;color:var(--brand);font-size:10px;font-weight:700;letter-spacing:.2em}.legal-aside h1{margin:14px 0 0;font-size:clamp(31px,4vw,48px);line-height:1.25;letter-spacing:-.035em}.legal-aside p{margin:17px 0 0;color:var(--muted-fg);font-size:12px}.legal-toc{margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}.legal-toc a{display:block;margin:9px 0;color:var(--muted-fg);font-size:11.5px;text-decoration:none}.legal-toc a:hover{color:var(--brand)}.legal-body{min-width:0;padding:clamp(26px,4vw,48px);border:1px solid rgb(228 228 239/.9);border-radius:24px;background:rgb(255 255 255/.9);box-shadow:0 24px 60px -42px rgb(65 70 150/.38)}.legal-lead{margin:0 0 44px;color:#4f4e58;font-size:14px}.legal-section{scroll-margin-top:105px}.legal-section+.legal-section{margin-top:48px;padding-top:46px;border-top:1px solid var(--border)}.legal-section h2{margin:0 0 18px;font-size:21px;line-height:1.5;letter-spacing:-.015em}.legal-section h3{margin:28px 0 10px;font-size:15px}.legal-section p,.legal-section li{color:#4f4e58;font-size:13px}.legal-section p{margin:12px 0}.legal-section ul,.legal-section ol{margin:14px 0;padding-left:1.45em}.legal-section li+li{margin-top:7px}.legal-note{padding:16px 18px;border:1px solid #dcdcf0;border-radius:12px;background:#f8f8ff}.legal-table-wrap{overflow-x:auto;margin-top:18px}.legal-table{width:100%;min-width:640px;border-collapse:collapse;font-size:12px}.legal-table th,.legal-table td{padding:13px 14px;border:1px solid var(--border);text-align:left;vertical-align:top}.legal-table th{width:18%;background:#f7f7fb;color:#45444c}.legal-table td{color:#5e5d66}.legal-body a{color:#514ed2;text-underline-offset:3px}.legal-meta{margin-top:42px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted-fg);font-size:11px}.legal-contact{display:inline-flex;margin-top:12px;padding:10px 15px;border:0;border-radius:999px;background:var(--foreground);color:#fff!important;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.legal-contact:hover{background:var(--brand)}
@media(max-width:820px){.legal-shell{grid-template-columns:1fr;gap:30px}.legal-aside{position:static}.legal-toc{display:none}.legal-aside p{max-width:640px}}
@media(max-width:600px){.legal-header__inner{width:calc(100% - 32px);height:64px}.legal-brand{font-size:16px}.legal-brand img{width:30px;height:30px}.legal-back{font-size:11px}.legal-shell{width:calc(100% - 28px);margin-top:38px}.legal-aside h1{font-size:32px}.legal-body{padding:26px 20px;border-radius:18px}.legal-section+.legal-section{margin-top:38px;padding-top:36px}.legal-section h2{font-size:19px}}
