:root{color-scheme:light;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#f1f4f7;color:#041e42}
*{box-sizing:border-box}
body{margin:0}
.page{width:min(100%,430px);margin:0 auto}
.stage{position:relative;width:100%;container-type:inline-size;background:linear-gradient(115deg,#fff 70%,#edf9fc);isolation:isolate}
.source{display:block;width:100%;height:auto}
.hero-art{height:134.8183cqw;overflow:hidden;mask-image:linear-gradient(to bottom,#000 calc(100% - 4cqw),transparent)}
.footer-art{position:relative;height:34.4666cqw;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 4cqw)}
.footer-art .source{position:absolute;left:0;bottom:0}
.support{position:relative;padding:2.8cqw 0 4cqw;overflow:hidden}
.support-top{margin-inline:6.2cqw}
.support h2{font-size:2.85cqw;line-height:1.4;font-weight:400;letter-spacing:.04em;margin:0;color:#516273}
.marquee:focus-visible{outline:2px solid #325ec4;outline-offset:2px}
.lanes{margin-top:2.2cqw}
.lane{--tone:#325ec4;min-width:0}
.marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6.2cqw,#000 calc(100% - 6.2cqw),transparent);width:100%;height:7cqw;touch-action:pan-y}
.track{display:flex;width:max-content;animation:marquee var(--duration,32s) linear infinite;will-change:transform}
.wordmarks{display:flex;align-items:center;gap:6.5cqw;padding:0 6.5cqw 0 0;margin:0;list-style:none;flex:none;white-space:nowrap}
.wordmarks li{color:var(--tone);font-size:4.4cqw;font-weight:600;line-height:1.55;letter-spacing:.015em}
.stage[data-reduced="true"] .track{animation:none;transform:none;will-change:auto}
.stage[data-reduced="true"] .wordmarks[aria-hidden="true"]{display:none}
.stage[data-reduced="true"] .marquee{overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y}
.stage[data-reduced="true"] .wordmarks{padding-inline:6.2cqw}
.marquee::-webkit-scrollbar{display:none}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cta-hotspot{position:absolute;left:6.1%;right:6.1%;top:15%;height:41.1%;border-radius:100px}
.cta-hotspot:focus-visible{outline:3px solid #325ec4;outline-offset:4px}
.preview-note{margin:14px 20px 24px;color:#677385;font-size:12px;line-height:1.7;text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:650px){.page{margin-top:20px;margin-bottom:20px}.stage{box-shadow:0 12px 48px #041e420c}}
@media(max-width:430px){:root{background:#fff}}
