:root{--serif:"dnp-shuei-mincho-pr6n", "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", serif;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "YuGothic", "Meiryo", sans-serif;--night:#09090a;--paper:#efebe3;--ink:#24221e;--muted:#857f73;--rule:#cfc8ba;--cloth:#171615;--gold:#c2ad7a;--pw:min(76vw, calc(66svh * 1.333));--ph:calc(var(--pw) / 1.333)}*,:before,:after{box-sizing:border-box}html{background:var(--night);scroll-padding-top:72px}body{background:var(--night);color:#e9e5dc;font-family:var(--serif);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{margin:0;font-weight:400}.masthead{z-index:50;font-family:var(--sans);letter-spacing:.12em;mix-blend-mode:difference;color:#fff;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:22px clamp(16px,4vw,56px);font-size:12px;transition:background-color .4s,color .4s,border-color .4s;display:flex;position:fixed;inset:0 0 auto}.masthead.on-light,.masthead.on-dark{mix-blend-mode:normal;backdrop-filter:blur(12px)}.masthead.on-light{color:var(--ink);background:#efebe3e6;border-bottom-color:#24221e1f}.masthead.on-dark{color:#e9e5dc;background:#0e0d0cd1;border-bottom-color:#e9e5dc14}.name{font-family:var(--serif);letter-spacing:.12em;font-size:18px}.masthead nav{gap:24px;display:flex}.masthead nav a{opacity:.7;transition:opacity .3s}.masthead nav a:hover,.masthead nav a.consult{opacity:1}.toc[hidden]{display:none}#stage{background:radial-gradient(ellipse 60% 55% at 50% 50%, #26231f 0%, #121110 50%, var(--night) 85%);height:100svh;position:relative;overflow:hidden}.hero{z-index:5;position:absolute;inset:0}.reel{pointer-events:none;position:absolute;inset:0;overflow:hidden}.reel video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.8s;position:absolute;inset:0}.reel video.on{opacity:1}@media (aspect-ratio<=1){.reel video{object-position:var(--x,50%) 50%}}.hero-shade{pointer-events:none;background:radial-gradient(60% 42% at 18% 74%,#09090a40,#09090a00 70%),linear-gradient(#09090a8c 0%,#09090a0d 40%,#09090abf 100%);position:absolute;inset:0}.hero-copy{pointer-events:none;position:absolute;bottom:clamp(110px,17vh,190px);left:clamp(16px,8vw,140px)}.hero-name{margin:0;line-height:1}.signature{filter:drop-shadow(0 2px 24px #00000073);width:clamp(280px,44vw,720px);height:auto;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero-statement{font-family:"Klee One", var(--serif);letter-spacing:.1em;color:#f4f1ea;text-shadow:0 1px 3px #0009,0 2px 24px #0000008c;margin:clamp(20px,3vh,36px) 0 0 .2em;font-size:clamp(19px,2.1vw,30px);font-weight:600;line-height:1.8}.hero-intro{max-width:46em;font-family:var(--sans);letter-spacing:.08em;color:#f4f1eae6;text-shadow:0 1px 3px #0009,0 2px 18px #00000080;margin:clamp(18px,2.6vh,28px) 0 0 .2em;font-size:clamp(13px,1.05vw,15px);line-height:1.9}.hero-credit{font-family:var(--sans);letter-spacing:.08em;color:var(--gold);text-shadow:0 1px 3px #000000b3;margin:10px 0 0 .2em;font-size:clamp(11px,.85vw,12.5px)}.hero-links{pointer-events:auto;gap:12px;margin:0;padding:0;list-style:none;display:flex}.hero-copy .line{display:block}.hero-copy .ch{display:inline-block}.hero-actions{font-family:var(--sans);letter-spacing:.16em;justify-content:space-between;align-items:center;font-size:12px;display:flex;position:absolute;bottom:36px;left:clamp(16px,8vw,140px);right:clamp(16px,4vw,56px)}.scroll-cue{color:#e9e5dcbf;align-items:center;gap:14px;margin:0;display:flex}.scroll-cue span{background:linear-gradient(#0000,#e9e5dc);width:1px;height:40px;animation:2.4s ease-in-out infinite cue}@keyframes cue{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.skip-link{border:1px solid #e9e5dc73;padding:12px 22px;transition:background .3s,color .3s}.skip-link:hover{color:var(--night);background:#e9e5dc}.scene{perspective:2400px;opacity:0;background:radial-gradient(74% 80% at 56% 42%,#08050300 32%,#080503b3 74%,#080503f2 100%),radial-gradient(52% 56% at 64% 32%,#ffa6526b,#ffa6521f 48%,#ffa65200 74%),url(/assets/images/common/walnut-table.webp) 50%/cover,#2a1c13;place-items:center;padding:40px 0 56px;display:grid;position:absolute;inset:0}.lamp{pointer-events:none;z-index:5;background:radial-gradient(60% 64% at 64% 32%,#ffba6c29,#ffba6c00 64%),radial-gradient(82% 86% at 56% 42%,#08050300 52%,#08050357 100%);position:absolute;inset:0}.book{width:var(--pw);height:var(--ph);transform-style:preserve-3d;position:relative}.shadow{filter:blur(30px);background:#000c;position:absolute;inset:2% 1% -3% -2%;transform:translateZ(-40px)}.board-back{background:var(--cloth);border-radius:2px 4px 4px 2px;position:absolute;inset:-1.2% -1.6% -1.6% -.4%;transform:translateZ(-20px)}.page,.leaf{position:absolute;inset:0}.page.base{transform:translateZ(-12px)}.leaf{transform-origin:0;transform-style:preserve-3d}.face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.face.back{opacity:var(--back,1);transform:rotateY(180deg)}.face.front:after,.page.base:after{content:"";pointer-events:none;background:linear-gradient(90deg, #00000042 0%, #0000000d 2.5%, #0000 6%), linear-gradient(90deg, rgba(0,0,0,var(--cast,0)) 0%, rgba(0,0,0,calc(var(--cast,0) * .3)) 45%, #0000 80%), rgba(0,0,0,var(--shade,0));position:absolute;inset:0}.face.back:after{content:"";background:linear-gradient(270deg,#00000040,#0000 10%);position:absolute;inset:0}.paper{background-color:var(--paper);color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.folio{font-family:var(--sans);font-size:calc(var(--ph) * .02);letter-spacing:.1em;color:var(--muted);margin:0;position:absolute;bottom:5%;right:4%}.kicker{font-family:var(--sans);font-size:calc(var(--ph) * .021);letter-spacing:.24em;color:var(--muted);margin:0}.is-cover .front.cover{inset:-1.2% -1.6% -1.6% -.4%}.cover{background-color:var(--cloth);color:#d8d2c4;background-image:linear-gradient(240deg,#ffd6aa17 0%,#fff0 45%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-bottom:5px solid #141511;border-right:5px solid #171914;border-radius:2px 4px 4px 2px;box-shadow:inset 10px 0 14px -6px #000000b3}.cover:before{content:"";background:linear-gradient(90deg,#0009,#ffffff0d);width:3px;position:absolute;top:0;bottom:0;left:3%}.cover-text{flex-direction:column;display:flex;position:absolute;top:11%;bottom:10%;left:10%}.cover-kicker{font-family:var(--sans);font-size:calc(var(--ph) * .02);letter-spacing:.3em;color:#8b836f;text-transform:uppercase;margin:0}.cover-title{font-size:calc(var(--ph) * .075);letter-spacing:.28em;background:linear-gradient(160deg,#e9d8a6 0%,#b08f4f 40%,#f3e3b4 55%,#9c7c41 100%);color:#0000;background-clip:text;margin:auto 0 0;line-height:1}.cover-sub{font-size:calc(var(--ph) * .026);letter-spacing:.2em;color:var(--gold);margin:6% 0 0;line-height:1.9}.endpaper{background:#2a2622}button.thumb{cursor:zoom-in;border:0;width:100%;padding:0}.zoomable img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.zoomable:hover img{transform:scale(1.03)}.zoomable:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.lightbox{color:#e9e5dc;background:#0b0a09;border:0;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0}.lightbox::backdrop{background:#0009}.lightbox[open]{cursor:zoom-out;place-items:center;display:grid}.lightbox figure{flex-direction:column;align-items:center;gap:18px;margin:0;display:flex}.lightbox img{cursor:zoom-out;width:auto;max-width:92vw;height:auto;max-height:80svh;display:block;box-shadow:0 30px 80px #00000080}.lightbox figcaption{text-align:center}.lightbox figcaption p{margin:0}.lb-t{font-family:var(--serif);letter-spacing:.06em;color:#fff;font-size:20px}.lb-n{font-family:var(--sans);letter-spacing:.08em;color:var(--gold);font-size:12px;margin-top:6px!important}.lb-close{font-family:var(--sans);letter-spacing:.14em;color:#e9e5dc;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:13px;position:absolute;top:22px;right:clamp(16px,4vw,56px)}.lb-prev,.lb-next{color:#e9e5dc;cursor:pointer;background:#0b0a0966;border:1px solid #e9e5dc59;border-radius:50%;place-items:center;width:52px;height:52px;transition:background .3s;display:grid;position:absolute;top:calc(50% - 26px)}.lb-prev:hover,.lb-next:hover{background:#e9e5dc1f}.lb-prev{left:clamp(12px,3vw,48px)}.lb-next{right:clamp(12px,3vw,48px)}.lb-prev svg,.lb-next svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:20px;height:20px}.lb-count{text-align:center;font-family:var(--sans);letter-spacing:.14em;color:#e9e5dc99;margin:0;font-size:12px;position:absolute;bottom:20px;left:0;right:0}@media screen and (width<=760px){.lightbox img{max-height:70svh}.lb-prev,.lb-next{width:44px;height:44px;top:auto;bottom:10px}}.video-modal{color:#e9e5dc;background:#000;border:0;width:min(1100px,92vw);padding:0}.video-modal::backdrop{background:#000000d9}.video-modal .frame{aspect-ratio:16/9}.video-modal iframe{border:0;width:100%;height:100%;display:block}.video-modal .close{font-family:var(--sans);letter-spacing:.1em;color:#e9e5dc;background:0 0;border:0;font-size:13px;position:absolute;top:-40px;right:0}.video-modal[open]{overflow:visible}.c-no{font-size:calc(var(--ph) * .1);letter-spacing:.04em;color:#b4ab98;margin:0 0 6%;font-weight:300;line-height:1}.c-body{font-family:var(--serif);font-size:calc(var(--ph) * .025);align-self:center;line-height:2}.c-body p{margin:0 0 1em}.fact{font-family:var(--sans);border-top:.5px solid var(--rule);color:#4d4840;padding-top:1em;font-size:.85em}.mini-cases,.mini-acts{font-family:var(--sans);border-top:.5px solid var(--rule);margin:0;padding:0;font-size:.8em;line-height:1.6;list-style:none}.mini-cases li,.mini-acts li{border-bottom:.5px solid var(--rule);gap:.6em;padding:.55em 0;display:flex}.mini-cases li{flex-direction:column;gap:.1em}.mini-cases .client{color:var(--muted);font-size:.88em}.mini-cases a,.text-link{border-bottom:.5px solid}.mini-cases a{font-family:var(--serif);align-self:flex-start;font-size:1.12em}.text-link{font-family:var(--sans);font-size:.85em}.cases-jump{display:none}.text-link:after{content:" →"}.ch-dark{background:#141312;position:absolute;inset:0}.ch-photo{z-index:1;width:86%;height:64%;margin:0;position:absolute;top:7%;left:7%}.ch-photo img{object-fit:contain;width:100%;height:100%}.ch-cap-full{z-index:1;color:#e9e5dcb8;position:absolute;top:75%;left:7%;right:12%}.ch-cap-full p{margin:0}.cap-title a{color:inherit;border-bottom:.5px solid #ffffff80}.cap-title a:after{content:" ↗";vertical-align:.25em;opacity:.7;font-size:.6em}.cap-award{font-family:var(--sans);font-size:calc(var(--ph) * .0165);letter-spacing:.08em;color:var(--gold);margin-bottom:.55em!important}.cap-title{font-family:var(--serif);font-size:calc(var(--ph) * .032);letter-spacing:.06em;color:#fff;line-height:1.4;margin-bottom:.45em!important}.cap-text{font-family:var(--sans);font-size:calc(var(--ph) * .019);letter-spacing:.03em;line-height:1.75}.ch-text .mini-cases li{gap:0;padding:.36em 0}.ch-text .mini-cases .client{line-height:1.4}.ch-text .mini-cases a{line-height:1.5}.ch-text{flex-direction:column;justify-content:center;display:flex;position:absolute;inset:11% 8% 11% 51%}.ch-text .c-no{letter-spacing:.1em;color:#a39a85;margin:0 1.1em 0 0;font-size:1em;font-weight:400;display:inline}.ch-text h2{font-size:calc(var(--ph) * .038);letter-spacing:.06em;margin:3% 0 5%;line-height:1.6}.ch-text .c-body{font-size:calc(var(--ph) * .0215);align-self:stretch;line-height:1.9}.ch-text .c-body p{margin:0 0 .8em}.ch-text>*,.ch-text .c-body>*{opacity:0}.side-nav{z-index:7;color:#e9e5dc;cursor:pointer;visibility:hidden;background:#14131259;border:1px solid #e9e5dc59;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:background .3s,border-color .3s;display:grid;position:absolute;top:calc(50% - 8px);transform:translateY(-50%)}.side-nav svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.side-nav:hover,.side-nav:focus-visible{background:#e9e5dc1f;border-color:#e9e5dccc}.side-prev{left:max(12px, calc(50% - var(--pw) / 2 - 92px))}.side-next{right:max(12px, calc(50% - var(--pw) / 2 - 92px))}.side-next:not(.used) svg{animation:2.4s ease-in-out infinite nudge}@keyframes nudge{0%,60%,to{transform:translate(0)}30%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.side-next:not(.used) svg{animation:none}}@media screen and (width<=760px){.side-nav{display:none}}.back-cover{background-color:var(--cloth);background-image:linear-gradient(240deg,#ffd6aa17 0%,#fff0 45%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;box-shadow:inset -10px 0 14px -6px #0009}.page.base.endpaper:after{display:none}.page.base.endpaper{box-shadow:inset 14px 0 18px -10px #00000080}.left-stack{transform-origin:100%;width:100%;transform-style:preserve-3d;visibility:hidden;position:absolute;top:0;bottom:0;right:100%}.left-stack>*{position:absolute}.ls-shadow{filter:blur(30px);background:#000c;inset:2% 1% -3% -2%;transform:translateZ(-40px)}.ls-board{background:var(--cloth);border-bottom:7px solid #151711;border-left:6px solid #22251d;border-radius:4px 2px 2px 4px;inset:-1.2% -.4% -1.6% -1.6%;transform:translateZ(-20px)}.ls-edge{background:repeating-linear-gradient(0deg,#beb5a2 0 .6px,#e0d9c9 .6px 1.7px,#c8bfac 1.7px 2px);border-left:1px solid #a39a85;border-radius:2px 0 0 3px;inset:1% 1% -2% -1%;transform:translateZ(-16px);box-shadow:inset -18px 0 20px #524b3c66}.ls-top{background:#2a2622;inset:0;transform:translateZ(-1px);box-shadow:inset -14px 0 18px -10px #00000080}.back-outer{backface-visibility:hidden;border-radius:4px 2px 2px 4px;position:absolute;inset:-1.2% -1.6% -1.6% -.4%;transform:translateZ(-34px)rotateY(180deg)}.bc-sign{opacity:.85;width:34%;height:auto}.bc-sub{font-family:var(--sans);font-size:calc(var(--ph) * .018);letter-spacing:.3em;text-transform:uppercase;color:#8b836f;margin:0}.spine-edge{transform-origin:100%;background:linear-gradient(90deg,#121110,#1d1b19 40%,#141312);place-items:center;width:34px;display:grid;position:absolute;top:-1.2%;bottom:-1.6%;left:-34px;overflow:hidden;transform:rotateY(-90deg)}.spine-edge span{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.22em;color:#d4bf8c;white-space:nowrap;font-size:15px}.profile-page{grid-template-columns:.8fr 1.6fr;align-items:center;gap:7%;padding:9% 9% 10%;display:grid}.pf-photo img{filter:grayscale();width:100%}.pf-body h2{font-size:calc(var(--ph) * .05);letter-spacing:.1em;margin:3% 0 5%}.pf-body h2 span{font-family:var(--sans);letter-spacing:.2em;color:var(--muted);margin-left:.6em;font-size:.4em}.pf-body>p:not(.kicker){font-size:calc(var(--ph) * .024);margin:0 0 7%;line-height:2}.pf-actions{flex-wrap:wrap;gap:3%;margin:0;padding:0;list-style:none;display:flex}.btn{font-family:var(--sans);letter-spacing:.12em;background:0 0;border:1px solid;padding:14px 26px;font-size:13px;transition:background .3s,color .3s;display:inline-block}.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn:hover{background:var(--ink);color:var(--paper)}.profile-page .btn{font-size:calc(var(--ph) * .019);white-space:nowrap;padding:.9em 1.4em}.controls{z-index:7;font-family:var(--sans);letter-spacing:.14em;color:#e9e5dccc;visibility:hidden;justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,56px);font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.controls button,.controls a{background:0 0;border:0;border-bottom:1px solid #e9e5dc66;padding:8px 0}.controls .counter{color:#e9e5dc8c;margin:0}.pager{align-items:center;gap:14px;min-width:0;display:flex}.controls .pager button{border:1px solid #e9e5dc59;border-radius:50%;flex:none;width:30px;height:30px;padding:0;font-size:16px;line-height:1}.controls .pager button:hover{background:#e9e5dc1a}.book{cursor:pointer}.toc{z-index:8;width:min(320px,100% - 32px);max-height:70svh;font-family:var(--sans);background:#141312f5;border:1px solid #e9e5dc26;padding:10px 0;font-size:13px;position:absolute;bottom:56px;left:clamp(16px,4vw,56px);overflow:auto}.toc ol{margin:0;padding:0;list-style:none}.toc button{text-align:left;letter-spacing:.06em;color:#e9e5dc;background:0 0;border:0;width:100%;padding:10px 20px}.toc button:hover,.toc button:focus-visible{background:#e9e5dc14}.toc button span{width:3.2em;color:var(--muted);font-size:11px;display:inline-block}.sheet{background:var(--paper);color:var(--ink);padding:120px clamp(16px,7vw,120px) 100px}.sheet-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:24px;max-width:1200px;margin:0 auto;padding-bottom:40px;display:flex}.sheet-head .kicker{font-size:12px}.sheet-head h2{letter-spacing:.1em;margin:12px 0 14px;font-size:clamp(30px,3.6vw,48px)}.sheet-head h2 span{font-family:var(--sans);letter-spacing:.2em;color:var(--muted);margin-left:.6em;font-size:.36em}.sheet-id{align-items:flex-start;gap:36px;display:flex}.sheet-photo{flex:none;width:150px}.sheet-photo img{filter:grayscale();width:100%}.sheet-bio{color:#3a3630;max-width:760px;margin:14px 0 0;font-size:15px;line-height:2}.print-note{display:none}.sheet-toc{max-width:1200px;margin:0 auto;padding:28px 0 0;display:none}@media screen and (width<=760px){.sheet-toc{display:block}}.sheet-toc ul{font-family:var(--sans);letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:10px 28px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.sheet-toc a{color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:border-color .2s}.sheet-toc a:hover{border-color:var(--ink)}.sheet-toc .toc-contact{margin-left:auto}.sheet-toc .toc-contact a{border:1px solid var(--ink);padding:8px 20px;display:inline-block}.sheet-toc .toc-contact a:hover{background:var(--ink);color:var(--paper)}.approach ol{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.approach li{border-bottom:1px solid var(--rule);padding:18px 0 22px}.ap-k{font-family:var(--sans);letter-spacing:.14em;color:var(--muted);margin:0;font-size:12px}.ap-k span{margin-right:10px}.approach .t{letter-spacing:.04em;margin:8px 0;font-size:17px;line-height:1.6}.approach .b{font-family:var(--sans);color:#5d584f;margin:0;font-size:13px;line-height:1.9}@media screen{.approach ol{grid-template-columns:1fr}.approach li{grid-template-columns:15em 1fr;align-items:baseline;gap:0 24px;padding:12px 0;display:grid}.lang-en .approach li{grid-template-columns:21em 1fr}.approach .t{margin:0}.approach .b{display:none}}.block{max-width:1200px;margin:0 auto;padding:64px 0 8px}.block h3{letter-spacing:.1em;margin-bottom:32px;font-size:22px}.block h3 span{font-family:var(--sans);color:var(--muted);letter-spacing:.1em;margin-right:16px;font-size:12px}.grid{grid-template-columns:repeat(3,1fr);gap:36px 28px;margin:0 0 28px;padding:0;list-style:none;display:grid}.thumb{aspect-ratio:4/3;background:#e2ddd2;place-items:center;display:grid;position:relative;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.grid .t,.cases .t,.acts .t{letter-spacing:.04em;margin:12px 0 2px;font-size:16px}.grid .n,.cases .b,.acts .b{font-family:var(--sans);color:#5d584f;margin:0;font-size:13px;line-height:1.8}.sheet .text-link{font-size:13px}.awards{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:14px}.awards th{text-align:left;color:var(--muted);letter-spacing:.12em;border-bottom:1px solid var(--ink);padding:8px 12px 8px 0;font-size:12px;font-weight:400}.awards td{border-bottom:1px solid var(--rule);vertical-align:top;padding:14px 12px 14px 0;line-height:1.6}.awards td:first-child{width:5em;color:var(--muted)}.awards td:last-child{font-family:var(--serif);width:30%;font-size:15px}.records td:first-child{width:24%;color:var(--ink)}.cases{grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:0;list-style:none;display:grid}.noimg{font-family:var(--sans);color:var(--muted);letter-spacing:.1em;font-size:12px}.cases .client{font-family:var(--sans);color:var(--muted);letter-spacing:.06em;margin:14px 0 0;font-size:12px}.cases .client span{margin-top:2px;display:block}.cases .t a,.acts .t a{border-bottom:1px solid var(--rule)}.acts-wrap{grid-template-columns:2fr 1fr;align-items:start;gap:48px;display:grid}.acts{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.acts li{border-bottom:1px solid var(--rule);padding:14px 0 16px}.acts .t{margin-top:0}.acts-img{margin:0}.contact p{margin:0 0 12px;font-size:16px;line-height:2}.contact .url{display:none}.contact .btn{margin-top:12px}.flow-h{letter-spacing:.08em;margin:56px 0 0;font-size:18px;font-weight:400}.flow{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);gap:0;margin:22px 0 0;padding:0;list-style:none;display:grid}.flow li{padding:20px 22px 24px 0}.flow li+li{border-left:1px solid var(--rule);padding-left:22px}.flow-no{font-family:var(--sans);letter-spacing:.14em;color:var(--muted);font-size:12px}.flow-t{letter-spacing:.06em;margin:8px 0 10px;font-size:16px}.flow-d{font-family:var(--sans);color:#4d4942;margin:0;font-size:13px;line-height:1.9}.terms{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);gap:0 40px;margin:0 0 30px;padding-top:18px;display:grid}.terms dt{font-family:var(--sans);letter-spacing:.12em;color:var(--muted);margin-bottom:6px;font-size:12px}.terms dd{font-family:var(--sans);margin:0;font-size:13px;line-height:1.9}.contact .contact-reply{font-family:var(--sans);letter-spacing:.06em;color:var(--muted);margin:16px 0 0;font-size:12.5px}@media screen and (width<=760px){.flow{grid-template-columns:1fr}.flow li,.flow li+li{border-left:0;border-bottom:1px solid var(--rule);padding:18px 0}.terms{grid-template-columns:1fr;gap:16px}}@media print{.flow-h{margin-top:6mm;font-size:11pt}.flow{break-inside:avoid}.flow-d,.terms dd{font-size:8.5pt}.contact .contact-reply,.copy-mail{display:none}}.inquiry{border-top:1px solid var(--rule);max-width:860px;font-family:var(--sans);margin:28px 0 0;padding:32px 0 0}.inquiry .f-row{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.f-field{margin:0 0 22px;display:block}.f-label{letter-spacing:.08em;color:#4d4942;margin-bottom:8px;font-size:13px;display:block}.f-label em{color:var(--muted);margin-left:.8em;font-size:11px;font-style:normal}.inquiry input,.inquiry select,.inquiry textarea{box-sizing:border-box;border:1px solid var(--rule);width:100%;font:inherit;color:var(--ink);background:#ffffff8c;border-radius:0;padding:12px 14px;font-size:15px}.inquiry input,.inquiry select{height:48px}.inquiry select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23857f73' stroke-width='1.3'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:40px}.inquiry textarea{resize:vertical;line-height:1.8}.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{border-color:var(--ink);background:#fff;outline:none}.f-trap{position:absolute;left:-9999px}.contact .f-privacy{color:var(--muted);margin:-6px 0 18px;font-size:12.5px;line-height:1.8}.inquiry button[disabled]{opacity:.5}.contact .f-status{min-height:1.8em;margin:14px 0 0;font-size:14px;line-height:1.8}.f-status.ok{color:#3f6b3a}.f-status.ng{color:#a3402f}.contact .f-alt{font-family:var(--sans);letter-spacing:.06em;color:var(--muted);margin:36px 0 4px;font-size:13px}@media screen and (width<=760px){.inquiry .f-row{grid-template-columns:1fr}}@media print{.inquiry,.f-alt{display:none!important}}.contact-actions{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.contact-actions .btn:not(.solid){color:var(--ink)}.book-link{margin-top:.8em;display:inline-block}.foot{font-family:var(--sans);color:var(--muted);justify-content:space-between;padding:36px clamp(16px,4vw,56px);font-size:12px;display:flex}@media screen and (width<=760px){.hero-actions{bottom:28px;left:16px;right:16px}.hero-copy{right:16px}.hero-intro{letter-spacing:.04em;font-size:13px;line-height:1.85}.hero-credit{letter-spacing:.04em;font-size:11px}.scroll-cue{display:none}.hero-links{flex:1;gap:10px}.hero-links li{flex:1}.hero-links .skip-link{text-align:center;white-space:nowrap;letter-spacing:.08em;padding:12px 8px;display:block}.sheet-head{flex-direction:column;align-items:flex-start}.sheet-id{flex-direction:column;gap:20px}.sheet-photo{width:120px}.approach ol,.grid,.cases,.acts-wrap{grid-template-columns:1fr}.awards td:last-child{width:auto}}@media print{@page{size:A4;margin:14mm 14mm 16mm}html,body{color:#000;background:#fff!important}.masthead,#stage,.foot,.print-btn,.pin-spacer>#stage,.pin-spacer{display:none!important}.sheet{background:#fff;padding:0}.sheet-head{border-bottom:1px solid #000;padding-bottom:6mm}.sheet-head h2{font-size:22pt}.contact p{font-size:10.5pt}.block{break-inside:auto;padding-top:8mm}.block h3{break-after:avoid;margin-bottom:4mm;font-size:14pt}.grid,.cases{grid-template-columns:repeat(3,1fr);gap:5mm}.acts-wrap{grid-template-columns:2fr 1fr;gap:8mm}.block{page-break-inside:auto}#index .contact{break-before:avoid;break-inside:avoid}.grid li,.cases li,.acts li,.awards tr{break-inside:avoid}.thumb{background:#f2f2f2}.grid .t,.cases .t,.acts .t{font-size:10.5pt}.grid .n,.cases .b,.acts .b,.awards{font-size:8.5pt}.awards td:last-child{font-size:9.5pt}.text-link:after{content:""}.sheet .text-link{display:none}.print-note{font-family:var(--sans);letter-spacing:.06em;color:#555;margin:3mm 0 0;font-size:8.5pt;display:block}.sheet-photo{width:30mm}.sheet-bio{font-size:9pt}.approach ol{grid-template-columns:repeat(3,1fr);gap:0 6mm}.approach li{break-inside:avoid;padding:3mm 0 4mm}.approach .t{font-size:10.5pt}.approach .b,.ap-k{font-size:8.5pt}.contact .url{font-family:var(--sans);display:block}.contact .btn{display:none}a{border:0!important}}.board-back{border-bottom:7px solid #151711;border-right:6px solid #22251d;box-shadow:3px 5px #4b4d3d,7px 12px 18px #0008}.paper-edge{background:repeating-linear-gradient(0deg,#beb5a2 0 .6px,#e0d9c9 .6px 1.7px,#c8bfac 1.7px 2px);border-right:1px solid #a39a85;border-radius:0 2px 3px 0;position:absolute;inset:1% -1% -2% 1%;transform:translateZ(-16px);box-shadow:inset 18px 0 20px #524b3c66,inset -2px 0 4px #fff5}.is-cover .back{border:5px solid #282b22;box-shadow:inset 8px 0 12px #0004}.paper{box-shadow:inset 12px 0 16px -12px #665d4c88}.cover-text{text-align:center;justify-content:center;align-items:center;inset:0}.cover-title{font-size:calc(var(--ph) * .11);letter-spacing:.1em;margin:0;padding-left:.1em}.cover-sub{letter-spacing:.08em;margin:4% 0 0}.cover-kicker{padding-left:.3em;position:absolute;bottom:9%;left:0;right:0}button.video-thumb{cursor:pointer;border:0;width:100%;padding:0}.play-mark{background:#0b0a098c;border:1px solid #ffffffb3;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;transition:background .3s,transform .3s;position:absolute;top:50%;left:50%}.play-mark:after{content:"";border:11px solid #0000;border-left:17px solid #fff;border-right-width:0;position:absolute;top:21px;left:26px}.video-thumb:hover .play-mark{background:#0b0a09cc;transform:scale(1.06)}.video-thumb:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media print{.play-mark{display:none}}.inline-play{white-space:nowrap;font-family:var(--sans);color:var(--ink);background:0 0;border:0;border-bottom:.5px solid;margin-left:.6em;padding:0 0 1px;font-size:.95em}@media screen and (width<=760px){.masthead nav a{white-space:nowrap;font-size:11px}}.highlights ul{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.highlights li{border-bottom:1px solid var(--rule);padding:18px 20px 20px 0}.highlights li+li{border-left:1px solid var(--rule);padding-left:20px}.hl-label{font-family:var(--sans);letter-spacing:.2em;color:var(--muted);font-size:11px}.highlights .t{margin:8px 0 6px;font-size:16px;line-height:1.6}.highlights .n{font-family:var(--sans);color:#5d584f;margin:0;font-size:12px;line-height:1.7}@media screen and (width<=760px){.highlights ul{grid-template-columns:1fr}.highlights li+li{border-left:0;padding-left:0}}@media print{.sheet h3{break-after:avoid;page-break-after:avoid}.highlights ul,#work-records,.highlights li{break-inside:avoid}.highlights .t{font-size:10pt}.highlights .n{font-size:8pt}}.service-intro{max-width:760px;font-size:15px;line-height:2}.service-list{grid-template-columns:repeat(2,1fr);gap:24px 40px;max-width:960px;margin:30px 0;display:grid}.service-list div{border-top:1px solid var(--rule);padding-top:20px}.service-list dt{margin-bottom:10px;font-size:18px}.service-list dd{font-family:var(--sans);margin:0;font-size:13px;line-height:1.9}@media screen and (width<=760px){.service-list{grid-template-columns:1fr}.masthead nav{display:flex}.masthead nav a:not([href=\#services]):not([href=\#work-records]):not(.consult):not(.lang-switch){display:none}}.bx{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}.lang-en .bx{word-break:normal;overflow-wrap:break-word}.lang-en .c-body .bx{hyphens:auto}.lang-ja h2,.lang-ja h3,.lang-ja .t{text-wrap:balance}.lang-en .c-body p{text-wrap:pretty}@media screen and (width<=760px){.masthead nav{gap:14px}.masthead nav a[href=\#work-records]{display:none!important}.masthead .lang-switch{padding-left:12px}}@media screen and (width>=761px) and (width<=900px){.masthead nav{gap:16px}.masthead nav a[href=\#work-records]{display:none}}.masthead nav a{white-space:nowrap}.masthead .lang-switch{opacity:1;border-left:1px solid #ffffff59;padding-left:18px}.masthead.on-light .lang-switch{border-left-color:#24221e40}.lang-en .ch-text .c-body{font-size:calc(var(--ph) * .0198);line-height:1.75}.lang-en .ch-text h2{font-size:calc(var(--ph) * .034);letter-spacing:.01em;line-height:1.45}.lang-en .ch-text .kicker{letter-spacing:.12em}.lang-en .hero-statement{letter-spacing:.02em}.lang-en .cover-sub{letter-spacing:.08em}@media screen and (width<=760px),screen and (prefers-reduced-motion:reduce){:root{--pw:min(calc(100vw - 32px), 720px);--ph:calc(var(--pw) * 1.4)}#stage{height:auto;overflow:visible}.hero{height:100svh;position:relative}.scene{opacity:1;perspective:1600px;background:0 0;padding:56px 16px 72px;display:block;position:relative;inset:auto}.book{transform-style:flat;cursor:auto;flex-direction:column;gap:36px;width:auto;max-width:720px;height:auto;margin:0 auto;display:flex}.shadow,.board-back,.paper-edge,.spine-edge,.back-outer,.left-stack,.lamp,.page.base,.face.back,.controls,.toc,.side-nav{display:none!important}.leaf{transform-style:flat;position:relative;inset:auto;box-shadow:0 18px 40px #0000008c}.face.front{position:relative;inset:auto}.is-cover .front.cover{height:var(--ph);inset:auto}.cover-text{inset:0}.ch-dark{display:none}.ch-photo{background:#141312;width:auto;height:auto;padding:8% 6% 0;position:relative;top:auto;left:auto}.ch-photo img{width:100%;height:auto;max-height:70svh}.ch-cap-full{background:#141312;padding:16px 6% 24px;position:relative;top:auto;left:auto;right:auto}.cap-award{font-size:11px}.cap-title{font-size:19px}.cap-text{font-size:13px}.ch-text{padding:32px 7% 48px;display:block;position:relative;inset:auto}.ch-text>*,.ch-text .c-body>*{opacity:1}.ch-text .c-no{margin:0 1.1em 0 0;font-size:1em}.kicker{font-size:11px}.ch-text h2,.lang-en .ch-text h2{margin:10px 0 22px;font-size:22px;line-height:1.6}.ch-text .c-body,.lang-en .ch-text .c-body{font-size:15px;line-height:1.95}.ch-text .c-body p{margin:0 0 1em}.folio{font-size:10px;bottom:16px;right:6%}.profile-page{padding:40px 8% 52px;display:block}.pf-photo{width:52%;margin-bottom:24px}.pf-body h2{font-size:26px}.pf-body>p:not(.kicker){font-size:15px;line-height:1.95}.profile-page .btn{font-size:13px}.pf-actions{gap:10px}#index>.sheet-head,#index>.approach{display:none}#index>.highlights{padding-top:0}.sheet-toc{padding:0 0 48px}.ch-text .mini-cases{display:none}.cases-jump{margin:0 0 1.2em;display:block}}
