:root{--ink:#08090c;--paper:#f2ede3;--dim:#f2ede394;--rule:#f2ede324;--display:var(--font-display), sans-serif;--ui:var(--font-ui), system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, monospace;--jp:var(--font-jp), "Hiragino Sans", sans-serif;--pad:clamp(20px, 5vw, 80px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);min-height:100vh;color:var(--paper);font-family:var(--jp);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{z-index:10;padding:28px var(--pad);justify-content:space-between;align-items:baseline;gap:24px;display:flex;position:absolute;top:0;left:0;right:0}.wordmark{font-family:var(--ui);letter-spacing:.02em;font-size:16px;font-weight:700}.site-header nav{font-family:var(--ui);color:var(--paper);gap:clamp(14px,2.5vw,28px);font-size:13px;display:flex}.site-header nav a{opacity:.85;transition:opacity .2s}.site-header nav a:hover,.site-header nav a:focus-visible{opacity:1}.subpage .site-header{position:static}body:has(main.sub) .site-header{position:static}.site-footer{padding:32px var(--pad) 40px;border-top:1px solid var(--rule);font-family:var(--ui);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}.site-footer a:hover{color:var(--paper)}.hero{height:100svh;min-height:560px;position:relative}.hero img{object-fit:cover;width:100%;height:100%}.hero:after{content:"";pointer-events:none;background:linear-gradient(#08090c59,#08090c00 30% 62%,#08090c9e);position:absolute;inset:0}.hero-name{z-index:2;left:var(--pad);position:absolute;bottom:48px}.hero-name .jp{font-size:clamp(20px,2.4vw,26px);font-weight:500}.hero-name .en{font-family:var(--ui);letter-spacing:.18em;color:var(--paper);opacity:.8;margin-top:10px;font-size:12px}.flow{flex-direction:column;gap:clamp(96px,16vh,200px);padding:clamp(80px,12vh,140px) 0 40px;display:flex}.piece{padding:0 var(--pad);grid-template-columns:repeat(12,1fr);align-items:end;gap:16px;display:grid}.piece figure{position:relative}.piece img{width:100%;height:auto}.piece.right figure{grid-area:1/4/auto/13}.piece.right .cap{grid-area:1/1/auto/4;padding-bottom:8px}.piece.left figure{grid-area:1/1/auto/10}.piece.left .cap{grid-area:1/10/auto/13;padding-bottom:8px}.piece.center figure{grid-area:1/3/auto/8}.piece.center .cap{grid-area:1/9/auto/13;align-self:center}.cap h2{font-family:var(--ui);letter-spacing:.01em;font-size:16px;font-weight:700}.cap p{color:var(--dim);margin-top:8px;font-size:13px;line-height:1.9}.cap .more{font-family:var(--ui);border-bottom:1px solid var(--rule);margin-top:14px;padding-bottom:2px;font-size:13px;transition:border-color .2s;display:inline-block}.cap .more:hover{border-color:var(--paper)}.flow-out{padding:0 var(--pad)}.flow-out a{font-family:var(--ui);color:var(--dim);font-size:14px;transition:color .2s}.flow-out a:hover{color:var(--paper)}@media (max-width:720px){.piece,.piece.right,.piece.left,.piece.center{display:block}.piece .cap{margin-top:14px}}main.sub{min-height:60vh;padding:40px var(--pad) 100px}main.sub>h1{font-family:var(--ui);margin-bottom:8px;font-size:clamp(28px,4vw,40px);font-weight:700}main.sub>.lede{color:var(--dim);max-width:560px;margin-bottom:clamp(48px,8vh,80px);font-size:14px;line-height:2}.works-list{flex-direction:column;gap:clamp(72px,10vh,120px);display:flex}.work{grid-template-columns:repeat(12,1fr);align-items:end;gap:16px;display:grid}.work:nth-child(odd) figure{grid-area:1/1/auto/9}.work:nth-child(odd) .cap{grid-area:1/9/auto/13}.work:nth-child(2n) figure{grid-area:1/5/auto/13}.work:nth-child(2n) .cap{grid-area:1/1/auto/5}.work .meta{font-family:var(--ui);color:var(--dim);margin-top:12px;font-size:12px}@media (max-width:720px){.work,.work:nth-child(odd),.work:nth-child(2n){display:block}.work .cap{margin-top:14px}}.series{flex-direction:column;gap:clamp(56px,8vh,96px);display:flex}.series figure{max-width:980px}.series figure:nth-child(2){align-self:flex-end}.series figcaption{font-family:var(--mono);color:var(--dim);margin-top:10px;font-size:12px}.prose{max-width:620px;font-size:15px;line-height:2.2}.prose p+p{margin-top:1.6em}.prose .en{font-family:var(--ui);color:var(--dim);font-size:14px;line-height:1.9}.contact-mail{font-family:var(--ui);border-bottom:1px solid var(--rule);padding-bottom:4px;font-size:clamp(20px,3vw,28px)}.contact-mail:hover{border-color:var(--paper)}
