@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#090b0c;--surface:#111416;--text:#f2f3ed;--muted:#a4aaac;--orange:#ff6844;--line:#313638;font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}button{color:inherit}img{display:block;width:100%;object-fit:cover}p{line-height:1.95}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(2rem,3.5vw,3.8rem);line-height:1.5;font-weight:700;letter-spacing:-.04em}h3{font-size:1.2rem}.skip{position:fixed;top:-60px;background:white;color:black;padding:12px;z-index:100}.skip:focus{top:0}.header{position:absolute;top:0;left:0;width:100%;height:100px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;z-index:10;border-bottom:1px solid #ffffff24}.logo{font:900 2.6rem/.9 Arial,sans-serif;letter-spacing:-.09em;display:flex;flex-direction:column;gap:10px;white-space:nowrap}.logo span{font:600 .64rem/1.2 Arial,sans-serif;letter-spacing:.12em}.header nav{display:flex;gap:30px;align-items:center;font:600 .83rem Arial,sans-serif;letter-spacing:.04em}.header nav a{padding:12px 0}.header nav a:hover{color:var(--orange)}.header .nav-contact{border:1px solid #ffffff66;padding:13px 20px;font-family:'Noto Sans JP',sans-serif;font-size:.8rem}.menu{display:none}.hero{height:min(900px,100svh);min-height:700px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;height:100%;inset:0;z-index:-3;object-position:center 45%}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#03070c9e,transparent 85%),linear-gradient(0deg,#090b0cd9,transparent 48%,#03060977)}.hero-body{padding:190px 6.5% 90px;max-width:1450px;margin:auto}.eyebrow{font:600 .8rem/1.5 Arial,sans-serif;letter-spacing:.16em}.hero h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;line-height:.9;letter-spacing:-.025em;font-size:clamp(5.5rem,10.2vw,10rem);margin:35px 0 27px}.hero h1 em{font-style:normal;color:var(--orange)}.hero-jp{font-size:clamp(1.1rem,1.7vw,1.6rem);font-weight:500;letter-spacing:.06em}.mobile-br{display:none}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{min-height:52px;padding:16px 26px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:.88rem;font-weight:600;border:1px solid transparent;transition:background .2s,color .2s}.button.light{background:var(--text);color:#111}.button.light:hover{background:var(--orange)}.film-link{display:flex;gap:13px;align-items:center;font:600 .77rem Arial,sans-serif;letter-spacing:.04em}.play{border:1px solid #ffffff7f;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:10px}.hero-bottom{position:absolute;bottom:27px;left:6.5%;right:6.5%;display:flex;align-items:center;justify-content:space-between;font:500 .7rem/1.5 Arial,sans-serif;letter-spacing:.12em;color:#d8dfdf}.hero-bottom i{display:inline-block;width:36px;height:1px;vertical-align:middle;background:currentColor;margin-left:16px}.discipline-strip{border-bottom:1px solid var(--line);padding:24px 6.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font:600 clamp(.8rem,1.5vw,1.3rem)/1.5 'Barlow Condensed',Arial,sans-serif;letter-spacing:.08em}.discipline-strip b{color:var(--orange);font-weight:400;font-size:1.5rem}.section{padding:92px 6.5%;max-width:1600px;margin:auto}.section-label{display:flex;gap:32px;align-items:center;padding-bottom:35px;font:500 .75rem/1.5 Arial,sans-serif;letter-spacing:.11em}.section-label span:first-child{color:var(--orange)}.section-label span:last-child{font:400 .75rem/1.5 'Noto Sans JP',sans-serif;color:var(--muted);letter-spacing:.05em}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.intro h2{font-size:clamp(2.8rem,4.5vw,4.5rem)}.orange{color:var(--orange)}.lead{font-size:clamp(1.1rem,1.55vw,1.5rem);font-weight:500;line-height:1.9;margin-bottom:24px}.muted{color:var(--muted);font-size:1rem}.intro .muted{max-width:530px}.works{padding-top:35px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.wide-work{position:relative}.wide-work img{aspect-ratio:2.12;object-position:center}.wide-work figcaption{background:linear-gradient(transparent,#000b);position:absolute;bottom:0;left:0;width:100%;padding:40px 27px 24px;display:flex;justify-content:space-between;font:600 .78rem Arial,sans-serif;letter-spacing:.1em}.work-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:32px}.work-fields article{border-top:1px solid var(--line);padding-top:24px}.small-label{font:500 .76rem/1.5 Arial,sans-serif;letter-spacing:.05em;color:var(--muted)}.work-fields h3{margin:14px 0 12px;font-weight:500}.work-fields p{font-size:.9rem;color:var(--muted)}.services{border-top:1px solid var(--line)}.service-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.service-heading .muted{margin-top:24px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;gap:24px;padding:28px 0;cursor:pointer;align-items:center}summary::-webkit-details-marker{display:none}.service-no{color:var(--orange);font:500 .8rem Arial}.service-list strong{font:600 clamp(1.5rem,2.4vw,2.4rem)/1.1 'Barlow Condensed',Arial,sans-serif}.service-list small{display:block;color:var(--muted);font-size:.8rem;margin-top:8px}summary b{font-weight:400;font-size:1.4rem;margin-left:auto;transition:transform .2s}details[open] summary b{transform:rotate(45deg)}.service-content{padding:0 20px 29px 41px}.service-content p{font-size:.93rem;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tags span{border:1px solid var(--line);padding:5px 10px;font-size:.75rem;color:#cdd0cf}.future{background:#161b1f;max-width:none;padding-left:max(6.5%,calc((100vw - 1392px)/2));padding-right:max(6.5%,calc((100vw - 1392px)/2))}.future-top{display:grid;grid-template-columns:1.2fr 1fr;gap:13%;align-items:center}.future h2 span{color:#88d8e4}.future .lead{margin-bottom:12px}.process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4e595d;margin-top:60px}.process article{position:relative;padding:29px 24px 0 0}.process article:before{content:'';width:7px;height:7px;position:absolute;top:-4px;background:#88d8e4}.process article>span{font:500 .75rem Arial;color:#88d8e4}.process h3{font:600 2rem 'Barlow Condensed',Arial,sans-serif;letter-spacing:.015em;margin:18px 0 12px}.process p{color:#b1babc;font-size:.88rem}.process-note{color:#8c969a;font-size:.75rem;margin-top:35px}.irooto{position:relative;min-height:740px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.iro-art{position:absolute;inset:0;z-index:-3}.iro-art img{height:100%;object-position:center}.iro-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#030509ef 5%,#05070caa 45%,#05070c00),linear-gradient(0deg,#090b0caa,transparent 60%)}.iro-content{margin-left:8%;padding:80px 0;max-width:700px}.iro-content .eyebrow{color:var(--orange)}.iro-kicker{font:500 .78rem Arial;letter-spacing:.16em;margin-top:55px}.iro-content h2{font:500 clamp(4.5rem,8vw,8rem)/1.1 Georgia,serif;letter-spacing:-.06em;margin:14px 0 25px}.iro-content h2 span{font:400 1.2rem 'Noto Sans JP';letter-spacing:.2em;margin-left:25px}.iro-lead{font-size:1.4rem;margin-bottom:15px}.iro-content p:not(.eyebrow,.iro-kicker,.iro-lead){font-size:.94rem;color:#cdd0d7}.iro-content .iro-note{font-size:.74rem!important;margin-top:18px}.iro-content .button{margin-top:30px}.contact{padding-top:100px;padding-bottom:100px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:start}.contact h2{font-size:clamp(2rem,3.5vw,3.6rem)}.contact .muted{margin-top:24px}.contact-panel .small-label{font-family:'Noto Sans JP',sans-serif}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 24px}.contact-options button{background:transparent;border:1px solid #4b5153;font-size:.8rem;padding:13px 8px;min-height:46px}.contact-options .selected{color:var(--orange);border-color:var(--orange);background:#ff68440a}.orange-button{background:var(--orange);color:#080b0d;width:100%}.orange-button:hover{background:#ff886b}.email-label{text-align:center;font:400 .9rem Arial,sans-serif;margin-top:18px}.mail-note{font-size:.7rem;color:var(--muted);text-align:center;margin-top:10px}footer{border-top:1px solid var(--line);padding:48px 6.5% 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top p{color:var(--muted);font:500 .75rem Arial,sans-serif;letter-spacing:.03em}.footer-top>a:last-child{font:500 .83rem Arial,sans-serif}.footer-bottom{border-top:1px solid #24282b;margin-top:36px;padding-top:25px;display:flex;gap:45px;align-items:end;color:var(--muted);font-size:.7rem;line-height:1.9}.footer-bottom small{margin-left:auto;white-space:nowrap;font-size:.7rem}.footer-bottom>a{font:.67rem Arial,sans-serif;color:var(--text)}.mobile-nav[hidden]{display:none}
@media(min-width:1500px){.hero-body{padding-top:210px}}@media(max-width:1050px){.header nav{gap:18px}.header nav a{font-size:.72rem}.header .nav-contact{padding:12px}.hero{min-height:690px}.hero-body{padding-top:205px}.hero h1{font-size:12vw}.service-layout{grid-template-columns:.8fr 1.3fr;gap:5%}.contact-grid{gap:5%}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:82px;padding:0 6%}.logo{font-size:2.15rem}.logo span{font-size:.55rem}.header nav{display:none}.menu{display:flex;align-items:center;gap:15px;background:none;border:0;font:500 .75rem Arial,sans-serif;letter-spacing:.06em;padding:12px 0}.menu span{font-size:1.5rem}.mobile-nav{position:absolute;top:82px;left:0;width:100%;z-index:12;background:#101518fa;padding:22px 6% 30px;display:flex;flex-direction:column;gap:0}.mobile-nav a{padding:16px 0;border-bottom:1px solid var(--line);font-size:.9rem}.hero{min-height:720px;height:95svh;max-height:950px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#03050991,#03050922),linear-gradient(0deg,#090b0ced,transparent 65%,#03060999)}.hero-body{padding:195px 6% 90px}.eyebrow{font-size:.67rem;letter-spacing:.1em}.hero h1{font-size:clamp(4.8rem,16.4vw,8rem);margin-top:28px;line-height:.98}.hero-jp{font-size:1.1rem;line-height:1.9}.mobile-br{display:block}.hero-actions{align-items:start;gap:23px;flex-direction:column;margin-top:30px}.button{padding:14px 20px;font-size:.82rem}.hero-bottom{left:6%;right:6%;bottom:22px;font-size:.55rem;letter-spacing:.03em}.hero-bottom i{width:20px;margin-left:8px}.discipline-strip{padding:18px 6%;gap:12px;flex-wrap:wrap;justify-content:center;font-size:.8rem}.discipline-strip span{white-space:nowrap}.discipline-strip b{font-size:1rem}.section{padding:64px 6%}.section-label{padding-bottom:27px;gap:18px;font-size:.68rem;letter-spacing:.05em}.section-label span:last-child{font-size:.68rem}.intro-grid,.service-layout,.future-top,.contact-grid{grid-template-columns:1fr;gap:30px}.intro h2{font-size:2.9rem}.intro-grid .lead{font-size:1.12rem}.muted{font-size:.93rem}.section-heading{align-items:start;flex-direction:column;gap:20px}.wide-work img{aspect-ratio:1.25}.wide-work figcaption{padding:40px 15px 17px;font-size:.6rem}.work-fields{grid-template-columns:1fr;gap:25px}.work-fields article{padding-top:21px}.work-fields h3{font-size:1.15rem;margin-top:12px}.work-fields p{max-width:550px}.service-heading .muted{margin-top:16px}.service-list strong{font-size:1.9rem}summary{gap:16px;padding:25px 0}.service-content{padding-left:30px;padding-right:5px}.service-content p{font-size:.88rem}.service-no{font-size:.72rem}.future-top{gap:24px}.future h2{font-size:2.6rem}.process{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:35px}.process article{padding:23px 0 0}.process article:nth-child(n+3){border-top:1px solid #4e595d}.process h3{font-size:1.8rem}.process p{font-size:.82rem}.irooto{min-height:700px}.iro-art img{object-position:65% center}.iro-shade{background:linear-gradient(90deg,#030509da,#05070c50),linear-gradient(0deg,#090b0ce8,transparent 90%)}.iro-content{margin-left:6%;margin-right:6%;padding:65px 0}.iro-kicker{font-size:.65rem;margin-top:52px}.iro-content h2{font-size:5.6rem}.iro-content h2 span{font-size:1rem;margin-left:16px}.iro-lead{font-size:1.1rem}.iro-content p:not(.eyebrow,.iro-kicker,.iro-lead){font-size:.86rem}.iro-content .iro-note{font-size:.68rem!important}.contact-panel{margin-top:7px}.contact h2{font-size:2.2rem}.contact-options button{font-size:.79rem}.footer-top{align-items:start;flex-wrap:wrap;gap:25px}.footer-top p{width:100%;order:3;line-height:1.8}.footer-top>a:last-child{margin-left:auto}.footer-bottom{flex-wrap:wrap;gap:20px;align-items:start;font-size:.68rem}.footer-bottom span{width:100%}.footer-bottom small{margin-left:0;margin-right:auto}.footer-bottom>a{align-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-video{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 45%}.video-toggle{border:1px solid #ffffff55;padding:8px 12px;background:#0005;font-size:.75rem;color:#fff;letter-spacing:.03em}.hero-bottom{gap:18px}.hero-bottom>span:last-child{margin-left:auto}.section-label,.section-label span:last-child,.small-label,.tags span,.process-note,.mail-note,.footer-bottom,.footer-bottom small,.footer-bottom>a,.hero-bottom,.wide-work figcaption{font-size:max(.75rem,12px)}.header nav a,.header .nav-contact,.button,.contact-options button{font-size:max(.875rem,14px)}@media(max-width:760px){.hero-bottom>span:last-child{display:none}.hero-bottom{justify-content:space-between}.hero-video{object-position:60% center}.hero-body{padding-top:175px}.hero .eyebrow{font-size:.75rem;max-width:330px;line-height:1.7}.footer-top p{font-size:.75rem}.iro-content .iro-note{font-size:.75rem!important}.iro-kicker{font-size:.75rem}.section-label{flex-wrap:wrap;gap:10px 18px}}
