/* 更新日時: 2026年09月09日 19時14分（水） */
:root{--bg:#f4f4f0;--bg-2:#e5e8e0;--bg-3:#d9ded2;--ink:#171b19;--ink-2:#454b43;--muted:#646d60;--line:#c9cec2;--gold:#566b30;--gold-2:#bddd70;--shadow:none}
body{font-weight:400;font-size:16px}section{padding:110px 0}html{scroll-padding-top:90px}.container{max-width:1400px;padding-left:5%;padding-right:5%}#preload,#cursor{display:none!important}.reveal,.js-ready .reveal{opacity:1!important;transform:none!important}a:focus-visible,button:focus-visible{outline:3px solid #8fab49;outline-offset:5px}.eyebrow{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.14em}.eyebrow:before{display:none}.section-title{font-family:var(--sans);font-size:clamp(30px,4vw,52px);font-weight:400;letter-spacing:-.03em}.section-title small{font-size:16px;font-style:normal;letter-spacing:.06em}
header.nav,header.nav.scrolled{position:absolute;padding:26px 0;background:#171b19;color:white;border-bottom:1px solid #444b41;backdrop-filter:none}.brand{font-family:var(--sans);font-size:22px;letter-spacing:.04em}.brand span{color:#bddd70}.menu-toggle{color:white;position:relative;z-index:2}nav.menu{gap:28px}nav.menu a{color:#e7ebe1;font:400 14px var(--sans);letter-spacing:.02em}nav.menu a:hover{color:#bddd70}
.hero.container{max-width:none;width:100%;min-height:780px;height:95svh;max-height:1040px;background:#171b19;color:#fff;grid-template-columns:1fr 1fr;gap:5%;padding-top:135px;padding-bottom:75px;overflow:hidden}.hero .eyebrow{color:#bddd70}.hero h1{display:flex;flex-direction:column;font:400 clamp(21px,2.2vw,32px)/1.5 var(--sans);letter-spacing:.12em;white-space:normal;margin:24px 0 35px}.hero h1 .en{order:-1;color:#fff;font:400 clamp(96px,11vw,174px)/.86 var(--serif-en);letter-spacing:-.05em;max-width:5ch;margin:0 0 30px;font-style:normal}.hero-meta{border-color:#4b5445;color:#d5ddcd;font:400 12px/1.8 var(--sans);letter-spacing:.03em;gap:24px}.hero-meta b{display:block;color:#9dab91;font-size:12px;font-weight:400}.hero-visual{height:100%;min-height:490px}.hero-visual .frame{border:0;box-shadow:none}.hero-visual .frame img{animation:none;filter:grayscale(1);object-position:center 23%}.hero-visual:after,.hero-visual .frame:before,.hero-visual .frame:after{display:none}.hero-scroll{left:5%;color:#c1cdb5;font:400 12px var(--sans);letter-spacing:.15em}.hero-scroll:before{background:#bddd70;animation:none}
.about-grid{grid-template-columns:.8fr 1fr;gap:12%;align-items:center}.about-portrait{max-width:420px;box-shadow:none;border:0;overflow:visible}.about-portrait:after{display:none}.about-portrait .caption{position:static;background:none;color:var(--muted);font:400 12px var(--sans);padding:15px 0}.profile-table{font-size:16px;gap:0;grid-template-columns:100px 1fr;border-top:0;border-bottom:0;padding:0}.profile-table dt,.profile-table dd{padding:16px 0;border-bottom:1px solid var(--line)}.profile-table dt{font:400 14px/1.75 var(--sans);letter-spacing:.02em}.featured{border:0}.feat-grid{gap:36px}.feat-card{display:block;aspect-ratio:auto;background:none;color:var(--ink);border:0;border-top:1px solid #828e76;box-shadow:none;padding:28px 0 12px;min-height:0}.feat-card:before,.feat-card:after{display:none}.feat-card:hover{transform:translateY(-5px)}.feat-cat{font:400 14px var(--sans);color:var(--muted);letter-spacing:.08em}.feat-title{font:400 28px/1.5 var(--sans);color:var(--ink);margin:30px 0 10px}.feat-sub{font-size:14px;color:var(--muted)}
.activity{background:#171b19;color:white;border:0}.activity:before{display:none}.activity .eyebrow{color:#bddd70}.activity .section-title small{color:#a7b39a}.act-grid{grid-template-columns:repeat(4,1fr);gap:24px;align-items:start}.act-card,.act-card.big,.act-card.wide,.act-card.tall{display:block;width:100%;grid-column:auto;aspect-ratio:auto;border:0;border-radius:0;background:none;color:white;padding:0;box-shadow:none;text-align:left}.act-card:nth-child(even){margin-top:60px}.act-card .act-img{position:static;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;filter:saturate(.7)}.act-card:hover{transform:translateY(-4px);box-shadow:none}.act-card:hover .act-img{transform:none}.act-card:after{content:attr(data-number);position:static;display:block;opacity:1;background:none;font:400 12px var(--sans);color:#a7b39a;padding-top:12px;letter-spacing:.12em}.act-cta a{font-size:14px;color:#dbe5d0;border-color:#7a8d6a}.filmo{background:var(--bg);border:0}.tabs{gap:8px}.tab{font:400 14px/1.6 var(--sans);letter-spacing:.02em;padding:14px 18px}.tab.active{color:#171b19;border-color:#171b19;background:#e5e8e0}.works{gap:0 48px}.works li{padding:22px 0}.work-title{font-family:var(--sans);font-size:16px}.work-title em{display:none}.work-role,.work-dir{font:400 14px/1.7 var(--sans);letter-spacing:0;opacity:1}.work-role{white-space:normal;max-width:150px}.contact{background:var(--bg-2)}.contact-card{background:none;border:0;border-top:1px solid #adb79f;text-align:left;padding:30px 0;box-shadow:none}.contact .email{font:400 clamp(20px,3vw,34px)/1.6 var(--sans);color:var(--ink)}footer{background:#171b19;color:#c0cbb3;font-size:12px}.lb{background:#101310f5}.lb img{max-height:85svh}.lb button{min-width:48px;min-height:48px}
@media(max-width:900px){.hero.container{grid-template-columns:1fr;min-height:0;height:auto;max-height:none;padding-top:125px;gap:32px}.hero-visual{order:0;height:62svh;min-height:340px;max-height:650px}.hero h1 .en{max-width:none;white-space:nowrap;font-size:clamp(74px,19vw,138px)}.hero h1{margin-bottom:24px}.hero-meta{gap:20px}.hero-scroll{bottom:25px}.about-grid{gap:50px;grid-template-columns:1fr}.about-portrait{width:70%;max-width:none;margin:auto}.act-grid{grid-template-columns:repeat(2,1fr);gap:16px}.act-card:nth-child(even){margin-top:30px}}
@media(max-width:820px){section{padding:72px 0}nav.menu{display:none;position:absolute;inset:78px 0 auto;width:100%;max-width:none;transform:none;padding:30px 5%;background:#171b19;gap:25px;border:0}nav.menu.open{display:flex}.feat-grid{grid-template-columns:1fr;gap:22px}.feat-title{margin-top:16px}.profile-table{grid-template-columns:80px 1fr}.profile-table dd{overflow-wrap:anywhere}.tab{padding:12px 10px}.section-title{margin-bottom:30px}.works{grid-template-columns:1fr}.hero-meta{font-size:12px}.hero-visual:after{display:none}}
.contact-card:before,.contact-card:after{display:none}.contact-card .email,.contact-card .email:hover{padding:0;border:0;background:none;color:var(--ink)}.foot-inner{color:#c0cbb3;font-family:var(--sans);letter-spacing:.04em}.hero-visual .frame img{object-fit:cover}.lb button{opacity:1}.act-card{cursor:zoom-in}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
