:root{--bg:#e0e0e0;--fg:#1a1a1b;--sub:#5c5c5c;--img:832px;--r:4px;--gutter:clamp(20px, 4vw, 40px);--mono:"Intel One Mono", ui-monospace, monospace;--ja:"Noto Sans JP", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font:400 15px/1.8 var(--ja);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:var(--fg);color:var(--bg)}h1,h2,h3,p,ul,ol,dl,dt,dd,figure{margin:0;padding:0}h1,h2,h3{font-size:inherit;font-weight:500}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}:focus-visible{outline-offset:4px;outline:2px solid}.mono{font-family:var(--mono);letter-spacing:0;font-weight:400}.sub{color:var(--sub)}.link{text-underline-offset:.28em;text-decoration:underline 1px}h1,h2,h3,.lead,.lead-s,.aff,.line{word-break:auto-phrase}.page{width:100%;max-width:calc(960px + var(--gutter) * 2);padding:48px var(--gutter) 64px;margin-inline:auto}.who{flex-direction:column;gap:2px;display:flex}.who-ja{font-size:18px;font-weight:500;line-height:1.5}.who .mono{font-size:13px}a.who:hover .who-ja{text-underline-offset:.28em;text-decoration:underline 1px}.intro{margin-top:24px}.aff{font-size:14px;line-height:1.7}.lead{text-wrap:pretty;max-width:36em;margin-top:12px;font-size:17px;line-height:1.8}main{margin-top:128px;display:block}.sub-page{margin-top:96px}.sec-h{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.sec-t{font-size:15px;line-height:1.5}.profile .sec-t,.contact .sec-t{margin-bottom:24px}.more{font-size:14px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;display:grid}@media (width<=1023px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid.all{margin-top:64px}.card{display:block}.pic{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);width:100%}.pic.none{background:color-mix(in srgb, var(--fg) 6%, var(--bg))}.cap{justify-content:space-between;align-items:baseline;gap:16px;margin-top:12px;display:flex}.cap h3{font-size:16px;line-height:1.5}.cap .mono{white-space:nowrap;font-size:13px}.line{margin-top:4px;font-size:14px;line-height:1.7}.card:hover h3{text-underline-offset:.28em;text-decoration:underline 1px}.profile{row-gap:64px;margin-top:128px;display:grid}.rows{row-gap:12px;display:grid}.rows>div{grid-template-columns:10em minmax(0,1fr);column-gap:24px;display:grid}.rows dt{padding-top:1px;font-size:13px;line-height:1.8}.work{max-width:var(--img)}.title{font-size:26px;line-height:1.4}.lead-s{margin-top:8px}.meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin-block:40px 48px;display:grid}.meta dt{font-size:12px;line-height:1.6}.meta dd{font-size:14px;line-height:1.7}.cover{border-radius:var(--r);width:100%}.prose{margin-top:48px;font-size:16px;line-height:1.9}.prose>*+*{margin-top:1.2em}.prose>:is(p:has(>img),p:has(>video),video),.prose>:is(p:has(>img),p:has(>video),video)+*{margin-top:48px}.prose img,.prose video{border-radius:var(--r);width:100%}.prose h2,.prose h3{font-size:16px}.prose>:is(h2,h3){margin-top:48px}.prose ul{padding-left:1.4em;list-style:outside}.prose ol{padding-left:1.6em;list-style:decimal}.prose a{text-underline-offset:.28em;text-decoration:underline 1px}.links{flex-wrap:wrap;gap:4px 24px;margin-top:48px;font-size:14px;display:flex}.back{margin-top:64px;font-size:14px}.contact{margin-top:128px}.mail{font-size:17px;line-height:1.5}.ext{gap:24px;margin-top:8px;font-size:14px;display:flex}.pending{outline:1px dashed var(--sub);outline-offset:6px;opacity:.6}@media (width<=600px){.page{padding-top:32px}main{margin-top:96px}.sub-page{margin-top:64px}.grid{grid-template-columns:1fr;row-gap:48px}.rows>div{grid-template-columns:1fr}.meta{grid-template-columns:repeat(2,minmax(0,1fr))}.profile{row-gap:56px;margin-top:96px}.contact{margin-top:96px}}.slot{width:100%;max-width:var(--img);aspect-ratio:4/3;border-radius:var(--r);outline:1px dashed var(--sub);outline-offset:-1px;background:color-mix(in srgb, var(--fg) 6%, var(--bg));color:var(--sub);flex-direction:column;justify-content:center;gap:8px;padding:24px;font-size:14px;line-height:1.7;display:flex}.slot.wide{aspect-ratio:16/9}.slot b{font-family:var(--mono);color:var(--fg);font-weight:400}.prose>.slot,.prose>.slot+*{margin-top:48px}.prose img[src*=\.svg]{aspect-ratio:16/9;object-fit:contain;background:#fff}@media (width<=600px){.prose img[src*=\.svg]{aspect-ratio:auto}}
