:root{--ink:#231f20;--ink-2:#6b6869;--ink-3:#949293;--rule:#d9d8d8;--paper:#fff;--font:var(--font-sans), "Helvetica Neue", Helvetica, Arial, sans-serif;--fs-xs:.75rem;--fs-s:.8125rem;--fs-body:.9375rem;--fs-l:clamp(1.625rem, 1rem + 2.3vw, 3.25rem);--fs-xl:clamp(2.25rem, 1rem + 4.6vw, 6rem);--lh-tight:.98;--lh-statement:1.06;--lh-body:1.4;--w-display:500;--track-display:-.04em;--track-statement:-.03em;--margin:24px;--gutter:20px;--cols:12;--section:clamp(96px, 14vw, 220px);--ease-out:cubic-bezier(.16, 1, .3, 1)}:root:lang(ja){--font:var(--font-sans), var(--font-jp), "Hiragino Sans", "Yu Gothic", sans-serif;--lh-statement:1.32;--lh-body:1.75;--track-display:0em;--track-statement:0em}@media (max-width:760px){:root{--margin:16px;--gutter:12px;--cols:4}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ink) var(--paper);scrollbar-width:thin}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--fs-s);font-weight:400;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" 0;margin:0}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}h1,h2,h3{font-weight:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline-offset:4px;outline:1px solid}.skip{left:var(--margin);z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px;position:fixed;top:-100px}.skip:focus{top:12px}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);padding-inline:var(--margin);display:grid}.label{font-size:var(--fs-xs);color:var(--ink);font-weight:500;line-height:1.2}.grid>.label{grid-column:1/span 2}@media (max-width:760px){.grid>.label,.grid>.label[class]{grid-column:1/-1;margin-bottom:20px}.projects__count{flex-direction:column;gap:4px}.projects__head .projects__count{grid-column:1/-1}}.statement{font-size:var(--fs-l);font-weight:400;line-height:var(--lh-statement);letter-spacing:var(--track-statement);text-wrap:balance}.body{font-size:var(--fs-body);font-weight:300;line-height:var(--lh-body);text-wrap:pretty;max-width:62ch}.body p+p{margin-top:1em}.section{padding-top:var(--section)}.plate img{filter:grayscale()contrast(1.06);width:100%}.plate figcaption{font-size:var(--fs-xs);color:var(--ink-2);margin-top:8px}.masthead{z-index:50;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);padding:20px var(--margin);font-size:var(--fs-s);color:var(--ink);background:var(--paper);transition:color .3s var(--ease-out), background-color .3s var(--ease-out);align-items:start;font-weight:500;line-height:1.2;display:grid;position:fixed;inset:0 0 auto}html[data-hero=on] .masthead{color:#fff;background:0 0}.masthead a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.masthead__brand{grid-column:1/span 3}.masthead__brand sup{margin-left:1px;font-size:.55em}.masthead__nav{justify-content:space-between;gap:var(--gutter);grid-column:4/span 6;display:flex}.masthead__contact{grid-column:10/span 2;justify-self:end}.masthead .lang{grid-column:12;justify-self:end}.lang{gap:10px;display:flex}.lang a[aria-current]{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}@media (max-width:1100px){.masthead__nav{display:none}.masthead__contact{grid-column:8/span 3}.masthead .lang{grid-column:11/span 2}}@media (max-width:760px){.masthead{gap:14px;padding-top:14px;display:flex}.masthead__brand{margin-right:auto}}.aperture{--p:0;--s:1;--mark-h:min(42svh, 66vw);background:var(--paper);height:260svh;position:relative}.aperture__stage{background:var(--ink);height:100svh;position:sticky;top:0;overflow:hidden}.aperture__grid{transform:scale(calc(1 + var(--p) * .18));transform-origin:50%;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.aperture__tex{object-fit:cover;filter:grayscale()contrast(1.12)brightness(.92);width:100%;height:100%}.aperture__stage:before,.aperture__stage:after{content:"";z-index:1;pointer-events:none;height:140px;opacity:calc(1 - var(--p) * 4);position:absolute;inset-inline:0}.aperture__stage:before{background:linear-gradient(#00000080,#0000);top:0}.aperture__stage:after{background:linear-gradient(#0000,#00000073);bottom:0}.aperture__mark,.aperture__line,.aperture__cue{z-index:2}.aperture__grain{pointer-events:none;opacity:.32;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.aperture__mark{height:var(--mark-h);width:calc(var(--mark-h) * .7542);left:calc(50% - var(--mark-h) * .7542 * .3343);top:calc(50% - var(--mark-h) * .5);color:var(--paper);transform-origin:90.82% 25%;transform:scale(var(--s));position:absolute}.aperture__line,.aperture__cue{font-size:var(--fs-s);color:#fff;opacity:calc(1 - var(--p) * 6);font-weight:500;line-height:1.2;position:absolute;bottom:22px}.aperture__line{left:var(--margin);max-width:28ch}.aperture__mail{z-index:2;right:var(--margin);font-size:var(--fs-s);color:#fff;opacity:calc(1 - var(--p) * 6);text-underline-offset:3px;font-weight:500;line-height:1.2;text-decoration:underline;text-decoration-thickness:1px;position:absolute;bottom:22px}.aperture__cue{flex-direction:column;align-items:center;gap:10px;display:flex;left:50%;translate:-50%}.aperture__cue-rule{transform-origin:top;width:1px;height:28px;animation:cue 2.4s var(--ease-out) infinite;background:currentColor;display:block}@keyframes cue{0%{transform:scaleY(0)}60%,to{opacity:0;transform:scaleY(1)}}@media (max-width:760px){.aperture__cue{display:none}.aperture__line{bottom:50px}.aperture__mail{left:var(--margin);right:auto}}@media (prefers-reduced-motion:reduce){.aperture{height:100svh}.aperture__cue-rule{animation:none}}.bio{align-items:start;row-gap:56px}.bio .label{grid-column:1/span 2;padding-top:.6em}.bio__lead,.solutions__title,.projects__count{font-weight:var(--w-display)}.bio__lead{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--track-display);text-wrap:balance;grid-column:3/span 9}:lang(ja) .bio__lead{font-size:var(--fs-l);line-height:var(--lh-statement)}.bio__portrait{grid-area:2/3/auto/span 4}.bio__portrait img{filter:grayscale()contrast(1.04);width:100%}.bio__side{flex-direction:column;grid-area:2/7/auto/span 4;align-self:end;gap:28px;display:flex}.bio__name{font-size:var(--fs-l);font-weight:var(--w-display);line-height:var(--lh-statement);letter-spacing:var(--track-statement);flex-direction:column;gap:6px;display:flex}.bio__role{font-size:var(--fs-s);letter-spacing:0;color:var(--ink-2);font-weight:500}.bio__where{font-size:var(--fs-s);font-weight:500}.bio__plate--b{grid-area:2/11/auto/span 2;align-self:start}@media (max-width:760px){.bio{row-gap:32px}.bio .label,.bio__lead,.bio__side{grid-area:auto/1/auto/-1}.bio__lead{font-size:var(--fs-l);line-height:var(--lh-statement)}.bio__portrait{grid-area:auto/1/auto/span 3}.bio__plate--b{grid-area:auto/2/auto/span 3}}.cv__list{margin:40px var(--margin) 0;border-bottom:1px solid var(--ink)}.cv__row{column-gap:var(--gutter);border-top:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;padding:16px 0 20px;display:grid}.cv__years{font-variant-numeric:tabular-nums;grid-column:1/span 2;font-weight:500}.cv__title{grid-column:3/span 3;font-weight:500}.cv__org{flex-direction:column;grid-column:6/span 3;font-weight:500;display:flex}.cv__country,.cv__school{color:var(--ink-2);font-weight:400}.cv__text{font-size:var(--fs-s);font-weight:300;line-height:var(--lh-body);grid-column:9/span 4;max-width:52ch}.cv__pair{column-gap:var(--gutter);margin:96px var(--margin) 0;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.cv__block .label{margin-bottom:20px}.cv__block--edu{grid-column:1/span 7}.cv__block--skills{grid-column:9/span 4}.cv__edu{column-gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:repeat(7,minmax(0,1fr));padding:12px 0 14px;display:grid}.cv__edu .cv__years{grid-column:1/span 2}.cv__edu>span:last-child{flex-direction:column;grid-column:3/-1;display:flex}.cv__skills{gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;padding-top:12px;display:grid}.cv__group{margin-bottom:6px;font-weight:500}.cv__skills li{font-weight:300;font-size:var(--fs-body);line-height:1.5}@media (max-width:760px){.cv__row{grid-template-columns:1fr;row-gap:4px}.cv__years,.cv__title,.cv__org,.cv__text{grid-column:1}.cv__years{font-size:var(--fs-xs);color:var(--ink-2)}.cv__title{font-size:var(--fs-body)}.cv__text{margin-top:6px}.cv__pair{grid-template-columns:1fr;row-gap:56px;margin-top:64px}.cv__block--edu,.cv__block--skills{grid-column:1}.cv__edu{grid-template-columns:1fr}.cv__edu .cv__years,.cv__edu>span:last-child{grid-column:1}}.archive__head{justify-content:space-between;align-items:baseline;gap:var(--gutter);font-size:var(--fs-xl);font-weight:var(--w-display);line-height:var(--lh-tight);letter-spacing:var(--track-display);text-wrap:balance;grid-column:1/-1;display:flex}:lang(ja) .archive__head{font-size:var(--fs-l)}.archive__years{margin:48px var(--margin) 0;border-bottom:1px solid var(--ink)}.archive__year{column-gap:var(--gutter);border-top:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));padding:14px 0 28px;display:grid}.archive__yr{font-size:var(--fs-l);font-weight:var(--w-display);letter-spacing:var(--track-statement);font-variant-numeric:tabular-nums;grid-column:1/span 2;align-self:start;line-height:1;position:sticky;top:72px}.archive__list{grid-column:3/-1}.archive__row{column-gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:repeat(10,minmax(0,1fr));align-items:baseline;padding:8px 0 9px;display:grid}.archive__row:first-child{border-top:0}.archive__who{grid-column:1/span 2;font-weight:500}.archive__title{grid-column:3/span 3}.archive__venue{color:var(--ink-2);grid-column:6/span 2}.archive__place{color:var(--ink-2);grid-column:8/span 2}.archive__code{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;grid-column:10;justify-self:end;font-weight:500}.archive__code a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}@media (max-width:1100px){.archive__yr{font-size:var(--fs-body)}}@media (max-width:760px){.archive__head{font-size:var(--fs-l);flex-direction:column;gap:4px}.archive__year{grid-template-columns:1fr;row-gap:10px}.archive__yr,.archive__list{grid-column:1}.archive__yr{font-size:var(--fs-l);position:static}.archive__row{grid-template-columns:1fr auto;row-gap:2px}.archive__who,.archive__title,.archive__venue,.archive__place{grid-column:1}.archive__code{grid-area:1/2}.archive__who.is-empty{display:none}}[id]{scroll-margin-top:72px}.manifesto{align-items:start}.manifesto .label{grid-column:1/span 2;padding-top:.6em}.manifesto__plate{grid-column:3/span 2;position:sticky;top:96px}.manifesto__text{font-size:var(--fs-l);line-height:var(--lh-statement);letter-spacing:var(--track-statement);grid-column:6/span 7}.reveal [data-w]{color:var(--ink-3);transition:color .5s var(--ease-out)}.reveal [data-w].is-lit{color:var(--ink)}@media (max-width:760px){.manifesto{row-gap:28px}.manifesto .label,.manifesto__text{grid-column:1/-1}.manifesto__plate{grid-column:1/span 2;position:static}}.solutions__list{counter-reset:s;margin-top:40px}.solutions__item{border-top:1px solid var(--ink);align-items:start;padding-block:20px 72px}.solutions__item:last-child{border-bottom:1px solid var(--ink);padding-bottom:20px}.solutions__title{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--track-display);grid-column:1/span 5}:lang(ja) .solutions__title{font-size:var(--fs-l)}.solutions__text{grid-column:6/span 4;padding-top:.5em}.solutions__plate{grid-column:11/span 2;padding-top:.5em}.solutions__list,.partners__list{margin-inline:var(--margin)}.solutions__item,.partners__item{padding-inline:0}@media (max-width:1100px){.solutions__title{grid-column:1/-1;margin-bottom:24px}.solutions__text{grid-column:1/span 8}.solutions__plate{grid-column:10/span 3}}@media (max-width:760px){.solutions__item{row-gap:20px;padding-bottom:48px}.solutions__title{font-size:var(--fs-l);margin-bottom:0}.solutions__text{grid-column:1/-1}.solutions__plate{grid-column:1/span 2}}.projects__head{align-items:end}.projects__count{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--track-display);grid-column:1/-1;justify-content:space-between;align-items:baseline;display:flex}:lang(ja) .projects__count{font-size:var(--fs-l)}.projects__num{font-variant-numeric:tabular-nums}.index{margin:48px var(--margin) 0;font-size:var(--fs-s)}.index__head,.index__row{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;display:grid}.index__head{font-size:var(--fs-xs);color:var(--ink-2);padding-bottom:10px}.index__head>:first-child,.index__code{grid-column:1/span 2}.index__head>:nth-child(2),.index__title{grid-column:3/span 3}.index__head>:nth-child(3),.index__artist{grid-column:6/span 2}.index__head>:nth-child(4),.index__venue{grid-column:8/span 3}.index__head>:nth-child(5),.index__place{grid-column:11/span 2}.index__list{border-bottom:1px solid var(--ink)}.index__item{border-top:1px solid var(--ink)}.index__row{width:100%;transition:color .35s var(--ease-out);padding:14px 0 15px;font-weight:500;line-height:1.25;position:relative}.index__code,.index__place{font-variant-numeric:tabular-nums}.index__place{text-transform:uppercase;padding-right:28px}.index__title{font-weight:500}.index__toggle{width:11px;height:11px;position:absolute;top:50%;right:0;translate:0 -50%}.index__toggle:before,.index__toggle:after{content:"";height:1px;transition:transform .4s var(--ease-out);background:currentColor;position:absolute;inset:5px 0 auto}.index__toggle:after{transform:rotate(90deg)}.is-open .index__toggle:after{transform:rotate(0)}@media (hover:hover){.index__list.is-hovering .index__row{color:var(--ink-3)}.index__list.is-hovering .is-hover .index__row,.index__list.is-hovering .is-open .index__row{color:var(--ink)}}.index__panel-inner{column-gap:var(--gutter);animation:panel .6s var(--ease-out);grid-template-columns:repeat(12,minmax(0,1fr));padding:8px 0 32px;display:grid}.index__panel img{filter:grayscale()contrast(1.06);grid-column:3/span 2;width:100%}.index__panel p{font-size:var(--fs-body);font-weight:300;line-height:var(--lh-body);grid-column:6/span 4;max-width:52ch}@keyframes panel{0%{opacity:0;transform:translateY(-6px)}}.index__plate{z-index:40;pointer-events:none;opacity:0;width:240px;transition:opacity .25s var(--ease-out);position:fixed;top:0;left:0}.index__plate.is-on{opacity:1}.index__plate img{object-fit:cover;filter:grayscale()contrast(1.06);opacity:0;clip-path:inset(0 0 100%);width:240px;height:180px;transition:clip-path .5s var(--ease-out), opacity 0s .5s;position:absolute;inset:0 auto auto 0}.index__plate img.is-on{opacity:1;clip-path:inset(0);transition:clip-path .5s var(--ease-out), opacity 0s}.index__plate-code{background:var(--paper);font-size:var(--fs-xs);padding:4px 6px 4px 0;font-weight:500;position:absolute;top:180px;left:0}@media (hover:none),(max-width:760px){.index__plate{display:none}}@media (max-width:760px){.index__head{display:none}.index__row{grid-template-columns:1fr auto;row-gap:2px;padding-right:28px}.index__code{font-size:var(--fs-xs);color:var(--ink-2);grid-column:1}.index__title{font-size:var(--fs-body);grid-column:1}.index__artist,.index__venue{grid-column:1;font-weight:400}.index__place{grid-column:1;padding-right:0;font-weight:400}.index__panel-inner{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}.index__panel img{grid-column:1/span 3}.index__panel p{grid-column:1/-1}}.partners__list{margin-top:40px}.partners__item{border-top:1px solid var(--rule);align-items:center;padding-block:28px}.partners__item:last-child{border-bottom:1px solid var(--rule)}.partners__logo{grid-column:3/span 3}.partners__logo img{width:auto;height:26px}.partners__text{grid-column:6/span 5}@media (max-width:760px){.partners__item{row-gap:16px}.partners__logo,.partners__text{grid-column:1/-1}}.contact{margin-top:var(--section);padding-top:var(--section);border-top:1px solid var(--ink);overflow:hidden}.contact__top{align-items:start}.contact__top .label{grid-column:1/span 2;padding-top:.6em}.contact__lead{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--track-display);grid-column:3/span 8}:lang(ja) .contact__lead{font-size:var(--fs-l)}.contact__mid{align-items:end;margin-top:96px}.contact__mark{width:100%;height:auto;color:var(--ink);grid-column:3/span 2}.material-mark__tex image{filter:grayscale()contrast(1.12)}.contact__details{text-align:right;font-size:var(--fs-body);grid-column:9/span 4;justify-self:end;line-height:1.35}.contact__details div{justify-content:flex-end;gap:8px;display:flex}.contact__details dt{color:var(--ink-2);font-weight:300}.contact__details dd{font-weight:500}.contact__details a:hover,.contact__base a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.contact__mail{width:max-content;padding-inline:calc(var(--margin) - .04em);font-size:10.3vw;font-weight:var(--w-display);letter-spacing:-.04em;white-space:nowrap;transition:opacity .4s var(--ease-out);margin-top:72px;line-height:.95;display:block}.contact__mail:hover{opacity:.6}.contact__base{justify-content:space-between;gap:var(--gutter);padding:28px var(--margin) 22px;font-size:var(--fs-xs);font-weight:500;display:flex}@media (max-width:760px){.contact__top .label,.contact__lead{grid-column:1/-1}.contact__top{row-gap:24px}.contact__lead{font-size:var(--fs-l)}.contact__mid{row-gap:40px;margin-top:56px}.contact__mark{grid-column:1/span 2}.contact__details{text-align:left;grid-column:1/-1;justify-self:start}.contact__details div{justify-content:flex-start}.contact__mail{margin-top:48px}.contact__base{flex-wrap:wrap}}
