:root{--navy:#071A2B;--frost:#7DD3FC;--ice:#E8F6FF;--orange:#FB923C;--panel:#0D2438;--muted:#94A3B8;--font:"Space Grotesk","Noto Sans JP",sans-serif;--ease:cubic-bezier(.2,.8,.2,1);--side:300px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none;width:0;height:0}body{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}
body.sz{margin:0;font-family:var(--font);color:#E2E8F0;background:var(--navy);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0 0 .45em;line-height:1.15;font-weight:700;letter-spacing:-.02em}p{margin:0 0 1em}address{font-style:normal}
.sz-skip{position:absolute;left:-999px;background:var(--orange);color:#000;padding:.7rem 1rem;z-index:300}.sz-skip:focus{left:0}
.sz-layout{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}
.sz-side{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#061525,var(--panel));border-right:1px solid rgba(125,211,252,.15);padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem;z-index:50}
.sz-side__brand{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.03em}
.sz-side__brand small{display:block;font-size:.65rem;letter-spacing:.2em;color:var(--frost);margin-top:.25rem;font-weight:600}
.sz-side__status{font-size:.75rem;color:var(--frost);border:1px solid rgba(125,211,252,.35);padding:.45rem .7rem;display:inline-flex;gap:.4rem;align-items:center;width:fit-content}
.sz-side__status::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ADE80;box-shadow:0 0 10px #4ADE80;animation:szPulse 1.6s infinite}
@keyframes szPulse{0%,100%{opacity:1}50%{opacity:.35}}
.sz-side nav{display:grid;gap:.55rem;margin-top:.5rem}
.sz-side nav a{font-size:.92rem;font-weight:600;color:var(--muted);padding:.35rem 0;border-bottom:1px solid transparent}
.sz-side nav a.is-on,.sz-side nav a:hover{color:#fff;border-color:rgba(125,211,252,.3)}
.sz-side__meta{margin-top:auto;font-size:.8rem;color:var(--muted);display:grid;gap:.5rem}
.sz-btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.2rem;font-weight:700;font-size:.9rem;border:0;cursor:pointer;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);transition:transform .25s var(--ease),filter .25s,box-shadow .25s;-webkit-tap-highlight-color:transparent}
.sz-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.sz-btn:active{transform:scale(.97)}
.sz-btn--o{background:var(--orange);color:#111}.sz-btn--f{background:var(--frost);color:#071A2B}.sz-btn--g{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);clip-path:none;border-radius:2px}
.sz-main{min-width:0}
.sz-mobilebar{display:none}
.sz-mobilebar strong{font-size:1.05rem;color:#fff;max-width:60vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sz-menubtn{display:inline-flex;width:44px;height:44px;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:1px solid rgba(125,211,252,.35);color:#fff;cursor:pointer;clip-path:none;border-radius:4px}
.sz-menubtn i{display:block;width:20px;height:2px;background:currentColor;transition:transform .3s var(--ease),opacity .3s}
.sz-menubtn[aria-expanded="true"] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.sz-menubtn[aria-expanded="true"] i:nth-child(2){opacity:0}
.sz-menubtn[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.sz-drawer{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:70}
.sz-drawer.is-open{display:block}
.sz-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(300px,86vw);background:var(--panel);padding:max(1.5rem,calc(env(safe-area-inset-top) + 1rem)) 1.5rem max(1.5rem,env(safe-area-inset-bottom));display:grid;gap:.8rem;align-content:start;border-left:1px solid rgba(125,211,252,.2);box-shadow:-12px 0 40px rgba(0,0,0,.35);overflow-y:auto;-webkit-overflow-scrolling:touch}
.sz-drawer__panel a{font-weight:600;color:var(--muted);padding:.45rem 0;min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(125,211,252,.12)}
.sz-drawer__panel a:hover,.sz-drawer__panel a:focus{color:#fff}
.sz-drawer__panel .sz-btn{margin-top:.6rem;border-bottom:0;min-height:48px}
body.is-nav-open{overflow:hidden;touch-action:none}
.sz-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.sz-hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden}
.sz-hero__media,.sz-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sz-hero__media img{animation:szKen 18s ease-in-out infinite alternate}
@keyframes szKen{from{transform:scale(1)}to{transform:scale(1.07)}}
.sz-hero__veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(7,26,43,.92) 10%,rgba(7,26,43,.55) 55%,rgba(7,26,43,.35));}
.sz-hero__copy{position:relative;z-index:2;padding:3rem clamp(1.25rem,4vw,3.5rem) 4rem;max-width:720px}
.sz-hero__brand{font-size:clamp(2.6rem,7vw,5rem);font-weight:800;color:#fff;line-height:.95}
.sz-hero__brand em{font-style:normal;color:var(--frost)}
.sz-hero h1{font-size:clamp(1.2rem,2.4vw,1.7rem);color:#fff;margin-top:1rem;font-weight:600}
.sz-hero__lead{color:rgba(226,232,240,.85);max-width:36ch}
.sz-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.sz-shimmer{position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(125,211,252,.12) 50%,transparent 60%);background-size:200% 100%;animation:szShimmer 4.5s linear infinite;pointer-events:none;z-index:1}
@keyframes szShimmer{to{background-position:-200% 0}}
.sz-sec{padding:4rem clamp(1.25rem,4vw,3rem);position:relative}
.sz-sec--diag{clip-path:polygon(0 2.5rem,100% 0,100% calc(100% - 2.5rem),0 100%);padding-top:5.5rem;padding-bottom:5.5rem;background:#0A1F33}
.sz-sec--ice{background:var(--ice);color:var(--navy)}
.sz-sec--ice .sz-muted{color:#475569}
.sz-k{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--frost);font-weight:700;display:inline-block;margin-bottom:.55rem}
.sz-sec--ice .sz-k{color:#0284C7}
.sz-head{max-width:560px;margin-bottom:2rem}
.sz-muted{color:var(--muted)}
.sz-emerg{background:linear-gradient(90deg,#7C2D12,var(--orange));color:#111;padding:1rem clamp(1.25rem,4vw,3rem);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-weight:700}
.sz-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.sz-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sz-tile{background:rgba(255,255,255,.04);border:1px solid rgba(125,211,252,.15);padding:1.25rem;overflow:hidden}
.sz-sec--ice .sz-tile{background:#fff;border-color:#CFE8F7}
.sz-tile img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:.85rem}
.sz-tile h3{font-size:1.05rem}.sz-tile .meta{color:var(--orange);font-weight:700;font-size:.9rem}
.sz-sec--ice .sz-tile .meta{color:#C2410C}
.sz-split{display:grid;grid-template-columns:1.05fr 1fr;gap:0;min-height:420px;overflow:hidden}
.sz-split__media{overflow:hidden}.sz-split__media img{width:100%;height:100%;object-fit:cover;min-height:360px}
.sz-split__copy{padding:clamp(1.5rem,4vw,3rem);display:grid;align-content:center;background:var(--panel)}
.sz-sec--ice .sz-split__copy{background:#fff}
.sz-check{display:grid;gap:.65rem}.sz-check li{padding-left:1.4rem;position:relative;color:var(--muted)}.sz-check li::before{content:"";position:absolute;left:0;top:.55em;width:.65rem;height:.65rem;background:var(--frost)}
.sz-table{width:100%;min-width:480px;border-collapse:collapse;font-size:.92rem}.sz-table th,.sz-table td{border:1px solid rgba(125,211,252,.2);padding:.85rem 1rem;text-align:left}.sz-table th{background:rgba(125,211,252,.08);color:var(--frost)}
.sz-sec--ice .sz-table th{background:#E0F2FE;color:#0369A1}.sz-sec--ice .sz-table th,.sz-sec--ice .sz-table td{border-color:#BAE6FD}
.sz-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.sz-steps li{border-top:3px solid var(--frost);padding:1.25rem 0;background:rgba(0,0,0,.15)}.sz-steps b{display:block;color:var(--frost);font-size:1.5rem;margin-bottom:.4rem}
.sz-sec--ice .sz-steps li{background:#fff}.sz-sec--ice .sz-steps b{color:#0284C7}
.sz-count{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--frost)}
.sz-quotes blockquote{margin:0 0 1rem;padding:1.25rem;border-left:3px solid var(--orange);background:rgba(255,255,255,.03)}
.sz-faq details{border:1px solid rgba(125,211,252,.2);padding:1rem;margin-bottom:.6rem;background:rgba(0,0,0,.2)}.sz-faq summary{cursor:pointer;font-weight:700}
.sz-cta{position:relative;min-height:420px;padding:4.5rem clamp(1.25rem,4vw,3rem);display:grid;place-items:center;text-align:center;overflow:hidden;background:var(--navy)}
.sz-cta__media,.sz-cta__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sz-cta__veil{position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,58,85,.88),rgba(7,26,43,.82) 50%,rgba(124,45,18,.78))}
.sz-cta__in{position:relative;z-index:2;max-width:36rem}
.sz-cta h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.4rem)}
.sz-cta .sz-muted{color:rgba(226,232,240,.85);margin:0 auto 1.25rem;max-width:34ch}
.sz-cta .sz-btn{margin-top:.25rem}
.sz-form{display:grid;gap:.9rem}.sz-form input,.sz-form textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(125,211,252,.25);background:#061525;color:#fff;font:inherit}
.sz-alert{padding:.8rem;margin-bottom:.8rem;font-weight:600}.sz-alert--ok{background:#052E16;color:#86EFAC}.sz-alert--err{background:#450A0A;color:#FCA5A5}
.sz-map iframe{width:100%;height:280px;border:0}
.sz-foot{padding:3rem clamp(1.25rem,4vw,3rem) 1.5rem;border-top:1px solid rgba(125,211,252,.15);font-size:.9rem;color:var(--muted);background:#04111C}
.sz-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2rem;margin-bottom:1.5rem}
.sz-foot__brand{display:block;color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:.5rem}
.sz-foot h3{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--frost);margin:0 0 .8rem}
.sz-foot ul{display:grid;gap:.4rem;list-style:none;padding:0;margin:0}
.sz-foot a{color:inherit}.sz-foot a:hover{color:var(--frost)}
.sz-foot address{font-style:normal;display:grid;gap:.45rem;color:#E8F4FA}
.sz-foot__social{display:grid;gap:.4rem}
.sz-foot__copy{padding-top:1.2rem;border-top:1px solid rgba(125,211,252,.12);font-size:.82rem}
@media(max-width:900px){.sz-foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sz-foot__grid{grid-template-columns:1fr}}

.js [data-sz]{opacity:0;transform:translateX(36px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0)*70ms)}
.js [data-sz].in{opacity:1;transform:none}
.js [data-sz-left]{opacity:0;transform:translateX(-36px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-sz-left].in{opacity:1;transform:none}
.js [data-sz] img,.js [data-sz-left] img{transform:scale(1.08);transition:transform 1.1s var(--ease)}
.js [data-sz].in img,.js [data-sz-left].in img{transform:scale(1)}
.sz-drawer.is-open .sz-drawer__panel a{animation:szPop .4s var(--ease) both}
.sz-drawer.is-open .sz-drawer__panel a:nth-child(1){animation-delay:.05s}.sz-drawer.is-open .sz-drawer__panel a:nth-child(2){animation-delay:.1s}.sz-drawer.is-open .sz-drawer__panel a:nth-child(3){animation-delay:.15s}.sz-drawer.is-open .sz-drawer__panel a:nth-child(4){animation-delay:.2s}.sz-drawer.is-open .sz-drawer__panel a:nth-child(5){animation-delay:.25s}.sz-drawer.is-open .sz-drawer__panel a:nth-child(6){animation-delay:.3s}
@keyframes szPop{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@media(max-width:980px){
.sz-layout{grid-template-columns:1fr}.sz-side{display:none}
.sz-mobilebar{display:flex;position:sticky;top:0;z-index:60;background:rgba(13,36,56,.96);backdrop-filter:blur(10px);padding:max(.85rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .85rem max(1rem,env(safe-area-inset-left));align-items:center;justify-content:space-between;border-bottom:1px solid rgba(125,211,252,.2)}
.sz-grid3,.sz-grid4,.sz-steps,.sz-split{grid-template-columns:1fr 1fr}
.sz-sec{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
.sz-sec--diag{clip-path:none;padding-top:3rem;padding-bottom:3rem}
.js [data-sz],.js [data-sz-left]{transform:translateY(24px);transition-duration:.7s}
.sz-hero__actions .sz-btn{min-height:48px;width:100%;box-shadow:0 12px 28px rgba(251,146,60,.35)}
.sz-tile,.sz-split{transition:transform .3s var(--ease)}
.sz-tile:active{transform:scale(.985)}
}
@media(max-width:640px){
.sz-grid3,.sz-grid4,.sz-steps,.sz-split{grid-template-columns:1fr}
.sz-hero__actions{flex-direction:column;align-items:stretch}
.sz-hero__actions .sz-btn{justify-content:center;width:100%}
.sz-hero__copy{padding-bottom:max(3rem,env(safe-area-inset-bottom))}
.sz-table{font-size:.85rem}.sz-table th,.sz-table td{padding:.65rem .75rem}
}
@media(prefers-reduced-motion:reduce){
.sz-hero__media img,.sz-shimmer,.sz-side__status::before,.sz-drawer.is-open .sz-drawer__panel a{animation:none!important}
.js [data-sz],.js [data-sz-left],.js [data-sz] img,.js [data-sz-left] img{transition:none!important;opacity:1!important;transform:none!important}
}