:root{--bg:#0a0a0a;--panel:#121212;--paper:#f0ede7;--ink:#151515;--white:#f7f5f1;--sub:#a7a3a1;--red:#ed1c24;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;background:var(--bg)}
body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--white);line-height:1.9;overflow-x:hidden}
a{color:inherit;text-decoration:none}.en{font-family:Arial,"Helvetica Neue",sans-serif}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.site-header{position:fixed;z-index:200;top:18px;left:24px;right:24px;height:68px;display:flex;align-items:center;gap:32px;padding:0 24px;border:1px solid transparent;border-radius:999px;transition:.35s}.site-header.scrolled{background:rgba(8,8,8,.84);border-color:rgba(255,255,255,.13);backdrop-filter:blur(16px)}
.logo{font-size:1rem;font-weight:900;line-height:1.2;letter-spacing:.04em;white-space:nowrap}.logo b{color:var(--red)}.logo small{display:block;margin-top:3px;font-size:.49rem;font-weight:500;letter-spacing:.22em;color:#8d8989}
.gnav{margin-left:auto;display:flex;gap:22px}.gnav a{position:relative;padding:7px 0;font-size:.68rem;letter-spacing:.12em;color:#c6c2c2}.gnav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--red);transition:.3s}.gnav a:hover{color:#fff}.gnav a:hover:after{right:0}
.header-cta{padding:10px 18px;border-radius:99px;background:var(--red);font-size:.72rem;font-weight:800}.hamburger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.hamburger span{display:block;width:18px;height:1px;margin:5px auto;background:#fff}.hamburger.open span:first-child{transform:translateY(3px) rotate(45deg)}.hamburger.open span:last-child{transform:translateY(-3px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:190;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(8,8,8,.98);visibility:hidden;opacity:0;transition:.35s}.drawer.open{visibility:visible;opacity:1}.drawer a{padding:12px 20px;font-size:1.1rem;letter-spacing:.14em}
.privacy-hero{padding:clamp(170px,20vh,220px) 0 clamp(80px,10vw,130px);border-bottom:1px solid var(--line)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:.68rem;font-weight:700;letter-spacing:.22em;color:#c8c4c2}.eyebrow:before{content:"";width:24px;height:2px;background:var(--red)}
.privacy-hero h1{margin-top:24px;font-size:clamp(3rem,7vw,6.5rem);line-height:1;letter-spacing:-.04em}.privacy-hero p:last-child{max-width:650px;margin-top:30px;color:var(--sub);font-size:.96rem}
.policy{padding:clamp(80px,11vw,140px) 0;background:var(--paper);color:var(--ink)}
.policy-list{max-width:880px;margin:auto}.policy-item{display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(24px,5vw,64px);padding:clamp(36px,5vw,56px) 0;border-top:1px solid rgba(0,0,0,.14)}.policy-item:last-child{border-bottom:1px solid rgba(0,0,0,.14)}
.policy-no{color:var(--red);font-weight:800;font-size:1.15rem}.policy-item h2{font-size:clamp(1.3rem,2.5vw,1.85rem);line-height:1.5}.policy-item p{margin-top:14px;color:#5f5a57;font-size:.95rem;line-height:2}.policy-item a{text-decoration:underline;text-underline-offset:4px}
footer{padding:58px 0 100px;border-top:1px solid var(--line);color:#888;font-size:.77rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.footer-grid b{color:#fff}.footer-grid a{display:block;padding:3px 0}.footer-grid a:hover{color:var(--red)}.copyright{margin-top:30px}

@media(max-width:980px){.gnav,.header-cta{display:none}.hamburger{display:block;margin-left:auto}.site-header{left:12px;right:12px;padding:0 18px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.site-header{height:60px;top:10px}.logo small{display:none}.privacy-hero{padding-top:130px}.privacy-hero h1{font-size:clamp(2.6rem,13vw,4rem);line-height:1.08}.policy-item{grid-template-columns:1fr;gap:8px}.footer-grid{grid-template-columns:1fr}}
