:root{--navy:#12345b;--blue:#1f5f99;--pale:#eef5fb;--line:#d7e0e8;--text:#263442;--muted:#6a7682;--white:#fff;--shadow:0 10px 30px rgba(18,52,91,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:Arial,"Noto Sans JP","Yu Gothic",sans-serif;color:var(--text);background:#f7f9fb;line-height:1.8}.container{width:min(1160px,calc(100% - 36px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{width:min(1160px,calc(100% - 36px));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{display:block;width:170px;height:auto}.language-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fff}.lang-button{border:0;background:transparent;padding:8px 16px;border-radius:999px;font-weight:700;color:var(--muted);cursor:pointer}.lang-button.active{background:var(--navy);color:white}.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:56px 0}.eyebrow{margin:0 0 8px;letter-spacing:.16em;font-size:13px;font-weight:700;opacity:.82}.hero h1{font-size:clamp(34px,5vw,54px);line-height:1.2;margin:0}.updated{margin:14px 0 0;opacity:.86}.policy-shell{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start;padding:42px 0 70px}.toc{position:sticky;top:106px;background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.toc-title{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;margin:0 0 10px}.toc nav{display:flex;flex-direction:column}.toc a{color:#405367;text-decoration:none;padding:7px 0;border-bottom:1px solid #edf1f4;font-size:14px}.toc a:last-child{border-bottom:0}.toc a:hover{color:var(--blue)}.policy-content{background:white;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,5vw,54px);box-shadow:var(--shadow);min-width:0}.language-panel>p:first-child{font-size:18px;color:#34495e}.policy-content section{padding-top:12px;margin-top:30px}.policy-content h2{font-size:23px;line-height:1.45;color:var(--navy);margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--pale)}.policy-content h3{font-size:17px;color:var(--blue);margin:24px 0 8px}.policy-content p{margin:10px 0}.policy-content ul{margin:10px 0 18px;padding-left:1.4em}.policy-content li{margin:5px 0}.policy-content a{color:var(--blue)}.contact-card{background:var(--pale);border-radius:12px;padding:24px!important;margin-top:42px!important}.contact-card h2{border-bottom:0;margin-bottom:8px}.site-footer{background:#0d2948;color:white;padding:24px 0}.site-footer p{margin:0;font-size:14px;opacity:.85}.language-panel[hidden],.toc nav[hidden]{display:none!important}
@media(max-width:880px){.policy-shell{grid-template-columns:1fr}.toc{position:static}.toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.brand img{width:145px}}
@media(max-width:560px){.header-inner{height:68px}.container,.header-inner{width:min(100% - 24px,1160px)}.brand img{width:125px}.lang-button{padding:7px 11px}.hero{padding:40px 0}.policy-shell{padding-top:24px}.policy-content{padding:22px 18px}.toc nav{grid-template-columns:1fr}.policy-content h2{font-size:20px}}
@media print{.site-header,.toc,.site-footer{display:none}.hero{background:white;color:black;padding:0 0 20px}.policy-shell{display:block;padding:0}.policy-content{border:0;box-shadow:none;padding:0}.language-panel[hidden]{display:none!important}body{background:white}.policy-content section{break-inside:avoid}}
