:root{
  --ai:#1F5B45;
  --ai2:#173F32;
  --ai3:#0F2F25;
  --shu:#E85A00;
  --yama:#F5B82E;
  --yama2:#F9D763;
  --kami:#FFFFFF;
  --kami2:#F4EFE6;
  --green-soft:#EAF3EE;
  --gray:#F7F7F4;
  --ink:#202723;
  --body:#4E5751;
  --muted:#67726A;
  --line:#E0DDD4;
  --danger:#C0392B;
  --danger-soft:#FCEBEA;
  --danger-line:#E7A9A2;
  --shadow:0 24px 52px -34px rgba(23,63,50,.48);
  --font-heading:'Zen Kaku Gothic New','Zen Kaku Gothic',system-ui,sans-serif;
  --font-body:'Zen Kaku Gothic New','Zen Kaku Gothic',system-ui,sans-serif;
  --font-mono:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --header-h:82px;
  --radius-section:clamp(22px,3vw,42px);
  --radius-panel:18px;
  --radius-card:14px;
  --radius-media:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--kami)}
body{margin:0;color:var(--ink);font-family:var(--font-body);line-height:1.85;background:var(--kami);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-locked{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,.lead,.btn,summary,.service-stage__main b,.evidence-item__text b,.proof-list b,.contact-card b,.case-index b{word-break:auto-phrase;text-wrap:balance}
h1,h2,h3,p{margin-top:0}
.mono{font-family:var(--font-mono);letter-spacing:.06em}
.wrap{width:min(1120px,calc(100% - 44px));margin:0 auto}
.wide-wrap{width:min(1320px,calc(100% - 44px));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--yama);color:var(--ai2);font-weight:900;padding:10px 16px;z-index:999;text-decoration:none}
.skip-link:focus{left:8px;top:8px}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--yama);outline-offset:3px;border-radius:4px}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 2px 18px -15px rgba(0,0,0,.5)}
.site-header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 22px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:210px}
.brand img{width:190px;max-height:46px;object-fit:contain;display:block}
.brand__fallback{font-weight:900;font-size:18px}
.header-nav{display:flex;align-items:center;gap:20px}
.header-nav a{font-size:13.5px;font-weight:800;text-decoration:none;white-space:nowrap;position:relative}
.header-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--shu);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.header-nav a:hover::after,.header-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:12px}
.header-tel{text-align:right;text-decoration:none;line-height:1.15}
.header-tel b{display:block;font-family:var(--font-mono);font-size:18px;color:var(--ai)}
.header-tel span{display:block;font-size:10px;color:var(--muted);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:13px 22px;border-radius:7px;text-decoration:none;border:1px solid transparent;font-weight:900;font-size:14px;line-height:1.3;white-space:nowrap;transition:transform .2s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--shu);color:#fff;box-shadow:0 14px 24px -18px rgba(232,90,0,.95)}
.btn--dark{background:var(--ai);color:#fff}
.btn--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.44);color:#fff}
.btn--light{background:#fff;color:var(--ai2);border-color:var(--line)}
.menu-toggle{display:none;border:0;background:var(--ai);color:#fff;width:46px;height:46px;border-radius:7px;font-weight:900}
.tel-btn{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--green-soft);color:var(--ai);text-decoration:none;flex:0 0 auto}
.tel-btn svg{width:21px;height:21px;display:block}
.accentline{height:4px;background:linear-gradient(90deg,var(--ai),var(--shu),var(--yama))}
.section{padding:104px 0;position:relative}
section[id]{scroll-margin-top:calc(var(--header-h) + 18px)}
.section--soft{background:var(--green-soft)}
.section--paper{background:var(--kami2)}
.section--dark{background:var(--ai2);color:#fff}
.section-head{display:grid;grid-template-columns:.78fr 1fr;gap:48px;align-items:end;margin-bottom:44px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--shu);font-weight:800}
.eyebrow::before{content:"";width:38px;height:1px;background:currentColor}
.section-title{font-size:clamp(28px,4.3vw,52px);line-height:1.24;font-weight:900;margin:12px 0 0;letter-spacing:0}
.section-lead{color:var(--body);font-size:15px;line-height:2;max-width:39em;margin:0}
.section--dark .section-lead,.section--dark .muted{color:rgba(255,255,255,.74)}
.muted{color:var(--muted)}
.site-main{background:var(--kami)}

/* StickyStack FV */
.hero-stack{position:relative;background:var(--ai2);color:#fff}
.stack-card{position:sticky;top:0;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--header-h) + 34px) 0 72px}
.stack-card__bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;transform:scale(1.02)}
.stack-card__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(108deg,rgba(15,47,37,.93) 0%,rgba(15,47,37,.82) 44%,rgba(15,47,37,.48) 100%)}
.stack-card>*:not(.stack-card__bg){position:relative;z-index:2}
.stack-card--problem{z-index:1}
.stack-card--promise{z-index:2;background:var(--yama);color:var(--ai2);box-shadow:0 -32px 70px -44px #000}
.stack-card--proof{z-index:3;background:var(--ai2);box-shadow:0 -32px 70px -44px #000}
.hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:52px;align-items:center}
.hero-stack .hero-grid>div:first-child{padding-left:24px}
.hero-kicker{display:inline-flex;gap:12px;align-items:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.26em;color:var(--yama);font-weight:800}
.hero-kicker::before{content:"";width:54px;height:1px;background:currentColor}
.hero-title{font-size:clamp(42px,6.8vw,92px);line-height:1.12;font-weight:900;margin:22px 0 22px}
.hero-title span{display:block}
.hero-copy{font-size:clamp(16px,1.45vw,20px);line-height:2;color:rgba(255,255,255,.82);max-width:42em;margin:0 0 28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-chip{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;color:rgba(255,255,255,.9)}
.photo-stack{position:relative;min-height:520px}
.photo-stack img{position:absolute;object-fit:cover;border:8px solid rgba(255,255,255,.86);box-shadow:var(--shadow);background:#fff}
.photo-stack .ph1{left:0;top:0;width:68%;aspect-ratio:16/10;border-radius:8px;z-index:1}
.photo-stack .ph2{left:50%;bottom:24px;width:34%;aspect-ratio:3/4;border-radius:8px;transform:translateX(-50%);z-index:3}
.photo-stack .ph3{right:0;bottom:0;width:46%;aspect-ratio:5/4;border-radius:8px;z-index:2}
.ghost-word{position:absolute;left:2vw;bottom:-1.5vw;font-family:var(--font-mono);font-size:clamp(96px,18vw,260px);font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);pointer-events:none}
.promise-board{display:grid;grid-template-columns:.95fr 1fr;gap:42px;align-items:center}
.promise-title{font-size:clamp(42px,7.4vw,118px);line-height:1.08;font-weight:900;margin:0 0 22px;color:var(--ai2)}
.promise-text{font-size:17px;line-height:2;max-width:35em;color:rgba(23,63,50,.86)}
.promise-rules{display:grid;gap:0;border:1px solid rgba(23,63,50,.22);background:rgba(255,255,255,.28)}
.promise-rules div{padding:20px 22px;border-bottom:1px solid rgba(23,63,50,.18)}
.promise-rules div:last-child{border-bottom:0}
.promise-rules b{display:block;font-size:18px;margin-bottom:4px}
.proof-num{font-family:var(--font-mono);font-weight:900;font-size:clamp(86px,17vw,240px);line-height:.88;color:var(--yama);letter-spacing:-.04em}
.proof-num small{font-size:.28em;color:#fff;letter-spacing:0}
.proof-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:22px}
.proof-list div{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:18px;border-radius:8px}
.proof-list b{display:block;font-size:17px;color:#fff}.proof-list span{font-size:12px;color:rgba(255,255,255,.68)}
.scroll-hint{position:fixed;right:3vw;bottom:4.5vh;z-index:30;writing-mode:vertical-rl;font-family:var(--font-mono);font-size:10px;letter-spacing:.35em;color:rgba(255,255,255,.46);mix-blend-mode:difference;pointer-events:none}

/* Empathy */
.empathy{background:linear-gradient(180deg,var(--gray),#fff)}
.empathy-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:end;margin-bottom:44px}
.browser-memo{position:relative;min-height:500px}
.browser-tabs{position:absolute;left:0;top:22px;width:min(540px,92%);border:1px solid var(--line);background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-radius:16px;overflow:hidden;box-shadow:0 30px 70px -48px rgba(30,37,43,.44)}
.browser-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--line);background:#F8FAF9}
.browser-bar i{width:10px;height:10px;border-radius:50%;background:var(--muted)}.browser-bar i:nth-child(1){background:var(--shu)}.browser-bar i:nth-child(2){background:var(--yama)}.browser-bar i:nth-child(3){background:var(--ai)}
.tablist{padding:18px;display:grid;gap:10px}.tabitem{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px}
.tabitem .dot{width:8px;height:8px;border-radius:50%;background:var(--ai);box-shadow:0 0 16px rgba(31,91,69,.55)}.tabitem small{font-family:var(--font-mono);font-size:9px;color:var(--muted)}
.memo-card{position:absolute;right:0;top:102px;width:min(500px,88%);background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 34px 70px -44px rgba(30,37,43,.42);transform:rotate(1deg);padding:34px 36px 32px}
.memo-card::before{content:"";position:absolute;left:34px;right:34px;top:74px;height:1px;background:#E1E5E2;box-shadow:0 34px 0 #E1E5E2,0 68px 0 #E1E5E2,0 102px 0 #E1E5E2}
.memo-card .date{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--shu)}
.memo-card p{font-weight:900;font-size:clamp(18px,2.2vw,25px);line-height:2;position:relative;z-index:1;margin:18px 0 0}.memo-card b{background:linear-gradient(transparent 62%,rgba(245,184,46,.46) 62%)}
.reply-pill{position:absolute;left:10%;bottom:18px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 18px;font-size:13px;box-shadow:0 18px 46px -34px rgba(30,37,43,.4)}.reply-pill b{color:var(--shu)}

/* Service switch */
.triage{position:relative;min-height:760px;color:#fff;background:var(--ai2);overflow:hidden;display:flex;align-items:center}
.triage::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,47,37,.94) 0%,rgba(15,47,37,.77) 48%,rgba(15,47,37,.94) 100%),linear-gradient(180deg,rgba(15,47,37,.42),rgba(15,47,37,.92));pointer-events:none}
.triage::after{content:"SERVICE";position:absolute;right:-.09em;bottom:-.24em;z-index:1;font-family:var(--font-mono);font-size:clamp(130px,18vw,268px);font-weight:900;line-height:.8;letter-spacing:-.05em;color:rgba(255,255,255,.08);pointer-events:none}
.service-stage__bgs{position:absolute;inset:0;z-index:0}.service-stage__bg{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:var(--pos,center);opacity:0;transform:scale(1.08);transition:opacity .8s ease,transform 6s ease}.service-stage__bg.is-active{opacity:.56;transform:scale(1)}
.service-stage__bg.is-active::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 28%,rgba(245,184,46,.28),transparent 32%)}.service-stage__bg.is-active{animation:serviceKenburns 9s ease-in-out infinite alternate}
@keyframes serviceKenburns{from{transform:scale(1.02)}to{transform:scale(1.08)}}
.triage .wrap{position:relative;z-index:2}.triage .eyebrow{color:var(--yama)}.triage .section-lead{color:rgba(255,255,255,.76)}
.service-stage__head{display:grid;grid-template-columns:.86fr 1fr;gap:54px;align-items:end;margin-bottom:42px}.service-stage__head .section-title{max-width:9em;color:#fff}.service-stage__head .section-lead{max-width:42em}
.service-stage__body{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,1fr);gap:34px;align-items:stretch}
.service-stage__signal{position:relative;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:450px;overflow:hidden}.service-stage__signal::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(180deg,#000,transparent 80%);pointer-events:none}
.service-stage__num{position:relative;font-family:var(--font-mono);font-size:clamp(104px,13vw,190px);font-weight:900;line-height:.82;color:var(--yama);letter-spacing:-.08em;text-shadow:0 26px 60px rgba(0,0,0,.24)}.service-stage__now{position:relative}.service-stage__now span{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.6);margin-bottom:10px}.service-stage__now b{display:block;font-size:clamp(22px,2.4vw,31px);line-height:1.38;color:#fff}
.service-stage__list{border-top:1px solid rgba(255,255,255,.24)}
.service-stage__item{position:relative;width:100%;display:grid;grid-template-columns:72px minmax(230px,.9fr) minmax(220px,1fr) 38px;gap:18px;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.03);color:#fff;text-align:left;padding:23px 10px;cursor:pointer;overflow:hidden;font:inherit;transition:background .35s,padding-left .35s}
.service-stage__item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(232,90,0,.92),rgba(245,184,46,.82));transition:width .35s}.service-stage__item::after{content:"";position:absolute;left:0;right:auto;bottom:0;height:2px;width:0;background:var(--yama);opacity:0}
.service-stage__item.is-active{background:rgba(255,255,255,.13);padding-left:24px}.service-stage__item.is-active::before{width:5px}.service-stage__item.is-active::after{opacity:1;animation:serviceProgress 4.8s linear forwards}
@keyframes serviceProgress{from{width:0}to{width:100%}}
.service-stage__ix{position:relative;font-family:var(--font-mono);font-size:14px;letter-spacing:.22em;color:rgba(255,255,255,.54);font-weight:900}.service-stage__item.is-active .service-stage__ix{color:var(--yama)}
.service-stage__main{position:relative;display:grid;gap:6px}.service-stage__main b{font-size:clamp(24px,3.6vw,44px);line-height:1.18;font-weight:900;letter-spacing:0}.service-stage__main span{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.62);text-transform:uppercase}
.service-stage__item p{position:relative;margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.9}.service-stage__arrow{position:relative;font-family:var(--font-mono);font-size:28px;color:var(--yama);transform:translateX(-8px);opacity:.35;transition:transform .35s,opacity .35s}.service-stage__item.is-active .service-stage__arrow{transform:none;opacity:1}
.service-stage__foot{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:28px;border-top:1px solid rgba(255,255,255,.22);padding-top:20px}.service-stage__foot p{margin:0;color:rgba(255,255,255,.68);font-size:13px}.service-stage__foot b{display:block;color:#fff;font-size:19px;line-height:1.45}.service-stage__foot .btn{flex:0 0 auto}

/* Evidence, numbers, cases */
.evidence-board{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:22px;align-items:stretch}.evidence-feature{position:relative;margin:0;min-height:560px;border-radius:10px;overflow:hidden;background:var(--ai2);box-shadow:0 36px 90px -64px rgba(30,26,21,.62)}.evidence-feature picture,.evidence-feature img{display:block;width:100%;height:100%}.evidence-feature img{object-fit:cover}.evidence-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(15,47,37,.86));pointer-events:none}.evidence-feature__cap{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;color:#fff}.evidence-feature__cap span{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--yama)}.evidence-feature__cap b{display:block;font-size:clamp(24px,3vw,38px);line-height:1.35;margin:10px 0}.evidence-feature__cap p{margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.8}
.evidence-ledger{position:relative;display:grid;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.evidence-ledger::before{content:"";position:absolute;left:66px;top:0;bottom:0;width:1px;background:var(--line)}.evidence-item{position:relative;display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center;padding:20px 4px 20px 0;border-bottom:1px solid var(--line)}.evidence-item:last-child{border-bottom:0}.evidence-item__media{position:relative;z-index:1;margin:0;width:96px;height:96px;border-radius:8px;overflow:hidden;background:var(--kami2);box-shadow:0 20px 52px -42px rgba(30,26,21,.54)}.evidence-item__media picture,.evidence-item__media img{display:block;width:100%;height:100%}.evidence-item__media img{object-fit:cover}.evidence-item--permit .evidence-item__media img{object-fit:contain;padding:18px;background:linear-gradient(145deg,#FFF,#F4EFE5)}.evidence-item--rep .evidence-item__media img{object-position:84% center}.evidence-item__text{min-width:0}.evidence-item__text .no{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--shu);font-weight:900}.evidence-item__text b{display:block;font-size:clamp(19px,2.1vw,27px);line-height:1.45;margin:8px 0}.evidence-item__text p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.evidence-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.evidence-tags span{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;color:var(--ai);background:#FAFBF8}
.numbers-field{position:relative;min-height:600px;margin-top:20px}.number-rule{position:absolute;left:0;right:0;top:315px;height:1px;background:var(--line)}.stat{position:absolute}.stat .v{font-family:var(--font-mono);font-weight:900;line-height:.86;letter-spacing:-.04em;display:flex;align-items:flex-start}.stat .u{font-size:.22em;color:var(--shu);margin-top:.45em;margin-left:.08em;letter-spacing:0;white-space:nowrap}.stat .l{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.09em;margin-top:8px;max-width:18em}.s1{left:-1%;top:0}.s1 .v{font-size:clamp(118px,19vw,250px)}.s2{right:3%;top:132px;text-align:right}.s2 .v{font-size:clamp(78px,12vw,150px);justify-content:flex-end;color:var(--shu)}.s3{left:20%;top:360px}.s3 .v{font-size:clamp(80px,13vw,160px)}.s4{right:8%;top:420px}.s4 .v{font-size:clamp(48px,7.2vw,94px);color:var(--ai2);-webkit-text-stroke:0;align-items:flex-start}.s4 .review-score{color:var(--ai2)}.s4 .review-meta{font-size:.42em;letter-spacing:0;margin:.16em 0 0 .18em;color:var(--shu);white-space:nowrap}.s4 .review-count{color:var(--shu);margin-left:0}.s4 .u{font-size:.25em;color:var(--shu);margin-top:.28em;margin-left:.08em}
.full-photo{position:relative;min-height:62vh;background:url('../../src/office-exterior-1600.jpg') center/cover;background-image:image-set(url('../../src/office-exterior-1600.webp') type('image/webp'),url('../../src/office-exterior-1600.jpg') type('image/jpeg'));display:flex;align-items:end}.full-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(15,47,37,.72))}.full-photo__caption{position:relative;z-index:1;color:#fff;padding:0 0 48px}.full-photo__caption p{max-width:38em;color:rgba(255,255,255,.86)}
.case-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.case-feature{position:sticky;top:108px;border-radius:8px;overflow:hidden;min-height:520px}.case-feature picture{position:absolute;inset:0}.case-feature picture,.case-feature img{width:100%;height:100%;display:block}.case-feature img{object-fit:cover}.case-feature span{position:absolute;left:18px;bottom:18px;background:rgba(15,47,37,.86);color:#fff;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}.case-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.case-index li{display:grid;grid-template-columns:64px minmax(0,1fr) 122px;gap:18px;align-items:start;border-bottom:1px solid var(--line);padding:28px 6px}.case-index .no{font-family:var(--font-mono);color:var(--shu);font-weight:800}.case-index b{display:block;font-size:19px;line-height:1.55}.case-index p{margin:12px 0 0;color:var(--body);font-size:14px;line-height:2.05}.case-index cite{display:block;margin-top:14px;font-style:normal;color:var(--muted);font-size:13px;line-height:1.8}.case-index small{font-family:var(--font-mono);color:var(--muted);text-align:right}

/* Message */
.message-spread{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:start}.portrait-block{position:relative}.vlabel{writing-mode:vertical-rl;position:absolute;left:-18px;top:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--shu)}.portrait{margin-left:28px;aspect-ratio:4/5;overflow:hidden;border-radius:8px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.meta{margin:20px 0 0 28px}.meta .role{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.meta .name{font-size:24px;font-weight:900}.letter{border-top:1px solid var(--ink);padding-top:28px;max-width:46em}.letter p{font-size:15.5px;line-height:2.05;color:var(--body);margin:0 0 1.25em}.letter p:last-child{margin-bottom:0}.letter .lead-line{font-size:clamp(22px,2.8vw,34px);line-height:1.55;font-weight:900;color:var(--ink)}.drop{float:left;font-family:var(--font-mono);font-size:clamp(72px,8vw,112px);font-weight:900;line-height:.82;margin:9px 18px 0 0;color:var(--shu)}
.about-message{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#FBFAF5 44%,#F2F7F2 100%)}
.about-message .wrap{position:relative;z-index:1}
.about-message .wrap::before{content:"MESSAGE";position:absolute;right:-.08em;top:42px;z-index:-1;font-family:var(--font-mono);font-size:clamp(108px,18vw,230px);font-weight:900;line-height:.8;letter-spacing:-.06em;color:rgba(23,63,50,.055);pointer-events:none}
.about-message__head{display:grid;grid-template-columns:minmax(0,.76fr) minmax(260px,.24fr);gap:40px;align-items:end;max-width:none;margin-bottom:44px}
.about-message__head .eyebrow,.about-message__head h2,.about-message__head p{grid-column:1}
.about-message__head h2{font-size:clamp(28px,3.8vw,48px);line-height:1.25;margin:12px 0 10px}
.about-message__head p{font-size:clamp(25px,3.4vw,46px);line-height:1.36;font-weight:900;color:var(--ai2);margin:0;max-width:13.5em}
.about-message__head::after{content:"現場を他人任せにしない。最後まで自分たちの目で確かめる。";grid-column:2;grid-row:1/4;display:block;border-left:3px solid var(--shu);padding:10px 0 10px 18px;color:var(--body);font-size:14px;line-height:1.9}
.about-message__grid{display:block}
.representative-panel{position:relative;top:auto;z-index:2;display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);grid-template-rows:1fr auto;gap:16px;padding:18px;border-radius:16px;background:linear-gradient(135deg,var(--ai3) 0%,var(--ai) 100%);color:#fff;box-shadow:0 34px 90px -62px rgba(15,47,37,.72)}
.representative-panel__visual{position:relative;grid-row:1/3;overflow:hidden;border-radius:12px;background:var(--ai2);min-height:420px}
.representative-panel__main{height:100%;margin:0;background:#fff}
.representative-panel__main img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.98) contrast(1.02)}
.representative-panel__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(15,47,37,.84));pointer-events:none}
.representative-panel__name{position:absolute;left:22px;right:22px;bottom:22px;z-index:1;margin:0;padding:0 0 0 16px;border-left:4px solid var(--yama);background:transparent;box-shadow:none;color:#fff}
.representative-panel__name span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.72)}
.representative-panel__name b{display:block;font-size:clamp(22px,2.2vw,32px);line-height:1.35;margin-top:4px}
.representative-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}
.representative-gallery figure{position:relative;margin:0;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.08)}
.representative-gallery figure:first-child{grid-column:auto}
.representative-gallery img{width:100%;aspect-ratio:1.18/1;object-fit:cover;display:block;opacity:.94}
.representative-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 10px 8px;background:linear-gradient(180deg,transparent,rgba(15,47,37,.84));color:#fff;font-size:11px;font-weight:900;text-align:center}
.representative-note{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.18)}
.representative-note span{display:grid;place-items:center;min-height:74px;padding:10px;background:rgba(255,255,255,.08);font-size:13px;font-weight:900;text-align:center;line-height:1.45}
.message-letter{position:relative;z-index:3;max-width:none;margin:30px 0 0;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}
.message-letter::before{display:none}
.message-letter__intro{position:relative;padding:34px 38px;background:linear-gradient(135deg,#fff 0%,#FFF8EA 100%);border:1px solid var(--line);border-radius:14px;box-shadow:0 26px 72px -58px rgba(23,63,50,.62)}
.message-letter__mark{display:inline-flex;margin-bottom:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--shu);font-weight:900}
.message-letter p{position:relative;color:var(--body);font-size:14.7px;line-height:2.05;margin:0 0 1.25em}
.message-letter p:last-child{margin-bottom:0}
.message-letter__lead{font-size:clamp(18px,1.7vw,23px)!important;line-height:1.8!important;color:var(--ink)!important;font-weight:900;max-width:36em}
.message-letter__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px 0 0}
.message-letter__block{display:block;border:1px solid var(--line);border-radius:14px;padding:28px 30px;background:#fff;box-shadow:0 24px 70px -60px rgba(23,63,50,.58)}
.message-letter__block:nth-child(3){grid-column:1/-1}
.message-letter__no{display:block;font-family:var(--font-mono);font-size:34px;font-weight:900;line-height:1;color:var(--shu);margin-bottom:12px}
.message-letter h3{position:relative;font-size:clamp(22px,2.1vw,30px);line-height:1.5;margin:0 0 14px;padding-left:0;color:var(--ink)}
.message-letter h3::before{display:none}
.message-signature{margin:18px 0 0;padding:24px 28px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:right;box-shadow:0 24px 70px -62px rgba(23,63,50,.52)}
.message-signature span{display:block;color:var(--muted);font-size:13px}
.message-signature b{display:block;font-size:20px;margin-top:4px}
.about-company .company-table{background:#fff;border:1px solid var(--line);border-bottom:0}
.about-company .company-row{padding:18px 22px}
.about-company .company-row:nth-child(odd){background:#FAFBF8}
.about-license .license-list{grid-template-columns:repeat(4,1fr)}
.about-license .license{min-height:132px;box-shadow:0 22px 60px -50px rgba(23,63,50,.46)}
.about-license .license b{font-size:17px;line-height:1.5}
.about-license .license span{display:block;margin-top:8px;line-height:1.8}

/* Pricing/process/faq/news/cta */
.quote{border:1px solid var(--line);background:#fff;padding:34px;box-shadow:0 34px 80px -58px rgba(30,26,21,.42)}.quote-row{display:grid;grid-template-columns:130px 1fr 170px;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}.quote-row:last-child{border-bottom:0}.quote-row span{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--shu)}.quote-row b{font-size:21px}.quote-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.price{text-align:right;font-weight:900}.notice-box{margin-top:26px;padding:24px;background:var(--ai2);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}.notice-box b{font-size:24px}.notice-box span{font-size:13px;color:rgba(255,255,255,.72)}
.track{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;max-width:940px;margin:0 auto}.track-head{display:flex;justify-content:space-between;gap:14px;padding:18px 26px;border-bottom:1px solid var(--line);background:#FAFBFC;flex-wrap:wrap}.steps{position:relative;padding:30px 26px 30px 64px}.rail{position:absolute;left:38px;top:44px;bottom:44px;width:3px;background:var(--line);border-radius:2px}.rail .fill{position:absolute;left:0;top:0;width:100%;height:76%;background:var(--ai);border-radius:2px}.step{position:relative;padding:14px 0 14px 14px}.step .dot{position:absolute;left:-34px;top:20px;width:19px;height:19px;border-radius:50%;background:#fff;border:3px solid var(--line)}.step.done .dot{border-color:var(--ai);background:var(--ai)}.step.now .dot{border-color:var(--yama);background:var(--yama)}.step h3{font-size:18px;margin:0}.step p{font-size:13px;color:var(--muted);margin:4px 0 0}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:52px;align-items:start}.faq-side{position:sticky;top:108px}.faq-list{border-top:1px solid var(--line)}.faq-group{margin:34px 0 0;padding:16px 6px 10px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--shu)}.faq-group:first-child{margin-top:0}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:grid;grid-template-columns:48px 1fr 30px;gap:14px;align-items:center;padding:24px 6px;cursor:pointer;background:transparent;border:0;text-align:left;font:inherit;color:inherit}.faq-q .no{font-family:var(--font-mono);color:var(--shu);font-weight:800}.faq-q .tx{font-weight:900}.faq-q .ic{position:relative;width:18px;height:18px;justify-self:end}.faq-q .ic::before,.faq-q .ic::after{content:"";position:absolute;background:var(--ai);transition:.25s}.faq-q .ic::before{top:8px;left:0;width:18px;height:2px}.faq-q .ic::after{top:0;left:8px;width:2px;height:18px}.faq-item.is-open .ic::after{transform:rotate(90deg);opacity:0}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.faq-a>div{overflow:hidden}.faq-a p{padding:0 6px 26px 62px;margin:0;color:var(--muted);font-size:14px}.faq-item.is-open .faq-a{grid-template-rows:1fr}
.news-socials{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-18px 0 30px}.news-socials__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--muted);font-weight:800}.news-social{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 13px;text-decoration:none;font-size:12px;font-weight:900;color:var(--ink);transition:transform .2s,border-color .2s}.news-social:hover{transform:translateY(-2px);border-color:var(--shu)}.news-social small{font-size:10px;color:var(--muted);font-weight:800}.news-social.is-disabled{opacity:.62;transform:none}.news-list{display:grid;gap:14px}.news-item{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.news-date{font-family:var(--font-mono);font-size:13px;color:var(--muted)}.news-item b{font-size:17px}.news-more{font-family:var(--font-mono);font-size:12px;color:var(--shu);font-weight:800}
.contact-band{background:var(--gray);overflow:hidden}.contact-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.contact-huge{font-family:var(--font-mono);font-weight:900;font-size:clamp(62px,10vw,136px);line-height:.9;color:var(--ai)}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-card{background:var(--ai2);color:#fff;border-radius:8px;padding:24px 20px;min-height:142px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:18px 18px}.contact-card span{font-family:var(--font-mono);font-size:10px;color:rgba(255,255,255,.6)}.contact-card i{font-style:normal;align-self:flex-end;background:var(--yama);color:var(--ai2);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.company-table{border-top:1px solid var(--line)}.company-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);padding:18px 0}.company-row b{color:var(--ai)}.license-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.license{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.license b{display:block}.license span{font-size:12px;color:var(--muted)}

/* Lower pages */
.page-hero{position:relative;overflow:hidden;color:#fff;background:var(--ai2);padding:108px 0 70px}.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(15,47,37,.95),rgba(15,47,37,.74)),var(--hero-bg,none);background-size:cover;background-position:center}.page-hero .wrap{position:relative;z-index:1}.crumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.7);margin:0 0 18px}.crumb a{text-decoration:none;color:#fff}.page-hero h1{font-size:clamp(34px,5.2vw,64px);line-height:1.2;margin:0 0 14px}.page-hero p{max-width:44em;color:rgba(255,255,255,.82)}.page-sec{padding:86px 0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:24px}.detail-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;margin-bottom:16px}.detail-card h2,.detail-card h3{font-size:22px}.list-lines{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.list-lines li{border-bottom:1px solid var(--line);padding:18px 0}.contact-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.contact-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px}.form-slot{border:1px dashed var(--line);background:#fff;border-radius:8px;padding:22px}.contact-embed iframe{width:100%;min-height:720px;border:1px solid var(--line);border-radius:8px;background:#fff}@media(max-width:640px){.contact-embed iframe{display:none}}.privacy-body h2{font-size:23px;margin-top:2em}.privacy-body p{color:var(--body)}

.subpage{position:relative;background:transparent}.subpage>.page-hero,.subpage>.page-sec{position:relative;z-index:1}.subpage>.page-sec{background:var(--kami)}.subpage-fixed-bg{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;z-index:0;pointer-events:none;background:var(--ai3);overflow:hidden}.subpage-fixed-bg img{width:100%;height:100%;object-fit:cover;display:block}.subpage-fixed-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(15,47,37,.9) 0%,rgba(15,47,37,.6) 48%,rgba(15,47,37,.22) 100%)}.subpage .page-hero{min-height:72svh;display:flex;align-items:flex-end;padding:calc(var(--header-h) + 86px) 0 86px;background:transparent}.subpage .page-hero::before{z-index:0;background:linear-gradient(180deg,rgba(15,47,37,.08) 0%,rgba(15,47,37,.24) 62%,rgba(15,47,37,.56) 100%)}.subpage .page-hero::after{content:"URUTAROU";position:absolute;right:-.06em;bottom:-.22em;z-index:1;font-family:var(--font-mono);font-size:clamp(96px,18vw,248px);font-weight:900;line-height:.82;letter-spacing:-.06em;color:rgba(255,255,255,.08);pointer-events:none}.subpage .page-hero .wrap{display:grid;grid-template-columns:minmax(0,.72fr) minmax(280px,.28fr);gap:38px;align-items:end}.subpage .page-hero .crumb,.subpage .page-hero .sec-eyebrow{grid-column:1/-1;margin-bottom:10px}.subpage .page-hero h1{font-size:clamp(52px,8vw,112px);line-height:.98;letter-spacing:0;margin:0;text-shadow:0 24px 64px rgba(0,0,0,.24)}.subpage .page-hero .wrap>p:not(.crumb){position:relative;max-width:30em;margin:0 0 8px;padding:0 0 24px 26px;border-left:1px solid rgba(255,255,255,.24);font-size:clamp(15px,1.45vw,18px);line-height:2;color:rgba(255,255,255,.84)}.subpage .page-hero .wrap>p:not(.crumb)::after{content:"";position:absolute;left:26px;bottom:0;width:74px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--shu),var(--yama))}

/* Service page */
.service-page{position:relative;background:transparent}.service-page>.page-hero,.service-page>.page-sec{position:relative;z-index:1}.service-fixed-bg{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;z-index:0;pointer-events:none;background:linear-gradient(112deg,rgba(15,47,37,.88) 0%,rgba(15,47,37,.56) 48%,rgba(15,47,37,.16) 100%),url('../../src/page-hero-service.jpg') center/cover no-repeat}
.service-hero{min-height:72svh;display:flex;align-items:flex-end;padding:calc(var(--header-h) + 86px) 0 86px;background:transparent}
.service-hero::before{z-index:0;background:linear-gradient(180deg,rgba(15,47,37,.1) 0%,rgba(15,47,37,.24) 62%,rgba(15,47,37,.5) 100%);transform:none}
.service-hero::after{content:"SERVICES";position:absolute;right:-.06em;bottom:-.22em;z-index:1;font-family:var(--font-mono);font-size:clamp(112px,20vw,280px);font-weight:900;line-height:.82;letter-spacing:-.06em;color:rgba(255,255,255,.08);pointer-events:none}
.service-hero .wrap{display:grid;grid-template-columns:minmax(0,.72fr) minmax(280px,.28fr);gap:38px;align-items:end}.service-hero .crumb{grid-column:1/-1;margin-bottom:10px}.service-hero h1{font-size:clamp(52px,8vw,112px);line-height:.98;letter-spacing:0;margin:0;text-shadow:0 24px 64px rgba(0,0,0,.24)}
.service-hero .wrap>p:not(.crumb){position:relative;max-width:30em;margin:0 0 8px;padding:0 0 24px 26px;border-left:1px solid rgba(255,255,255,.24);font-size:clamp(15px,1.45vw,18px);line-height:2;color:rgba(255,255,255,.84)}.service-hero .wrap>p:not(.crumb)::after{content:"";position:absolute;left:26px;bottom:0;width:74px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--shu),var(--yama))}
.service-overview{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#FAFBF8 46%,var(--green-soft) 100%)}.service-overview::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,63,50,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,63,50,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 78%,transparent);pointer-events:none}.service-overview .wrap{position:relative;z-index:1}.service-lead{max-width:840px;margin-bottom:46px}.service-lead .section-title{max-width:13em}.service-lead .section-lead{margin-top:18px}
.service-card-grid{display:grid;gap:30px}.service-card{position:relative;display:grid;grid-template-columns:minmax(240px,.46fr) minmax(0,1fr);min-height:318px;border:1px solid rgba(23,63,50,.14);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.96);box-shadow:0 30px 80px -58px rgba(23,63,50,.68);isolation:isolate}.service-card:nth-child(odd){margin-right:52px}.service-card:nth-child(even){margin-left:52px}.service-card::before{content:"";position:absolute;top:0;right:0;left:0;height:5px;background:linear-gradient(90deg,var(--ai),var(--shu),var(--yama));z-index:2}.service-card--strong{background:linear-gradient(135deg,#fff 0%,#FFF7E8 100%)}.service-card--dark{background:linear-gradient(135deg,var(--ai2),var(--ai));color:#fff;border-color:rgba(255,255,255,.14)}
.service-card__media{position:relative;margin:0;min-height:100%;background:var(--ai2);overflow:hidden}.service-card__media picture,.service-card__media img{display:block;width:100%;height:100%}.service-card__media img{object-fit:cover;filter:saturate(.98) contrast(1.02);transition:transform .35s}.service-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(15,47,37,.72));pointer-events:none}.service-card:hover .service-card__media img{transform:scale(1.035)}.service-card__media span{position:absolute;left:18px;bottom:16px;z-index:1;font-family:var(--font-mono);font-size:13px;letter-spacing:.24em;color:#fff;font-weight:900;background:rgba(15,47,37,.72);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:7px 12px}
.service-card__body{position:relative;padding:34px 36px 30px;display:flex;flex-direction:column;justify-content:center}.service-card__label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--shu);font-weight:900;margin:0 0 10px}.service-card--dark .service-card__label{color:var(--yama)}.service-card__body h2{font-size:clamp(24px,3vw,36px);line-height:1.35;margin:0 0 14px}.service-card__body p:not(.service-card__label){color:var(--body);font-size:14.5px;line-height:2;margin:0}.service-card--dark .service-card__body p:not(.service-card__label){color:rgba(255,255,255,.78)}
.service-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.service-card__tags span{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ai);font-size:11px;font-weight:900;padding:6px 10px}.service-card--dark .service-card__tags span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
.service-factors{position:relative;overflow:hidden}.service-factors::before{content:"PRICE";position:absolute;right:-.06em;bottom:-.24em;font-family:var(--font-mono);font-size:clamp(108px,18vw,238px);font-weight:900;line-height:.8;color:rgba(23,63,50,.06);pointer-events:none}.factor-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.factor-grid div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;box-shadow:0 22px 60px -48px rgba(23,63,50,.44)}.factor-grid b{display:block;color:var(--ai);font-size:19px;margin-bottom:5px}.factor-grid span{display:block;color:var(--muted);font-size:12.5px;line-height:1.75}

/* Partner LP */
.partner-lp{background:#fff}.partner-hero{position:relative;overflow:hidden;min-height:calc(100svh - var(--header-h));display:flex;align-items:stretch;color:#fff;background:var(--ai3)}.partner-hero__bg{position:fixed;top:var(--header-h);left:0;right:0;height:calc(100svh - var(--header-h));z-index:0;pointer-events:none}.partner-hero__bg picture,.partner-hero__bg img{display:block;width:100%;height:100%}.partner-hero__bg img{object-fit:cover;object-position:center 44%;filter:saturate(.94) contrast(1.04)}.partner-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(15,47,37,.96) 0%,rgba(15,47,37,.78) 46%,rgba(15,47,37,.34) 100%)}.partner-hero::after{content:"PARTNERS";position:absolute;right:-.09em;bottom:-.16em;z-index:1;font-family:var(--font-mono);font-size:clamp(96px,17vw,250px);font-weight:900;line-height:.8;letter-spacing:-.07em;color:rgba(255,255,255,.08);pointer-events:none}.partner-hero__inner{position:relative;z-index:2;width:min(1320px,calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.5fr);gap:46px;align-items:end;padding:calc(var(--header-h) + 76px) 0 82px}.partner-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--yama);font-weight:900}.partner-kicker::before{content:"";width:52px;height:2px;background:var(--yama)}.partner-hero h1{font-size:clamp(44px,6.2vw,94px);line-height:1.08;letter-spacing:0;margin:22px 0 24px;text-shadow:0 24px 70px rgba(0,0,0,.28)}.partner-hero__lead{max-width:44em;color:rgba(255,255,255,.88);font-size:clamp(15px,1.38vw,18px);line-height:2.05}.partner-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.partner-hero__panel{align-self:end;border:1px solid rgba(255,255,255,.2);background:rgba(15,47,37,.56);backdrop-filter:blur(14px);border-radius:14px;padding:24px;box-shadow:0 36px 90px -60px rgba(0,0,0,.72)}.partner-hero__panel b{display:block;font-size:22px;line-height:1.45}.partner-hero__panel p{margin:10px 0 0;color:rgba(255,255,255,.76);font-size:13.5px}.partner-proof{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.partner-proof div{border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.08);padding:14px}.partner-proof strong{display:block;font-family:var(--font-mono);font-size:28px;line-height:1;color:var(--yama)}.partner-proof span{display:block;margin-top:8px;font-size:11px;color:rgba(255,255,255,.74);font-weight:800}.partner-ribbon{position:relative;z-index:2;overflow:hidden;background:var(--shu);color:#fff}.partner-ribbon__track{display:flex;width:max-content;animation:partner-marquee 28s linear infinite}.partner-ribbon span{display:block;padding:14px 22px;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-weight:900}@keyframes partner-marquee{to{transform:translateX(-50%)}}
.partner-section{position:relative;z-index:2;overflow:hidden;padding:96px 0;background:#fff}.partner-section--soft{background:linear-gradient(180deg,#fff 0%,#F4F8F4 100%)}.partner-section--dark{background:var(--ai3);color:#fff}.partner-head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(280px,.28fr);gap:42px;align-items:end;margin-bottom:44px}.partner-title{font-size:clamp(32px,4.5vw,62px);line-height:1.22;margin:10px 0 0}.partner-lead{color:var(--body);font-size:15px;line-height:2}.partner-section--dark .partner-lead{color:rgba(255,255,255,.76)}.partner-why{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:28px;align-items:stretch}.partner-why__visual{position:relative;min-height:520px;border-radius:14px;overflow:hidden;background:var(--ai2);box-shadow:0 32px 84px -60px rgba(23,63,50,.68)}.partner-why__visual img{display:block;width:100%;height:100%;object-fit:cover}.partner-why__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(15,47,37,.88))}.partner-why__visual figcaption{position:absolute;left:26px;right:26px;bottom:26px;z-index:1;color:#fff}.partner-why__visual span{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--yama);font-weight:900}.partner-why__visual b{display:block;font-size:clamp(24px,3vw,40px);line-height:1.35;margin-top:8px}.partner-why__body{display:grid;gap:14px}.partner-issue{border:1px solid var(--line);background:#fff;border-radius:14px;padding:32px;box-shadow:0 26px 72px -62px rgba(23,63,50,.58)}.partner-issue h3{font-size:clamp(24px,3vw,38px);line-height:1.45;margin:0 0 12px}.partner-issue p{margin:0;color:var(--body);font-size:14.5px;line-height:2.05}.partner-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.partner-mini-grid div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px}.partner-mini-grid b{display:block;font-family:var(--font-mono);font-size:28px;line-height:1;color:var(--shu)}.partner-mini-grid span{display:block;margin-top:10px;color:var(--muted);font-size:12px;font-weight:800}.partner-merits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.partner-merit-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08);padding:28px 24px;min-height:280px;color:#fff;transition:transform .25s,background .25s}.partner-merit-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.12)}.partner-merit-card::before{content:attr(data-no);position:absolute;right:14px;top:6px;font-family:var(--font-mono);font-size:68px;font-weight:900;line-height:1;color:rgba(255,255,255,.08)}.partner-merit-card span{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--yama);font-weight:900}.partner-merit-card h3{font-size:25px;line-height:1.45;margin:16px 0 12px}.partner-merit-card p{color:rgba(255,255,255,.76);font-size:13.5px;line-height:1.95}.partner-work-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.partner-work{position:relative;min-height:220px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;overflow:hidden;box-shadow:0 24px 70px -62px rgba(23,63,50,.6)}.partner-work::after{content:"";position:absolute;right:-36px;bottom:-44px;width:110px;height:110px;border-radius:50%;background:rgba(232,90,0,.08)}.partner-work span{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--shu);font-weight:900}.partner-work h3{font-size:20px;line-height:1.45;margin:15px 0 10px}.partner-work p{margin:0;color:var(--body);font-size:13px;line-height:1.85}.partner-operation{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,.42fr);gap:22px;align-items:stretch}.partner-map{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.partner-map li{position:relative;list-style:none;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);padding:22px 18px;color:#fff}.partner-map li:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;width:14px;height:2px;background:var(--yama)}.partner-map b{display:block;font-family:var(--font-mono);font-size:26px;line-height:1;color:var(--yama);margin-bottom:14px}.partner-map h3{font-size:17px;line-height:1.45;margin:0 0 8px}.partner-map p{margin:0;color:rgba(255,255,255,.72);font-size:12.5px;line-height:1.8}.partner-note{border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08);padding:28px}.partner-note h3{font-size:26px;line-height:1.45;margin:0 0 12px}.partner-note p{margin:0;color:rgba(255,255,255,.76);font-size:14px;line-height:2}.partner-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:pflow}.partner-flow li{position:relative;list-style:none;border:1px solid var(--line);border-radius:12px;background:#fff;padding:28px;box-shadow:0 24px 70px -64px rgba(23,63,50,.62)}.partner-flow li::before{counter-increment:pflow;content:"0" counter(pflow);display:block;font-family:var(--font-mono);font-size:38px;font-weight:900;line-height:1;color:var(--shu);margin-bottom:18px}.partner-flow h3{font-size:22px;margin:0 0 10px}.partner-flow p{margin:0;color:var(--body);font-size:13.5px;line-height:1.9}.partner-requirements{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.partner-req{display:grid;grid-template-columns:150px 1fr;gap:22px;border-bottom:1px solid var(--line);padding:24px 0}.partner-req b{font-size:16px}.partner-req p{margin:0;color:var(--body);line-height:1.9}.partner-entry{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,var(--shu),#f08a22);color:#fff;padding:54px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.partner-entry::after{content:"CONTACT";position:absolute;right:-.06em;bottom:-.24em;font-family:var(--font-mono);font-size:clamp(82px,14vw,178px);font-weight:900;line-height:.8;color:rgba(255,255,255,.1);pointer-events:none}.partner-entry h2{position:relative;z-index:1;font-size:clamp(30px,4vw,54px);line-height:1.35;margin:0}.partner-entry p{position:relative;z-index:1;margin:16px 0 0;color:rgba(255,255,255,.86)}.partner-entry__actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}.partner-entry .btn--ghost{border-color:rgba(255,255,255,.44);color:#fff;background:rgba(255,255,255,.08)}

/* Recruit page */
.recruit-page{background:#fff}.recruit-hero{position:relative;overflow:hidden;min-height:calc(100svh - var(--header-h));display:flex;align-items:stretch;color:#fff;background:var(--ai3)}.recruit-hero__bg{position:absolute;inset:0;z-index:0}.recruit-hero__bg picture,.recruit-hero__bg img{display:block;width:100%;height:100%}.recruit-hero__bg img{object-fit:cover;object-position:center 42%;filter:saturate(.94) contrast(1.04)}.recruit-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(15,47,37,.94) 0%,rgba(15,47,37,.68) 50%,rgba(15,47,37,.28) 100%)}.recruit-hero::after{content:"RECRUIT";position:absolute;right:-.08em;bottom:-.18em;z-index:1;font-family:var(--font-mono);font-size:clamp(100px,18vw,260px);font-weight:900;line-height:.8;letter-spacing:-.07em;color:rgba(255,255,255,.08);pointer-events:none}.recruit-hero__inner{position:relative;z-index:2;width:min(1320px,calc(100% - 44px));display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,.54fr);gap:44px;align-items:end;padding:calc(var(--header-h) + 72px) 0 78px}.recruit-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--yama);font-weight:900}.recruit-kicker::before{content:"";width:52px;height:2px;background:var(--yama)}.recruit-hero h1{font-size:clamp(44px,6.7vw,98px);line-height:1.05;letter-spacing:0;margin:22px 0 24px;text-shadow:0 24px 70px rgba(0,0,0,.28)}.recruit-hero__lead{max-width:42em;color:rgba(255,255,255,.86);font-size:clamp(15px,1.4vw,18px);line-height:2.05}.recruit-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.recruit-hero__panel{align-self:end;border:1px solid rgba(255,255,255,.2);background:rgba(15,47,37,.5);backdrop-filter:blur(12px);border-radius:14px;padding:24px;box-shadow:0 36px 90px -60px rgba(0,0,0,.7)}.recruit-hero__panel b{display:block;font-size:22px;line-height:1.45}.recruit-hero__panel p{margin:10px 0 0;color:rgba(255,255,255,.76);font-size:13.5px}.recruit-hero__panel ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}.recruit-hero__panel li{display:flex;align-items:center;gap:10px;font-weight:900}.recruit-hero__panel li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yama);flex:0 0 auto}
.recruit-section{position:relative;overflow:hidden;padding:96px 0}.recruit-section--soft{background:linear-gradient(180deg,#fff 0%,#F4F8F4 100%)}.recruit-section--dark{background:var(--ai3);color:#fff}.recruit-head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(280px,.28fr);gap:42px;align-items:end;margin-bottom:44px}.recruit-title{font-size:clamp(32px,4.6vw,62px);line-height:1.22;margin:10px 0 0}.recruit-lead{color:var(--body);font-size:15px;line-height:2}.recruit-section--dark .recruit-lead{color:rgba(255,255,255,.76)}
.recruit-why{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:28px;align-items:stretch}.recruit-why__photo{position:relative;margin:0;border-radius:14px;overflow:hidden;min-height:520px;background:var(--ai2);box-shadow:0 32px 84px -60px rgba(23,63,50,.68)}.recruit-why__photo picture,.recruit-why__photo img{display:block;width:100%;height:100%}.recruit-why__photo img{object-fit:cover}.recruit-why__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(15,47,37,.86))}.recruit-why__cap{position:absolute;left:26px;right:26px;bottom:26px;z-index:1;color:#fff}.recruit-why__cap span{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--yama);font-weight:900}.recruit-why__cap b{display:block;font-size:clamp(24px,3vw,40px);line-height:1.35;margin-top:8px}.recruit-why__body{display:grid;gap:14px}.recruit-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.recruit-proof div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px}.recruit-proof b{display:flex;align-items:flex-start;font-family:var(--font-mono);font-size:clamp(34px,4.5vw,62px);line-height:.92;color:var(--ai2)}.recruit-proof em{font-style:normal;font-size:.24em;margin:.24em 0 0 .12em;color:var(--shu)}.recruit-proof span{display:block;margin-top:10px;color:var(--muted);font-size:12px;font-weight:800}.recruit-message{border:1px solid var(--line);background:#fff;border-radius:14px;padding:32px;box-shadow:0 26px 72px -62px rgba(23,63,50,.58)}.recruit-message h3{font-size:clamp(24px,3vw,38px);line-height:1.45;margin:0 0 12px}.recruit-message p{margin:0;color:var(--body);font-size:14.5px;line-height:2.05}
.position-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.position-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08);padding:26px 22px;min-height:310px;color:#fff;transition:transform .25s,background .25s}.position-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.12)}.position-card::before{content:attr(data-no);position:absolute;right:12px;top:4px;font-family:var(--font-mono);font-size:62px;font-weight:900;line-height:1;color:rgba(255,255,255,.08)}.position-card span{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--yama);font-weight:900}.position-card h3{font-size:24px;line-height:1.45;margin:16px 0 12px}.position-card p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.9}.position-card ul{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:7px}.position-card li{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;color:#fff}
.culture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.culture-card{position:relative;min-height:230px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px;box-shadow:0 24px 70px -60px rgba(23,63,50,.52)}.culture-card .no{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--shu);font-weight:900}.culture-card h3{font-size:22px;margin:14px 0 10px}.culture-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.9}
.recruit-voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recruit-voice{display:grid;grid-template-columns:180px 1fr;gap:22px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 26px 80px -64px rgba(23,63,50,.62)}.recruit-voice figure{margin:0;background:var(--ai2)}.recruit-voice img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}.recruit-voice__body{padding:28px 28px 26px}.recruit-voice__body span{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--shu);font-weight:900}.recruit-voice__body h3{font-size:22px;line-height:1.5;margin:12px 0}.recruit-voice__body p{margin:0;color:var(--body);font-size:14px;line-height:2}.recruit-voice__body cite{display:block;margin-top:16px;font-style:normal;color:var(--muted);font-size:12px}
.recruit-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:flow}.recruit-flow li{position:relative;list-style:none;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);padding:28px;color:#fff}.recruit-flow li::before{counter-increment:flow;content:"0" counter(flow);display:block;font-family:var(--font-mono);font-size:38px;font-weight:900;line-height:1;color:var(--yama);margin-bottom:18px}.recruit-flow h3{font-size:24px;margin:0 0 10px}.recruit-flow p{margin:0;color:rgba(255,255,255,.74);font-size:13.5px;line-height:1.9}
.recruit-entry{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,var(--ai2),var(--ai));color:#fff;padding:54px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.recruit-entry::after{content:"ENTRY";position:absolute;right:-.06em;bottom:-.24em;font-family:var(--font-mono);font-size:clamp(86px,14vw,180px);font-weight:900;line-height:.8;color:rgba(255,255,255,.08);pointer-events:none}.recruit-entry h2{position:relative;z-index:1;font-size:clamp(30px,4.2vw,56px);line-height:1.35;margin:0}.recruit-entry p{position:relative;z-index:1;margin:16px 0 0;color:rgba(255,255,255,.78)}.recruit-entry__actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}

/* Blog pages generated by build_blog_pages.py */
.post-hero{position:relative;overflow:hidden;color:#F1F4EF;padding:104px 0 70px;background:var(--ai2)}.post-hero__bg{position:absolute;inset:0;z-index:0}.post-hero__bg img{width:100%;height:100%;object-fit:cover;display:block}.post-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(15,47,37,.78),rgba(15,47,37,.94))}.post-hero .wrap{position:relative;z-index:1;max-width:860px}.post-hero__meta{display:flex;align-items:center;gap:12px;margin-bottom:18px}.post-hero__date{font-family:var(--font-mono);font-size:13px;color:rgba(241,244,239,.82)}.post-hero__cat,.p-card__cat{font-size:11px;font-weight:800;padding:4px 12px;border-radius:999px;color:#fff;background:var(--ai)}.post-hero h1{font-size:clamp(25px,3.8vw,42px);line-height:1.55;margin:0}.post-hero .crumb{margin-top:22px}.post-wrap{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:52px;max-width:1140px;margin:0 auto;padding:56px 24px 96px;align-items:start}.post-figure{margin:0 0 36px}.post-figure img{width:100%;border-radius:10px;box-shadow:var(--shadow);display:block}.post-body p{font-size:15.5px;line-height:2.05;color:var(--body);margin:0 0 1.7em}.post-body h2{font-size:clamp(20px,2.6vw,28px);font-weight:900;color:var(--ink);line-height:1.6;margin:2.4em 0 .9em;padding-left:16px;border-left:4px solid var(--shu)}.post-body h3{font-size:20px;margin:2em 0 .7em}.post-body a{color:var(--shu);font-weight:900}.post-lead{font-size:16.5px;color:var(--ink)!important}.post-foot__bar{border-top:1px solid var(--line);padding-top:28px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.post-foot__back,.post-foot__cta{text-decoration:none;font-weight:900}.post-foot__cta{background:var(--ai);color:#fff;padding:12px 24px;border-radius:999px}.post-side{position:sticky;top:104px;display:flex;flex-direction:column;gap:22px}.widget{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.widget__ttl{font-size:16px;font-weight:900;color:var(--ink);margin:0 0 14px;padding-left:12px;border-left:4px solid var(--shu)}.w-cta{background:linear-gradient(160deg,var(--ai),var(--ai2));border:none;color:#fff}.w-cta p{font-size:13px;color:rgba(255,255,255,.82)}.w-cta a{display:inline-block;background:var(--yama);color:var(--ai2);font-weight:900;font-size:13px;padding:11px 20px;border-radius:999px;text-decoration:none}.w-search{display:flex;gap:8px}.w-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px}.w-search button{border:0;background:var(--ai);color:#fff;border-radius:8px;padding:0 14px}.w-recent{display:grid;gap:12px}.w-recent a{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;text-decoration:none}.w-recent img{width:70px;height:48px;object-fit:cover;border-radius:7px}.w-recent b{font-size:13px;line-height:1.5}.w-recent span,.w-list .n{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.w-list{list-style:none;margin:0;padding:0}.w-list li{border-bottom:1px dashed var(--line)}.w-list a{display:flex;justify-content:space-between;text-decoration:none;padding:10px 2px;font-size:13.5px}.p-news{max-width:960px}.p-newsgrid{display:grid;gap:28px}.p-card{display:grid;grid-template-columns:320px 1fr;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .25s,transform .25s}.p-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.p-card__ph img{width:100%;height:100%;min-height:188px;object-fit:cover;display:block}.p-card__bd{padding:26px 30px}.p-card__meta{display:flex;gap:12px;align-items:center}.p-card__date{font-family:var(--font-mono);font-size:13px;color:var(--muted)}.p-card__ttl{font-size:22px;font-weight:900;line-height:1.55;margin:10px 0}.p-card__ex{font-size:13.5px;color:var(--body)}.p-card__more{font-family:var(--font-mono);font-size:11px;color:var(--shu);font-weight:900}.sec-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--yama);font-weight:800}.is-news,.is-guide{background:var(--ai)}.is-column{background:var(--shu)}.is-business,.is-event{background:#6A6F2F}.p-newsnote{font-size:12.5px;color:var(--muted)}

.site-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--ai2);color:#fff}.site-footer::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url('../../src/office-exterior-1600.jpg');background-image:image-set(url('../../src/office-exterior-1600.webp') type('image/webp'),url('../../src/office-exterior-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center;background-repeat:no-repeat;transform:none}
@supports (clip-path:inset(0 round 1px)){.site-footer{clip-path:inset(0 round var(--radius-section) var(--radius-section) 0 0)}.site-footer::before{position:fixed}}.site-footer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(112deg,rgba(15,47,37,.94) 0%,rgba(15,47,37,.78) 54%,rgba(15,47,37,.5) 100%)}.footer-cta{border-bottom:1px solid rgba(255,255,255,.18);position:relative;overflow:hidden}.footer-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(480px 380px at calc(100% + 30px) -20px,rgba(232,90,0,.34),transparent 68%);pointer-events:none}.footer-cta__inner{position:relative;max-width:1200px;margin:0 auto;padding:84px 28px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.footer-cta h2{font-size:clamp(30px,4.2vw,56px);line-height:1.35;margin:0;text-shadow:0 20px 60px rgba(0,0,0,.22)}.footer-info{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:62px 28px}.footer-logo img{width:210px;filter:brightness(0) invert(1)}.footer-nap p{color:rgba(255,255,255,.76);font-size:14px}.footer-nap .tel{font-family:var(--font-mono);font-weight:900;font-size:20px}.footer-col h3{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--yama);margin:0 0 14px}.footer-col a{display:block;color:#fff;text-decoration:none;font-size:14px;padding:5px 0;opacity:.88}.copyright{border-top:1px solid rgba(255,255,255,.18);background:rgba(15,47,37,.24)}.copyright .wrap{padding:18px 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:rgba(255,255,255,.64)}

/* Soft rounded edge system */
.stack-card--problem,.page-hero,.service-hero,.post-hero,.partner-hero,.recruit-hero{border-radius:0 0 var(--radius-section) var(--radius-section);overflow:hidden}
.stack-card--promise,.stack-card--proof,.section--soft,.section--paper,.section--dark,.empathy,.triage,.full-photo,.contact-band,.about-message,.service-overview,.service-factors,.partner-section,.recruit-section,.page-sec,.site-footer{border-radius:var(--radius-section) var(--radius-section) 0 0;overflow:hidden}
.subpage>.page-sec,.service-page>.page-sec{box-shadow:0 -28px 80px -72px rgba(15,47,37,.62)}
.btn,.menu-toggle{border-radius:12px}
.photo-stack img,.evidence-feature,.case-feature,.portrait,.representative-panel__visual,.representative-gallery figure,.full-photo,.post-figure img,.service-card__media,.partner-why__visual,.recruit-why__photo{border-radius:var(--radius-media)}
.browser-tabs,.memo-card,.service-stage__signal,.proof-list div,.quote,.track,.detail-card,.contact-box,.form-slot,.contact-embed iframe,.license,.contact-card,.evidence-item__media,.service-card,.factor-grid div,.partner-hero__panel,.partner-issue,.partner-mini-grid div,.partner-merit-card,.partner-work,.partner-note,.partner-flow li,.partner-entry,.recruit-hero__panel,.recruit-proof div,.recruit-message,.position-card,.culture-card,.recruit-voice,.recruit-flow li,.recruit-entry,.widget,.p-card,.representative-panel,.representative-note,.message-letter__intro,.message-letter__block,.message-signature{border-radius:var(--radius-card)}
.footer-cta__inner{border-radius:var(--radius-panel)}
@supports not (overflow:clip){.stack-card--problem,.page-hero,.service-hero,.post-hero,.partner-hero,.recruit-hero,.stack-card--promise,.stack-card--proof,.section--soft,.section--paper,.section--dark,.empathy,.triage,.full-photo,.contact-band,.about-message,.service-overview,.service-factors,.partner-section,.recruit-section,.page-sec,.site-footer{overflow:hidden}}
@media(max-width:640px){:root{--radius-section:24px;--radius-panel:16px;--radius-card:12px;--radius-media:14px}}
@media (hover:none){.btn,.header-nav a,.menu-toggle{min-height:44px}}
@media(max-width:1100px){.header-nav{display:none}.menu-toggle{display:inline-grid;place-items:center}.header-tel{display:none}.tel-btn{display:inline-flex}.mobile-panel{position:fixed;inset:var(--header-h) 0 auto auto;width:min(420px,100%);background:#fff;box-shadow:0 22px 60px -36px rgba(0,0,0,.55);padding:22px;transform:translateX(105%);transition:transform .28s;z-index:90}.mobile-panel.is-open{transform:translateX(0)}.mobile-panel a{display:block;text-decoration:none;font-weight:900;padding:14px 4px;border-bottom:1px solid var(--line)}}
@media(min-width:1101px){.mobile-panel{display:none}}
@media(max-width:900px){.section{padding:76px 0}.section-head,.hero-grid,.promise-board,.empathy-grid,.message-spread,.case-grid,.contact-row,.contact-panel,.footer-cta__inner,.footer-info,.detail-grid,.evidence-board{grid-template-columns:1fr}.photo-stack{min-height:460px}.triage{display:block;min-height:0}.service-stage__head,.service-stage__body{grid-template-columns:1fr}.service-stage__head{gap:22px}.service-stage__signal{min-height:230px}.service-stage__item{grid-template-columns:52px 1fr 30px;gap:12px;padding:20px 8px}.service-stage__item.is-active{padding-left:16px}.service-stage__item p{grid-column:2/3}.service-stage__arrow{grid-column:3;grid-row:1/3;justify-self:end;align-self:center}.service-stage__foot{display:block}.service-stage__foot .btn{margin-top:16px}.evidence-feature{min-height:360px}.evidence-ledger::before{display:none}.evidence-item{grid-template-columns:86px 1fr;gap:16px}.evidence-item__media{width:86px;height:86px}.numbers-field{min-height:0;display:grid;gap:40px}.stat{position:static!important;text-align:left!important}.s2 .v{justify-content:flex-start}.number-rule{display:none}.case-feature{position:relative;top:auto;min-height:320px}.full-photo{background-attachment:scroll}.faq-layout{grid-template-columns:1fr}.faq-side{position:static}.contact-cards{grid-template-columns:1fr}.license-list{grid-template-columns:1fr}.post-wrap{grid-template-columns:1fr}.post-side{position:static}.p-card{grid-template-columns:1fr}}
@media(max-width:640px){:root{--header-h:74px}.brand{min-width:0}.brand img{width:132px}.site-header__inner{padding:0 12px;gap:10px}.header-actions{gap:8px}.header-actions .btn--primary{min-height:42px;padding:10px 13px;font-size:12.5px}.menu-toggle,.tel-btn{width:42px;height:42px}.hero-stack .wide-wrap{width:calc(100% - 64px)}.hero-stack .hero-grid>div:first-child{padding-left:24px}.hero-stack .promise-board>div:first-child{padding-left:16px}.hero-title{font-size:39px}.stack-card{padding-top:calc(var(--header-h) + 20px);min-height:92svh}.hero-grid{gap:22px}.photo-stack{min-height:300px}.photo-stack .ph1{width:74%;left:0;right:auto}.photo-stack .ph2{width:40%;left:50%;bottom:12px}.photo-stack .ph3{width:52%;right:0}.proof-list{grid-template-columns:1fr}.promise-title{font-size:44px}.memo-card{left:4%;right:auto;top:330px;width:92%}.browser-memo{min-height:720px}.reply-pill{left:0;bottom:0;border-radius:16px}.quote-row,.company-row,.news-item{grid-template-columns:1fr;gap:8px}.notice-box{display:block}.case-index li{grid-template-columns:42px 1fr}.case-index small{grid-column:2;text-align:left}.vlabel{position:static;writing-mode:horizontal-tb;margin-bottom:10px}.portrait,.meta{margin-left:0}.contact-huge{font-size:58px}.footer-logo img{filter:none;background:#fff;border-radius:6px;padding:8px}.scroll-hint{display:none}.page-hero{padding:84px 0 54px}.s1 .v{font-size:clamp(74px,22vw,94px)}.s2 .v{font-size:clamp(60px,19vw,84px)}.s3 .v{font-size:clamp(58px,18vw,78px)}.s4 .v{font-size:clamp(46px,15vw,66px)}}
@media(max-width:900px){.subpage-fixed-bg,.service-fixed-bg{position:absolute;top:0;height:64svh;bottom:auto}.subpage .page-hero{min-height:64svh;padding:calc(var(--header-h) + 54px) 0 64px}.subpage .page-hero .wrap{grid-template-columns:1fr;gap:20px}.subpage .page-hero .wrap>p:not(.crumb){max-width:38em;padding-left:0;border-left:0}.subpage .page-hero .wrap>p:not(.crumb)::after{left:0}.about-message__grid{grid-template-columns:1fr;gap:32px}.representative-panel{position:relative;top:auto;display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:20px;align-items:end}.representative-panel__name{margin-top:0}.representative-gallery{grid-column:1/-1}.message-letter{max-width:none;padding:34px 28px}.about-license .license-list{grid-template-columns:repeat(2,1fr)}.service-hero{min-height:64svh;padding:calc(var(--header-h) + 54px) 0 64px}.service-hero::before{background-attachment:scroll;background-position:center}.service-hero .wrap{grid-template-columns:1fr;gap:20px}.service-hero .wrap>p:not(.crumb){max-width:38em;padding-left:0;border-left:0}.service-hero .wrap>p:not(.crumb)::after{left:0}.service-card,.service-card:nth-child(odd),.service-card:nth-child(even){grid-template-columns:1fr;margin-left:0;margin-right:0}.service-card__media{min-height:250px}.service-card__body{padding:28px 24px 26px}.factor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.subpage .page-hero h1,.service-hero h1{font-size:clamp(40px,13.5vw,60px);line-height:1.08;overflow-wrap:anywhere}.subpage .page-hero::after,.service-hero::after{font-size:92px;right:-.18em;bottom:-.12em}.representative-panel{display:block}.representative-gallery{grid-template-columns:1fr 1fr}.message-letter{padding:28px 20px}.message-letter p{font-size:14px;line-height:2}.message-signature{text-align:left}.about-license .license-list{grid-template-columns:1fr}.service-lead{margin-bottom:34px}.service-card-grid{gap:22px}.service-card__media{min-height:210px}.service-card__body{padding:24px 20px}.service-card__body p:not(.service-card__label){font-size:13.5px;line-height:1.95}.factor-grid{grid-template-columns:1fr}}
@media(max-width:900px){.about-message__head{display:block;margin-bottom:34px}.about-message__head::after{margin-top:18px}.representative-panel{grid-template-columns:minmax(240px,340px) 1fr;grid-template-rows:auto auto;align-items:stretch}.representative-panel__visual{grid-row:1/3;min-height:320px}.representative-gallery{grid-column:auto;grid-template-columns:1fr}.representative-gallery figure:first-child{grid-column:auto}.representative-note{grid-column:2;grid-template-columns:1fr}.representative-note span{min-height:48px}.message-letter{margin-top:24px;padding:0}.message-letter__intro{padding:30px 32px}.message-letter__body{grid-template-columns:1fr}.message-letter__block:nth-child(3){grid-column:auto}.message-letter__block{padding:28px 32px}.message-letter__no{font-size:30px}.message-signature{padding:22px 32px}}
@media(max-width:640px){.about-message .wrap::before{display:none}.about-message__head p{font-size:clamp(24px,8vw,34px)}.about-message__head::after{font-size:13px}.representative-panel{display:block;padding:12px}.representative-panel__visual{min-height:320px}.representative-gallery{grid-template-columns:1fr 1fr;margin-top:10px}.representative-gallery figure:first-child{grid-column:1/-1}.representative-note{grid-template-columns:1fr;margin-top:10px}.message-letter{margin-top:22px}.message-letter__intro{padding:26px 22px}.message-letter__body{gap:14px}.message-letter__block{padding:24px 22px}.message-letter__no{display:block;margin-bottom:12px;font-size:26px}.message-letter h3{font-size:21px}.message-signature{padding:22px;text-align:left}}
@media(max-width:900px){.recruit-hero__inner,.recruit-head,.recruit-why,.recruit-entry{grid-template-columns:1fr}.recruit-hero__inner{padding:calc(var(--header-h) + 54px) 0 58px;gap:28px}.recruit-hero__panel{max-width:560px}.recruit-section{padding:76px 0}.recruit-proof,.position-grid,.culture-grid{grid-template-columns:repeat(2,1fr)}.recruit-voice-grid{grid-template-columns:1fr}.recruit-flow{grid-template-columns:1fr}.recruit-entry{padding:38px 28px}.recruit-entry__actions{margin-top:6px}.recruit-why__photo{min-height:360px}}
@media(max-width:640px){.recruit-hero h1{font-size:clamp(38px,13vw,58px)}.recruit-hero__lead{font-size:14px;line-height:1.95}.recruit-hero__actions,.recruit-entry__actions{display:grid}.recruit-hero__actions .btn,.recruit-entry__actions .btn{width:100%;justify-content:center}.recruit-kicker{font-size:10px}.recruit-kicker::before{width:32px}.recruit-title{font-size:clamp(28px,10vw,42px)}.recruit-proof,.position-grid,.culture-grid{grid-template-columns:1fr}.recruit-message,.position-card,.culture-card{padding:22px}.recruit-voice{grid-template-columns:1fr}.recruit-voice img{min-height:230px}.recruit-voice__body{padding:24px 22px}.recruit-entry{padding:32px 22px}}
@media(max-width:1100px){.partner-work-grid{grid-template-columns:repeat(3,1fr)}.partner-operation{grid-template-columns:1fr}.partner-map{grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto;padding-bottom:8px}.partner-map li:not(:last-child)::after{display:none}}
@media(max-width:900px){.partner-hero__bg{position:absolute;top:0;height:100%}.partner-hero__inner,.partner-head,.partner-why,.partner-entry{grid-template-columns:1fr}.partner-hero__inner{padding:calc(var(--header-h) + 54px) 0 58px;gap:28px}.partner-hero__panel{max-width:580px}.partner-section{padding:76px 0}.partner-merits,.partner-flow{grid-template-columns:1fr 1fr}.partner-requirements{grid-template-columns:1fr}.partner-work-grid{grid-template-columns:repeat(2,1fr)}.partner-why__visual{min-height:360px}.partner-entry{padding:38px 28px}.partner-entry__actions{margin-top:6px}}
@media(max-width:640px){.partner-hero h1{font-size:clamp(38px,13vw,58px)}.partner-hero__lead{font-size:14px;line-height:1.95}.partner-hero__actions,.partner-entry__actions{display:grid}.partner-hero__actions .btn,.partner-entry__actions .btn{width:100%;justify-content:center}.partner-kicker{font-size:10px}.partner-kicker::before{width:32px}.partner-title{font-size:clamp(28px,10vw,42px)}.partner-proof,.partner-mini-grid,.partner-merits,.partner-work-grid,.partner-flow{grid-template-columns:1fr}.partner-issue,.partner-merit-card,.partner-work,.partner-note{padding:22px}.partner-work{min-height:auto}.partner-requirements{display:block}.partner-req{grid-template-columns:1fr;gap:8px;padding:20px 0}.partner-entry{padding:32px 22px}.partner-ribbon span{padding:12px 18px;font-size:10px}}
.partner-work-grid{grid-template-columns:repeat(3,1fr);gap:14px}
.partner-proof strong span,.recruit-proof b span{display:inline;margin:0;color:inherit;font:inherit;font-weight:inherit;line-height:inherit}
@media(max-width:1100px){.partner-work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.partner-work-grid{grid-template-columns:1fr}}

@media(max-width:768px){.hero-grid,.section-head,.promise-board,.empathy-grid,.contact-panel{grid-template-columns:1fr}.stack-card{min-height:auto}.section{padding:72px 0}.page-sec{padding:70px 0}}

/* Footer marquee (subpages: CSS-driven flow + barrel-roll wave) */
.marquee{position:relative;overflow:hidden;background:var(--ai3);padding:36px 0 calc(36px + var(--radius-section));border-radius:var(--radius-section) var(--radius-section) 0 0}
.marquee__track{display:flex;width:max-content;animation:marquee 18s linear infinite;will-change:transform}
.marquee__group{display:flex;align-items:center;gap:52px;padding-right:52px;perspective:900px}
.marquee__group span{font-family:var(--font-mono);font-weight:900;font-size:clamp(38px,5.6vw,76px);line-height:1.1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.36);animation:marqueeRoll 6.2s cubic-bezier(.45,0,.55,1) infinite;transform-style:preserve-3d}
.marquee__group span.is-fill{color:var(--yama);-webkit-text-stroke:0}
.marquee__group i{font-style:normal;color:var(--shu);font-size:clamp(14px,2vw,22px)}
.marquee__group span:nth-of-type(1){animation-delay:.8s}
.marquee__group span:nth-of-type(2){animation-delay:1.3s}
.marquee__group span:nth-of-type(3){animation-delay:1.8s}
.marquee__group span:nth-of-type(4){animation-delay:2.3s}
.marquee__group span:nth-of-type(5){animation-delay:2.8s}
.marquee__group span:nth-of-type(6){animation-delay:3.3s}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes marqueeRoll{0%{transform:rotateX(0)}26%{transform:rotateX(-360deg)}100%{transform:rotateX(-360deg)}}
/* Stacked-card overlap: marquee and footer ride up over the previous section */
.marquee,.site-footer{margin-top:calc(var(--radius-section)*-1)}
.site-footer{position:relative}
