#thr-intro{display:none}
html.thr-intro-active{overflow:hidden}
html.thr-intro-active #thr-intro{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:#fff;color:#09284f}
.thr-intro-brand{width:min(78vw,600px);position:relative;text-align:center}
.thr-logo-frame{position:relative;aspect-ratio:1000/213;overflow:visible}
.thr-logo-frame img{display:block;width:100%;height:auto;max-width:none}
.thr-logo-symbol,.thr-logo-piece,.thr-logo-wordmark{position:absolute;inset:0}
.thr-logo-symbol{transform-origin:12.5% 50%;transform:translateX(37.5%) scale(1.4)}
.thr-logo-piece{opacity:0;will-change:transform,opacity}
.thr-logo-piece--t{clip-path:polygon(0 0,18% 0,18% 27%,10.1% 27%,10.1% 100%,0 100%)}
.thr-logo-piece--h{clip-path:inset(0 75% 0 18%)}
.thr-logo-piece--bridge{clip-path:inset(27% 82% 0 10.1%)}
.thr-logo-wordmark{clip-path:inset(0 0 0 27%);opacity:0}
.thr-intro-caption{margin:30px 0 0;font:500 clamp(11px,1.3vw,14px)/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.12em;opacity:0;color:#52677a}
.thr-intro-rule{position:absolute;left:50%;bottom:-25px;width:54px;height:2px;background:#b99a62;transform:translateX(-50%) scaleX(0);transform-origin:center}
.thr-intro-skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));min-width:76px;min-height:44px;border:0;background:none;color:#607489;font:11px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.15em;cursor:pointer;padding:12px}
.thr-intro-skip:after{content:'→';margin-left:12px}.thr-intro-skip:hover{color:#155a98}.thr-intro-skip:focus-visible{outline:2px solid #155a98;outline-offset:2px}
.thr-intro-running .thr-logo-piece--t{animation:thr-assemble-t .9s cubic-bezier(.16,1,.3,1) .08s both}
.thr-intro-running .thr-logo-piece--h{animation:thr-assemble-h .95s cubic-bezier(.16,1,.3,1) .18s both}
.thr-intro-running .thr-logo-piece--bridge{animation:thr-assemble-bridge .85s cubic-bezier(.16,1,.3,1) .38s both}
.thr-intro-running .thr-logo-symbol{animation:thr-brand-align 1s cubic-bezier(.76,0,.24,1) 1.15s both}
.thr-intro-running .thr-logo-wordmark{animation:thr-wordmark-reveal .9s cubic-bezier(.16,1,.3,1) 1.55s both}
.thr-intro-running .thr-intro-caption{animation:thr-caption-reveal .75s cubic-bezier(.16,1,.3,1) 1.95s both}
.thr-intro-running .thr-intro-rule{animation:thr-rule-draw .75s cubic-bezier(.16,1,.3,1) 2.05s both}
#thr-intro.thr-intro-leaving{pointer-events:none;animation:thr-curtain-out .75s cubic-bezier(.76,0,.24,1) both}
@keyframes thr-assemble-t{from{opacity:0;transform:translate(-14%,-35%)}to{opacity:1;transform:translate(0,0)}}
@keyframes thr-assemble-h{from{opacity:0;transform:translate(17%,25%)}to{opacity:1;transform:translate(0,0)}}
@keyframes thr-assemble-bridge{from{opacity:0;transform:translate(-3%,42%)}to{opacity:1;transform:translate(0,0)}}
@keyframes thr-brand-align{from{transform:translateX(37.5%) scale(1.4)}to{transform:translateX(0) scale(1)}}
@keyframes thr-wordmark-reveal{from{opacity:0;clip-path:inset(0 73% 0 27%);transform:translateX(18px)}to{opacity:1;clip-path:inset(0 0 0 27%);transform:translateX(0)}}
@keyframes thr-caption-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes thr-rule-draw{to{transform:translateX(-50%) scaleX(1)}}
@keyframes thr-curtain-out{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}
@media(max-width:600px){.thr-intro-brand{width:84vw}.thr-intro-caption{margin-top:25px;font-size:10px;letter-spacing:.06em}.thr-intro-rule{bottom:-22px}}
@media(prefers-reduced-motion:reduce){html.thr-intro-active #thr-intro{display:none}.thr-intro-running *{animation:none!important}}
