:root{--paper:#f7f4ec;--paper-strong:#fffdf7;--ink:#102019;--muted:#607068;--green:#0d4b2c;--green-soft:#e3eee5;--blue:#1d78a8;--blue-deep:#0c4c70;--terracotta:#d56b42;--terracotta-soft:#f4ded1;--line:rgba(16,32,25,.12);--shadow:0 24px 80px rgba(16,32,25,.14);--header-height:72px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.logo-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:linear-gradient(120deg,rgba(213,107,66,.16),transparent 34%),linear-gradient(300deg,rgba(29,120,168,.16),transparent 42%),linear-gradient(180deg,var(--paper-strong),var(--paper))}.logo-intro:before{position:absolute;inset:0;content:"";background-image:linear-gradient(rgba(16,32,25,.04) 1px,transparent 0),linear-gradient(90deg,rgba(16,32,25,.04) 1px,transparent 0);background-size:52px 52px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 74%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 74%,transparent);pointer-events:none}.logo-intro__stage{position:fixed;top:50%;left:50%;z-index:1;width:min(78vw,780px);aspect-ratio:914/580;transform:translate(-50%,-50%);transition:top .88s cubic-bezier(.2,.9,.18,1),left .88s cubic-bezier(.2,.9,.18,1),width .88s cubic-bezier(.2,.9,.18,1),transform .88s cubic-bezier(.2,.9,.18,1)}.logo-intro__phrase{position:absolute;left:50%;z-index:2;display:flex;width:max-content;max-width:min(88vw,900px);justify-content:center;gap:clamp(.08em,.45vw,.2em);margin:0;color:rgba(16,32,25,.72);font-size:clamp(1.7rem,4vw,3.35rem);font-weight:600;line-height:1;letter-spacing:0;text-shadow:0 2px 18px rgba(255,253,247,.8);white-space:nowrap;pointer-events:none;transform:translateX(-50%);transition:opacity .26s ease}.logo-intro__phrase--top{top:-13%}.logo-intro__phrase--bottom{bottom:-12%;font-size:clamp(1.55rem,3.6vw,3rem)}.logo-intro__letter{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(.48em) scale(.96);animation:introLetterIn .66s cubic-bezier(.18,.8,.22,1) var(--intro-letter-delay) forwards;will-change:opacity,filter,transform}.logo-intro__media{display:block;width:100%;height:100%;object-fit:contain}.logo-intro--moving{pointer-events:none;animation:introBackdropOut .88s ease forwards}.logo-intro--moving .logo-intro__stage{top:14px;left:44px;width:160px;transform:translate(0)}.logo-intro--moving .logo-intro__phrase{opacity:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;min-height:var(--header-height);display:flex;align-items:center;justify-content:flex-start;padding:14px 44px;background:hsla(44,41%,95%,.78);border-bottom:1px solid rgba(16,32,25,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-brand{display:inline-flex;align-items:center;width:160px;min-width:140px}.header-brand img{width:160px;height:auto;object-fit:contain}main{overflow:hidden}section{scroll-margin-top:var(--header-height)}.hero-section{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--header-height) + 64px) 44px 80px;background:linear-gradient(120deg,rgba(213,107,66,.16),transparent 34%),linear-gradient(300deg,rgba(29,120,168,.16),transparent 42%),linear-gradient(180deg,var(--paper-strong),var(--paper))}.hero-section:before{position:absolute;inset:0;content:"";background-image:linear-gradient(rgba(16,32,25,.04) 1px,transparent 0),linear-gradient(90deg,rgba(16,32,25,.04) 1px,transparent 0);background-size:52px 52px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 74%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 74%,transparent);pointer-events:none}.hero-layout{position:relative;z-index:1;width:min(1040px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,760px);grid-gap:0;gap:0;align-items:center;justify-content:start}.hero-copy{max-width:760px;animation:copyReveal .76s ease both}.eyebrow,.section-kicker{margin:0 0 18px;color:var(--terracotta);font-size:.78rem;font-weight:800;line-height:1.2;letter-spacing:0;text-transform:uppercase}.contact-band h2,.hero-copy h1,.section-inner h2{margin:0;color:var(--ink);font-weight:800;letter-spacing:0}.hero-copy h1{max-width:10.6em;font-size:4.7rem;line-height:1.06}.hero-title-line{display:inline;white-space:nowrap}.hero-lead{max-width:35em;margin:30px 0 0;color:rgba(16,32,25,.72);font-size:1.18rem;line-height:2}.name-reminder{position:relative;z-index:1;width:min(1040px,100%);margin:56px auto 0;padding-top:22px;border-top:1px solid rgba(16,32,25,.12);display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.name-reminder p{max-width:18em;margin:0;color:rgba(16,32,25,.66);font-size:1.02rem;font-weight:700;line-height:1.7}.name-reminder strong{color:var(--green);font-size:clamp(3.1rem,8vw,6.8rem);font-weight:850;line-height:.86;letter-spacing:0}.coming-soon{position:relative;z-index:1;width:min(1040px,100%);margin:38px auto 0;color:rgba(16,32,25,.13);font-size:clamp(1.55rem,4vw,3.4rem);font-weight:850;line-height:1;letter-spacing:0;text-align:center;text-transform:uppercase}.hero-visual{position:relative;min-height:560px;animation:visualLift .9s ease .12s both}.logo-mark-wrap{position:absolute;top:60px;right:0;left:0;z-index:2;display:grid;place-items:center;transform:rotate(-3deg);filter:drop-shadow(0 26px 52px rgba(16,32,25,.16))}.hero-logo{width:min(520px,92%);height:auto}.experience-field{position:absolute;inset:120px 0 0;border:1px solid rgba(16,32,25,.08);border-radius:28px;background:linear-gradient(135deg,rgba(255,253,247,.78),rgba(255,253,247,.36)),linear-gradient(110deg,rgba(13,75,44,.12),rgba(29,120,168,.14) 52%,rgba(213,107,66,.14));box-shadow:var(--shadow);overflow:hidden}.experience-field:before{position:absolute;inset:-28%;content:"";background:linear-gradient(110deg,transparent 36%,rgba(255,253,247,.72) 48%,transparent 60%);transform:translateX(-45%);animation:scan 7s ease-in-out infinite}.experience-field:after{position:absolute;inset:26px;content:"";border:1px solid rgba(16,32,25,.09);border-radius:20px;background-image:linear-gradient(rgba(16,32,25,.055) 1px,transparent 0),linear-gradient(90deg,rgba(16,32,25,.055) 1px,transparent 0);background-size:36px 36px}.field-label,.field-line,.field-node{position:absolute;z-index:2;display:block}.field-line{height:3px;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--blue),var(--terracotta));opacity:.82;transform-origin:left center;animation:drawLine 1.6s ease both}.line-one{top:45%;left:16%;width:56%;transform:rotate(-16deg) scaleX(0)}.line-two{top:58%;left:22%;width:48%;transform:rotate(13deg) scaleX(0);animation-delay:.18s}.line-three{top:37%;left:40%;width:38%;transform:rotate(30deg) scaleX(0);animation-delay:.32s}.field-node{width:18px;height:18px;border:3px solid var(--paper-strong);border-radius:999px;box-shadow:0 0 0 8px rgba(255,253,247,.36),0 12px 30px rgba(16,32,25,.22);animation:pulseNode 3.4s ease-in-out infinite}.node-one{top:39%;left:14%;background:var(--green)}.node-two{top:62%;left:68%;background:var(--blue);animation-delay:.45s}.node-three{top:28%;left:78%;background:var(--terracotta);animation-delay:.9s}.field-label{min-width:108px;padding:10px 14px;border:1px solid rgba(16,32,25,.12);border-radius:999px;background:rgba(255,253,247,.82);color:var(--green);font-size:.82rem;font-weight:800;text-align:center;box-shadow:0 18px 38px rgba(16,32,25,.12);animation:floatSheet 5.2s ease-in-out infinite}.label-one{top:22%;left:12%}.label-two{top:67%;left:42%;color:var(--blue-deep);animation-delay:.7s}.label-three{top:35%;right:8%;color:var(--terracotta);animation-delay:1.1s}.business-section,.company-section,.contact-section{padding:128px 44px}.section-inner{width:min(1120px,100%);margin:0 auto}.contact-band h2,.section-inner h2{max-width:14em;font-size:3.3rem;line-height:1.16}.company-layout p,.contact-band p,.section-inner>p{max-width:46em;margin:30px 0 0;color:rgba(16,32,25,.72);font-size:1.08rem;line-height:2}.business-section{background:linear-gradient(180deg,var(--paper),#eef4f1 48%,var(--paper-strong))}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.56fr);grid-gap:44px;gap:44px;align-items:end}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;margin-top:54px}.focus-card{min-height:310px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border:1px solid rgba(16,32,25,.1);border-radius:8px;background:rgba(255,253,247,.72);box-shadow:0 18px 44px rgba(16,32,25,.08);transition:transform .18s ease,box-shadow .18s ease}.focus-card:first-child{border-top:5px solid var(--green)}.focus-card:nth-child(2){border-top:5px solid var(--blue)}.focus-card:nth-child(3){border-top:5px solid var(--terracotta)}.focus-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(16,32,25,.12)}.focus-card p{margin:0;color:var(--terracotta);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.focus-card h3{margin:auto 0 22px;color:var(--ink);font-size:1.78rem;line-height:1.28;letter-spacing:0}.focus-card span{color:rgba(16,32,25,.68);font-size:.98rem;line-height:1.85}.company-section{background:var(--paper-strong)}.company-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.8fr);grid-gap:72px;gap:72px;align-items:start}.company-list{margin:0;border-top:1px solid var(--line)}.company-list div{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:24px;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.company-list dt{color:var(--muted);font-size:.88rem;font-weight:800}.company-list dd{margin:0;color:var(--ink);font-size:1rem;font-weight:650;line-height:1.7}.contact-section{background:linear-gradient(120deg,rgba(13,75,44,.94),rgba(12,76,112,.92)),var(--green)}.contact-band{width:min(1040px,100%);margin:0 auto;padding:72px;border:1px solid rgba(255,253,247,.16);border-radius:8px;background:linear-gradient(145deg,rgba(255,253,247,.12),rgba(255,253,247,.04))}.contact-band,.contact-band .section-kicker,.contact-band h2,.contact-band p{color:var(--paper-strong)}.contact-band p{color:rgba(255,253,247,.78)}.contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:34px;padding:0 24px;border-radius:999px;background:var(--paper-strong);color:var(--green);font-weight:850;box-shadow:0 18px 36px rgba(0,0,0,.16);transition:transform .18s ease,box-shadow .18s ease}.contact-button:focus-visible,.contact-button:hover{transform:translateY(-3px);box-shadow:0 24px 46px rgba(0,0,0,.22)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 44px;background:#071b12;color:rgba(255,253,247,.72);font-size:.86rem}.site-footer a{font-weight:750}@keyframes copyReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes visualLift{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scan{0%,46%{transform:translateX(-45%)}82%,to{transform:translateX(45%)}}@keyframes drawLine{to{transform:rotate(var(--line-rotate,0deg)) scaleX(1)}}.line-one{--line-rotate:-16deg}.line-two{--line-rotate:13deg}.line-three{--line-rotate:30deg}@keyframes pulseNode{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes floatSheet{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes introBackdropOut{0%{background-color:#f7f4ec}55%{background-color:hsla(44,41%,95%,.82)}to{background-color:hsla(44,41%,95%,0);opacity:0}}@keyframes introLetterIn{0%{opacity:0;filter:blur(8px);transform:translateY(.48em) scale(.96)}62%{opacity:1;filter:blur(1px);transform:translateY(0) scale(1)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@media (max-width:980px){:root{--header-height:66px}.site-header{padding:12px 24px}.logo-intro__stage{width:min(86vw,680px)}.logo-intro--moving .logo-intro__stage{top:12px;left:24px;width:136px}.header-brand{width:136px;min-width:116px}.header-brand img{width:136px}.hero-section{min-height:100svh;padding:calc(var(--header-height) + 56px) 24px 80px}.company-layout,.hero-layout,.section-heading{grid-template-columns:1fr}.hero-copy h1{max-width:11em;font-size:3.6rem}.hero-lead{font-size:1.06rem}.name-reminder{margin-top:44px}.hero-visual{min-height:430px}.logo-mark-wrap{top:24px}.experience-field{inset:88px 0 0}.business-section,.company-section,.contact-section{padding:96px 24px}.contact-band h2,.section-inner h2{font-size:2.55rem}.focus-grid{grid-template-columns:1fr}.focus-card{min-height:230px}.contact-band{padding:48px}}@media (max-width:680px){:root{--header-height:66px}.site-header{align-items:center;padding:12px 18px}.logo-intro__stage{width:min(92vw,520px)}.logo-intro--moving .logo-intro__stage{top:12px;left:18px;width:136px}.hero-section{min-height:100svh;padding:calc(var(--header-height) + 36px) 18px 72px}.hero-layout{gap:28px}.hero-copy h1{font-size:2.8rem}.hero-title-line{display:block}.company-layout p,.contact-band p,.hero-lead,.section-inner>p{font-size:1rem;line-height:1.9}.name-reminder{align-items:flex-start;flex-direction:column;gap:14px;margin-top:36px;padding-top:18px}.name-reminder p{font-size:.96rem}.coming-soon{margin-top:30px}.hero-visual{min-height:300px}.experience-field{inset:72px 0 0;border-radius:18px}.field-label{min-width:92px;padding:8px 10px;font-size:.72rem}.business-section,.company-section,.contact-section{padding:76px 18px}.contact-band h2,.section-inner h2{font-size:2.08rem}.focus-card{padding:24px}.focus-card h3{font-size:1.48rem}.company-list div{grid-template-columns:1fr;gap:8px}.contact-band{padding:34px 24px}.site-footer{flex-direction:column;align-items:flex-start;padding:24px 18px}}@media (max-width:360px){.hero-copy h1{font-size:2.42rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}