@charset "UTF-8";:root{color-scheme:light dark;font-family:Arial,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-weight:300;--color-bg: #fff;--color-text: #202020;--color-text-sub: #555;--color-text-body: #454545;--color-text-muted: #626262;--color-text-faint: #a0a0a0;--color-border: #e7e7e7;color:var(--color-text);background:var(--color-bg);font-synthesis:none;-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{--color-bg: #101113;--color-text: #e4e6e9;--color-text-sub: #a6a9ae;--color-text-body: #c0c3c8;--color-text-muted: #8c9097;--color-text-faint: #5a5e65;--color-border: #292c31}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}h1,h2,p,dl,dd{margin:0}a{color:inherit;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-text);outline-offset:5px}[hidden]{display:none!important}.portfolio{max-width:720px;padding:64px 40px 40px;margin:0 auto}.lang-switch{display:flex;gap:6px;margin-bottom:20px;font-size:12px;color:var(--color-text-muted)}.lang-switch a{text-decoration:none}.lang-switch a:hover,.lang-switch a[aria-current=page]{color:var(--color-text);text-decoration:underline}.intro h1{font-size:18px;line-height:1.5;font-weight:400;margin-bottom:6px}.intro h1 .name-local{font-size:.9em;letter-spacing:.03em}.intro p{color:var(--color-text-sub);font-weight:400}.intro .email{color:var(--color-text);display:flex;align-items:baseline;gap:12px;margin-top:12px}.email-copy{padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.email-copy:hover{color:var(--color-text)}.works{margin-top:48px}.works h2{font-size:14px;font-weight:300;margin-bottom:14px}.work{border-top:1px solid var(--color-border)}.works-list{border-bottom:1px solid var(--color-border)}.work summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer}.work summary::-webkit-details-marker{display:none}.work summary:hover .work-title{text-decoration:underline;text-underline-offset:3px}.work-heading{min-width:0;overflow-wrap:anywhere}.work-role{display:block;font-size:12px;color:var(--color-text-muted);margin-top:3px}.work-meta{display:flex;align-items:baseline;gap:16px;color:var(--color-text-muted);font-size:12px;padding-top:2px;flex-shrink:0}.work-toggle{width:10px;text-align:center}.work-toggle:before{content:"+"}.work[open] .work-toggle:before{content:"−"}.work-content{padding:2px 0 28px;font-size:13px;color:var(--color-text-body);overflow-wrap:anywhere}.work-image{display:block;width:100%;height:auto;margin-bottom:22px}.work-overview{white-space:pre-line}.work-link{margin-top:12px}.work-info{margin-top:22px}.work-info>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;margin-top:10px}.work-info dt{color:var(--color-text-muted)}.credit-line{display:block}footer{margin-top:40px;font-size:12px;color:var(--color-text-muted)}.works-detail{display:none}@media(min-width:960px){:root{--layout-max: 1600px;--layout-gutter: max(0px, (100vw - var(--layout-max)) / 2);--list-width: calc((100vw - var(--layout-gutter) * 2) * .4)}.portfolio{max-width:none;width:var(--list-width);margin:0 0 0 var(--layout-gutter);padding:64px 48px 40px}.work summary{padding:14px 0}.work .work-content,.work-toggle{display:none}.work.is-active .work-title{text-decoration:underline;text-underline-offset:3px}.works-detail:not([hidden]){display:block;position:fixed;top:0;bottom:0;left:calc(var(--layout-gutter) + var(--list-width));right:var(--layout-gutter);overflow-y:auto;padding:64px 56px 56px;border-left:1px solid var(--color-border)}.works-detail-empty{color:var(--color-text-faint)}.works-detail .work-heading{display:block;margin-bottom:28px}.works-detail .work-title{font-size:18px;line-height:1.5;font-weight:400}.works-detail .work-content{padding:0;font-size:14px}}@media(max-width:480px){.portfolio{padding:32px 22px}.works{margin-top:36px}.work summary{gap:12px}.work-meta{gap:10px}.work-info>div{grid-template-columns:56px minmax(0,1fr);gap:12px}}
