:root{--paper:#efeee9;--ink:#191c1d;--muted:#777b78;--lime:#dbf27a;--line:#c9ccc4;--wrap:min(1320px,calc(100% - 104px));font-family:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #98b634;outline-offset:5px}.wrap{width:var(--wrap);margin-inline:auto}.skip{position:fixed;top:-100px;z-index:100;background:var(--lime);padding:15px}.skip:focus{top:0}.header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:30px 4%;display:flex;justify-content:space-between;align-items:center;color:#fff}.logo{display:flex;align-items:center;gap:15px;font-size:38px;font-weight:700;letter-spacing:-4px}.logo span{border-left:1px solid #ffffff60;padding-left:15px;font-size:9px;line-height:1.6;letter-spacing:1.5px;font-weight:400}nav{display:flex;gap:35px;align-items:center;font-size:11px;letter-spacing:1px}nav sup{color:var(--lime);font-size:9px;margin-left:4px}.nav-contact{border:1px solid #ffffff60;border-radius:30px;padding:14px 21px}.hero{height:900px;max-height:1100px;min-height:680px;height:100svh;position:relative;overflow:hidden;color:white;background:#14171b}.hero-bg{position:absolute;inset:0;object-position:50% 40%;animation:hero-enter 1.4s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,13,.5),transparent 70%),linear-gradient(0deg,rgba(6,10,13,.85),transparent 55%,rgba(6,10,13,.3))}.hero-topline{position:absolute;top:130px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-copy{position:absolute;bottom:21%;left:4%;z-index:1}.hero-copy p{font-size:17px;line-height:1.8;letter-spacing:.12em;margin-bottom:23px}.hero h1{font-size:clamp(68px,9.3vw,155px);font-weight:500;line-height:.85;letter-spacing:-.065em;margin:0}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}.hero-bottom{position:absolute;left:4%;right:4%;bottom:35px;border-top:1px solid #ffffff50;padding-top:23px;display:flex;justify-content:space-between;align-items:center;font-size:11px;line-height:1.7}.hero-bottom small{color:#c3c7c9;font-size:9px}.scroll-link{display:flex;gap:22px;align-items:center;letter-spacing:1px;font-size:9px}.scroll-link span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff70;border-radius:50%;font-size:19px}.hero-counter{font-size:24px;font-weight:300}.hero-counter i{font-size:11px;color:#9b9fa4;font-style:normal;margin:0 10px}.hero-peek{position:absolute;right:4%;bottom:20%;width:165px;background:var(--paper);color:var(--ink);transform:rotate(5deg);padding:8px;box-shadow:0 15px 40px #0005;transition:transform .4s}.hero-peek:hover{transform:rotate(0) translateY(-8px)}.hero-peek img{height:115px;object-fit:contain}.hero-peek span{display:block;font-size:8px;line-height:1.6;letter-spacing:1px;padding:8px 4px 3px}.label{font-size:9px;letter-spacing:1.5px;display:block}.intro{padding-block:135px;display:grid;grid-template-columns:1fr 2fr .5fr;gap:40px;align-items:start}.intro>.label{padding-top:10px}.intro h2{font-weight:500;font-size:clamp(27px,3vw,43px);line-height:1.6;letter-spacing:.06em;margin:0 0 25px}.intro p{font-size:12px;line-height:2.3;color:#626761;margin:0}.intro-symbol{font-size:95px;font-family:Georgia,serif;color:#71814c;line-height:1}.works{padding-bottom:130px}.works-heading{border-top:1px solid var(--line);padding-top:36px;display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.works-heading h2{font-size:clamp(58px,7vw,105px);line-height:.92;font-weight:400;letter-spacing:-.06em;margin:28px 0 0}.works-heading h2 em{font-family:Georgia,serif;font-weight:400}.filter{display:flex;gap:8px;flex-wrap:wrap}.filter button{border:1px solid var(--line);padding:10px 17px;border-radius:25px;font-size:9px;background:none;letter-spacing:.5px}.filter button.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter sup{font-size:7px;margin-left:3px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px 55px;align-items:start}.project{padding:0;border:0;background:none;text-align:left;min-width:0}.project[hidden]{display:none}.project-image{height:450px;overflow:hidden;position:relative;background:#e2e3de}.project-image>img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project:hover .project-image>img{transform:scale(1.045)}.project.wide{grid-column:1 / -1}.wide .project-image{height:560px;background:#161719}.wide .project-image img{object-fit:contain;padding:45px 9%;mix-blend-mode:screen}.project-number{position:absolute;top:23px;left:25px;color:#fff;mix-blend-mode:difference;font-size:9px;letter-spacing:1px}.project-open{position:absolute;bottom:22px;right:23px;background:var(--paper);width:49px;height:49px;display:grid;place-items:center;font-size:26px;border-radius:50%;transition:background .3s,transform .3s}.project:hover .project-open{background:var(--lime);transform:rotate(45deg)}.project-caption{display:flex;justify-content:space-between;align-items:end;padding-top:23px;gap:15px}.project-caption small{color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase}.project-caption h3{font-size:21px;font-weight:500;letter-spacing:.04em;margin:10px 0 0}.project-caption>span{font-size:9px;color:var(--muted);text-align:right}.mouse .project-image{margin-right:10%;height:500px;background:#dfe6e8}.mouse img{object-fit:contain;padding:45px;mix-blend-mode:multiply}.portrait{margin-top:130px}.portrait .project-image{height:530px}.portrait img{object-position:50% 35%}.ec .project-image{height:360px}.brand{margin-top:110px}.brand .project-image{height:400px}.brand img{object-fit:contain;background:#e5e2db;padding:35px;mix-blend-mode:multiply}.page{grid-column:1/-1;max-width:850px;width:80%;margin-inline:auto}.page .project-image{height:410px}.page img{object-position:top}.project-grid.filtered .project{margin:0;width:100%;max-width:none;grid-column:auto}.project-grid.filtered .project-image{height:400px;margin:0}.statement{display:grid;grid-template-columns:1.15fr 1fr;background:#202523;color:#eeeee8}.statement-image{min-height:660px;background:#d8dbd2;overflow:hidden}.statement-image img{object-fit:cover;mix-blend-mode:multiply;transform:scale(1.12)}.statement-copy{padding:70px 13%}.statement-copy .label{color:var(--lime)}.statement-copy h2{font-size:clamp(44px,5vw,74px);line-height:1.4;letter-spacing:.07em;font-weight:400;margin:35px 0}.statement-copy h2 em{font-style:normal;color:var(--lime)}.statement-copy p{font-size:11px;line-height:2.2;color:#b5bcb5}.statement-copy>a{border-bottom:1px solid #ffffff40;display:flex;justify-content:space-between;margin-top:35px;padding-bottom:17px;font-size:10px;letter-spacing:1px}.profile{width:var(--wrap);margin:auto;padding:130px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#78816d}.section-heading h2{font-size:32px;font-weight:400}.heading-en{font-family:Georgia,serif;font-size:45px;font-style:italic;margin-left:25px}.section-heading>p{font-size:11px;color:#72776e;line-height:2}.profile-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:9%;border-top:1px solid var(--line);padding-top:40px}.profile-name{position:relative;padding-left:35px}.vertical-label{writing-mode:vertical-rl;position:absolute;left:0;top:0;font-size:8px;color:#808575;letter-spacing:1px}.profile-name h3{font-size:40px;line-height:1.5;font-weight:400;margin:5px 0 20px}.profile-name>p:not(.vertical-label),.profile-name>span{font-size:10px;color:#777b72}.profile-intro{font-size:12px;line-height:2.3;margin:0 0 35px;color:#525a51}.career-list{display:grid;gap:20px}.career-list>div{display:grid;grid-template-columns:135px 1fr;gap:8px;font-size:11px}.career-list span{font-size:9px;color:#777e71}.career-list b{font-weight:500}.career-list small{grid-column:2;color:#7b8076;font-size:10px}.skills-row{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);padding-top:25px;margin-top:45px}.skills-row p{font-size:10px;line-height:2;color:#72796c}.contact{background:var(--lime);padding:95px 0 60px}.contact h2{font-size:clamp(48px,8.5vw,126px);line-height:1;letter-spacing:-.055em;font-weight:400;margin:45px 0 60px}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #83924f70;padding-top:25px;gap:30px}.contact-bottom p{font-size:10px}.contact-bottom>a{font-size:clamp(13px,2vw,23px)}.contact-bottom a span{margin-left:20px}footer{padding-block:30px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#6e756b;letter-spacing:.5px}.project-dialog{position:fixed;inset:0;width:min(1160px,96vw);max-width:none;height:94svh;max-height:none;border:0;background:var(--paper);padding:0;color:var(--ink)}.project-dialog::backdrop{background:#101512c9;backdrop-filter:blur(8px)}.dialog-bar{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;padding:20px 4%;border-bottom:1px solid var(--line);background:var(--paper);font-size:9px;letter-spacing:1px;align-items:center}.dialog-close{background:var(--ink);color:#fff;border:0;border-radius:25px;padding:11px 20px;font-size:10px}.dialog-content{padding:45px 6% 70px}.detail-title>span,.detail-title>p{font-size:10px;letter-spacing:1px;color:var(--muted)}.detail-title h2{font-size:clamp(28px,4vw,48px);font-weight:400;margin:25px 0}.work-meta{display:none}.work-card{padding-top:35px}.work-card figure{overflow:hidden;background:#e1e3de}.work-card img{object-fit:contain;max-height:650px}.work-card h3{font-size:24px;font-weight:400;line-height:1.6}.work-card p{font-size:12px;line-height:2;color:#60695d}.work-photo-grid,.mouse-pair,.portrait-layout,.butsugu-gallery,.brand-gallery,.page-samples{display:grid;grid-template-columns:1fr 1fr;gap:15px}.work-photo-grid figure,.mouse-pair figure{height:380px;padding:25px}.portrait-layout figure{height:420px}.portrait-side{display:grid;gap:15px}.portrait-side figure{height:202px}.portrait-caption{grid-column:1/-1}.work-copy-row,.usage-layout,.butsugu-layout,.page-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;margin-top:28px}.usage-layout{grid-template-columns:1.2fr 1fr}.butsugu-gallery .wide{grid-column:1/-1}.butsugu-gallery figure{height:150px}.butsugu-gallery figure.wide{height:220px}.metric{font-size:70px!important;margin:0!important}.work-facts{display:grid;grid-template-columns:50px 1fr;font-size:10px;gap:10px}.brand-metrics{display:flex;gap:40px;padding:25px 0}.brand-metrics>div{display:grid;gap:10px}.brand-metrics strong{font-size:35px;font-weight:400}.brand-metrics span{font-size:11px}.brand-metrics em{font-style:normal}.brand-gallery{grid-template-columns:repeat(3,1fr)}.brand-gallery figure{height:220px}.brand-process{display:flex;gap:30px;margin-top:30px}.brand-process>div{display:grid;gap:8px;font-size:11px}.brand-process small{color:#7b8076}.page-layout{grid-template-columns:1fr}.page-samples figure{max-height:650px}.tag-list{font-size:10px;color:#7b8374}.tag-list b{font-weight:400}.reveal{transition:opacity .8s,transform .8s}.js .reveal:not(.visible){opacity:0;transform:translateY(25px)}@keyframes hero-enter{from{transform:scale(1.04);opacity:.4}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.hero-copy{bottom:22%}}@media(max-width:900px){:root{--wrap:calc(100% - 56px)}.hero{min-height:680px}.hero h1{font-size:100px}.hero-peek{width:130px}.intro{grid-template-columns:1fr 3fr}.intro-symbol{display:none}.project-grid{gap:65px 25px}.project-image{height:320px}.wide .project-image{height:420px}.mouse .project-image{height:370px}.portrait .project-image{height:400px}.project-caption{display:block}.project-caption>span{display:block;text-align:left;margin-top:12px}.statement-image{min-height:580px}.statement-copy{padding:55px 10%}.profile-grid{gap:6%}.career-list>div{grid-template-columns:1fr}.career-list small{grid-column:auto}.section-heading>p{max-width:260px}.contact-bottom{align-items:start;flex-direction:column;gap:15px}}
@media(max-width:600px){:root{--wrap:calc(100% - 40px)}.header{padding:22px 20px}.logo{font-size:32px;gap:12px}.logo span{font-size:7px;padding-left:12px}nav{gap:18px;font-size:9px}.nav-contact{display:none}.hero{min-height:690px;max-height:1000px}.hero-bg{object-position:46% center}.hero-shade{background:linear-gradient(0deg,#0a1012dc,transparent 80%),linear-gradient(90deg,#0a10124a,transparent)}.hero-topline{top:101px;left:20px;right:20px;font-size:7px;letter-spacing:1px}.hero-topline span:last-child{display:none}.hero-copy{left:20px;bottom:23%}.hero-copy p{font-size:12px;margin-bottom:25px}.hero h1{font-size:clamp(57px,14vw,83px);line-height:.93}.hero-peek{right:23px;bottom:38%;width:94px;padding:5px}.hero-peek img{height:64px}.hero-peek span{font-size:5px;padding:5px 2px}.hero-bottom{left:20px;right:20px;bottom:25px;padding-top:20px;font-size:10px}.hero-counter{display:none}.scroll-link{font-size:7px;gap:12px}.scroll-link span{width:31px;height:31px}.intro{padding-block:75px;display:block}.intro>.label{margin-bottom:30px}.intro h2{font-size:29px}.intro p{font-size:11px}.works{padding-bottom:75px}.works-heading{display:block;margin-bottom:35px;padding-top:25px}.works-heading h2{font-size:65px;margin-top:24px}.filter{margin-top:30px;gap:6px}.filter button{padding:9px 12px;font-size:8px}.project-grid{gap:40px 20px}.project,.project.wide,.page{grid-column:1/-1;width:100%;max-width:none;margin:0}.project-image,.wide .project-image{height:270px}.wide .project-image img{padding:20px}.mouse .project-image{height:365px;margin-right:17%}.portrait .project-image{height:410px;margin-left:17%}.project.portrait .project-caption{margin-left:17%}.project-caption{padding-top:17px}.project-caption h3{font-size:18px;margin-top:8px}.project-caption small{font-size:8px}.project-caption>span{font-size:8px;margin-top:10px}.ec .project-image,.brand .project-image{height:260px}.page .project-image{height:300px}.project-grid.filtered .project-image{height:310px;margin:0}.project-grid.filtered .project-caption{margin:0}.project-open{width:40px;height:40px;font-size:22px;bottom:16px;right:16px}.project-number{top:17px;left:18px}.statement{grid-template-columns:1fr}.statement-image{min-height:0;height:320px}.statement-copy{padding:45px 30px 50px}.statement-copy h2{font-size:48px;margin-block:25px}.statement-copy p{font-size:11px}.profile{padding-block:75px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:24px}.heading-en{font-size:35px;margin-left:20px}.section-heading>p{font-size:10px;max-width:none}.profile-grid{grid-template-columns:1fr;gap:30px;padding-top:25px}.profile-name h3{font-size:33px}.profile-intro{font-size:11px}.career-list{gap:20px}.skills-row{grid-template-columns:1fr;gap:12px;margin-top:30px}.contact{padding:60px 0 40px}.contact h2{font-size:clamp(40px,10vw,60px);margin:35px 0 40px}.contact-bottom p{font-size:9px;line-height:1.8}.contact-bottom a{font-size:16px}footer{flex-wrap:wrap;padding-block:25px;font-size:8px}footer>span{width:100%}.project-dialog{width:100vw;height:100svh}.dialog-content{padding:30px 20px 50px}.work-photo-grid,.mouse-pair,.portrait-layout,.butsugu-gallery,.brand-gallery,.page-samples{gap:9px}.work-photo-grid{grid-template-columns:1fr}.work-photo-grid figure{height:250px;padding:10px}.mouse-pair figure{height:275px;padding:10px}.work-copy-row,.usage-layout,.butsugu-layout{grid-template-columns:1fr;gap:15px}.portrait-layout figure{height:290px}.portrait-side figure{height:140px}.portrait-side{gap:10px}.portrait-caption{grid-column:1/-1}.work-card h3{font-size:21px}.work-card p{font-size:11px}.brand-gallery{grid-template-columns:1fr}.brand-gallery figure{height:220px}.brand-process{flex-direction:column;gap:20px}.brand-metrics{gap:25px}.brand-metrics strong{font-size:25px}.brand-metrics span{font-size:9px}.page-samples{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal:not(.visible){opacity:1;transform:none}}
