:root{--yellow:#fff100;--paper:#fff;--ink:#231815;--line:#dedbd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Zen Kaku Gothic New","Hiragino Sans",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}header{height:120px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:block;width:154px}.brand img{display:block;width:100%;height:auto}nav{display:flex;gap:32px;font-family:Arial,sans-serif;font-size:14px}nav a{padding:12px 0;border-bottom:2px solid transparent}nav a:hover{border-color:var(--yellow)}.header-note{font-size:12px}.hero{margin:0 28px;background:var(--yellow);min-height:850px;position:relative;display:grid;place-items:center;overflow:hidden}.hero-diamond{position:absolute;width:820px;height:820px;background:white;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);top:0;left:50%;transform:translateX(-50%)}.hero-statement{position:relative;width:440px;margin-top:-100px;z-index:1;padding-left:10px}.hero h1{font-size:36px;font-weight:700;letter-spacing:.025em;line-height:1.65;margin:0 0 27px}.hero-name{font-family:Arial,sans-serif;font-size:12px;font-weight:600;line-height:1.7;margin:0 0 22px}.hero-copy{font-size:14px;line-height:2;margin:0 0 12px;letter-spacing:-.03em}.hero-mark{position:absolute;left:calc(50% + 195px);top:610px;width:55px;height:56px}.hero-bottom{position:absolute;bottom:24px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-family:Arial,sans-serif;letter-spacing:.04em}.scroll{display:flex;gap:20px;align-items:center;font-size:14px}.scroll span{font-size:24px}.section{padding:130px 8%;display:grid;grid-template-columns:26% 74%;gap:0}.section-label{display:flex;flex-direction:column;gap:12px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.05em;padding-top:8px}.section-label span:last-child{font-family:"Zen Kaku Gothic New","Hiragino Sans",Meiryo,sans-serif;color:#766f6b;font-size:13px}.eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.05em;margin:0 0 28px}h2{font-size:clamp(28px,3vw,44px);line-height:1.65;letter-spacing:.01em;font-weight:600;margin:0 0 38px}.manifesto{display:grid;grid-template-columns:36% 64%;align-items:start}.manifesto .eyebrow{grid-column:1/-1}.manifesto h2{font-size:26px;line-height:1.85}.manifesto-copy{font-size:16px;line-height:2.3}.manifesto-copy p{margin:0 0 26px}.principles{display:grid;grid-template-columns:repeat(3,1fr);background:var(--yellow);margin:0 28px;padding:55px 6% 65px;gap:50px}.principles article{border-top:1px solid #23181570;padding-top:16px}.principle-top{display:flex;justify-content:space-between;font-family:Arial,sans-serif;font-size:12px}.kanji{font-size:96px;line-height:1.6;font-weight:500;letter-spacing:-.07em;margin-top:24px}.principles h3{font-size:20px;font-weight:600;margin:14px 0}.principles p{font-size:14px;line-height:2}.intro{font-size:16px;line-height:2.1;margin:0 0 44px}.service{display:flex;gap:35px;padding:30px 0;border-top:1px solid var(--line)}.service>span{font-family:Arial,sans-serif;font-size:12px;padding-top:8px;color:#766f6b}.service h3{font-family:Arial,sans-serif;font-weight:400;font-size:27px;letter-spacing:-.02em;margin:0 0 15px}.service p{font-size:14px;line-height:2;margin:0}.experience{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.clients{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.clients span{border-top:1px solid var(--line);padding:23px 0;font-size:16px;font-weight:500}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:6px}summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:22px 0;font-size:14px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.more-clients{font-size:15px;line-height:2.2;padding-bottom:16px}.note{font-size:12px;color:#766f6b;line-height:1.9;margin-top:18px}.awards{margin-top:65px;display:grid;grid-template-columns:25% 75%;border-top:1px solid var(--line);padding-top:30px}.awards h3{font-family:Arial,sans-serif;font-size:20px;font-weight:400;margin:0}.awards p{font-size:13px;line-height:2.3;margin:0}.about-expansion{font-family:Arial,sans-serif;font-size:clamp(24px,3vw,42px);line-height:1.5;letter-spacing:-.02em;margin:0 0 35px}.about-expansion strong{font-weight:600;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:6px;text-underline-offset:6px}footer{background:var(--yellow);margin:0 28px 28px;padding:32px 4% 24px}.footer-line{display:flex;justify-content:space-between;gap:20px;font-family:Arial,sans-serif;font-size:12px;line-height:1.7}.footer-line a{font-size:14px}.footer-brand{display:block;width:min(45%,430px);margin:80px auto}.footer-brand img{display:block;width:100%;height:auto}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:930px}.hero-diamond{top:40px}.hero-mark{top:650px}}@media(max-width:1000px){.header-note{display:none}.section{padding:95px 6%;grid-template-columns:22% 78%}.manifesto{grid-template-columns:1fr}.manifesto h2{font-size:30px}.principles{gap:25px}.desktop{display:none}.awards{grid-template-columns:1fr;gap:20px}}@media(max-width:600px){header{height:94px;margin:0 7%;gap:20px}.brand{width:126px}nav{gap:20px;font-size:12px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{margin:0 12px;min-height:710px}.hero-diamond{width:620px;height:620px;top:15px}.hero-statement{width:100%;max-width:340px;padding:0 26px;margin-top:-42px}.hero h1{font-size:29px;line-height:1.65;margin-bottom:20px}.hero-name{font-size:12px;line-height:1.6;max-width:280px;margin-bottom:18px}.hero-copy{font-size:14px;line-height:1.9}.hero-copy:last-child{display:none}.hero-mark{left:calc(50% + 91px);top:518px;width:44px;height:45px}.hero-bottom{bottom:22px;left:20px;right:20px;font-size:10px}.scroll{font-size:12px;gap:8px}.section{padding:68px 7%;grid-template-columns:1fr;gap:36px}.section-label{flex-direction:row;justify-content:space-between;font-size:12px}.section-label span:last-child{font-size:12px}h2{font-size:29px;margin-bottom:28px}.eyebrow{font-size:11px;line-height:1.7}.manifesto h2{font-size:28px}.manifesto-copy{font-size:16px;line-height:2.2}.principles{margin:0 12px;grid-template-columns:1fr;padding:35px 7%;gap:30px}.principles article{display:grid;grid-template-columns:34% 66%}.principle-top{grid-column:1/-1}.kanji{font-size:78px;grid-row:2/4;margin-top:12px}.principles h3{font-size:18px;align-self:end;margin:24px 0 5px}.principles p{font-size:13px;margin:8px 0;line-height:1.9}.service{gap:20px}.service h3{font-size:24px}.service p{font-size:14px}.clients{gap:0 16px}.clients span{font-size:14px;padding:18px 0;line-height:1.8}.awards{margin-top:40px}.awards p{font-size:13px}.about-expansion{font-size:28px}.footer-line{font-size:11px;flex-wrap:wrap}.footer-line a{font-size:12px}.footer-brand{width:70%;margin:60px auto}footer{margin:0 12px 12px;padding:25px 7%}.intro{font-size:16px}}@media(prefers-reduced-motion:reduce){html:not(.motion-on){scroll-behavior:auto}html:not(.motion-on) *{transition:none!important}}

/* Editorial rhythm: original identity, stronger scale and contrast. */
header{height:100px;margin:0 4%;border-bottom:1px solid var(--ink)}
.hero{margin:0;min-height:920px;display:block;padding:65px 4% 110px}
.hero-diamond{width:880px;height:880px;top:25px;left:62%}
.hero-statement{width:100%;max-width:none;margin:0;padding:0}
.hero h1{font-size:clamp(64px,8vw,120px);font-weight:900;line-height:1.35;letter-spacing:-.055em;margin:0 0 38px;position:relative}
.hero-name,.hero-copy{margin-left:52%;max-width:490px}
.hero-name{font-size:13px;margin-bottom:20px}
.hero-copy{font-size:16px;line-height:2}
.hero-mark{top:auto;bottom:98px;left:auto;right:5%;width:54px;height:55px}
.hero-bottom{left:4%;right:4%;bottom:28px}
.scroll span{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .2s,color .2s}
.scroll:hover span{background:var(--ink);color:var(--yellow)}
.section{padding:110px 4%;grid-template-columns:27% 73%;border-top:1px solid var(--ink)}
h2{font-size:clamp(34px,4.2vw,64px);font-weight:800;line-height:1.5;letter-spacing:-.04em}
.manifesto{display:block}
.manifesto h2{font-size:clamp(38px,4.8vw,72px);font-weight:800;line-height:1.5}
.manifesto-copy{margin-left:25%;margin-top:46px}
.principles{margin:0;padding:55px 4% 65px;gap:36px}
.kanji{font-size:clamp(110px,15vw,220px);font-weight:900;line-height:1.4;letter-spacing:-.09em;margin-top:12px}
.principles h3{font-size:22px;font-weight:700}
.service{padding:32px 0;border-top-color:#b8b3b0}
.service h3{font-size:clamp(26px,2.8vw,40px);font-weight:600;letter-spacing:-.035em}
.experience{background:var(--ink);color:white;border-color:var(--ink);--line:#675d58}
.experience .section-label span:first-child{color:var(--yellow)}
.experience .section-label span:last-child,.experience .note{color:#c3bbb5}
.experience :focus-visible{outline-color:var(--yellow)}
.clients span{font-size:17px;font-weight:600;padding:25px 0}
.awards h3{color:var(--yellow);font-size:23px}
.about-expansion{font-size:clamp(28px,3.7vw,55px);line-height:1.4}
footer{margin:0;padding:35px 4% 25px}
.footer-brand{width:74%;max-width:1050px;margin:60px auto}
@media(min-width:1600px){.hero{min-height:1020px}.hero-diamond{top:65px;width:960px;height:960px}}
@media(max-width:1000px){.hero{padding-top:65px;min-height:880px}.hero-diamond{left:64%;width:850px;height:850px}.hero-name,.hero-copy{margin-left:42%;max-width:480px}.section{grid-template-columns:23% 77%;padding:85px 5%}.manifesto-copy{margin-left:15%}.clients span{font-size:15px}.principles{gap:25px}.principles h3{font-size:19px}}
@media(max-width:600px){header{height:90px;margin:0 6%}.hero{min-height:0;padding:56px 6% 118px}.hero-diamond{width:670px;height:670px;left:69%;top:82px}.hero-statement{width:100%;max-width:none;padding:0;margin:0}.hero h1{font-size:clamp(42px,10.4vw,62px);line-height:1.5;letter-spacing:-.065em;margin-bottom:42px}.hero-name,.hero-copy{margin-left:8%;max-width:none}.hero-name{font-size:12px}.hero-copy{font-size:16px;line-height:2}.hero-copy:last-child{display:none}.hero-mark{bottom:100px;right:5%;width:40px;height:41px}.hero-bottom{left:6%;right:6%;bottom:25px}.scroll span{width:36px;height:36px;font-size:20px}.section{padding:65px 6%;grid-template-columns:1fr;gap:38px}h2{font-size:clamp(30px,7.7vw,42px)}.manifesto h2{font-size:clamp(34px,8.5vw,48px)}.manifesto-copy{margin:28px 0 0}.principles{padding:35px 6%;gap:30px}.principles article{grid-template-columns:38% 62%}.kanji{font-size:100px;line-height:1.5;padding-top:6px;margin:0}.principles h3{font-size:19px}.principles p{font-size:14px}.service h3{font-size:26px}.clients span{font-size:14px;line-height:1.8;padding:20px 0}.about-expansion{font-size:30px}.footer-brand{width:95%;margin:55px auto}footer{padding:25px 6%}.footer-line{font-size:12px}}

/* Typography and restrained motion. */

body{font-weight:700}
h1,h2,h3,.hero h1,.manifesto h2,.kanji,.principles h3,.clients span,.section-label span:last-child,.hero-copy,.intro,.manifesto-copy,.principles p,.service p,.more-clients,.awards p,summary,.note{font-weight:700}
.hero h1>span{display:block}
.manifesto-copy,.hero-copy,.intro{line-height:2.2}
.hero-copy{letter-spacing:0}
nav,.header-note,.hero-name,.hero-bottom,.section-label,.eyebrow,.principle-top,.service>span,.service h3,.awards h3,.about-expansion,.footer-line{font-weight:400}
.section-label span:last-child{font-weight:700}

.principle-top{align-items:center;min-height:65px}

footer .footer-line:first-child{align-items:center}
.brand,.footer-brand{transition:transform .35s ease}
@media(hover:hover){.brand:hover,.footer-brand:hover{transform:translateY(-3px)}}
@media(max-width:600px){.hero h1{letter-spacing:-.07em}.manifesto-copy{line-height:2.25}.principles p{line-height:2}}
@media(prefers-reduced-motion:reduce){html:not(.motion-on){scroll-behavior:auto}html:not(.motion-on) *,html:not(.motion-on) *::before,html:not(.motion-on) *::after{animation:none!important;transition:none!important}}

/* ZEN Kaku Gothic New hierarchy and uninterrupted color fields. */
body{font-weight:700}
h1,h2,h3,.hero h1,.manifesto h2,.kanji,.principles h3{font-weight:600}
.hero-copy,.intro,.manifesto-copy,.principles p,.service p,.more-clients,.awards p,.note{font-weight:700}
.clients span,summary,.section-label span:last-child{font-weight:600}
header{border-bottom:0}
.philosophy,.expertise{border-top:0}
.principle-top{min-height:24px}
footer .footer-line:first-child{justify-content:flex-end}

/* Optical spacing for ZEN Kaku Gothic New. */
h1,h2,h3,.hero h1,.manifesto h2,.kanji,.principles h3,.clients span,summary,.section-label span:last-child{font-weight:700}
.hero h1{letter-spacing:-.035em;line-height:1.4}
h2,.manifesto h2{letter-spacing:-.02em;line-height:1.55}
.hero-copy,.intro,.manifesto-copy{line-height:2.05;letter-spacing:.015em}
.principles p,.service p,.awards p{line-height:2.05}
.kanji{letter-spacing:0;line-height:1.4}
@media(max-width:600px){.hero h1{letter-spacing:-.04em;line-height:1.5}.manifesto-copy{line-height:2.1}.kanji{line-height:1.5}}

/* A continuous opening, followed by a clear closing invitation. */
.hero{isolation:isolate}
.hero-diamond{transform-origin:50% 50%;will-change:transform;pointer-events:none}
.hero-statement,.hero-bottom,.hero-mark{z-index:1}
#hero-title .title-mask{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
#hero-title .title-line{display:block}
.contact-section{background:var(--yellow);padding:75px 4% 90px}
.contact-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:55px;font-size:13px}
.contact-top>span:first-child{font-family:Arial,sans-serif;font-weight:400}
.contact-section h2{font-size:clamp(36px,6.2vw,94px);line-height:1.5;letter-spacing:-.035em;margin-bottom:30px}
.contact-body{margin-left:42%}
.contact-section p{font-size:16px;line-height:2.1;max-width:34em;margin:0 0 42px}
.contact-mail{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;width:100%;border:0;border-bottom:2px solid var(--ink);background:none;color:inherit;padding:0 0 14px;font:400 clamp(20px,2.4vw,38px)/1.2 Arial,sans-serif;letter-spacing:-.02em;text-align:left;cursor:pointer;transition:padding .3s ease}
.contact-mail span:last-child{font-size:.8em;transition:transform .3s ease}
@media(hover:hover){.contact-mail:hover{padding-left:12px}.contact-mail:hover span:last-child{transform:translate(4px,-4px)}}
@media(max-width:600px){.contact-section{padding:50px 6% 60px}.contact-top{font-size:12px;margin-bottom:38px}.contact-section h2{font-size:clamp(28px,7.8vw,46px);letter-spacing:-.045em}.contact-body{margin:0}.contact-section p{margin:0 0 34px;font-size:16px}.contact-mail{font-size:clamp(18px,5.2vw,25px);padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-on) .hero-diamond{will-change:auto;transform:translateX(-50%)!important}}
