@font-face{font-family:ZenInter;src:url("assets/zen-inter.ttf") format("truetype");font-display:swap;font-weight:900}
@font-face{font-family:"Noto Serif JP";src:url("assets/noto-serif-jp.ttf?v=20261008r11") format("truetype");font-display:swap;font-weight:400 500}
:root{--ink:#191b18;--muted:#6e716a;--line:#dcdfd8;--paper:#fff;--serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;--sans:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--pad:clamp(24px,5vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;font-feature-settings:"palt";line-height:1.7;letter-spacing:.08em}p{line-height:2.1}::selection{background:#242b22;color:white}.skip-link{position:fixed;top:0;left:20px;z-index:100;padding:15px;background:#fff;color:#111;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.14em;font-weight:500}.section-shell{padding-left:var(--pad);padding-right:var(--pad)}.header{height:103px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:absolute;top:0;left:0;right:0;z-index:40;color:white;transition:color .3s,background .3s,box-shadow .3s}.header.scrolled{position:fixed;height:82px;color:var(--ink);background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}.wordmark{font-family:ZenInter,Arial,sans-serif;font-weight:900;font-size:46px;letter-spacing:-.08em;line-height:.85;display:inline-flex;align-items:center;gap:22px}.wordmark-caption{font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.14em;line-height:1.8;width:135px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px;letter-spacing:.045em}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;bottom:1px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover::after{transform:scaleX(1)}.desktop-nav .nav-contact{border:1px solid rgba(255,255,255,.6);padding:14px 26px;transition:background .25s}.header.scrolled .nav-contact{border-color:var(--line)}.nav-contact:hover{background:rgba(150,150,150,.18)}.menu-toggle{display:none;width:44px;height:44px;padding:8px}.menu-toggle span{display:block;width:26px;height:1px;background:currentColor;margin:8px 0;transition:transform .3s}.hero{position:relative;height:100svh;min-height:650px;isolation:isolate;background:#242622;color:white;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32) 0,rgba(0,0,0,.13) 30%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.5) 100%);z-index:-2}.hero-copy{position:absolute;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-43%);text-align:center;opacity:1;transition:opacity .7s,filter .7s;filter:blur(0);text-shadow:0 2px 28px rgba(0,0,0,.3)}.hero-copy.changing{opacity:0;filter:blur(4px)}.hero-eyebrow{margin-bottom:25px;font-size:12px;letter-spacing:.28em}.hero h1{font-size:clamp(38px,4.4vw,78px);line-height:1.65;letter-spacing:.16em}.hero h1 span{display:block}.hero-side{position:absolute;right:var(--pad);top:50%;writing-mode:vertical-rl;font-size:12px;letter-spacing:.25em;line-height:1}.cinema-controls{position:absolute;bottom:40px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px;letter-spacing:.04em}.scroll-cue{display:flex;align-items:center;gap:20px}.scroll-line{height:42px;width:1px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}.scroll-line::after{content:"";position:absolute;height:25px;width:1px;background:white;top:-25px;animation:scrollLine 2.5s infinite}.film-actions{display:flex;gap:25px;align-items:center}.film-actions button{padding:9px 0;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.45);font-size:13px;min-height:44px}.play-symbol{font-size:14px;width:13px;display:inline-block}.sound-wave{display:flex;align-items:center;gap:3px;height:14px}.sound-wave i{width:1px;height:6px;background:currentColor}.sound-wave i:nth-child(2){height:13px}.sound-wave i:nth-child(3){height:9px}.sound-wave i:nth-child(4){height:12px}.sound-on .sound-wave i{animation:wave .8s alternate infinite}.sound-on .sound-wave i:nth-child(2){animation-delay:-.5s}.sound-on .sound-wave i:nth-child(3){animation-delay:-.2s}.film-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.15)}.film-progress span{display:block;height:100%;background:rgba(255,255,255,.7);width:0;transition:width .2s linear}.vision{padding-top:135px;padding-bottom:155px}.vision>.eyebrow{margin-bottom:55px}.vision-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:7vw}.vision h2{font-size:clamp(27px,2.8vw,46px);line-height:1.85;letter-spacing:.09em}.english-note{font-size:17px;line-height:1.75;letter-spacing:.055em;color:#6e716a;margin-top:40px}.vision-body p{font-family:var(--serif);font-size:clamp(16px,1.33vw,21px);line-height:2.25;margin-bottom:28px;letter-spacing:.045em}.vision-body .vision-signature{margin-top:45px;font-size:clamp(17px,1.55vw,25px)}.signature-mark{display:block;font-family:ZenInter,Arial,sans-serif;font-size:42px;font-weight:900;letter-spacing:-.08em;margin-top:26px}.work-intro{padding-top:100px;padding-bottom:100px;border-top:1px solid var(--line)}.work-intro>.eyebrow{margin-bottom:45px}.work-intro-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:7vw;align-items:end}.work-intro h2,.belief h2{font-size:clamp(32px,3.4vw,55px);line-height:1.75}.work-intro-grid p{font-size:16px;line-height:2.1;letter-spacing:.04em;padding-bottom:12px}.work-feature{display:grid;grid-template-columns:1.1fr 1fr;min-height:570px}.feature-image{overflow:hidden;min-height:510px;background:#29261f}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s;min-height:510px}.work-feature:hover .feature-image img{transform:scale(1.035)}.feature-copy{padding:70px clamp(36px,6vw,112px);display:flex;flex-direction:column;justify-content:center;background:#f6f7f4}.feature-copy>.eyebrow{margin-bottom:32px;color:#61675d}.feature-copy h3{font-size:clamp(26px,2.5vw,40px);margin-bottom:30px;line-height:1.8}.feature-copy>p:not(.eyebrow){font-size:16px;line-height:2.1;letter-spacing:.035em}.text-link{width:fit-content;font-size:14px;margin-top:32px;border-bottom:1px solid #9dA298;padding:8px 0;transition:opacity .25s}.text-link:hover{opacity:.55}.external-note{font-size:12px;color:#626a5c;margin-left:14px}.feature-reverse{grid-template-columns:1fr 1.1fr}.feature-reverse .feature-image{order:2}.feature-reverse .feature-copy{order:1;background:white}.belief{text-align:center;padding-top:145px;padding-bottom:150px}.belief .eyebrow{margin-bottom:42px;color:#646b5e}.belief h2{font-size:clamp(30px,3.5vw,56px);line-height:1.85}.belief>p:last-child{margin-top:34px;font-size:16px;line-height:2.2}.company{border-top:1px solid var(--line);padding-top:108px;padding-bottom:108px;display:grid;grid-template-columns:1fr 1.05fr;gap:7vw}.company h2{font-size:30px;margin-top:40px;letter-spacing:.06em}.company-title>p:last-child{font-size:14px;color:var(--muted);margin-top:8px}.company-list{margin:0}.company-list>div{display:grid;grid-template-columns:130px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:22px 0;font-size:15px;line-height:1.9}.company-list>div:first-child{padding-top:0}.company-list dt{color:#6e716a}.company-list dd{margin:0}.company-list a:hover{text-decoration:underline}.contact{padding-top:100px;padding-bottom:110px;background:#eef0eb}.contact>.eyebrow{margin-bottom:38px}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:7vw;align-items:center}.contact h2{font-size:clamp(29px,3.3vw,52px);line-height:1.8}.contact-copy p{font-size:16px;line-height:2.1}.contact-link{display:flex;justify-content:space-between;align-items:center;margin-top:36px;border-bottom:1px solid #70796b;padding:16px 0;transition:opacity .3s;max-width:430px}.contact-link:hover{opacity:.55}.contact-link>span:first-child{font-family:var(--serif);font-size:23px;letter-spacing:.08em}.contact-open{font-size:12px;letter-spacing:.12em}.contact-email{font-size:13px;display:inline-block;margin-top:20px;color:#636d5b}.footer{padding-top:56px;padding-bottom:32px}.footer-top{display:flex;align-items:center;gap:50px}.footer-wordmark{font-family:ZenInter,Arial,sans-serif;font-size:65px;font-weight:900;line-height:1;letter-spacing:-.08em}.footer-top p{font-family:var(--serif);font-size:17px;letter-spacing:.08em}.back-top{margin-left:auto;font-size:12px;border-bottom:1px solid var(--line);padding:12px 0}.footer-bottom{display:flex;justify-content:space-between;color:#6e716a;font-size:12px;letter-spacing:.09em;margin-top:60px}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity 1s,transform 1s}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.mobile-menu[hidden]{display:none}
@keyframes scrollLine{0%{transform:translateY(0)}80%,100%{transform:translateY(70px)}}@keyframes wave{to{transform:scaleY(.35)}}
@media(min-width:1800px){.section-shell{padding-left:max(var(--pad),calc((100vw - 1680px)/2));padding-right:max(var(--pad),calc((100vw - 1680px)/2))}.work-feature{min-height:660px}.feature-copy{padding-left:7vw;padding-right:7vw}}
@media(max-width:1000px){.wordmark-caption{display:none}.desktop-nav{gap:22px;font-size:13px}.desktop-nav .nav-contact{padding:12px 18px}.vision-grid,.work-intro-grid,.company,.contact-grid{gap:5vw}.feature-copy{padding:50px 34px}.work-feature,.feature-image,.feature-image img{min-height:460px}.feature-copy>p:not(.eyebrow){font-size:16px}.vision-body br{display:none}.vision-body .vision-signature{line-height:1.8}.company-list>div{grid-template-columns:100px 1fr}.hero h1{font-size:54px}}
@media(max-width:720px){html{scroll-padding-top:85px}.header{height:85px}.header.scrolled{height:73px}.wordmark{font-size:39px}.desktop-nav{display:none}.menu-toggle{display:block;position:relative;z-index:60}.header.menu-active{position:fixed;color:var(--ink);background:white}.menu-active .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-active .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:35;inset:0;background:white;padding:140px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-family:var(--serif);font-size:26px;line-height:1.5;border-bottom:1px solid var(--line);padding:22px 0;display:flex;flex-direction:column;gap:5px}.mobile-menu nav span{font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:var(--muted)}.mobile-menu>p{font-family:var(--serif);font-size:14px;letter-spacing:.06em}.hero{min-height:600px;max-height:1000px}.hero-video{object-position:center}.hero-copy{top:48%;transform:translateY(-40%);left:20px;right:20px}.hero h1{font-size:clamp(29px,7.4vw,47px);line-height:1.9;letter-spacing:.13em}.hero-eyebrow{font-size:12px;letter-spacing:.21em;margin-bottom:22px}.hero-side{display:none}.cinema-controls{bottom:27px;align-items:flex-end;left:24px;right:24px;gap:12px;font-size:12px}.scroll-cue{flex-direction:column;align-items:flex-start;gap:12px;font-size:12px}.scroll-line{height:32px}.film-actions{gap:16px}.film-actions button{font-size:14px;gap:6px}.film-actions #restart{display:none}.vision{padding-top:85px;padding-bottom:95px}.vision>.eyebrow{margin-bottom:37px}.vision-grid,.work-intro-grid,.company,.contact-grid{grid-template-columns:1fr;gap:45px}.vision h2{font-size:30px;line-height:1.85;letter-spacing:.06em}.english-note{font-size:14px;margin-top:24px;line-height:1.8}.vision-body p{font-size:16px;line-height:2.15;margin-bottom:24px;letter-spacing:.035em}.vision-body br{display:initial}.vision-body .vision-signature{font-size:20px;margin-top:35px;line-height:1.9;max-width:290px}.signature-mark{font-size:38px;margin-top:20px}.work-intro{padding-top:70px;padding-bottom:65px}.work-intro>.eyebrow{margin-bottom:32px}.work-intro-grid{gap:27px}.work-intro h2{font-size:33px}.work-intro-grid p{font-size:16px;padding-bottom:0}.work-feature,.feature-reverse{display:flex;flex-direction:column;min-height:0}.feature-image,.feature-image img{min-height:0;height:320px;width:100%}.feature-reverse .feature-image{order:0}.feature-copy,.feature-reverse .feature-copy{padding:42px var(--pad) 56px;order:1}.feature-copy>.eyebrow{margin-bottom:22px}.feature-copy h3{font-size:29px;line-height:1.7;margin-bottom:22px}.feature-copy>p:not(.eyebrow){font-size:16px;line-height:2}.feature-copy p br{display:none}.text-link{font-size:14px;margin-top:25px}.external-note{font-size:12px;margin-left:10px}.belief{padding-top:90px;padding-bottom:90px;text-align:left}.belief .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:29px}.belief h2{font-size:27px;line-height:1.9;letter-spacing:.05em}.belief>p:last-child{font-size:16px;margin-top:24px}.belief>p:last-child br{display:none}.company{padding-top:68px;padding-bottom:70px;gap:35px}.company h2{margin-top:28px;font-size:28px}.company-list>div{grid-template-columns:88px 1fr;gap:16px;font-size:14px;padding:20px 0}.contact{padding-top:66px;padding-bottom:72px}.contact>.eyebrow{margin-bottom:28px}.contact-grid{gap:30px}.contact h2{font-size:30px;line-height:1.8}.contact-copy p{font-size:16px}.contact-link{margin-top:22px;max-width:none}.contact-link>span:first-child{font-size:23px}.contact-email{font-size:13px}.footer{padding-top:38px;padding-bottom:26px}.footer-top{flex-wrap:wrap;gap:20px}.footer-wordmark{font-size:50px}.footer-top p{font-size:14px;line-height:1.8;margin-right:0}.back-top{margin-left:0;font-size:12px;display:block;width:100%;border:0;padding:5px 0}.footer-bottom{margin-top:35px;font-size:12px}.eyebrow{font-size:12px}.js-motion .reveal{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-copy.changing{opacity:1;filter:none}}

.media-reach{padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.media-reach>.eyebrow{margin-bottom:40px}.reach-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.reach-item+.reach-item{padding-left:7vw;border-left:1px solid var(--line)}.reach-label{font-size:15px;letter-spacing:.08em;margin-bottom:10px}.reach-value{font-family:Arial,sans-serif;font-size:clamp(68px,7.8vw,126px);line-height:1.15;letter-spacing:-.055em;font-weight:400;font-variant-numeric:tabular-nums}.reach-value .unit{font-family:var(--serif);font-size:20px;letter-spacing:0;margin-left:20px}.reach-value .plus{font-size:.6em;margin-left:9px;vertical-align:12%}.reach-caption{font-family:var(--serif);font-size:16px;letter-spacing:.045em;margin-top:15px}.reach-source{font-size:12px;line-height:1.85;margin-top:35px;color:#6e716a}.reach-source a{border-bottom:1px solid currentColor}.company-map{grid-column:1/-1;position:relative;margin-top:10px}.company-map iframe{display:block;width:100%;height:390px;border:0;filter:grayscale(1);background:#f0f1ee}.map-link{display:table;margin-left:auto;font-size:13px;border-bottom:1px solid var(--line);padding:14px 0 7px}
@media(max-width:720px){.media-reach{padding-top:52px;padding-bottom:52px}.media-reach>.eyebrow{margin-bottom:32px}.reach-grid{grid-template-columns:1fr;gap:32px}.reach-item+.reach-item{padding-left:0;padding-top:32px;border-left:0;border-top:1px solid var(--line)}.reach-label{font-size:14px}.reach-value{font-size:86px}.reach-value .unit{font-size:18px;margin-left:17px}.reach-caption{font-size:16px}.reach-source{font-size:12px;margin-top:30px}.company-map{margin-top:0}.company-map iframe{height:300px}.map-link{font-size:14px}}

@media(max-width:950px){.hero{height:auto;min-height:0;max-height:none;padding-top:85px;background:#1b1d19}.hero-video{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;z-index:-1}.hero-shade{display:none}.hero-copy{position:relative;inset:auto;transform:none;text-align:left;padding:37px 24px 30px;min-height:236px;text-shadow:none}.hero h1{font-size:clamp(28px,7.4vw,45px);line-height:1.85;letter-spacing:.10em}.hero-eyebrow{font-size:12px;margin-bottom:16px;letter-spacing:.14em}.cinema-controls{position:relative;inset:auto;padding:0 24px 21px;align-items:center;min-height:65px}.scroll-cue{display:block;font-size:12px}.scroll-line{display:none}.film-actions{gap:15px}.film-actions button{font-size:12px}.hero-copy.changing{filter:none}.header.scrolled{background:#fff}}
.reach-value .approx{font-family:var(--serif);font-size:19px;letter-spacing:0;margin-right:12px;vertical-align:12%}@media(max-width:720px){.reach-value{font-size:74px}.reach-value .approx{font-size:16px;margin-right:9px}.reach-value .unit{margin-left:12px}}
