@font-face{font-family:Archivo;src:url('/assets/corporate/fonts/archivo-regular.ttf?v=01170409e32e2212') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('/assets/corporate/fonts/archivo-medium.ttf?v=bf52802dc93c0d99') format('truetype');font-weight:500 700;font-display:swap}
@font-face{font-family:'Zen Kaku Gothic';src:url('/assets/corporate/fonts/zen-kaku-gothic-subset.ttf?v=f0cdb5436e5ecf43') format('truetype');font-weight:400 700;font-display:swap}
:root{--ink:#101010;--paper:#fff;--muted:#686868;--line:#d7d7d7;--dark-muted:#c5c5c5;--gutter:clamp(24px,4.2vw,72px);--ease:cubic-bezier(.16,1,.3,1);color:var(--ink);background:var(--ink);font-family:Archivo,'Zen Kaku Gothic','Hiragino Kaku Gothic ProN',sans-serif;scroll-behavior:smooth;scrollbar-color:#686868 #101010}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none;text-underline-offset:6px}a:hover{text-decoration:underline}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#686868;color:#fff}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500}h2{font-size:clamp(46px,5.8vw,86px);line-height:1.07;letter-spacing:-.04em}img{display:block;width:100%;height:auto}svg{width:30px;height:30px;flex:none}strong{font-weight:500}p+p{margin-top:22px}main{background:var(--paper)}section{scroll-margin-top:30px}.section{padding:clamp(80px,9vw,144px) var(--gutter)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;z-index:99;top:12px;left:12px;background:#fff;color:#101010;padding:12px 20px}.logo{display:block;width:148px}.logo img{height:auto}.site-header{display:flex;align-items:center;gap:32px;position:absolute;inset:0 0 auto;padding:28px var(--gutter);color:var(--paper);z-index:2}.header-note{font-size:12px;color:var(--dark-muted)}.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px}.nav-contact{display:flex;align-items:center;gap:18px}.nav-contact svg{width:20px;height:20px}.hero{background:var(--ink);color:var(--paper);padding-top:160px;overflow:clip}.hero-copy{display:grid;grid-template-columns:minmax(0,1fr) 275px;align-items:end;gap:40px;padding:0 var(--gutter) 76px}.hero h1{font-size:clamp(72px,8.9vw,154px);line-height:1.04;letter-spacing:-.04em}.hero h1 span{display:block;white-space:nowrap}.hero-aside{padding-bottom:5px}.hero-jp{font-size:24px;line-height:1.7;letter-spacing:.04em}.hero-aside>p+p{color:var(--dark-muted);font-size:13px;margin-top:26px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:14px;line-height:1.65}.text-link svg{width:25px;height:25px;transition:transform .4s var(--ease)}.text-link:hover svg{transform:translate(3px,-3px)}.hero-aside .text-link{margin-top:28px}.hero-scene{display:block}.hero-scene:focus-visible{outline-offset:-8px}.hero-picture{height:clamp(360px,50vw,780px);overflow:clip;clip-path:inset(0 var(--photo-inset,4.2%));background:#222}.hero-picture img{height:100%;object-fit:cover;object-position:50% 44%}.hero-caption{display:flex;justify-content:space-between;align-items:center;margin:0 var(--gutter);padding:16px 0 22px;font-size:12px}.hero-caption>span:last-child{display:flex;gap:16px;align-items:center}.hero-caption svg{width:22px;height:22px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-copy{padding-top:8px;max-width:640px}.large-jp{font-size:clamp(23px,2.2vw,34px);line-height:1.75;letter-spacing:.02em}.about-copy>.large-jp{margin-bottom:32px}.about-copy strong{border-bottom:1px solid #999}.english-note{color:var(--muted);font-size:14px;line-height:1.7;padding-top:12px}.services{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;padding-top:44px}.section-intro>p{margin-top:22px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0}.service-en{display:block;font-size:clamp(25px,2.5vw,40px);line-height:1.2;letter-spacing:-.025em}.service-ja{display:block;font-size:14px;margin-top:8px}.service summary>svg,.faq summary>svg{width:24px;height:24px;transition:transform .3s var(--ease)}details[open]>summary>svg{transform:rotate(45deg)}.service-body{padding:0 0 28px;max-width:70ch}.service-scope{font-size:12px;color:var(--muted);margin-top:16px}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px;font-size:13px}.service-bottom .text-link{font-size:13px}.work{padding-top:64px}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:60px}.work-heading p{margin-top:23px}.work-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px 8%}.project figure>img{object-fit:cover;aspect-ratio:1.3;height:auto;transition:filter .4s var(--ease)}.project:hover{text-decoration:none}.project:hover img{filter:brightness(.9)}.project-wide{padding-top:0}.project-tall{padding-top:160px}.project-tall figure>img{aspect-ratio:.8;object-position:50% 43%}.project-local{max-width:88%;margin-top:-100px}.project-local figure>img{aspect-ratio:1.35}.project figcaption{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-top:19px}.project figcaption strong{font-size:26px;line-height:1.2;display:block;letter-spacing:-.02em}.project figcaption span>span{display:block;font-size:12px;color:var(--muted);margin-top:10px}.project figcaption svg{width:25px;height:25px}.work-invitation{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px 0 80px}.work-invitation>p{font-size:clamp(28px,3.7vw,58px);line-height:1.2;letter-spacing:-.03em}.work-invitation .text-link{margin-top:35px}.platform{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;background:var(--ink);color:var(--paper);align-items:center}.platform-visual>img{aspect-ratio:.92;height:auto;object-fit:cover}.platform-visual>span{display:block;font-size:12px;color:var(--dark-muted);margin-top:14px}.platform-copy>.large-jp{margin-top:36px}.platform-copy>p:not(.large-jp){color:var(--dark-muted)}.platform-links{display:flex;flex-wrap:wrap;column-gap:28px;margin-top:32px}.platform-links a{border-bottom:1px solid #626262}.faq{display:grid;grid-template-columns:1fr 1.35fr;gap:8%}.faq h2{font-size:clamp(38px,4.2vw,62px)}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:90px;padding:20px 0;font-size:16px}.faq details p{padding:0 0 30px;max-width:68ch}.contact{background:var(--ink);color:var(--paper);padding-bottom:72px}.contact-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;margin-bottom:68px}.contact-heading h2{font-size:clamp(64px,8vw,124px)}.contact-heading p+p{color:var(--dark-muted)}.contact-form>summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 34px;background:var(--paper);color:var(--ink);font-size:clamp(21px,2.6vw,38px);line-height:1.5}.contact-form>summary small{display:block;font-size:13px;margin-top:8px}.contact-form>summary>svg{width:44px;height:44px;transition:transform .5s var(--ease)}.contact-form[open]>summary>svg{transform:rotate(180deg)}.form-paper{background:#fff;color:#101010;padding:34px}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:28px}.form-heading h3{font-size:22px}.form-heading a{display:flex;gap:12px;align-items:center;font-size:13px}.form-heading a svg{width:20px;height:20px}.form-paper iframe{display:block;border:0;width:100%;min-height:800px;background:#fff}.form-paper [role=status]{font-size:14px;color:var(--muted);padding-top:20px}.partnership-link{margin-top:30px;text-align:right;font-size:13px;color:var(--dark-muted)}.partnership-link a{display:inline-flex;gap:20px;align-items:center;min-height:44px}.partnership-link svg{width:22px;height:22px}.site-footer{background:var(--ink);color:var(--paper);padding:0 var(--gutter) 30px}.footer-top{display:flex;align-items:center;gap:30px;border-top:1px solid #4b4b4b;padding-top:42px}.footer-top p{font-size:13px;color:var(--dark-muted)}.footer-top>a:last-child{margin-left:auto}.footer-services{display:flex;flex-wrap:wrap;gap:12px 28px;padding:46px 0 40px;font-size:12px;color:var(--dark-muted)}.footer-services a{min-height:32px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--dark-muted)}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 22px}.footer-bottom small{font-size:inherit}
@media(min-width:1450px){.hero{padding-top:190px}.hero-copy{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1100px){.hero-copy{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(80px,12vw,128px)}.hero-aside{display:flex;align-items:end;justify-content:space-between;gap:22px}.hero-aside>p+p{margin:0}.hero-aside .text-link{margin:0}.hero-jp{font-size:22px}.header-note{display:none}.about{gap:8%}.services,.faq{grid-template-columns:.8fr 1.2fr;gap:6%}.service-bottom{flex-wrap:wrap}.project-local{margin-top:-50px;max-width:100%}.work-invitation{padding-bottom:0}.work-invitation .text-link{font-size:13px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:700px){:root{--gutter:24px}.site-header{padding-top:24px;gap:20px}.logo{width:120px}.site-header nav{gap:20px;font-size:12px}.site-header nav>a:nth-child(2){display:none}.nav-contact{gap:8px}.nav-contact svg{width:16px;height:16px}.hero{padding-top:139px}.hero-copy{gap:36px;padding-bottom:42px}.hero h1{font-size:clamp(44px,11.7vw,80px);line-height:1.1;letter-spacing:-.04em}.hero-aside{display:block}.hero-jp{font-size:22px}.hero-aside>p+p{font-size:12px;margin-top:20px}.hero-aside .text-link{margin-top:16px;font-size:13px}.hero-picture{height:320px;clip-path:inset(0)}.hero-picture img{object-position:50% 50%}.hero-caption{font-size:10px;gap:20px}.hero-caption>span:last-child{font-size:12px;gap:8px}.hero-caption svg{width:18px;height:18px}.section{padding:76px var(--gutter)}h2{font-size:44px;line-height:1.08}.about,.services,.faq,.platform{grid-template-columns:1fr;gap:38px}.about-copy{padding:0}.about-copy>.large-jp{margin-bottom:24px}.large-jp{font-size:23px}.about-copy>p:not(.large-jp),.platform-copy>p:not(.large-jp){font-size:14px}.services{padding-top:15px}.service summary{padding:26px 0}.service-en{font-size:30px}.service-ja{font-size:13px}.service-body{font-size:14px}.service-bottom{align-items:start;gap:12px}.service-bottom .text-link{font-size:12px;gap:10px}.service-bottom>span{padding-top:10px}.work{padding-top:12px}.work-heading{display:block;margin-bottom:38px}.work-heading>.text-link{margin-top:20px}.work-grid{grid-template-columns:1fr;gap:40px}.project-tall{padding-top:0;width:80%;margin-left:auto}.project-tall figure>img{aspect-ratio:.9}.project-local{margin:0;width:94%}.project figcaption strong{font-size:23px}.project figcaption span>span{font-size:11px}.work-invitation{padding:4px 0 0}.work-invitation>p{font-size:38px}.work-invitation .text-link{margin-top:22px}.platform{gap:40px}.platform-visual>img{aspect-ratio:1.14}.platform-copy>.large-jp{margin-top:28px}.platform-links{column-gap:20px}.faq h2{font-size:40px}.faq summary{font-size:14px;min-height:85px}.faq details p{font-size:14px}.contact-heading{grid-template-columns:1fr;gap:34px;margin-bottom:38px}.contact-heading h2{font-size:66px}.contact-heading p+p{font-size:14px;margin-top:18px}.contact-form>summary{padding:24px 20px;font-size:20px;gap:20px}.contact-form>summary small{font-size:12px}.contact-form>summary>svg{width:28px;height:28px}.form-paper{padding:20px 12px}.form-heading{gap:12px;align-items:start;padding-top:20px}.form-heading h3{font-size:17px}.form-heading a{font-size:11px;gap:4px}.form-heading a svg{width:16px;height:16px}.form-paper iframe{min-height:1150px}.partnership-link{font-size:12px;text-align:left;margin-top:20px}.partnership-link a{gap:12px}.partnership-link svg{width:18px;height:18px}.footer-top{flex-wrap:wrap;gap:18px}.footer-top p{font-size:11px}.footer-top>a:last-child{margin-left:0;width:100%;justify-content:flex-start;font-size:12px}.footer-services{padding:28px 0;gap:10px 20px;font-size:11px}.footer-bottom{font-size:10px;gap:18px}.footer-bottom>div{gap:12px}.footer-bottom>a{margin-left:auto}}
@media(max-width:374px){:root{--gutter:20px}.site-header nav{gap:16px}.logo{width:104px}.hero h1{font-size:11.5vw}.contact-form>summary{font-size:18px}.partnership-link a{font-size:11px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-picture{clip-path:inset(0)!important}}
@media print{.site-header{position:static;background:#101010}.hero{padding-top:40px}.hero-picture{clip-path:none}.contact-form .form-paper{display:none}.contact-form>summary,.partnership-link,.footer-services{display:none}.section{break-inside:avoid;padding:40px}.hero h1{font-size:60px}}

/* Shared service family: source for all six pages and the inline inquiry. */
.service-hero h1{font-size:clamp(64px,7.8vw,128px)}
.hero-caption>a{display:flex;gap:18px;align-items:center;min-height:44px}
.service-scope-section{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;padding-top:0}
.scope-list article{border-top:1px solid var(--line);padding:28px 0 34px}.scope-list article:last-child{border-bottom:1px solid var(--line)}
.scope-list h3 span{display:block}.scope-list h3 span[lang]{font-size:clamp(27px,2.4vw,37px);line-height:1.2;letter-spacing:-.02em}.scope-list h3 span+span{font-size:16px;margin-top:12px;font-weight:400}.scope-list p{margin-top:20px;max-width:66ch}
.service-work .work-grid{align-items:start}.service-work .project-tall{padding-top:130px}.service-work .project>p{font-size:14px;margin-top:22px;max-width:60ch}.service-work .project-tall figure>img{aspect-ratio:1.05}
.service-evidence{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;border-top:1px solid var(--line);padding-top:44px;margin-top:76px}.service-evidence h3{font-size:25px;line-height:1.6}.service-evidence p{max-width:68ch}.service-evidence .text-link{margin-top:18px}
.pricing{background:#f3f3f1}.pricing .section-intro{margin-bottom:52px}.pricing h2{font-size:clamp(44px,5.4vw,78px);max-width:18ch}.price-list{border-bottom:1px solid #bcbcbc}.price-row{display:grid;grid-template-columns:1fr 1.3fr 1.6fr;gap:6%;border-top:1px solid #bcbcbc;padding:32px 0;align-items:start}.price-row h3{font-size:28px;line-height:1.3}.price-row .price{font-size:clamp(24px,2.4vw,36px);line-height:1.3;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.price-row .price-context{font-size:12px;color:#565656;margin-top:12px}.price-row>p{font-size:14px}.pricing-bottom{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-top:30px}.pricing-bottom>p{font-size:13px;color:#565656;max-width:68ch}.pricing-bottom .text-link{flex-shrink:0}.application-link{display:flex;align-items:center;gap:28px;border-top:1px solid #bcbcbc;margin-top:36px;padding-top:26px;font-size:18px;min-height:64px}.application-link span{font-size:12px;color:#565656}.application-link svg{margin-left:auto}
.process{display:grid;grid-template-columns:1fr 1.35fr;gap:8%}.process ol{list-style:none;counter-reset:steps;margin:0;padding:0}.process li{counter-increment:steps;position:relative;padding:27px 0 28px 50px;border-top:1px solid var(--line)}.process li:last-child{border-bottom:1px solid var(--line)}.process li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:27px;color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}.process h3{font-size:21px}.process li p{margin-top:14px;max-width:64ch}.service-page .faq{padding-top:0}
.inline-contact{display:grid;grid-template-columns:1fr 1.08fr;gap:8%;align-items:start;border-top:1px solid #4b4b4b;padding-top:48px;scroll-margin-top:28px}.contact-photo{position:sticky;top:28px}.contact-photo img{aspect-ratio:.95;object-fit:cover;height:auto}.contact-photo figcaption{font-size:11px;line-height:1.7;color:var(--dark-muted);margin-top:14px}.contact-fields{min-width:0}.contact-fields iframe{display:block;border:0;width:100%;background:var(--ink);color-scheme:dark;min-height:750px}.contact-fields [role=status]{font-size:13px;color:var(--dark-muted);margin-top:16px}.form-fallback{margin-top:14px;font-size:12px;color:var(--dark-muted)}.form-fallback a{display:inline-flex;align-items:center;gap:12px;min-height:44px}.form-fallback svg{width:17px;height:17px}.footer-services [aria-current=page]{color:#fff;text-decoration:underline}.contact-heading .large-jp{font-size:clamp(22px,2vw,30px)}
@media(max-width:1100px){.service-hero h1{font-size:clamp(66px,10vw,112px)}.service-hero .hero-aside>p+p{max-width:200px}.service-scope-section,.service-evidence,.process{grid-template-columns:.8fr 1.2fr;gap:6%}.price-row{grid-template-columns:.8fr 1fr 1.4fr;gap:4%}.price-row .price{font-size:26px}.pricing-bottom{flex-wrap:wrap;gap:18px}}
@media(max-width:700px){.service-hero h1{font-size:clamp(36px,10.5vw,74px);line-height:1.1}.service-hero .hero-aside>p+p{max-width:none}.service-scope-section,.service-evidence,.process{grid-template-columns:1fr;gap:36px}.service-scope-section{padding-top:0}.scope-list h3 span[lang]{font-size:29px}.scope-list p{font-size:14px}.service-work .project-tall{padding-top:0;width:100%}.service-work .work-grid{gap:48px}.service-evidence{margin-top:48px;padding-top:30px;gap:18px}.service-evidence h3{font-size:22px}.service-evidence p{font-size:14px}.pricing h2{font-size:42px}.pricing .section-intro{margin-bottom:34px}.price-row{grid-template-columns:1fr;gap:18px;padding:28px 0}.price-row h3{font-size:26px}.price-row .price{font-size:32px}.price-row .price-context{margin-top:8px}.price-row>p{font-size:13px}.pricing-bottom{margin-top:25px;gap:18px}.application-link{flex-wrap:wrap;gap:8px;font-size:16px;padding-top:24px}.application-link span{width:80%;order:2}.application-link svg{width:22px;height:22px}.process li{padding-left:38px}.process h3{font-size:20px}.process li p{font-size:14px}.inline-contact{grid-template-columns:1fr;gap:32px;padding-top:32px}.contact-photo{position:static}.contact-photo img{aspect-ratio:1.6}.contact-photo figcaption{font-size:10px;margin-top:10px}.contact-fields iframe{min-height:760px}.contact-heading .large-jp{font-size:22px}.form-fallback{margin-top:0}.partnership-link{border-top:1px solid #4b4b4b;padding-top:24px;margin-top:28px}}
@media print{.inline-contact{display:block}.contact-photo{display:none}.contact-fields iframe{display:none}.form-fallback a::after{content:' — ' attr(href);word-break:break-all}.hero-scene{break-inside:avoid}}

.service-work .project figure>img.media-contain{object-fit:contain;background:#f3f3f1;aspect-ratio:1.05}
