@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--navy:#102a35;--ink:#153948;--paper:#eaf1f0;--white:#f8fbf7;--blue:#78bacb;--line:#b6cacb;--muted:#506c76}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--navy);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cd803e;outline-offset:5px}::selection{background:#86c7d2;color:#102a35}.skip{position:fixed;top:-60px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}.header{height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;color:var(--white);position:absolute;z-index:10;width:100%;top:0}.brand{font:italic 48px Georgia,serif;letter-spacing:-6px;display:flex;align-items:center;gap:22px}.brand span{font:9px/1.5 'DM Sans',sans-serif;letter-spacing:1.5px}.header nav{display:flex;gap:28px;align-items:center;font-size:12px}.header button{background:none;color:inherit;border:1px solid #ffffff45;border-radius:30px;padding:10px 15px;font-size:11px}
.journey{height:490vh;position:relative;padding-top:90px}.stage{position:sticky;top:12px;height:calc(100svh - 24px);max-height:1050px;padding:0 3%;min-height:560px}.stage-inner{position:relative;width:100%;height:100%;border:1px solid #a7d0d6;border-radius:20px;background:var(--paper);overflow:hidden;isolation:isolate;box-shadow:0 0 0 4px #78bacb13,0 24px 80px #0003}.stage-top,.stage-bottom{position:absolute;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.4px;z-index:4}.stage-top{top:24px}.stage-bottom{bottom:22px}.stage-bottom .illustration-label{font-size:9px;letter-spacing:.05em;opacity:.8}.stage-top .live-label{font-size:10px;letter-spacing:.06em}.progress{position:absolute;bottom:0;height:3px;background:#2c7484;transform-origin:left;left:0;width:100%;transform:scaleX(0);z-index:6}canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y}canvas:active{cursor:grabbing}.chapter{position:absolute;top:14%;left:6%;bottom:13%;right:7%;pointer-events:none;opacity:0;visibility:hidden;will-change:opacity,transform,filter}.chapter.active{visibility:visible}.chapter a{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 18px}.chapter h1{font:500 clamp(88px,10.6vw,158px)/.82 'DM Sans',sans-serif;letter-spacing:-.085em;margin:0}.chapter h1 em{font:italic 1.03em/.97 Georgia,serif;letter-spacing:-.07em}.chapter-sub{font-size:22px;letter-spacing:.14em;margin:22px 0}.chapter-sub span{font-size:10px;margin-left:16px;letter-spacing:.05em}.chapter h2{font-size:clamp(31px,4.1vw,60px);font-weight:500;line-height:1.5;letter-spacing:-.055em;margin:26px 0 18px}.chapter h2 em{font-family:'Yu Mincho',serif;font-style:normal;font-weight:500}.chapter-desc{font-size:13px;line-height:2.1;letter-spacing:.03em}.note{position:absolute;bottom:0;left:0;width:290px;padding:20px 25px;background:#f8fbf7f5;box-shadow:0 12px 25px #16364213;border-left:2px solid var(--blue)}.note p{font-size:15px;line-height:1.85;margin:0 0 16px;letter-spacing:.02em}.note a{display:flex;justify-content:space-between;align-items:center;font-size:10px;border-top:1px solid #b6cacb88;padding-top:12px}.note a span{font-size:20px}.note-label{font-size:8px;letter-spacing:1.2px;display:block;margin-bottom:14px}.chapter[data-chapter="0"] .note{left:auto;right:0;width:265px}.chapter[data-chapter="0"] .note p{font-size:17px}.chapters{position:absolute;right:13px;top:43%;display:flex;flex-direction:column;gap:13px;z-index:5}.chapters a{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:52px;min-height:22px}.chapters span{font-size:9px;opacity:0}.chapters i{width:5px;height:5px;background:#668792;display:block;transition:transform .2s}.chapters a[aria-current] span,.chapters a:hover span{opacity:1}.chapters a[aria-current] i{background:#205869;transform:rotate(45deg) scale(1.5)}.scene-tools{position:absolute;right:7%;bottom:9%;display:flex;align-items:center;gap:20px;z-index:3;font-size:9px;letter-spacing:1.5px}.scene-tools button{background:#f8fbf7d9;padding:9px 13px;border:1px solid #b6cacb;font-size:16px;border-radius:30px;display:flex;align-items:center;gap:6px}.scene-tools button span{font-size:9px;letter-spacing:0}.waypoint{position:absolute;left:0;height:1px;top:120vh}#design{top:240vh}#play{top:360vh}
.work-section{position:relative;background:var(--white);padding:120px 9% 90px;border-radius:22px 22px 0 0;z-index:2}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:0 80px;margin-bottom:65px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.4;letter-spacing:-.04em;margin:0}.section-heading h2 em{font-family:'Yu Mincho',serif;font-weight:400;font-style:normal}.section-heading>p:last-child{font-size:13px;line-height:2.2;align-self:end;color:var(--muted)}.work-item{border-top:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:1.35fr 1fr;gap:80px;scroll-margin-top:30px}.work-kind{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.work-title h3{font:500 clamp(30px,4vw,48px)/1.25 'DM Sans',sans-serif;letter-spacing:-.05em;margin:18px 0}.work-title h3 span{display:block;font:500 14px/1.5 'Noto Sans JP',sans-serif;letter-spacing:0;margin-top:12px}.work-body>p{font-size:14px;line-height:2;margin:0 0 22px}.work-body details{border-top:1px solid #b6cacb80;border-bottom:1px solid #b6cacb80}.work-body summary{cursor:pointer;display:flex;justify-content:space-between;font-size:11px;padding:14px 0;list-style:none}.work-body summary::-webkit-details-marker{display:none}.work-body details[open] summary span{transform:rotate(45deg)}.work-body details p{font-size:12px;line-height:2;color:var(--muted);margin:0;padding:0 0 15px}.tags{font-size:9px;letter-spacing:.05em;color:var(--muted);margin-top:20px}.about{padding:100px 9%;display:grid;grid-template-columns:1.35fr 1fr;gap:80px;background:#d6e6e7}.about-name h2{font-family:'Yu Mincho',serif;font-size:58px;letter-spacing:.16em;font-weight:400;margin:35px 0 15px}.about-name>span{font-size:11px;letter-spacing:1px}.about-copy h3{font-size:28px;line-height:1.65;font-weight:500;margin:0 0 26px}.about-copy p{font-size:13px;line-height:2.15;color:#365663}.about-copy button{background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 20px;margin-top:28px;font-size:12px}.about-copy small{display:block;font-size:9px;margin-top:10px;color:var(--muted)}footer{padding:80px 9% 30px;color:var(--paper)}.footer-brand{font-size:clamp(38px,6vw,85px);line-height:1.15;letter-spacing:-.04em;display:block;width:fit-content}.footer-brand em{font-family:Georgia,serif;font-weight:400}.footer-brand>span{font-size:.6em;margin-left:20px}footer>div{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;gap:20px;margin-top:75px;padding-top:25px;border-top:1px solid #b6cacb40}.noscript{position:fixed;bottom:0;background:white;padding:15px;z-index:20}.compact-motion .chapter{filter:none!important;transform:none!important}
@media(max-height:740px) and (min-width:761px){.stage{min-height:510px}.chapter{top:12%;bottom:14%}.chapter h1{font-size:105px}.chapter h2{font-size:40px;line-height:1.35;margin:14px 0}.chapter-sub{font-size:18px;margin:15px 0}.note{padding:15px 20px;width:265px}.note p{font-size:12px;margin-bottom:9px}.note-label{margin-bottom:8px}.chapter-desc{font-size:12px}.chapter[data-chapter="0"] .note p{font-size:15px}}
@media(max-width:760px){.header{height:76px;padding:0 6%}.brand{font-size:39px;gap:17px}.brand span{font-size:7px}.header nav{gap:14px;font-size:10px}.header nav button{font-size:9px;padding:8px}.journey{padding-top:76px}.stage{padding:0 3%;top:8px;height:calc(100svh - 16px);min-height:580px}.stage-inner{border-radius:14px}.stage-top{top:18px;left:6%;right:6%;font-size:7px;letter-spacing:1px}.stage-top .live-label{display:none}.chapter{top:9%;left:7%;right:7%;bottom:12%}.chapter h1{font-size:clamp(68px,19.2vw,115px);line-height:.83}.chapter h1 br{display:none}.chapter h1 em{margin-left:8px;font-size:.94em}.chapter-sub{font-size:17px;margin:14px 0}.chapter-sub span{font-size:9px}.eyebrow{font-size:8px;margin-bottom:12px;letter-spacing:1.6px}.chapter h2{font-size:clamp(28px,7.6vw,40px);line-height:1.4;margin:12px 0}.chapter-desc{font-size:11px;line-height:1.9;margin-top:10px}.note,.chapter[data-chapter="0"] .note{width:100%;right:0;left:0;padding:13px 16px;bottom:0}.note p,.chapter[data-chapter="0"] .note p{font-size:12px;line-height:1.8;margin:0 0 6px}.note p br{display:none}.note-label{font-size:7px;margin-bottom:6px}.note a{padding-top:7px;font-size:9px}.note a span{font-size:16px}.chapters{right:6px;top:41%;gap:10px}.chapters a{min-width:28px;min-height:25px}.chapters span{display:none}.scene-tools{bottom:29%;right:7%;gap:8px}.scene-tools>span{font-size:7px;letter-spacing:.8px}.scene-tools button{padding:7px 10px;font-size:14px}.scene-tools button span{display:none}.stage-bottom{left:6%;right:6%;bottom:18px;font-size:7px;letter-spacing:.7px}.stage-bottom .illustration-label{position:absolute;top:-14px;font-size:7px;left:0}.work-section{padding:65px 7% 35px}.section-heading,.work-item,.about{grid-template-columns:1fr;gap:20px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:35px}.section-heading>p:last-child{font-size:12px;margin-top:0}.work-item{padding:28px 0;gap:8px}.work-title h3{font-size:34px;margin:12px 0}.work-title h3 span{font-size:13px;margin-top:8px}.work-body>p{font-size:12px;line-height:2}.about{padding:60px 7%;gap:40px}.about-name h2{font-size:44px;margin:20px 0}.about-copy h3{font-size:25px}.about-copy p{font-size:12px}footer{padding:55px 7% 25px}footer>div{flex-wrap:wrap;margin-top:50px;font-size:8px}.footer-brand{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter{filter:none!important;transform:none!important}}@media print{.header,.journey,footer,.about-copy button,.about-copy small{display:none}.work-section,.about{padding:20px;background:white}.work-item{break-inside:avoid}.work-body details{display:none}}
/* Keep the whole opening frame visible before the header scrolls away. */
.stage{height:calc(100svh - 110px);min-height:0}.scene-tools{bottom:7.2%}.chapter{bottom:15%}
@media(max-width:760px){.stage{height:calc(100svh - 92px)}.chapter{bottom:12%}.scene-tools{bottom:29%}}
@media(max-width:760px) and (max-height:620px){.chapter h1{font-size:50px}.chapter h2{font-size:23px;margin:5px 0}.chapter-sub{font-size:12px;margin:10px 0}.chapter-desc{font-size:9px;line-height:1.6}.chapter .eyebrow{margin-bottom:7px}.note-label{display:none}.note,.chapter[data-chapter="0"] .note{padding:9px 12px}.note p,.chapter[data-chapter="0"] .note p{font-size:10px}.scene-tools{bottom:34%}.stage-bottom .illustration-label{display:none}.stage-top{top:12px}}
@media(max-width:360px){.brand span{display:none}.header nav{gap:13px}.header nav a,.header nav button{white-space:nowrap}.header nav button{padding:8px 10px}.scene-tools>span{display:none}}
html.compact-motion{scroll-behavior:auto}
html:not(.scene-ready) .journey{height:auto;padding-bottom:24px}
html:not(.scene-ready) .stage{position:relative;top:0}
html:not(.scene-ready) .chapter[data-chapter="0"]{opacity:1;visibility:visible}
html:not(.scene-ready) .scene-tools,html:not(.scene-ready) .chapters,html:not(.scene-ready) #motion{display:none}
