:root{--font-display:'Benne',serif;--font-body:'Noto Sans',sans-serif;--font-accent:'Noto Sans JP',sans-serif}
body,button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3,h4,.arrival-copy p,.cap p,.footer-mark span,nav .mark span{font-family:var(--font-display);font-weight:400;font-style:normal}
.arrival-copy h1{letter-spacing:-.045em;font-size:clamp(4.2rem,6.2vw,7.5rem)}.arrival-copy p{font-size:clamp(1.3rem,1.8vw,1.8rem)}nav .mark span{font-size:24px}.footer-mark span{font-size:clamp(42px,6vw,80px)}
#about .principle .pnum{font-family:var(--font-accent)}#about h2,#contact h2{letter-spacing:-.035em;line-height:1.02}
#about .principle h4{font-family:var(--font-display);font-size:32px;line-height:1.1}.wpage .whead h3{font-family:var(--font-display);font-size:clamp(30px,3vw,46px)}
#story{height:820svh}#stage{height:100svh;overflow:hidden;background:#02090b}
#story-art .film-poster{width:100%;height:100%;object-fit:cover}#film-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
#story-art:after{background:linear-gradient(180deg,#02090b30,transparent 40%,#02090b26 65%,#02090be6)}
#story .cap{bottom:16%;left:8%;right:8%;will-change:transform,opacity}
#story .cap p{font-family:var(--font-display);font-size:clamp(32px,4vw,64px);line-height:1.06;max-width:23ch;letter-spacing:-.025em;text-shadow:0 2px 28px #000a;color:#e5f4e9}
#mark{pointer-events:none}#mark h2{font-family:var(--font-display);font-size:clamp(52px,8vw,110px);line-height:1;letter-spacing:-.03em;text-transform:none}#mark #logo{width:110px;height:110px;object-fit:contain;margin:0 auto 18px}#mark .tag{font:22px/1.3 var(--font-display)}
.story-skip{position:absolute;right:5vw;bottom:30px;z-index:6;font:12px/1.5 var(--font-body);color:#b6ddca;text-decoration:none;border-bottom:1px solid #9ee4bd55;padding:10px 0}.story-skip:hover{color:#effff4}
.film-status{position:absolute;left:8%;bottom:30px;max-width:60%;font:12px/1.5 var(--font-body);color:#afc5bb;z-index:5}
#about .seals{border-top:0;padding-top:0}.seals-label{font-family:var(--font-body);letter-spacing:.15em!important}
.seal-list{gap:0;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #a5d7bb25;border-bottom:1px solid #a5d7bb25;padding:12px 0}
#about .seal{border:0;border-radius:0;background:none;min-height:85px;padding:18px 14px;gap:13px;box-shadow:none;transform:none;font:13px/1.5 var(--font-body);color:#afc5ba}
#about .seal img{border-radius:0;width:34px;height:34px;filter:saturate(.35);opacity:.8;transition:filter .25s,opacity .25s}
#about .seal:hover,#about .seal:focus-visible{background:#a0f0c405;box-shadow:none;color:#effff4;transform:none;outline-offset:-2px}#about .seal:focus-visible{outline:1px solid #a2e5c4}#about .seal:hover img{filter:saturate(1);opacity:1}.seal-arrow{font-size:15px;opacity:0;transition:opacity .25s}#about .seal:hover .seal-arrow,#about .seal:focus-visible .seal-arrow{opacity:1}
.form-note{font:11px/1.75 var(--font-body);color:#96b4a6}.form-note a,.footer-links a{color:#b5dfc9;text-decoration:none;text-underline-offset:4px}.form-note a{text-decoration:underline}.footer-links{display:flex;gap:24px;padding:0 0 24px;font:12px/1.5 var(--font-body)}.footer-links a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid #b6f4d4;outline-offset:5px}.skip-content{position:fixed;left:20px;top:-100px;z-index:200;background:#b3f0d1;color:#092017;padding:14px 20px;border-radius:30px;font:14px var(--font-body)}.skip-content:focus{top:18px}
.legal-page{max-width:820px;margin:auto;padding:60px 24px 90px;color:#b4c9be}.legal-brand{display:inline-flex;align-items:center;gap:12px;color:#dff0e4;text-decoration:none;font:27px var(--font-display)}.legal-brand img{width:44px;height:44px}.legal-page h1{font:64px/1.1 var(--font-display);margin:60px 0 20px;color:#e5f3e9}.legal-page h2{font:32px/1.2 var(--font-display);margin:38px 0 12px;color:#def1e3}.legal-page p,.legal-page li{font:15px/1.85 var(--font-body);margin-bottom:16px}.legal-page a{color:#b5e7ca}.legal-page ul{padding-left:22px}.legal-back{display:inline-block;margin-top:30px}.legal-date{font-size:12px!important;color:#84a695}
@media(max-width:700px){#story{height:760svh}#story-art .film-poster{object-fit:contain}#story .cap{bottom:15%;left:7%;right:7%}#story .cap p{font-size:34px;max-width:22ch;line-height:1.12}#story-art:after{background:linear-gradient(180deg,#02090b,transparent 32%,transparent 65%,#02090b)}.story-skip{bottom:20px}.film-status{bottom:60px;max-width:85%}.arrival-copy h1{font-size:clamp(48px,12vw,76px)}nav .mark span{font-size:20px}#about .principle h4{font-size:31px}.seal-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 0}#about .seal{padding:15px 7px;min-height:72px;gap:9px;font-size:12px}#about .seal img{width:30px;height:30px}.legal-page h1{font-size:48px}.footer-links{gap:18px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#rmstack{display:block}#rmstack figure{margin:0;background:#02090b}#rmstack img{height:auto;object-fit:contain}#rmstack figcaption{padding:25px 7vw 50px}#rmstack figcaption p{font:30px/1.3 var(--font-display);margin-bottom:18px}#about .seal img,.seal-arrow{transition:none}}

@media(max-width:700px){#story-art .film-poster{top:16%;height:68%;object-fit:cover;object-position:center}}
