:root{--paper:#f6f5f0;--ink:#233b49;--muted:#5c6b70;--line:#d6dcd8;--accent:#c04b32;--pale:#e9eee9;--white:#fff;--gutter:clamp(22px,5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Times New Roman","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{width:min(1440px,100%);padding-inline:var(--gutter);margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:white;z-index:10;padding:12px}.skip:focus{top:10px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600}.header{min-height:114px;display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:10px;letter-spacing:.1em;line-height:1.45;font-family:"Times New Roman",sans-serif;font-weight:600}.identity-mark{font-size:25px;letter-spacing:.065em;font-family:"Times New Roman",sans-serif;font-weight:700;line-height:1.15;white-space:nowrap}.identity-mark span{color:var(--accent)}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav a{padding-block:12px}nav a:hover{color:var(--accent)}nav .nav-contact{padding:13px 20px;background:var(--ink);color:white;display:flex;gap:22px}.menu-toggle{display:none}.hero{padding-top:34px}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font:11px/1.5 "Times New Roman","Hiragino Kaku Gothic ProN",sans-serif;letter-spacing:.12em;font-weight:600}.dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:9px}.edition{font:10px "Times New Roman";letter-spacing:.12em;color:var(--muted)}.hero-body{display:grid;grid-template-columns:1.02fr 1fr;gap:25px;min-height:590px;align-items:center}.hero-copy{padding-block:55px 65px;position:relative;z-index:1}h1{font-size:clamp(45px,4.95vw,73px);line-height:1.55;letter-spacing:-.06em;white-space:nowrap}.accent-word{position:relative}.accent-word:after{content:"";position:absolute;left:5%;right:0;bottom:1px;height:4px;background:var(--accent);transform:rotate(-5deg)}.punctuation{color:var(--accent)}.hero-lead{font-size:19px;line-height:1.9;margin:28px 0 16px;font-weight:600}.hero-description{font-size:13px;line-height:2.1;color:var(--muted)}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;border-bottom:1px solid var(--ink);padding:9px 0;font-size:13px;font-weight:600}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-copy .text-link{margin-top:24px}.hero-visual{height:510px;position:relative}.hero-visual:before{content:"";width:88%;height:92%;background:var(--pale);position:absolute;top:2%;left:9%;border-radius:50%}.visual-note{position:absolute;right:0;top:0;z-index:2;font-family:"Times New Roman",serif;font-size:17px;line-height:1.35;font-style:italic;color:var(--muted)}.hero-screen{position:absolute;display:block;border:5px solid white;box-shadow:0 13px 30px #233b4914;background:white;transition:transform .25s}.hero-screen img{aspect-ratio:1.72;object-fit:cover;object-position:top}.hero-screen span{display:flex;justify-content:space-between;font:9px "Times New Roman";letter-spacing:.12em;padding:7px 5px 3px}.hero-screen b{font-weight:400;color:var(--muted)}.screen-sen{width:83%;top:55px;left:0;transform:rotate(-5deg);z-index:1}.screen-tsumugi{width:72%;top:212px;right:0;transform:rotate(5deg);z-index:2}.screen-relay{width:60%;top:333px;left:2%;transform:rotate(-3deg);z-index:3}.hero-screen:hover{transform:rotate(0) translateY(-5px)}.visual-index{position:absolute;bottom:-15px;right:0;font:9px "Times New Roman";letter-spacing:.18em;writing-mode:vertical-rl}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 25px;font-size:11px}.hero-bottom a{font:10px "Times New Roman";letter-spacing:.1em}.hero-bottom a span{margin-left:26px}.section{padding-block:105px}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:44px}.section-heading h2,h2{font-size:clamp(27px,3vw,42px);letter-spacing:-.03em;line-height:1.6}.section-heading h2{margin-top:17px}.section-heading>p{font-size:13px;color:var(--muted);padding-bottom:5px}.mobile-break{display:none}.work-disclaimer{font-size:12px;color:var(--muted);padding-bottom:28px;border-bottom:1px solid var(--line)}.work{display:grid;grid-template-columns:1.42fr 1fr;gap:clamp(32px,5vw,72px);align-items:start;padding-block:62px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.work-image{padding:30px 24px 20px;background:#e9e5dc;position:relative}.work-image img{aspect-ratio:auto;object-fit:contain;object-position:top;box-shadow:0 5px 18px #243b4910}.tsumugi-image{background:#e2eaeb}.relay-image{background:#e2e9df}.image-label{display:block;font:9px "Times New Roman";letter-spacing:.15em;margin-top:18px}.work-kind{font-size:11px;color:var(--muted);margin:0 0 9px}.work h3{font-size:27px;line-height:1.5;letter-spacing:-.02em}.work-message{font-size:20px;line-height:1.65;margin:20px 0 18px;font-weight:600}.work-copy>p:not(.work-kind):not(.work-message):not(.work-scope){font-size:13px;color:var(--muted)}.work-scope{font-size:10px;color:var(--muted);margin-top:20px}details{margin-top:21px;border-top:1px solid var(--line)}summary{list-style:none;padding:16px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font-size:19px;font-weight:400}details[open] summary span{transform:rotate(45deg)}summary:hover{color:var(--accent)}.case-body{padding:6px 0 16px}.case-body h4{font-size:13px;margin:15px 0 6px}.case-body p{font-size:12px;color:var(--muted)}.case-body .case-note{font-size:11px;background:var(--pale);padding:15px;margin-top:20px}.case-body .text-link{font-size:12px;margin-top:14px}.services{background:var(--ink);color:var(--paper)}.services .section-heading>p{color:#c3ced2}.service-list{border-top:1px solid #ffffff38}.service-list article{display:block;padding:30px 0;border-bottom:1px solid #ffffff38}.service-list article>div{width:100%;min-width:0}.service-no{font:12px "Times New Roman";color:#bac8cd;padding-top:8px}.service-list h3{font-size:22px;line-height:1.6}.service-list p{color:#c3ced2;font-size:13px;line-height:1.9;margin-top:8px}.service-type{font:10px "Times New Roman";letter-spacing:.08em;text-align:right;padding-top:13px;color:#c3ced2}.service-note{font-size:11px;color:#c3ced2;margin-top:24px}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2{font-size:46px;margin-top:23px}.about-decoration{display:block;font:135px/1.5 "Times New Roman";color:var(--accent)}.about-copy{padding-top:30px}.about-lead{font-size:23px;font-weight:600;line-height:1.8;margin-bottom:27px}.about-copy>p:not(.about-lead){font-size:14px;margin:0 0 19px;color:var(--muted)}.process{margin-top:58px;padding-top:30px;border-top:1px solid var(--line)}.process ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;margin:30px 0 0;gap:35px}.process li>span{font:14px "Times New Roman";color:var(--accent)}.process h3{font-size:15px;margin:12px 0 8px}.process li p{font-size:12px;color:var(--muted)}.contact{background:#e9ece5}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.contact h2{font-size:clamp(25px,2.8vw,37px);margin:25px 0}.contact-grid>div>p:not(.eyebrow){font-size:13px;color:var(--muted)}.contact-box{border-left:1px solid #c0cbc3;padding-left:40px;font-size:12px}.contact-status{font-weight:600;margin-bottom:20px}.contact-box ul{padding-left:18px;margin:12px 0 23px}.contact-note{font-size:11px;color:var(--muted)}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:130px}.footer>p{font-size:10px;color:var(--muted)}.back-top{font-size:11px}.back-top span{padding-left:17px}
@media(min-width:1500px){.hero-body{min-height:640px}.hero-visual{height:550px}.screen-tsumugi{top:240px}.screen-relay{top:360px}}
@media(max-width:1050px){nav{gap:18px;font-size:11px}.header{min-height:100px}.hero-body{min-height:570px;gap:10px}h1{font-size:clamp(40px,5.1vw,60px)}.hero-description{font-size:12px}.hero-visual{height:440px}.screen-sen{top:60px}.screen-tsumugi{top:210px}.screen-relay{top:315px}.visual-index{display:none}.section{padding-block:80px}.work{grid-template-columns:1.2fr 1fr;gap:30px}.work-image{padding:20px 16px 16px}.work h3{font-size:24px}.work-message{font-size:18px}.about-top,.contact-grid{gap:40px}.process ol{gap:23px}}
@media(max-width:760px){.header{min-height:85px;position:relative;flex-wrap:wrap}.identity{font-size:8px;gap:6px}.identity-mark{font-size:20px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;padding:12px 0;font-size:12px;cursor:pointer}.menu-toggle span{font-size:20px}nav{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--line);gap:0;padding:10px 0 20px}body.js nav{display:none}body.js nav.is-open{display:flex}nav a{width:48%;font-size:12px;padding:13px 0}nav .nav-contact{justify-content:space-between;padding:13px}.hero{padding-top:22px}.hero-top .eyebrow{font-size:10px}.edition{font-size:8px}.hero-body{display:flex;flex-direction:column;gap:0;align-items:stretch}.hero-copy{padding:33px 0 27px}h1{font-size:clamp(39px,8.5vw,64px);line-height:1.55;letter-spacing:-.055em}.hero-lead{font-size:17px;margin-top:23px}.hero-description{font-size:12px;line-height:2}.desktop-break{display:none}.hero-copy .text-link{margin-top:20px;font-size:12px}.hero-visual{height:410px;width:min(430px,100%);align-self:center;margin-bottom:29px}.hero-visual:before{width:94%;height:88%;top:6%;left:2%}.visual-note{font-size:15px;top:5px}.screen-sen{top:46px;width:84%;left:0}.screen-tsumugi{top:168px;width:76%}.screen-relay{top:269px;width:64%;left:0}.hero-bottom{font-size:9px;gap:15px;padding-block:17px}.hero-bottom a{font-size:8px;white-space:nowrap}.hero-bottom a span{margin-left:10px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:30px;line-height:1.6}.section-heading>p{margin-top:20px;font-size:12px}.mobile-break{display:block}.work-disclaimer{font-size:11px;line-height:1.8;padding-bottom:23px}.work{display:block;padding-block:35px 40px}.work-copy{padding-top:23px}.work h3{font-size:25px}.work-message{font-size:20px;margin:18px 0 13px}.work-copy>p:not(.work-kind):not(.work-message):not(.work-scope){font-size:13px}.work-image{padding:20px 17px 16px}.work-image img{aspect-ratio:auto}.work-scope{font-size:10px}.service-list article{padding:25px 0}.service-list h3{font-size:18px}.service-list p{font-size:12px}.service-list p br{display:none}.service-type{display:none}.service-note{line-height:1.9}.about-top{display:block}.about h2{font-size:36px}.about-decoration{display:none}.about-copy{padding-top:28px}.about-lead{font-size:20px;margin-bottom:20px}.about-copy>p:not(.about-lead){font-size:13px}.process{margin-top:37px}.process ol{grid-template-columns:1fr 1fr;gap:27px 24px}.process h3{font-size:14px}.process li p{font-size:11px}.contact-grid{display:block}.contact h2{font-size:27px;line-height:1.7;margin:22px 0}.contact-box{margin-top:30px;padding:25px 0 0;border-left:0;border-top:1px solid #c0cbc3}.footer{flex-wrap:wrap;padding-block:25px;min-height:130px}.footer>p{order:3;width:100%;font-size:9px}.back-top{font-size:10px}}
@media(max-width:370px){.hero-visual{height:345px}.screen-tsumugi{top:153px}.screen-relay{top:238px}.section-heading h2{font-size:27px}h1{font-size:38px}.hero-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-screen:hover{transform:none}}
@media print{nav,.menu-toggle,.hero-visual,.hero-bottom,.back-top{display:none!important}.header{min-height:80px}.hero-body{display:block;min-height:0}.hero-copy{padding-block:20px}.section{padding-block:30px}.work{break-inside:avoid;padding-block:30px}.services,.contact{background:white;color:var(--ink)}.services p,.service-list p,.service-type,.service-note{color:var(--muted)}.service-list article{border-color:var(--line)}.about-decoration{display:none}}

.profile{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:center;padding:40px 0 45px;margin-bottom:55px;border-bottom:1px solid var(--line)}.profile-photo{width:min(360px,100%);margin:0}.profile-photo img{aspect-ratio:1122/1402;object-fit:cover}.profile-content{min-width:0}.profile-name{margin-bottom:26px}.profile-name h3{font:600 36px/1.3 "Times New Roman",sans-serif;letter-spacing:.04em}.profile-name h3 span{color:var(--accent)}.profile-name p{font-size:12px;color:var(--muted);margin-top:12px}.profile-copy p{font-size:14px;color:var(--muted);margin-bottom:18px}.profile-copy p:last-child{margin-bottom:0}.approach-title{font-size:46px;margin-top:23px;line-height:1.6;letter-spacing:-.03em}
@media(max-width:1050px){.profile{gap:40px}}
@media(max-width:760px){.profile{grid-template-columns:1fr;gap:24px;padding:28px 0 34px;margin-bottom:36px}.profile-photo{width:min(320px,100%)}.profile-name{margin-bottom:22px}.profile-name h3{font-size:29px}.profile-copy p{font-size:13px}.approach-title{font-size:36px}}

.contact-email{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:clamp(17px,1.65vw,24px);font-weight:600;border-bottom:1px solid var(--ink);padding:0 0 10px;letter-spacing:-.02em;overflow-wrap:anywhere}.contact-email:hover{color:var(--accent);border-color:var(--accent)}.contact-email-note{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0 24px}

/* Decorative captions removed; retain the content hierarchy and functional controls. */
.hero{padding-top:22px;border-bottom:1px solid var(--line)}.hero-screen img{aspect-ratio:1.72}.hero-screen{padding-bottom:0}.section-heading h2,.about h2,.approach-title{margin-top:0}.work-image{padding-bottom:24px}.process>.eyebrow{font-size:13px;letter-spacing:.02em}
@media(max-width:760px){.hero{padding-top:10px}.hero-visual{margin-bottom:26px}.work-image{padding-bottom:17px}}
