@charset "UTF-8";
[hidden]{display:none!important}
:root{--paper:#fafaf7;--ink:#252831;--muted:#737780;--line:#d9d9d5;--accent:#245d78;--rail:31.8%;--serif:Georgia,'Times New Roman','Yu Mincho',serif;--sans:Arial,'Helvetica Neue','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}em{font-weight:normal}::selection{background:#d6e8ee}h1,h2,h3,p{margin:0}.skip-link{position:fixed;left:10px;top:-100px;background:var(--ink);color:white;padding:14px;z-index:100}.skip-link:focus{top:10px}.wordmark{display:inline-block;font-weight:900;font-size:34px;letter-spacing:-2.5px;line-height:1}.wordmark span{font-size:11px;vertical-align:top;margin-left:4px;letter-spacing:0}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:30px 34px 22px;display:flex;flex-direction:column;z-index:10;background:var(--paper)}.rail-art{flex:1;min-height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column}.rail-art img{width:170px;height:170px;object-fit:contain;filter:brightness(0);opacity:.85;animation:float 8s ease-in-out infinite}.rail-art p{font:9px var(--sans);letter-spacing:2px;margin-top:30px;color:var(--muted)}.rail nav{margin-bottom:64px;border-top:1px solid var(--line)}.rail-label{font-size:9px;color:var(--muted);letter-spacing:1px;padding:14px 0 19px}.rail nav a{display:flex;gap:22px;font-size:11px;text-transform:uppercase;padding:11px 0;position:relative;color:var(--muted);transition:color .2s}.rail nav a span{width:18px;font-size:10px}.rail nav a:hover,.rail nav a.active{color:var(--ink)}.rail nav a.active:after{content:'';width:50%;height:1px;background:var(--ink);position:absolute;bottom:0;left:0}.rail-bottom{font-size:9px;letter-spacing:1px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}#tokyo-time{margin-left:auto}.rail-bottom p{width:100%;margin-top:8px;color:var(--muted);font-size:8px}.top-nav{position:fixed;top:28px;right:34px;display:flex;z-index:15;background:var(--paper)}.top-nav a{font-size:10px;border:1px solid var(--ink);padding:8px 12px;margin-left:-1px;transition:background .2s,color .2s}.top-nav a:hover{background:var(--ink);color:var(--paper)}.top-nav a:last-child{background:var(--ink);color:var(--paper)}.top-nav span{margin-left:14px}.mobile-header,#mobile-menu{display:none}main{margin-left:var(--rail);padding:0 34px 0 22px;max-width:1800px}.hero{padding-top:118px}.eyebrow,.section-meta,.category-label,.feature-head{font-size:9px;letter-spacing:.6px;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--muted)}.tiny-mark{font-size:15px;color:var(--ink)}.year{margin-left:auto}.hero h1{font:clamp(56px,5.85vw,105px)/.98 var(--serif);letter-spacing:-3.8px;margin-top:28px;margin-bottom:39px}.hero h1 em{color:var(--accent)}.hero-copy{display:flex;gap:35px;align-items:flex-start;justify-content:flex-end;margin-top:20px}.hero-copy h2{font-size:18px;font-weight:500;letter-spacing:.04em;white-space:nowrap}.hero-copy p{font-size:12px;line-height:2.1;color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:67px;padding-bottom:26px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{border:1px solid var(--line);border-radius:2px;font-size:8px;padding:4px 6px}.text-link{font-size:9px;letter-spacing:.5px;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid var(--ink);padding:9px 0}.text-link span{font-size:16px}.hero-image{position:relative;height:380px;overflow:hidden;background:#dfdfdd}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 46%;filter:grayscale(1);transition:filter .8s,transform 1.2s}.hero-image:hover img{filter:grayscale(0);transform:scale(1.03)}.hero-image>span{position:absolute;left:18px;bottom:18px;font-size:8px;color:white;letter-spacing:1px}.section{padding-top:110px;padding-bottom:24px}.section-meta{border-top:1px solid var(--ink);padding-top:16px;display:flex;justify-content:space-between;color:var(--muted);margin-bottom:42px}.section h2{font:clamp(46px,5.2vw,80px)/1.02 var(--serif);letter-spacing:-2.9px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:52px}.section-heading p{font-size:11px;line-height:2;color:var(--muted);padding-bottom:5px}.feature-head{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between}.feature-image{position:relative;padding:0;width:100%;display:block;overflow:hidden;aspect-ratio:16/9;background:#e7e7e4}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.feature-image:hover img{transform:scale(1.04)}.image-action{position:absolute;right:16px;bottom:16px;background:var(--paper);padding:10px 14px;font-size:9px;letter-spacing:.5px}.feature-info{display:grid;grid-template-columns:1fr 1fr;padding:26px 0 50px;gap:26px}.feature-info h3{font-size:30px;font-weight:400;line-height:1.35;letter-spacing:-.8px}.feature-info>div{padding-top:4px}.category-label{color:var(--muted)}.feature-info p{font-size:12px;line-height:1.9;margin:12px 0 14px}.work-toolbar{border-top:1px solid var(--ink);padding:18px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.filters{display:flex;gap:18px;flex-wrap:wrap}.filters button{font-size:9px;letter-spacing:.3px;padding:5px 0;color:var(--muted);border-bottom:1px solid transparent}.filters button.selected{color:var(--ink);border-color:var(--ink)}.filters sup{margin-left:5px;font-size:8px;color:var(--muted)}.archive-label{font-size:8px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}.work-card{text-align:left;display:block;padding:0;width:100%;min-width:0}.work-card .work-media{overflow:hidden;aspect-ratio:16/10;background:#e4e4e0;position:relative}.work-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s,filter .6s}.work-card:hover img{transform:scale(1.05)}.work-card .work-meta{display:flex;justify-content:space-between;margin:12px 0 9px;font-size:8px;color:var(--muted);text-transform:uppercase}.work-card h3{font-size:13px;line-height:1.55;font-weight:400;padding-right:12px}.work-card .work-arrow{position:absolute;right:12px;bottom:12px;background:var(--paper);height:27px;width:27px;display:grid;place-items:center;font-size:16px}.archive-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:38px 0 24px;margin-bottom:10px}.archive-bottom>span{font-size:9px;color:var(--muted)}.outline-button{border:1px solid var(--ink);padding:15px 18px;font-size:10px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;transition:background .2s,color .2s}.outline-button:hover{background:var(--ink);color:var(--paper)}.outline-button span{font-size:16px}.section-intro{font-size:15px;line-height:2;margin-top:32px}.services{margin-top:48px}.services details{border-top:1px solid var(--line)}.services details:last-child{border-bottom:1px solid var(--line)}.services summary{list-style:none;display:flex;align-items:center;padding:25px 0;cursor:pointer;gap:28px}.services summary::-webkit-details-marker{display:none}.service-number{font-size:10px;align-self:flex-start;padding-top:8px}.services summary>span:nth-child(2){font:30px var(--serif)}.services small{display:block;font:10px var(--sans);color:var(--muted);margin-top:8px}.detail-icon{margin-left:auto;font-size:25px;transition:transform .3s}.services [open] .detail-icon{transform:rotate(45deg)}.services details p{font-size:12px;line-height:2.1;max-width:560px;padding:0 0 30px 40px;color:var(--muted)}.about-copy{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin:36px 0 44px;align-items:end}.about-copy p{font-size:12px;line-height:2.2}.about-copy span{font-size:9px;color:var(--muted);text-align:right}.company{margin:0}.company>div{border-top:1px solid var(--line);padding:21px 0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.company>div:last-child{border-bottom:1px solid var(--line)}.company dt{font-size:9px;color:var(--muted);line-height:1.7}.company dd{margin:0;font-size:12px;line-height:1.8}.recruit h2{font-size:clamp(43px,4.7vw,75px)}.recruit-bottom{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-top:36px}.recruit-bottom p{font-size:12px;line-height:2}.recruit-bottom .outline-button{font-size:10px;flex-shrink:0}.contact h2{color:var(--accent)}.contact form{margin-top:48px}.contact label{display:block;font-size:9px;letter-spacing:.5px;margin-bottom:30px}.contact label>span{color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact input,.contact textarea,.contact select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:16px 0 12px;color:var(--ink);font-size:13px;outline:none;line-height:1.8}.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:var(--accent)}.contact textarea{resize:vertical;min-height:125px}.contact input::placeholder,.contact textarea::placeholder{color:#95979b}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-bottom p{font-size:10px;color:var(--muted);line-height:1.9}.solid-button{background:var(--accent);color:white;padding:19px 24px;display:flex;gap:55px;font-size:12px;transition:background .2s}.solid-button:hover{background:#19465c}#form-status{font-size:11px;line-height:1.8;margin-top:20px;color:var(--accent)}.contact-email{font:clamp(23px,3.1vw,48px) var(--serif);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:30px 0;margin-top:50px}.contact-email span{font-family:var(--sans);font-size:27px}footer{border-top:1px solid var(--ink);margin-top:62px;padding:30px 0 110px;display:flex;align-items:center;justify-content:space-between;gap:15px}footer .wordmark{font-size:25px}footer>span,footer>a:last-child{font-size:9px;color:var(--muted)}.floating-cta{position:fixed;bottom:24px;right:34px;padding:20px 22px;background:var(--accent);color:white;width:245px;display:flex;align-items:center;justify-content:space-between;z-index:16;font-size:12px;box-shadow:0 6px 20px #2528310d;transition:transform .3s}.floating-cta:hover{transform:translateY(-4px)}.floating-cta>span:last-child{font-size:25px;font-weight:200}.floating-cta.is-hidden{opacity:0;pointer-events:none}dialog{border:0;padding:0;width:min(900px,calc(100% - 48px));max-height:90dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#171921aa;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;font-size:9px}.dialog-top button{font-size:10px;padding:8px}.dialog-top+img{width:100%;max-height:48vh;object-fit:contain;background:#e9e9e6}.dialog-copy{padding:30px}.dialog-copy h2{font-size:26px;line-height:1.5;margin:12px 0}.dialog-copy p{font-size:12px;line-height:1.9;margin:10px 0;color:var(--muted)}.dialog-copy .outline-button{margin-top:15px}.dialog-nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 26px;font-size:10px}.dialog-nav button{font-size:10px;padding:8px}.reveal{transition:opacity .65s,transform .65s}.reveal.waiting{opacity:0;transform:translateY(16px)}
@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@media(min-width:1700px){:root{--rail:29%}.rail{padding:40px 48px}.hero{padding-top:140px}.hero-image{height:460px}.rail-art img{width:210px;height:210px}main{padding-right:48px;padding-left:40px}.top-nav{right:48px}}
@media(max-width:1100px){:root{--rail:26%}.rail{padding:25px 22px}.rail .wordmark{font-size:29px}.rail-art img{width:125px;height:125px}.rail nav a{gap:14px;font-size:10px}.rail nav{margin-bottom:40px}.rail-bottom{font-size:8px}main{padding-right:24px;padding-left:16px}.top-nav{right:24px}.hero h1{font-size:7vw}.hero-copy{justify-content:flex-start;gap:24px}.hero-image{height:310px}.hero-bottom{gap:18px}.hero-bottom .text-link{font-size:8px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading p{margin-top:12px}.filters{gap:13px}.archive-label{display:none}.recruit-bottom{flex-direction:column;align-items:flex-start}.about-copy{grid-template-columns:1fr}.about-copy span{text-align:left}.floating-cta{right:24px}.section h2{font-size:6vw}}
@media(max-width:760px){html{scroll-padding-top:88px}.rail,.top-nav{display:none}.mobile-header{display:flex;position:fixed;top:0;left:0;right:0;justify-content:space-between;align-items:center;padding:22px 20px;background:var(--paper);z-index:30;border-bottom:1px solid var(--line)}.mobile-header .wordmark{font-size:29px}.mobile-header button{font-size:9px;padding:5px 0}.menu-symbol{font-size:18px;vertical-align:middle;margin-left:16px}#mobile-menu:not([hidden]){display:flex;position:fixed;inset:74px 0 auto;z-index:29;background:var(--paper);padding:24px 20px 35px;flex-direction:column;border-bottom:1px solid var(--ink);box-shadow:0 20px 30px #00000015}#mobile-menu a{font:33px var(--serif);padding:12px 0}main{margin:0;padding:0 20px}.hero{padding-top:117px}.eyebrow{font-size:8px;letter-spacing:0}.year{font-size:8px}.hero h1{font-size:clamp(43px,11vw,76px);letter-spacing:-2.6px;line-height:1.04;margin:30px 0 29px}.hero-copy{display:block;margin-top:24px}.hero-copy h2{font-size:18px}.hero-copy p{margin-top:15px;font-size:11px}.hero-bottom{margin-top:35px;padding-bottom:22px;flex-wrap:wrap;gap:15px}.hero-image{height:260px}.hero-image img{object-position:51% 50%}.hero-image>span{font-size:7px;left:12px;bottom:12px}.tags span{font-size:7px}.section{padding-top:75px}.section-meta{font-size:8px;margin-bottom:32px}.section h2{font-size:48px;letter-spacing:-2px}.section-heading{margin-bottom:35px}.section-heading p{font-size:11px}.feature-info{padding-bottom:36px;grid-template-columns:1fr;gap:18px}.feature-info h3{font-size:27px}.feature-info p{margin:9px 0}.feature-head{font-size:8px}.feature-image .image-action{font-size:8px;right:10px;bottom:10px;padding:8px 10px}.work-toolbar{padding-bottom:22px}.filters{gap:13px}.filters button{font-size:8px}.work-grid{gap:26px 13px}.work-card .work-meta{font-size:7px;gap:5px;line-height:1.5}.work-card h3{font-size:11px}.work-card .work-arrow{width:22px;height:22px;right:8px;bottom:8px;font-size:13px}.archive-bottom{gap:16px}.archive-bottom .outline-button{padding:12px;font-size:8px;gap:20px}.archive-bottom>span{font-size:8px}.section-intro{font-size:13px;margin-top:24px}.services{margin-top:32px}.services summary{padding:22px 0;gap:20px}.services summary>span:nth-child(2){font-size:29px}.services details p{padding-left:32px;font-size:11px}.about-copy p{font-size:11px;line-height:2.1}.company>div{grid-template-columns:1fr;gap:10px;padding:18px 0}.company dd{font-size:12px}.company dt{font-size:8px}.recruit h2{font-size:43px}.recruit-bottom p{font-size:11px}.form-row{grid-template-columns:1fr;gap:0}.contact form{margin-top:34px}.contact label{font-size:8px}.form-bottom{align-items:flex-start;flex-direction:column}.solid-button{width:100%;justify-content:space-between}.contact-email{font-size:29px;padding:26px 0;margin-top:35px}.contact-email span{font-size:22px}footer{flex-wrap:wrap;margin-top:25px;padding-bottom:110px}footer .wordmark{font-size:24px}footer>a:last-child{width:100%;margin-top:13px}.floating-cta{bottom:14px;right:20px;width:208px;padding:14px 18px;font-size:10px}.floating-cta>span:last-child{font-size:21px}dialog{width:calc(100% - 24px);max-height:90dvh}.dialog-top{padding:12px 16px}.dialog-copy{padding:20px}.dialog-copy h2{font-size:21px}.dialog-nav{padding:14px}body.menu-open{overflow:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}}

/* Company concept and supplied panoramic cover */
.hero-image{height:auto;aspect-ratio:3/1}.hero-image img{height:100%;object-position:center;filter:none}.hero-image:hover img{filter:none}.hero-copy h2{line-height:1.7}
