:root{--ink:#17201d;--ink-soft:#3e4945;--paper:#f2efe7;--paper-deep:#e7e2d6;--white:#fffef9;--accent:#dda72f;--accent-ink:#795a0a;--line:#17201d2e;--content-width:1180px;--gutter:clamp(1.25rem, 4vw, 4rem);--header-height:5.25rem;--door-progress:0;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Meiryo,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);min-width:320px;margin:0;overflow-x:hidden}body,a{color:var(--ink)}img{max-width:100%;display:block}a{text-underline-offset:.25em;text-decoration-thickness:1px}p,h1,h2,h3{margin-block-start:0}p{line-height:1.9}::selection{color:var(--ink);background:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{z-index:100;background:var(--white);padding:.75rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(100% - (var(--gutter) * 2), var(--content-width));margin-inline:auto}.eyebrow{color:var(--ink-soft);letter-spacing:.22em;align-items:center;gap:.75rem;margin-bottom:1.75rem;font-size:.7rem;font-weight:800;line-height:1.4;display:flex}.eyebrow:before{content:"";background:currentColor;width:2.75rem;height:1px}.eyebrow--light{color:#ffffffb8}.site-header{z-index:20;min-height:var(--header-height);padding-inline:var(--gutter);color:var(--white);border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;transition:min-height .24s,color .24s,background-color .24s,border-color .24s;display:flex;position:fixed;top:0;left:0;right:0}.site-header:before{z-index:-1;content:"";-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17201d1f;transition:background-color .24s;position:absolute;inset:0}.site-header.is-solid{border-color:var(--line);min-height:4.5rem;color:var(--ink)}.site-header.is-solid:before{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f2efe7f0}.site-header__brand{flex:none}.site-header__brand picture{display:block}.site-header__brand img{filter:brightness(0)invert();width:clamp(3.5rem,5vw,4.25rem);height:auto;transition:filter .24s}.site-header.is-solid .site-header__brand img{filter:none}.site-header__nav{align-items:center;gap:clamp(.85rem,2vw,2rem);display:flex}.site-header__nav a{color:inherit;letter-spacing:.1em;font-size:.72rem;font-weight:700;text-decoration:none;position:relative}.site-header__cta{border:1px solid;padding:.7rem .9rem}.site-header__cta:after{display:none}.site-header__nav a:after{transform-origin:100%;content:"";background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(0)}.site-header__nav a:hover:after,.site-header__nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.hero-transition{background:var(--paper);min-height:200svh;position:relative}.hero-stage{z-index:1;background:var(--paper);height:100svh;min-height:38rem;position:sticky;top:0;overflow:hidden}.hero-doors{z-index:2;position:absolute;inset:0}.hero-door{background:var(--ink);will-change:transform;width:calc(50% + 1px);position:absolute;top:0;bottom:0;overflow:hidden}.hero-door--left{left:0}.hero-door--right{right:0}.js .hero-doors.is-ready .hero-door--left{transform:translate3d(calc(var(--door-progress) * -100%), 0, 0)}.js .hero-doors.is-ready .hero-door--right{transform:translate3d(calc(var(--door-progress) * 100%), 0, 0)}.hero-door:after{z-index:5;content:"";width:1px;opacity:calc(1 - var(--door-progress));background:#ffffff57;position:absolute;top:0;bottom:0;box-shadow:0 0 1.5rem #00000085}.hero-door--left:after{right:0}.hero-door--right:after{left:0}.hero-door__surface{width:var(--surface-width,calc(200% - 2px));background:var(--ink);min-width:320px;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.hero-door--right .hero-door__surface{left:auto;right:0}.hero-doors:not(.is-ready) .hero-door--left{--surface-width:100%;width:100%}.hero-doors:not(.is-ready) .hero-door--right{display:none}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{overflow:hidden}.hero-media picture{width:100%;height:100%;display:block}.hero-media img{object-fit:cover;width:100%;height:100%}@media (aspect-ratio>=3/2){.hero-media img{object-fit:contain}}.hero-shade{background:linear-gradient(90deg,#09100eb3 0%,#09100e4d 57%,#09100e80 100%),linear-gradient(#0000 50%,#09100e99 100%)}.hero-content{z-index:2;width:min(100% - (var(--gutter) * 2), var(--content-width));padding-top:var(--header-height);color:var(--white);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-title{letter-spacing:-.055em;white-space:nowrap;max-width:none;margin-bottom:1.75rem;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(3.15rem,7.4vw,7rem);font-weight:500;line-height:1.16}.hero-content__lead{letter-spacing:.08em;margin:0;font-size:clamp(.9rem,1.35vw,1.05rem);font-weight:600}.hero-content__lead strong{font-weight:800}.scroll-cue{z-index:3;right:var(--gutter);color:var(--white);letter-spacing:.24em;writing-mode:vertical-rl;align-items:center;gap:1rem;font-size:.62rem;font-weight:800;display:flex;position:absolute;bottom:0}.scroll-cue__line{background:#ffffff59;width:1px;height:5.5rem;position:relative;overflow:hidden}.scroll-cue__line:after{background:var(--white);content:"";height:55%;animation:1.8s ease-in-out infinite scroll-line;position:absolute;inset:0 0 auto}@keyframes scroll-line{0%{transform:translateY(-110%)}55%,to{transform:translateY(190%)}}.services-intro{z-index:1;min-height:100%;padding-top:var(--header-height);background:var(--paper);align-items:center;display:grid;position:absolute;inset:0}.services-intro__inner{grid-template-columns:minmax(24rem,1.1fr) minmax(18rem,.9fr);align-items:end;gap:clamp(2.5rem,6vw,6rem);display:grid}.services-intro .eyebrow{grid-column:1/-1;margin-bottom:-1rem}.services-intro h2{letter-spacing:-.055em;white-space:nowrap;margin:0;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(3rem,4.5vw,4.5rem);font-weight:500;line-height:1.18}.services-intro__copy{color:var(--ink-soft);margin:0 0 .5rem;font-size:clamp(.96rem,1.25vw,1.08rem)}.entity-summary{border-left:2px solid var(--accent);padding-left:1.25rem}.services-detail{z-index:4;background:var(--white);padding:clamp(7rem,12vw,11rem) 0;scroll-margin-top:4.5rem;position:relative}#services,#strengths,#process,#faq,#company,#contact{scroll-margin-top:4.5rem}.content-section{z-index:4;padding:clamp(7rem,12vw,11rem) 0;position:relative}.section-heading{grid-template-columns:minmax(12rem,.65fr) 1fr;align-items:end;gap:0 clamp(2rem,8vw,8rem);margin-bottom:clamp(3.5rem,7vw,6rem);display:grid}.section-heading--wide-title{grid-template-columns:minmax(12rem,.95fr) 1fr}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{letter-spacing:-.05em;margin:0;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(2.75rem,5.5vw,5.25rem);font-weight:500;line-height:1.12}.section-heading>p:last-child{max-width:31rem;color:var(--ink-soft);margin:0 0 .5rem}.service-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.service-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(4rem,.25fr) 1fr;gap:clamp(1rem,4vw,4rem);padding:clamp(2rem,4.5vw,4rem) 0;display:grid}.service-card__number{color:var(--accent-ink);letter-spacing:.16em;padding-top:.35rem;font-size:.75rem;font-weight:800}.service-card>div{grid-template-columns:minmax(13rem,.7fr) 1fr;gap:0 clamp(2rem,7vw,7rem);display:grid}.service-card h3{letter-spacing:.015em;margin:0;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:650}.service-card p:last-child{max-width:35rem;color:var(--ink-soft);margin:0}.strengths{border:1px solid var(--line);background:#fffef96b;grid-template-columns:repeat(3,1fr);margin-top:0;display:grid}.strength{min-height:19rem;padding:clamp(1.5rem,3vw,2.5rem)}.strength+.strength{border-left:1px solid var(--line)}.strength>span{color:var(--accent-ink);margin-bottom:clamp(4rem,7vw,7rem);font-size:.7rem;font-weight:800;display:block}.strength h3{margin-bottom:.75rem;font-size:1.2rem}.strength p{color:var(--ink-soft);margin:0;font-size:.9rem}.principles{background:var(--paper-deep)}.process{background:var(--white)}.process-list{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.process-step{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:20rem;padding:clamp(1.5rem,3vw,2.5rem)}.process-step__number{color:var(--accent-ink);letter-spacing:.14em;margin-bottom:clamp(4rem,7vw,7rem);font-size:.7rem;font-weight:800;display:block}.process-step h3{margin-bottom:.75rem;font-size:1.1rem}.process-step p{color:var(--ink-soft);margin:0;font-size:.88rem}.faq{background:var(--paper)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(18rem,.8fr) 1fr;gap:clamp(2rem,7vw,7rem);padding:clamp(2rem,4vw,3.5rem) 0;display:grid}.faq-item h3{grid-template-columns:2rem 1fr;gap:.75rem;margin:0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.7;display:grid}.faq-item h3 span{color:var(--accent-ink);font-family:Georgia,Times New Roman,serif;font-size:1.35em;line-height:1.25}.faq-item p{max-width:38rem;color:var(--ink-soft);margin:0}.company-profile{background:var(--white)}.company-profile__grid{grid-template-columns:minmax(20rem,.8fr) 1fr;gap:clamp(4rem,10vw,10rem);display:grid}.company-profile h2{letter-spacing:-.055em;margin-bottom:2rem;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(2.75rem,5vw,4.8rem);font-weight:500;line-height:1.12}.company-profile__copy{max-width:36rem;color:var(--ink-soft);margin:0}.entity-facts{border-top:1px solid var(--line);margin:0}.entity-facts>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,.35fr) 1fr;gap:1.5rem;padding:1.75rem 0;display:grid}.entity-facts dt{color:var(--ink-soft);letter-spacing:.12em;font-size:.95rem;font-weight:800}.entity-facts dd{margin:0;font-weight:650;line-height:1.8}.entity-facts__services{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.contact{background:var(--ink);color:var(--white);padding:clamp(7rem,13vw,12rem) 0;position:relative;overflow:hidden}.contact:before{content:"";border:1px solid #ffffff14;border-radius:50%;width:55vw;height:55vw;position:absolute;top:-25vw;right:-20vw;box-shadow:0 0 0 8vw #ffffff05,0 0 0 16vw #ffffff03}.contact__grid{grid-template-columns:1fr 1fr;gap:clamp(4rem,6vw,6rem);display:grid;position:relative}.contact__heading h2{letter-spacing:-.055em;white-space:nowrap;margin-bottom:2rem;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(2.8rem,4vw,4rem);font-weight:500;line-height:1.25}.contact__heading>p:last-child{color:#ffffff9e;margin:0}.contact__details{border-top:1px solid #ffffff38}.contact-guide{border-bottom:1px solid #ffffff38;padding:2rem 0}.contact-guide h3{margin-bottom:1.5rem;font-size:clamp(1.25rem,2vw,1.6rem)}.contact-guide ul{grid-template-columns:repeat(2,1fr);gap:.75rem 2rem;margin:0;padding:0;list-style:none;display:grid}.contact-guide li{color:#ffffffc7;padding-left:1.1rem;font-size:.88rem;line-height:1.7;position:relative}.contact-guide li:before{background:var(--accent);content:"";border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.75em;left:0}.contact-status{color:#ffffff8c;margin:0;padding:1.5rem 0;font-size:.78rem}.contact-item{color:inherit;border-bottom:1px solid #ffffff38;padding:2rem 0;font-style:normal;display:block}.contact-item__label{color:#ffffff85;letter-spacing:.18em;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.64rem;font-weight:800;line-height:1.3;display:flex}.contact-item__label span{background:var(--accent);color:var(--ink);letter-spacing:.1em;padding:.25rem .4rem;font-size:.54rem}.contact-item a{max-width:100%;color:var(--white);overflow-wrap:anywhere;font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Meiryo,sans-serif;font-size:clamp(1.75rem,3.3vw,3.2rem);line-height:1.2;text-decoration:none;display:inline-block}.contact-item a:hover{text-decoration:underline}.contact-item>p:last-child{color:#ffffff8c;margin:.7rem 0 0;font-size:.82rem}.site-footer{color:#ffffff80;background:#0d1311;padding:2.5rem 0}.site-footer__inner{grid-template-columns:1fr auto;align-items:end;gap:2rem clamp(2rem,6vw,6rem);display:grid}.site-footer picture{display:block}.site-footer img{filter:brightness(0)invert();width:clamp(5.5rem,8vw,6.5rem);height:auto}.site-footer p{letter-spacing:.12em;margin:0;font-size:.65rem;line-height:1.5}.site-footer__descriptor{margin-top:.9rem!important}.site-footer__nav{flex-wrap:wrap;justify-content:flex-end;gap:.75rem 1.5rem;display:flex}.site-footer__nav a{color:#ffffff9e;letter-spacing:.08em;font-size:.68rem;text-decoration:none}.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--white);text-decoration:underline}.site-footer__inner>p:last-child{text-align:right;border-top:1px solid #ffffff1f;grid-column:1/-1;padding-top:1.75rem}@media (width<=980px){.site-header__nav a:nth-child(2),.site-header__nav a:nth-child(3){display:none}.process-list{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){:root{--header-height:4.5rem}.site-header__nav{gap:1rem}.site-header__nav a:not(.site-header__cta){display:none}.site-header__nav .site-header__cta{border:1px solid;padding:.65rem .8rem;font-size:.65rem}.hero-stage{min-height:34rem}.hero-media img{object-position:50% 50%}.hero-content{padding-top:2rem}.hero-title{font-size:clamp(1.95rem,10vw,3.25rem)}.hero-content__lead{max-width:19rem;line-height:1.9}.scroll-cue{display:none}.services-intro__inner,.section-heading,.contact__grid{grid-template-columns:1fr}.services-intro .eyebrow,.section-heading .eyebrow{margin-bottom:0}.services-intro__inner{align-content:center;gap:1.75rem}.services-intro h2{font-size:clamp(2.75rem,11.5vw,3.5rem)}.section-heading{gap:1.5rem}.service-card{grid-template-columns:2rem 1fr}.service-card>div{grid-template-columns:1fr;gap:1.25rem}.strengths{grid-template-columns:1fr}.strength{min-height:auto}.strength+.strength{border-top:1px solid var(--line);border-left:0}.strength>span{margin-bottom:3rem}.process-step{min-height:auto}.process-step__number{margin-bottom:3rem}.faq-item,.company-profile__grid{grid-template-columns:1fr}.faq-item{gap:1.25rem}.company-profile__grid{gap:3.5rem}.entity-facts__services{grid-template-columns:1fr}.contact__grid{gap:4rem}.contact__heading h2{font-size:clamp(2.35rem,10.5vw,3rem)}.site-footer__inner{grid-template-columns:1fr;align-items:start}.site-footer__nav{justify-content:flex-start}.site-footer__inner>p:last-child{text-align:left}}@media (width<=520px){.process-list,.contact-guide ul{grid-template-columns:1fr}.entity-facts>div{grid-template-columns:1fr;gap:.5rem}}@media (width<=390px){.site-header__brand img{width:3.25rem}}@media (width<=350px){.services-intro h2{font-size:2.25rem}.contact__heading h2{font-size:2rem}}.no-js .hero-transition{min-height:auto}.no-js .site-header{border-color:var(--line);min-height:4.5rem;color:var(--ink)}.no-js .site-header:before{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f2efe7f0}.no-js .site-header__brand img{filter:none}.no-js .hero-stage{flex-direction:column;height:auto;min-height:0;display:flex;position:relative;overflow:visible}.no-js .hero-doors{order:1;height:100svh;min-height:34rem;position:relative}.no-js .hero-door--left{--surface-width:100%;width:100%}.no-js .hero-door--right,.no-js .hero-door:after{display:none}.no-js .services-intro{order:2;min-height:auto;padding:7rem 0;position:relative;inset:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-transition{min-height:auto}.hero-stage{flex-direction:column;height:auto;min-height:0;display:flex;position:relative;overflow:visible}.hero-doors{order:1;height:100svh;min-height:34rem;position:relative}.js .hero-doors.is-ready .hero-door--left{--surface-width:100%;width:100%;transform:none}.hero-door--right,.hero-door:after{display:none}.services-intro{order:2;min-height:auto;padding:7rem 0;position:relative;inset:auto}}
