@font-face{font-family:Inter;src:url(/fonts/inter-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-bold.woff2)format("woff2");font-style:normal;font-weight:600 900;font-display:swap}@font-face{font-family:SK Modernist;src:url(/fonts/sk-modernist-regular.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--ink:#252525;--paper:#fff;--soft:#efefef;--line:#c7c7c7;--muted:#757575;--header-height:64px;--rail:390px;--stack-row-height:48px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Noto Sans JP Variable,Hiragino Sans,Yu Gothic,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{object-fit:cover}h1,h2,h3,p,dl,dd{margin:0}section[id],aside[id]{scroll-margin-top:var(--header-height)}.site-header{z-index:100;height:var(--header-height);border-bottom:1px solid var(--ink);background:var(--paper);justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.site-brand{letter-spacing:-.02em;font-family:SK Modernist,Inter,sans-serif;font-size:20px;font-weight:400;line-height:1}.detail-header .site-brand{font-size:24px}.header-controls,.language-toggle{align-items:center;height:40px;display:flex}.language-toggle a{letter-spacing:.02em;border-radius:999px;place-items:center;height:40px;padding:0 16px;font-size:16px;font-weight:500;display:grid}.language-toggle a[aria-current=page]{background:var(--soft)}.portfolio-layout{grid-template-columns:var(--rail) minmax(0, 1fr);align-items:start;display:grid}.profile-rail{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper);min-height:100vh;padding:88px 19px 48px;position:sticky;top:0}.profile-image{aspect-ratio:1;background:#f4ece8;width:352px;max-width:100%;position:relative;overflow:hidden}.profile-image img{object-position:center center}.profile-copy{flex-direction:column;gap:16px;margin-top:24px;display:flex}.profile-role{letter-spacing:.02em;margin-bottom:4px;font-size:16px;line-height:1.5}.profile-rail h1{letter-spacing:-.025em;font-family:SK Modernist,Inter,sans-serif;font-size:48px;font-weight:400;line-height:1}.profile-intro{letter-spacing:.02em;font-size:16px;line-height:1.9}.profile-contact{flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px;display:flex}.profile-contact-email{letter-spacing:.02em;font-size:16px;line-height:1.5}.profile-contact-actions{flex-wrap:wrap;gap:12px;display:flex}.profile-contact-cta{border:1px solid var(--ink);width:112px;height:48px;color:var(--paper);background:var(--ink);border-radius:12px;place-items:center;font-size:16px;line-height:1;transition:color .16s,background .16s;display:grid}.profile-contact-cta:hover{color:var(--ink);background:var(--paper)}.profile-contact-socials{gap:12px;display:flex}.profile-contact-socials a{background:var(--soft);border-radius:12px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.profile-contact-socials img{object-fit:contain;width:20px;height:20px}.profile-contact-socials a:first-child img{width:48px;height:48px}.portfolio-scroll{min-width:0}.section-stack{z-index:80;top:var(--header-height);right:0;left:var(--rail);pointer-events:none;visibility:visible;will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility linear;position:fixed;transform:translateY(0)}.section-stack.is-collapsed{visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility 0s linear .3s;transform:translateY(-100%)}.section-stack-row{width:100%;height:var(--stack-row-height);border-bottom:1px solid var(--ink);color:var(--ink);background:var(--paper);cursor:pointer;opacity:0;pointer-events:none;visibility:hidden;justify-content:flex-start;align-items:center;padding:0 32px;text-decoration:none;transition:opacity .18s,transform .26s cubic-bezier(.22,1,.36,1);display:flex;transform:translateY(-12px)}.section-stack-row.is-visible{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.section-stack-row--top{display:none}.section-stack-row.is-visible:hover{background:var(--soft)}.section-stack-row:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.section-stack-label{letter-spacing:.04em;align-items:center;gap:8px;font-size:16px;display:flex}.section-stack-label img{width:20px;height:20px}.content-section{border-bottom:1px solid var(--ink);padding:64px 32px}.content-section:first-child{padding-top:112px}.section-inner{width:100%}.section-label{letter-spacing:.02em;align-items:center;gap:8px;font-size:16px;font-weight:400;line-height:1.5;display:flex}.section-label img{object-fit:contain;width:24px;height:24px}.section-intro-copy{flex-direction:column;gap:16px;margin-top:24px;display:flex}.section-lead{letter-spacing:-.025em;max-width:860px;font-size:clamp(30px,3.4vw,44px);font-weight:400;line-height:1.3}.section-description{letter-spacing:.02em;max-width:760px;font-size:16px;line-height:1.9}.career-list{flex-direction:column;margin-top:24px;display:flex}.career-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:16px 0;display:flex}.career-row:last-child{border-bottom:0}.career-main{align-items:center;gap:8px;min-width:0;display:flex}.career-main h3{margin-bottom:8px;font-size:16px;font-weight:400;line-height:1.3}.career-main p{color:var(--muted);font-size:16px;line-height:1.3}.career-row time{text-align:right;flex:none;font-size:16px;line-height:1.3}.approach-list{flex-direction:column;margin-top:24px;display:flex}.approach-row{border-bottom:1px solid var(--line);padding:16px 0}.approach-row:last-child{border-bottom:0}.approach-row h3{align-items:center;gap:8px;font-size:16px;font-weight:400;line-height:1.9;display:flex}.approach-row h3 img{object-fit:contain;width:24px;height:24px}.approach-row p{letter-spacing:.02em;margin-top:8px;font-size:16px;line-height:1.9}.work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;margin-top:32px;display:grid}.work-card{min-width:0;display:block}.work-image{aspect-ratio:1;background:var(--soft);border-radius:16px;position:relative;overflow:hidden}.work-visual-base,.meishi-profile img{transition:transform .35s}a.work-card:hover .work-visual-base,a.work-card:hover .meishi-profile img{transform:scale(1.015)}.work-arrow{z-index:4;width:48px;height:48px;transition:transform .25s;display:block;position:absolute;bottom:16px;right:16px}a.work-card:hover .work-arrow{transform:translate(2px,-2px)}.work-visual{isolation:isolate}.work-visual-base{object-fit:cover}.work-visual-shade{z-index:1;background:#0000001a;position:absolute;inset:0}.work-visual-logo{z-index:2;display:block;position:absolute}.work-visual-logo img,.meishi-shape img{object-fit:contain}.work-visual--meishi{background:#1f4ed1}.meishi-shape{z-index:0;display:block;position:absolute}.meishi-shape--one{aspect-ratio:1;width:67%;top:-18%;left:-29%;transform:rotate(167deg)scaleY(-1)}.meishi-shape--two{aspect-ratio:1;width:74%;bottom:-22%;right:-26%;transform:rotate(-166deg)scaleY(-1)}.meishi-profile{z-index:2;filter:drop-shadow(0 6px 16px #0000002e);width:88.5%;height:80%;position:absolute;top:11.2%;left:8.7%;overflow:hidden}.meishi-profile img{object-fit:cover}.work-visual--itoshima .work-visual-logo{width:46%;height:23%;top:36.8%;left:27%}.work-visual--renewal .work-visual-logo{width:60%;height:48%;top:23%;left:17%}.work-visual--ishigaki .work-visual-logo{width:45%;height:25%;top:35.5%;left:27.5%}.work-visual--kids .work-visual-logo{width:50%;height:25%;top:34%;left:22%}.work-visual--campaign .work-visual-logo{width:60%;height:18%;top:29%;left:20%}.work-visual--anniversary{background:#000}.campaign-copy{z-index:3;color:#fff;letter-spacing:.08em;text-align:center;width:42%;font-size:clamp(7px,1.8vw,17px);font-weight:700;line-height:1;position:absolute;top:48%;left:29%}.campaign-copy small{letter-spacing:.02em;margin-top:4px;font-size:.55em;font-weight:400;display:block}.work-copy{margin-top:8px}.work-copy h3{letter-spacing:-.015em;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:16px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.work-copy p{color:var(--muted);letter-spacing:.01em;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden}.work-card--featured .work-copy h3{font-size:18px}.work-card--featured .work-copy p{max-width:780px;font-size:16px;line-height:1.8}.work-card--featured .work-copy{margin-top:16px}.photo-carousel{margin-top:24px}.photo-carousel-controls{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.photo-carousel-count{color:var(--muted);letter-spacing:.08em;font-size:16px}.photo-carousel-buttons{gap:8px;display:flex}.photo-carousel-buttons button{border:1px solid var(--ink);width:44px;height:44px;color:var(--ink);background:var(--paper);cursor:pointer;place-items:center;padding:0;font-size:18px;transition:color .16s,background .16s,opacity .16s;display:grid}.photo-carousel-buttons button:hover:not(:disabled){color:var(--paper);background:var(--ink)}.photo-carousel-buttons button:disabled{cursor:default;opacity:.28}.photo-carousel-rail{scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;gap:8px;padding-bottom:12px;display:flex;overflow-x:auto}.photo-carousel-rail::-webkit-scrollbar{display:none}.photo{aspect-ratio:4/5;background:var(--soft);scroll-snap-align:start;flex:0 0 min(78vw,320px);margin:0;position:relative;overflow:hidden}.contact-section{background:var(--paper)}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.contact-field{flex-direction:column;gap:8px;min-width:0;font-size:16px;display:flex}.contact-field--message,.contact-submit-row{grid-column:1/-1}.contact-field input,.contact-field textarea{border:1px solid var(--ink);width:100%;color:var(--ink);background:var(--paper);border-radius:0;outline:none;font-size:16px}.contact-field input{height:56px;padding:0 16px}.contact-field textarea{resize:vertical;min-height:184px;padding:16px;line-height:1.7}.contact-field input:focus,.contact-field textarea:focus{box-shadow:inset 0 0 0 1px var(--ink)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted);opacity:1}.contact-submit-row{justify-content:flex-end;align-items:center;display:flex}.contact-submit-row button{border:1px solid var(--ink);min-width:184px;height:56px;color:var(--paper);background:var(--ink);cursor:pointer;padding:0 24px;font-size:16px;transition:color .16s,background .16s}.contact-submit-row button:hover{color:var(--ink);background:var(--paper)}.footer{color:#fff;background:#090909;flex-direction:column;min-height:320px;padding:32px 20px 24px;display:flex}.footer-identity{flex-direction:column;gap:8px;display:flex}.footer .eyebrow{letter-spacing:.02em;font-size:16px;line-height:1.5}.footer-name{letter-spacing:-1px;font-family:SK Modernist,Inter,sans-serif;font-size:54px;font-weight:400;line-height:1}.footer-social-contact{flex-direction:column;gap:8px;width:min(100%,240px);margin-top:24px;display:flex}.footer-socials{gap:19px;display:flex}.footer-socials a{place-items:center;width:44px;height:44px;display:grid}.footer-socials img{object-fit:contain;width:24px;height:24px}.footer-social-contact>a{letter-spacing:.02em;font-size:16px;line-height:1.5;display:block}.copyright{border-top:1px solid #ffffff3d;flex-wrap:wrap;gap:4px 10px;margin-top:32px;padding-top:16px;font-size:16px;display:flex}.copyright-rights{font-size:14px}.project-page{padding-top:var(--header-height);background:var(--paper)}.project-article{width:min(100%,760px);margin:0 auto}.project-hero{flex-direction:column;gap:24px;padding:24px 19px;display:flex}.project-back{letter-spacing:-.025em;align-items:center;gap:16px;font-size:32px;font-weight:400;line-height:1.3;display:flex}.project-back img{object-fit:contain;width:32px;height:32px;transform:rotate(180deg)}.project-intro h1{letter-spacing:-.02em;font-size:24px;font-weight:400;line-height:1.3}.project-intro p{color:var(--muted);letter-spacing:.02em;margin-top:16px;font-size:16px;line-height:1.9}.project-meta{flex-direction:column;display:flex}.project-meta>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:53px;padding:16px 0;display:flex}.project-meta>div:last-child{border-bottom:0}.project-meta dt{font-size:16px;line-height:1.3}.project-meta dd{text-align:right;max-width:66%;font-size:16px;line-height:1.5}.project-cover{aspect-ratio:16/9;background:var(--soft);width:100%;position:relative;overflow:hidden}.project-cover img{object-fit:contain}.project-content{border-bottom:1px solid var(--ink);flex-direction:column;gap:24px;padding:48px 16px;display:flex}.case-study{flex-direction:column;gap:40px;display:flex}.case-study p{letter-spacing:.02em;font-size:16px;line-height:1.6}.next-work{flex-direction:column;gap:24px;padding:48px 16px;display:flex}.next-label{justify-content:space-between;align-items:center;font-size:20px;line-height:1.3;display:flex}.next-label img{object-fit:contain;width:32px;height:32px}.next-card{flex-direction:column;display:flex}.next-card strong{font-size:18px;font-weight:400;line-height:1.3}.next-summary{color:var(--muted);margin-top:8px;font-size:16px;line-height:1.5}.footer--detail{min-height:384px;padding:32px 20px 24px}.not-found{text-align:center;place-content:center;min-height:100vh;display:grid}.not-found h1{font-size:72px;font-weight:400}.not-found a{text-decoration:underline}@media (min-width:761px){.content-section{padding-left:clamp(32px,6vw,96px);padding-right:clamp(32px,6vw,96px)}.background-section,.approach-section{min-height:100vh}.work-list{grid-template-columns:repeat(2,minmax(0,1fr))}.photo{flex-basis:calc(33.3333% - 5.33333px)}.footer{min-height:320px;padding:32px clamp(32px,6vw,96px) 24px}.project-article{border-right:1px solid var(--ink);border-left:1px solid var(--ink)}.project-hero,.project-content,.next-work{padding-left:32px;padding-right:32px}.footer--detail{width:min(100%,760px);min-height:384px;margin:0 auto;padding:32px}}@media (min-width:1000px){.work-visual--anniversary .work-visual-base{transform:scale(1.12)}a.work-card:hover .work-visual--anniversary .work-visual-base{transform:scale(1.135)}.background-section .section-lead{font-size:44px}}@media (max-width:900px) and (min-width:761px){:root{--rail:340px}.profile-rail{padding-left:16px;padding-right:16px}.profile-rail h1{font-size:44px}}@media (max-width:760px){:root{--stack-row-height:44px}.section-stack{left:0}.section-stack-row{padding:0 16px}.section-stack-row--top{display:flex}.section-stack-label{font-size:16px}.portfolio-layout{display:block}.profile-rail{border-right:0;min-height:0;padding:88px 19px 48px;position:relative;top:auto}.profile-image{width:100%}.profile-rail h1{font-size:46px}.content-section{padding:48px 16px}.content-section:first-child{padding-top:48px}.contact-form{grid-template-columns:1fr;gap:20px;margin-top:32px}.contact-submit-row{flex-direction:column;align-items:stretch;gap:16px}.contact-submit-row button{width:100%}.section-lead{font-size:30px}.work-list{gap:32px 16px;margin-top:24px}.work-copy h3{font-size:16px}.work-card--featured .work-copy h3{font-size:18px}.work-card--featured{grid-column:1/-1}.work-card:not(.work-card--featured) .work-arrow{width:40px;height:40px;bottom:12px;right:12px}.footer-name{font-size:54px}}@media (max-width:374px){.site-header,.language-toggle a{padding:0 12px}.profile-rail h1,.footer-name{font-size:42px}.section-lead,.project-back{font-size:28px}}@media (prefers-reduced-motion:reduce){.section-stack,.section-stack-row{transition:none}html{scroll-behavior:auto}.work-image img,.work-arrow{transition:none}}
