:root{--white:#fff;--ink:#111;--gray:#8a8a8a;--hairline:#e3e3e3;--font-display:"Space Grotesk","Noto Sans JP",sans-serif;--font-body:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--font-mono:"IBM Plex Mono",monospace;--max-width:1280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none !important;transition:none !important}}body{background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.95;letter-spacing:.02em;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.container{max-width:var(--max-width);margin:0 auto;padding:0 32px}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(10px)}.site-header .inner{max-width:var(--max-width);margin:0 auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-brand .site-title{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.site-nav{display:flex;gap:32px}.site-nav a{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);transition:color .2s}.site-nav a:hover{color:var(--ink)}.hero{padding:150px 32px 40px;max-width:var(--max-width);margin:0 auto}.hero-caption{margin-bottom:48px}.hero-title{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,9vw,120px);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase}.hero-sub{display:flex;gap:32px;margin-top:20px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--gray);text-transform:uppercase}.hero-image img{width:100%;max-height:82vh;object-fit:contain;object-position:left top}.section{padding:110px 0}.section-head{display:flex;align-items:baseline;gap:20px;margin-bottom:56px;border-top:1px solid var(--ink);padding-top:14px}.section-title{font-family:var(--font-display);font-weight:500;font-size:14px;letter-spacing:.18em;text-transform:uppercase}.section-title-en{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--gray)}.works-grid{column-count:2;column-gap:64px}.work-card{display:block;break-inside:avoid;margin-bottom:88px}.work-card figure{overflow:hidden}.work-card img{width:100%;transition:opacity .35s ease}.work-card:hover img{opacity:.85}.work-meta{margin-top:16px;padding-top:10px;border-top:1px solid var(--hairline);display:flex;align-items:baseline;justify-content:space-between;gap:16px}.work-meta .title{font-size:14px;font-weight:500;letter-spacing:.04em}.work-card:hover .work-meta .title{text-decoration:underline;text-underline-offset:4px}.work-meta .year{font-family:var(--font-mono);font-size:12px;color:var(--gray);white-space:nowrap}.works-more{margin-top:8px}.works-more a,.button-line{display:inline-block;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-bottom:5px;border-bottom:1px solid var(--ink);transition:opacity .2s}.works-more a:hover,.button-line:hover{opacity:.5}.series-filter{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:56px}.series-filter a{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);padding-bottom:3px;transition:color .2s}.series-filter a.is-active,.series-filter a:hover{color:var(--ink);border-bottom:1px solid var(--ink)}.profile-section{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}.profile-text .entry-content p{margin-bottom:1.5em}.profile-image img{width:100%;filter:grayscale(1)}.contact-section .entry-content{max-width:560px}.contact-section input[type=text],.contact-section input[type=email],.contact-section textarea{width:100%;border:none;border-bottom:1px solid var(--ink);background:0 0;padding:10px 2px;font-family:var(--font-body);font-size:15px;margin:4px 0 28px;border-radius:0}.contact-section input:focus,.contact-section textarea:focus{outline:none;border-bottom-width:2px}.contact-section input[type=submit],.contact-section button[type=submit]{display:inline-block;background:var(--ink);color:var(--white);border:none;padding:15px 56px;font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:opacity .2s;border-radius:0}.contact-section input[type=submit]:hover,.contact-section button[type=submit]:hover{opacity:.7}.single-work{padding:150px 32px 80px;max-width:var(--max-width);margin:0 auto}.single-work .work-image{margin-bottom:40px}.single-work .work-image img{max-height:82vh;width:auto;max-width:100%;margin:0 auto}.single-work .work-header{max-width:680px;margin:0 auto 8px;padding-top:14px;border-top:1px solid var(--ink);display:flex;align-items:baseline;justify-content:space-between;gap:24px}.single-work .work-title{font-family:var(--font-display);font-weight:600;font-size:clamp(20px,3vw,28px);letter-spacing:.01em;line-height:1.4}.single-work .work-year{font-family:var(--font-mono);font-size:13px;color:var(--gray);white-space:nowrap}.single-work .work-series{max-width:680px;margin:0 auto 36px}.single-work .work-series a{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-right:18px}.single-work .work-series a:hover{color:var(--ink)}.single-work .entry-content{max-width:680px;margin:0 auto 90px}.single-work .entry-content p{margin-bottom:1.6em}.work-nav{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--hairline);padding-top:28px;font-size:13px;gap:16px}.work-nav a{color:var(--gray);transition:color .2s}.work-nav a:hover{color:var(--ink)}.work-nav .to-archive{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.archive-works,.page-default{padding:150px 32px 80px;max-width:var(--max-width);margin:0 auto}.page-default .entry-content{max-width:680px}.page-default .entry-content p{margin-bottom:1.5em}.page-title-large{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,6vw,72px);letter-spacing:-.01em;text-transform:uppercase;margin-bottom:64px}.pagination{margin-top:40px;font-family:var(--font-mono);font-size:13px}.pagination .page-numbers{padding:6px 10px;color:var(--gray)}.pagination .current{color:var(--ink);border-bottom:1px solid var(--ink)}.site-footer{border-top:1px solid var(--ink);padding:48px 32px 56px;margin-top:110px}.site-footer .inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:baseline;gap:24px}.footer-name{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase}.footer-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--gray);margin-top:6px;text-transform:uppercase}.footer-sns{display:flex;gap:24px}.footer-sns a{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);transition:color .2s}.footer-sns a:hover{color:var(--ink)}.footer-copy{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--gray)}@media (max-width:900px){.profile-grid{grid-template-columns:1fr;gap:40px}.works-grid{column-gap:40px}}@media (max-width:640px){.works-grid{column-count:1}.work-card{margin-bottom:64px}.site-nav{gap:18px}.hero{padding-top:120px}.hero-sub{flex-direction:column;gap:4px}.site-footer .inner{flex-direction:column}.single-work .work-header{flex-direction:column;gap:4px}}