:root{--navy:#15294e;--navy-2:#1c2e54;--ink:#16294d;--teal:#1ba1ad;--teal-deep:#15848f;--yellow:#f6c61b;--yellow-deep:#e9b500;--coral:#f0654f;--mint:#a9ddd7;--bg-teal:#e9f5f5;--bg-teal-2:#eef7f7;--card-bd:#e4ebec;--text:#3c4955;--muted:#71808c;--white:#fff;--page:#fff;--chip-bg:#e9f5f5;--maxw:1160px;--header-h:79px;--copyright-h:64px;--font-heading:var(--font-zen),"Zen Kaku Gothic New",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{height:100vh;height:100dvh;padding-top:var(--header-h);font-family:var(--font-noto),"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;color:var(--text);background:var(--page);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.85;overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}::selection{background:var(--yellow);color:var(--ink)}main{height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--teal)transparent;overflow-x:hidden;overflow-y:auto}main::-webkit-scrollbar{width:10px}main::-webkit-scrollbar-track{background:0 0}main::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--teal),var(--mint));border:2px solid var(--page);border-radius:8px}.section{width:100%}.wrap{max-width:var(--maxw);width:100%;margin:0 auto;padding:0 32px}.btn{font-family:var(--font-heading);cursor:pointer;letter-spacing:.04em;border:2px solid transparent;border-radius:10px;justify-content:center;align-items:center;gap:14px;padding:16px 32px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);width:50%;position:absolute;top:0;bottom:0;left:-80%;transform:skew(-22deg)}.btn:hover:after{animation:.7s btn-shine}@keyframes btn-shine{to{left:130%}}@media (prefers-reduced-motion:reduce){.btn:hover:after{animation:none}}.btn .arr{font-weight:700}.btn-primary{background:var(--yellow);color:var(--ink);box-shadow:0 8px 18px rgba(246,198,27,.32)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(246,198,27,.42)}.btn-outline{color:var(--ink);border-color:var(--yellow);background:#fff}.btn-outline:hover{background:#fffaf0;transform:translateY(-2px)}.btn:disabled,.btn:disabled:hover{color:#93a1a8;box-shadow:none;cursor:not-allowed;background:#e3eaea;border-color:transparent;transform:none}.btn:disabled:after{display:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{vertical-align:middle;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;flex-shrink:0;width:15px;height:15px;margin-right:7px;animation:.7s linear infinite spin;display:inline-block}.header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.92);border-bottom:1px solid #eef1f2;position:fixed;top:0;left:0;right:0}.header .wrap{justify-content:space-between;align-items:center;max-width:100%;height:78px;display:flex}.logo{font-family:var(--font-heading);letter-spacing:.04em;color:var(--ink);font-size:30px;font-weight:900}.nav{align-items:center;gap:38px;display:flex}.nav a{font-family:var(--font-heading);color:var(--ink);font-size:16px;font-weight:500;transition:color .15s}.nav a:hover{color:var(--teal)}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";background:linear-gradient(90deg,var(--teal),var(--yellow));transform-origin:100%;border-radius:2px;height:2px;transition:transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav a:not(.nav-cta):hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{background:var(--yellow);color:var(--ink);font-family:var(--font-heading);border-radius:9px;padding:11px 26px;font-size:16px;font-weight:700;box-shadow:0 6px 14px rgba(246,198,27,.3)}.nav-cta:hover{transform:translateY(-1px)}.menu-btn{display:none}.header{transition:box-shadow .25s,background .25s}.header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 6px 24px rgba(21,41,78,.08)}.scroll-progress{background:linear-gradient(90deg,var(--teal),var(--yellow));transform-origin:0;pointer-events:none;border-radius:0 3px 3px 0;height:3px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.nav-overlay{top:var(--header-h);z-index:40;opacity:0;visibility:hidden;background:rgba(16,27,45,.45);transition:opacity .3s,visibility .3s;position:fixed;bottom:0;left:0;right:0}.nav-overlay.is-open{opacity:1;visibility:visible}.nav-drawer{top:var(--header-h);z-index:45;background:#fff;border-left:1px solid #eef1f2;flex-direction:column;gap:8px;width:min(82vw,320px);padding:26px 28px 32px;transition:transform .34s cubic-bezier(.4,0,.2,1),box-shadow .34s;display:flex;position:fixed;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 40px rgba(21,41,78,0)}.nav-drawer.is-open{transform:translate(0);box-shadow:-16px 0 40px rgba(21,41,78,.16)}.nav-drawer-links{flex-direction:column;margin-bottom:26px;display:flex}.nav-drawer-links a{font-family:var(--font-heading);color:var(--ink);border-bottom:1px solid #eef2f2;padding:16px 4px;font-size:17px;font-weight:700;transition:color .15s}.nav-drawer-links a:hover{color:var(--teal)}.nav-drawer .btn{width:100%}@media (prefers-reduced-motion:reduce){.nav-overlay,.nav-drawer{transition:none}}.menu-btn span{transition:transform .28s,opacity .2s}.menu-btn.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-btn.is-open span:nth-child(2){opacity:0}.menu-btn.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));background:radial-gradient(1100px 520px at 78% 30%,#eef7f7 0%,rgba(238,247,247,0) 60%),linear-gradient(#fff 0%,#f7fbfb 100%);align-items:center;display:flex;position:relative;overflow:hidden}.hero-canvas{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hero .wrap{z-index:1;grid-template-columns:1fr 1.05fr;align-items:center;gap:40px;max-width:1240px;padding-top:64px;padding-bottom:140px;display:grid;position:relative}.hero h1{font-family:var(--font-heading);color:var(--ink);letter-spacing:.01em;margin-bottom:30px;font-size:61px;font-weight:900;line-height:1.32}.hero h1 .dot{color:var(--yellow)}.hero-copy .char{will-change:transform;display:inline-block}.hero-mark{background:linear-gradient(transparent 62%,rgba(246,198,27,.55) 62%) 0 0/100% 100% no-repeat;padding:0 2px}@media (prefers-reduced-motion:no-preference){.hero-canvas,.hero-copy .char:not(.dot){opacity:0}.hero-copy .dot{transform:scale(0)}.hero-cta .btn,.hero-art{opacity:0}.hero-marquee{transform:translateY(110%)}.hero-mark{background-size:0% 100%}}.hero-marquee{z-index:2;background:var(--navy);pointer-events:none;padding:13px 0;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 14px 30px rgba(21,41,78,.18)}.hero-marquee-track{width:max-content;animation:24s linear infinite marquee-scroll;display:flex}.hero-marquee-seq{flex:none;align-items:center;display:flex}.hero-marquee-item{font-family:var(--font-heading);letter-spacing:.22em;color:#fff;white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:15px;font-weight:900;display:inline-flex}.hero-marquee-item:nth-child(2n){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.85)}.hero-marquee-star{color:var(--yellow);-webkit-text-stroke:0;font-size:12px}@keyframes marquee-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.hero-marquee-track{animation:none}}.hero p.lead{color:var(--text);max-width:560px;margin-bottom:38px;font-size:17px;line-height:2}.hero-cta{flex-wrap:wrap;gap:18px;display:flex}.hero-art{justify-self:center;width:100%;max-width:520px;position:relative}.hero-art .blob{z-index:0;background:#eaf5f5;border-radius:46% 54% 58% 42%/52% 46% 54% 48%;animation:9s ease-in-out infinite blob-float;position:absolute;top:-6%;bottom:-8%;left:-8%;right:-4%}@keyframes blob-float{0%,to{border-radius:46% 54% 58% 42%/52% 46% 54% 48%;transform:rotate(0)scale(1)}50%{border-radius:54% 46% 44% 56%/46% 54% 48% 52%;transform:rotate(2deg)scale(1.03)}}@media (prefers-reduced-motion:reduce){.hero-art .blob{animation:none}}.hero-art img{z-index:1;width:100%;position:relative}.vision{background:radial-gradient(900px 520px at 12% 18%,#d7f1ef 0%,rgba(215,241,239,0) 60%),radial-gradient(820px 600px at 92% 92%,#e6f7f2 0%,rgba(230,247,242,0) 55%),var(--bg-teal);min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));align-items:center;display:flex;position:relative;overflow:hidden}.vision .wrap{z-index:1;padding-top:64px;padding-bottom:64px;display:block;position:relative}.journey{position:relative}.journey-line{background:rgba(21,41,78,.1);border-radius:3px;height:3px;position:absolute;top:9px;left:12.5%;right:12.5%;overflow:hidden}.journey-line-fill{background:linear-gradient(90deg,var(--teal),var(--yellow));transform-origin:0;border-radius:3px;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleX(0)}.journey-stations{grid-template-columns:repeat(4,1fr);gap:24px;display:grid;position:relative}.jstation{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.jnode{border:3px solid var(--teal);width:22px;height:22px;box-shadow:0 0 0 6px var(--bg-teal);z-index:2;background:#fff;border-radius:50%}.jcard{background:#fff;border-radius:69px 69px 22px 22px;justify-content:center;align-items:center;width:138px;height:144px;margin-top:30px;transition:transform .32s,box-shadow .32s;display:flex;position:relative;box-shadow:0 16px 34px rgba(21,41,78,.09)}.jcard:after{content:"";background:linear-gradient(rgba(27,161,173,.12),transparent);border-radius:63px 63px 0 0;height:64px;position:absolute;top:6px;bottom:auto;left:6px;right:6px}.jstation:hover .jcard{transform:translateY(-10px);box-shadow:0 26px 50px rgba(21,41,78,.16)}.jcard img{z-index:1;width:66px;height:auto;position:relative}.jnum{background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;width:38px;height:38px;font-family:var(--font-heading);z-index:3;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;top:-12px;right:-8px;box-shadow:0 6px 16px rgba(27,161,173,.42)}.jname{font-family:var(--font-heading);color:var(--ink);letter-spacing:.02em;margin-top:22px;font-size:19px;font-weight:900}.jdesc{color:#5a6a72;max-width:210px;margin-top:10px;font-size:13px;line-height:1.75}.services{background:radial-gradient(620px 440px at 92% 6%,rgba(27,161,173,.09),transparent 60%),radial-gradient(560px 440px at 4% 100%,rgba(246,198,27,.1),transparent 60%),#fff;position:relative;overflow:hidden}.services:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(rgba(21,41,78,.043) 1.4px,transparent 1.4px);background-size:26px 26px;position:absolute;top:0;bottom:0;left:0;right:0}.services .wrap{z-index:1;padding-top:78px;padding-bottom:84px;position:relative}.kicker{font-family:var(--font-heading);letter-spacing:.3em;color:var(--teal-deep);align-items:center;gap:12px;font-size:13px;font-weight:700;display:inline-flex}.kicker[data-bar=left]:before,.kicker[data-bar=right]:after{content:"";background:var(--yellow);width:38px;height:2px}.section-head{margin-bottom:56px;position:relative;overflow-x:clip;container-type:inline-size}.section-head[data-align=left]{text-align:left}.section-head[data-align=right]{text-align:right}.section-head[data-align=center]{text-align:center}.section-head[data-align=center] .kicker{justify-content:center}.section-head[data-align=center] .kicker:before,.section-head[data-align=center] .kicker:after{content:"";background:var(--yellow);width:38px;height:2px}.section-head[data-align=center] .section-head-lead{max-width:620px;margin-left:auto;margin-right:auto}.section-head[data-has-media]{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.section-head[data-has-media][data-align=right] .section-head-media{order:-1}.section-head-media{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.section-head-media:before{content:"";aspect-ratio:1;z-index:0;background:radial-gradient(circle,rgba(27,161,173,.16),rgba(27,161,173,0) 70%);border-radius:50%;width:78%;position:absolute}.section-head-media :-webkit-any(img,picture,span){z-index:1;position:relative}.section-head-media :-moz-any(img,picture,span){z-index:1;position:relative}.section-head-media :is(img,picture,span){z-index:1;position:relative}.section-head-media img{width:100%;max-width:380px;height:auto}.section-head-text{position:relative}.section-head-watermark{font-family:var(--font-heading);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(27,161,173,.14);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;z-index:0;align-items:center;font-size:15cqw;font-weight:900;line-height:1;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.section-head:not([data-has-media])[data-align=right] .section-head-watermark{justify-content:flex-start}.section-head:not([data-has-media])[data-align=left] .section-head-watermark{justify-content:flex-end}.section-head:not([data-has-media])[data-align=center] .section-head-watermark{justify-content:center}.section-head[data-has-media][data-align=left] .section-head-watermark{justify-content:flex-start}.section-head[data-has-media][data-align=right] .section-head-watermark{justify-content:flex-end}.section-head[data-has-media] .section-head-watermark{font-size:12cqw}.section-head-body{z-index:1;position:relative}.section-head .kicker{margin-bottom:20px}.section-head-title{font-family:var(--font-heading);letter-spacing:.02em;color:var(--ink);font-size:max(40px,min(5.4vw,72px));font-weight:900;line-height:1}.section-head-title .accent{color:var(--teal)}.section-head-lead{color:#3a4a55;margin-top:26px;font-size:16px;line-height:2}.section-head-lead .em{font-family:var(--font-heading);color:var(--ink);background:linear-gradient(transparent 60%,rgba(246,198,27,.5) 60%);padding:0 2px;font-weight:900}.svc-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.svc-card{--c:var(--teal);--c-soft:#e6f6f5;--c-bd:#bfe6e4;border:1.5px solid var(--card-bd);background:#fff;border-radius:22px;padding:34px 32px 30px;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s,border-color .32s;position:relative;overflow:hidden}.svc-card[data-accent=teal]{--c:#1ba1ad;--c-soft:#e6f6f5;--c-bd:#bfe6e4}.svc-card[data-accent=yellow]{--c:#e9b500;--c-soft:#fdf4d6;--c-bd:#f1dd96}.svc-card[data-accent=navy]{--c:#15294e;--c-soft:#e7ecf4;--c-bd:#bcc7db}.svc-card[data-accent=coral]{--c:#f0654f;--c-soft:#fde9e5;--c-bd:#f6c0b6}.svc-card:before{content:"";background:var(--c);z-index:2;border-radius:0 0 6px;width:66px;height:5px;transition:width .4s cubic-bezier(.2,.8,.2,1),border-radius .4s;position:absolute;top:0;left:0}.svc-card:hover{border-color:var(--c-bd);transform:translateY(-8px);box-shadow:0 26px 52px rgba(21,41,78,.14)}.svc-card:hover:before{border-radius:0;width:100%}.svc-no{font-family:var(--font-heading);color:transparent;-webkit-text-stroke:1.6px var(--c-bd);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0;opacity:.7;font-size:92px;font-weight:900;line-height:1;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .4s;position:absolute;top:6px;right:18px}.svc-card:hover .svc-no{opacity:1;transform:translateY(3px)scale(1.06)}.svc-top{z-index:1;align-items:center;gap:18px;margin-bottom:16px;display:flex;position:relative}.svc-ic{background:var(--c-soft);border-radius:20px;flex:0 0 64px;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex}.svc-ic img{width:38px;height:auto}.svc-card:hover .svc-ic{transform:rotate(-8deg)scale(1.08)}.svc-top h3{font-family:var(--font-heading);color:var(--ink);letter-spacing:.02em;font-size:20px;font-weight:900;line-height:1.35}.svc-desc{z-index:1;color:var(--text);margin-bottom:20px;font-size:14.5px;line-height:1.9;position:relative}.svc-scope{z-index:1;margin-bottom:20px;position:relative}.svc-label{font-family:var(--font-heading);letter-spacing:.18em;color:var(--c);margin-bottom:11px;font-size:11px;font-weight:700;display:inline-block}.svc-scope ul{grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;padding:0;list-style:none;display:grid}.svc-scope li{color:#48555f;padding-left:18px;font-size:13px;line-height:1.5;position:relative}.svc-scope li:before{content:"";background:var(--c);border-radius:2px;width:7px;height:7px;position:absolute;top:.5em;left:0;transform:rotate(45deg)}.svc-strengths{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.svc-pill{color:var(--c);background:var(--c-soft);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.approach{background:radial-gradient(720px 480px at 88% 0%,rgba(27,161,173,.22),transparent 60%),radial-gradient(560px 460px at 2% 100%,rgba(246,198,27,.1),transparent 55%),var(--navy);color:#c4d1de;position:relative;overflow:hidden}.approach:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(rgba(255,255,255,.05) 1.4px,transparent 1.4px);background-size:26px 26px;position:absolute;top:0;bottom:0;left:0;right:0}.approach .wrap{z-index:1;padding-top:80px;padding-bottom:86px;position:relative}.approach .section-head-title{color:#fff}.approach .section-head-watermark{-webkit-text-stroke-color:rgba(255,255,255,.09)}.approach .section-head-lead{color:#b9c7d6}.approach .kicker{color:var(--mint)}.approach .section-head-lead .em{color:#fff;background:linear-gradient(transparent 60%,rgba(246,198,27,.38) 60%)}.approach-grid{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:60px;display:grid}.appr-card{background:rgba(255,255,255,.043);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px 28px 26px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s;position:relative;overflow:hidden}.appr-card:hover{background:rgba(255,255,255,.07);border-color:rgba(27,161,173,.65);transform:translateY(-6px)}.appr-no{font-family:var(--font-heading);color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.12);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0;font-size:88px;font-weight:900;line-height:1;transition:-webkit-text-stroke-color .3s;position:absolute;top:4px;right:16px}.appr-card:hover .appr-no{-webkit-text-stroke-color:rgba(27,161,173,.55)}.appr-ic{z-index:1;background:rgba(27,161,173,.16);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.appr-ic img{width:36px;height:auto}.appr-card:hover .appr-ic{transform:rotate(-8deg)scale(1.08)}.appr-title{z-index:1;font-family:var(--font-heading);color:#fff;letter-spacing:.02em;margin-bottom:10px;font-size:19px;font-weight:900;position:relative}.appr-text{z-index:1;color:#aebdcb;font-size:13.5px;line-height:1.9;position:relative}.tech .kicker{margin-bottom:18px}.tech-cloud{flex-wrap:wrap;gap:14px;display:flex}.tech-chip{font-family:var(--font-heading);letter-spacing:.04em;color:#e7eef5;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:999px;align-items:center;gap:11px;padding:13px 24px;font-size:16px;font-weight:700;transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,background .2s;display:inline-flex}.tech-chip:before{content:"";background:var(--dot,var(--teal));border-radius:50%;width:9px;height:9px}.tech-chip[data-dot=teal]{--dot:var(--teal)}.tech-chip[data-dot=yellow]{--dot:var(--yellow)}.tech-chip[data-dot=coral]{--dot:var(--coral)}.tech-chip[data-dot=mint]{--dot:var(--mint)}.tech-chip:hover{border-color:var(--dot,var(--teal));background:rgba(255,255,255,.11);transform:translateY(-3px)rotate(-1.5deg)}.recruit{background:radial-gradient(640px 460px at 88% 4%,rgba(27,161,173,.12),transparent 60%),radial-gradient(560px 460px at 6% 96%,rgba(240,101,79,.08),transparent 60%),var(--bg-teal-2);position:relative;overflow:hidden}.recruit .wrap{z-index:1;padding-top:76px;padding-bottom:82px;display:block;position:relative}.recruit .section-head{margin-bottom:60px}.recruit .wrap>.kicker{margin-bottom:20px}.merits{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-bottom:56px;display:grid}.merit{--c:var(--teal);--c-soft:#e6f6f5;border:1.5px solid var(--card-bd);background:#fff;border-radius:20px;padding:30px 26px 26px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.merit:before{content:"";background:var(--c);border-radius:0 0 6px;width:56px;height:5px;transition:width .4s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;left:0}.merit:hover{border-color:var(--c);transform:translateY(-8px);box-shadow:0 24px 46px rgba(21,41,78,.13)}.merit:hover:before{width:100%}.merit-ic{background:var(--c-soft);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex}.merit-ic img{width:36px;height:auto}.merit:hover .merit-ic{transform:rotate(-8deg)scale(1.08)}.merit-title{font-family:var(--font-heading);color:var(--ink);letter-spacing:.02em;margin-bottom:10px;font-size:19px;font-weight:900}.merit-text{color:#5a6a72;font-size:13.5px;line-height:1.8}.jobs-panel{background:#fff;border-radius:24px;padding:34px 34px 30px;position:relative;box-shadow:0 18px 40px rgba(21,41,78,.09)}.jobs-head{margin-bottom:22px}.jobs-head .kicker{margin-bottom:8px}.jobs-title{font-family:var(--font-heading);color:var(--ink);letter-spacing:.02em;font-size:24px;font-weight:900}.jobs-list{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.job{--c:var(--teal);--c-soft:#e6f6f5;border:1px solid var(--card-bd);border-left:4px solid var(--c);font-family:var(--font-heading);color:var(--ink);cursor:pointer;background:#fafdfd;border-radius:12px;align-items:center;gap:14px;padding:15px 18px;font-size:16px;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s;display:flex;position:relative}.job:hover{background:#fff;transform:translate(4px);box-shadow:0 10px 22px rgba(21,41,78,.08)}.job-ic{background:var(--c-soft);border-radius:12px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.job-ic img{width:24px;height:auto}.job-name{flex:1}.job-arr{color:var(--c);opacity:0;font-size:20px;font-weight:700;transition:opacity .2s,transform .2s;transform:translate(-6px)}.job:hover .job-arr{opacity:1;transform:translate(0)}.jobs-cta{width:100%}.merit[data-accent=teal],.job[data-accent=teal]{--c:#1ba1ad;--c-soft:#e6f6f5}.merit[data-accent=yellow],.job[data-accent=yellow]{--c:#e9b500;--c-soft:#fdf4d6}.merit[data-accent=navy],.job[data-accent=navy]{--c:#15294e;--c-soft:#e7ecf4}.merit[data-accent=coral],.job[data-accent=coral]{--c:#f0654f;--c-soft:#fde9e5}.company{background:#fff}.company .wrap{padding-top:74px;padding-bottom:78px}.company-mission{background:radial-gradient(130% 150% at 0% 0%,#f1faf9 0%,var(--bg-teal)52%,var(--bg-teal-2)100%);border:1px solid #d4ecea;border-radius:24px;grid-template-columns:1.45fr 1fr;align-items:center;gap:44px;margin-bottom:26px;padding:48px 50px;display:grid;position:relative;overflow:hidden}.company-mission:before{content:"MISSION";font-family:var(--font-heading);letter-spacing:.02em;color:#fff;opacity:.5;pointer-events:none;font-size:116px;font-weight:900;line-height:1;position:absolute;bottom:-30px;right:-6px}.company-mission-body{z-index:1;position:relative}.company-mission-body h3{font-family:var(--font-heading);color:var(--ink);margin:12px 0 16px;font-size:28px;font-weight:900;line-height:1.5}.company-mission-body p{color:#42525e;max-width:560px;font-size:15.5px;line-height:1.95}.company-mission-art{z-index:1;justify-content:center;display:flex;position:relative}.company-mission-art img{width:100%;max-width:378px}.company-detail{grid-template-columns:1.15fr 1fr;align-items:stretch;gap:26px;display:grid}.company-profile,.company-access{flex-direction:column;display:flex}.company-detail-title{font-family:var(--font-heading);color:var(--ink);margin:8px 0 18px;font-size:21px;font-weight:900}.info-card{border:1px solid var(--card-bd);border-top:3px solid var(--teal);border-radius:18px;margin:0;overflow:hidden;box-shadow:0 12px 30px rgba(21,41,78,.05)}.info-row{border-bottom:1px solid #eef2f2;grid-template-columns:104px 1fr;display:grid}.info-row:last-child{border-bottom:none}.info-row dt{font-family:var(--font-heading);color:var(--teal-deep);background:#f1f8f8;align-items:center;margin:0;padding:15px 18px;font-size:14.5px;font-weight:700;display:flex}.info-row dd{color:var(--text);margin:0;padding:15px 18px;font-size:14.5px;line-height:1.7}.info-row dd b{font-family:var(--font-heading);color:var(--ink);font-weight:700}.company-access .map{flex:1}.map{border:1px solid var(--card-bd);background:linear-gradient(rgba(233,245,245,.4),rgba(255,255,255,0) 40%),repeating-linear-gradient(0deg,#eef3f3 0,#eef3f3 1px,transparent 1px,transparent 46px),repeating-linear-gradient(90deg,#eef3f3 0,#eef3f3 1px,transparent 1px,transparent 46px),#f4f8f8;border-radius:18px;min-height:330px;position:relative;overflow:hidden}.map .road{background:#e2eaea;position:absolute}.map .road.r1{width:14px;top:0;bottom:0;left:38%;transform:rotate(8deg)}.map .road.r2{height:13px;top:54%;left:0;right:0;transform:rotate(-3deg)}.map .road.r3{background:#e7eeee;width:9px;top:0;bottom:0;right:24%}.map .pin{z-index:3;background:#e8543f;border-radius:50% 50% 50% 0;width:26px;height:26px;position:absolute;top:46%;left:46%;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:0 6px 12px rgba(0,0,0,.18)}.map .pin:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map .map-card{color:var(--ink);white-space:nowrap;background:#fff;border-radius:9px;padding:9px 14px;font-size:11.5px;font-weight:500;line-height:1.5;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 6px 16px rgba(0,0,0,.14)}.map .map-card b{font-family:var(--font-heading);font-weight:700}.map .label{color:#9aa9a9;font-size:10.5px;font-weight:500;position:absolute}.contact{min-height:calc(100vh - var(--header-h) - var(--copyright-h));min-height:calc(100svh - var(--header-h) - var(--copyright-h));background:#fafdfd;align-items:center;display:flex}.contact .wrap{padding-top:70px;padding-bottom:74px}.contact-body{grid-template-columns:.5fr 1.5fr;align-items:start;gap:34px;display:grid}.contact-art{justify-content:center;padding-top:40px;display:flex}.contact-art img{width:78%;max-width:250px}.form{border:1px solid var(--card-bd);background:#fff;border-radius:18px;padding:36px 40px;box-shadow:0 12px 30px rgba(21,41,78,.05)}.form-grid{grid-template-columns:1fr 1fr;gap:18px 28px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field.full{grid-column:1/-1}.field label{font-family:var(--font-heading);color:var(--ink);font-size:14.5px;font-weight:700}.field label .req{color:#e8543f;margin-left:4px;font-size:11px}.field input,.field select,.field textarea{color:var(--text);background:#fbfdfd;border:1px solid #dde6e6;border-radius:9px;width:100%;padding:13px 15px;font-family:inherit;font-size:15.5px;transition:border .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:108px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(27,161,173,.12)}.field input[aria-invalid=true]{border-color:var(--coral);box-shadow:0 0 0 3px rgba(240,101,79,.14)}.field-error{color:#e8543f;font-size:12.5px;font-weight:600;line-height:1.5;animation:.3s field-error-in}@keyframes field-error-in{0%{opacity:0;transform:translate(0)}35%{transform:translate(-4px)}65%{transform:translate(3px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.field-error{animation:none}}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2371808c' stroke-width='2.4'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 15px center;background-repeat:no-repeat}.field input::placeholder,.field textarea::placeholder{color:#a8b3b3;opacity:1}.field select:has(option[value=""]:checked){color:#a8b3b3}.field select option{color:var(--text)}.field select option[value=""]{color:#a8b3b3}.agree{color:var(--text);grid-column:1/-1;align-items:center;gap:10px;margin-top:4px;font-size:14.5px;display:flex}.agree input{width:17px;height:17px;accent-color:var(--teal)}.agree a{color:var(--teal-deep);text-decoration:underline}.privacy-link{font:inherit;color:var(--teal-deep);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .15s}.privacy-link:hover{color:var(--teal)}.modal{z-index:60;visibility:hidden;justify-content:center;align-items:center;padding:24px;transition:visibility 0s linear .38s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal.is-open{visibility:visible;transition:visibility}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:rgba(16,27,45,.55);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.modal.is-open .modal-overlay{opacity:1}.modal-panel{opacity:0;background:#fff;border-radius:24px;flex-direction:column;width:min(720px,100%);max-height:min(82vh,760px);transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .3s;display:flex;position:relative;overflow:hidden;transform:translateY(28px)scale(.96);box-shadow:0 40px 90px rgba(21,41,78,.3)}.modal.is-open .modal-panel{opacity:1;transform:none}.modal-panel:before{content:"";background:linear-gradient(90deg,var(--teal),var(--yellow));height:6px;position:absolute;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.modal,.modal-overlay,.modal-panel{transition:none}}.modal-head{border-bottom:1px solid #eef2f2;padding:30px 36px 18px;position:relative}.modal-head .kicker{margin-bottom:8px}.modal-title{font-family:var(--font-heading);color:var(--ink);letter-spacing:.02em;font-size:24px;font-weight:900}.modal-close{border:1px solid var(--card-bd);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;font-size:20px;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .2s,color .2s;position:absolute;top:24px;right:24px}.modal-close:hover{border-color:var(--teal);color:var(--teal);transform:rotate(90deg)}.modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--teal)transparent;padding:26px 36px 10px;overflow-y:auto}.privacy-intro{color:var(--text);margin-bottom:24px;font-size:14px;line-height:1.9}.privacy-section{margin-bottom:22px}.privacy-section h3{font-family:var(--font-heading);color:var(--ink);align-items:center;gap:10px;margin-bottom:8px;font-size:16px;font-weight:900;display:flex}.privacy-no{background:var(--chip-bg);width:26px;height:26px;color:var(--teal-deep);border-radius:8px;flex:0 0 26px;justify-content:center;align-items:center;font-size:12.5px;display:flex}.privacy-section p{color:var(--text);font-size:14px;line-height:1.9}.privacy-section ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.privacy-section li{color:#48555f;padding-left:18px;font-size:13.5px;line-height:1.7;position:relative}.privacy-section li:before{content:"";background:var(--teal);border-radius:2px;width:7px;height:7px;position:absolute;top:.55em;left:0;transform:rotate(45deg)}.modal-foot{border-top:1px solid #eef2f2;flex-wrap:wrap;justify-content:center;gap:14px;padding:18px 36px 26px;display:flex}.modal-foot .btn{min-width:220px}.confirm-modal .modal-foot .btn{flex:1 1 0;min-width:0;max-width:220px}.confirm-title-wrap{display:inline-block;position:relative}.confirm-title-default{transition:opacity .3s}.confirm-title-default--out{opacity:0}.confirm-title-sent{white-space:nowrap;opacity:0;transition:opacity .35s .15s;position:absolute;top:0;left:0}.confirm-title-sent--in{opacity:1}.confirm-modal .modal-body,.confirm-modal .modal-foot{position:relative}.confirm-footer-btn{transition:opacity .3s}.confirm-footer-btn--hidden{opacity:0;pointer-events:none}.confirm-footer-sent-btn{opacity:0;pointer-events:none;flex:none;width:-moz-fit-content;width:fit-content;min-width:160px;height:-moz-fit-content;height:fit-content;margin:auto;transition:opacity .4s;position:absolute;top:0;bottom:0;left:0;right:0}.confirm-footer-sent-btn--in{opacity:1;pointer-events:auto}.confirm-content{transition:opacity .3s}.confirm-content--out{opacity:0;pointer-events:none}.confirm-sending-state{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:24px;transition:opacity .3s .15s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.confirm-sending-state--in{opacity:1;pointer-events:auto}.spinner-lg{border:4px solid rgba(27,161,173,.2);border-top-color:var(--teal);border-radius:50%;flex-shrink:0;width:52px;height:52px;animation:.8s linear infinite spin;display:inline-block}.confirm-sending-text{font-family:var(--font-heading);color:var(--teal-deep);letter-spacing:.06em;margin:0;font-size:22px;font-weight:900}.confirm-lead{color:var(--text);margin-bottom:18px;font-size:14.5px}.confirm-error{color:#e8543f;margin:0 0 14px;font-size:12.5px;font-weight:600;line-height:1.5;animation:.3s field-error-in}@media (prefers-reduced-motion:reduce){.confirm-error{animation:none}}.confirm-rows{border:1px solid var(--card-bd);border-radius:14px;margin:0;overflow:hidden}.confirm-row{border-bottom:1px solid #eef2f2;grid-template-columns:150px 1fr;display:grid}.confirm-row:last-child{border-bottom:none}.confirm-row dt{font-family:var(--font-heading);color:var(--teal-deep);background:#f1f8f8;align-items:center;margin:0;padding:13px 16px;font-size:13.5px;font-weight:700;display:flex}.confirm-row dd{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;padding:13px 16px;font-size:14px;line-height:1.8}.confirm-empty{color:var(--muted)}@media (max-width:560px){.confirm-row{grid-template-columns:1fr}.confirm-row dt{background:0 0;padding:10px 16px 0}.confirm-row dd{padding:4px 16px 12px}}.confirm-sent-state{opacity:0;pointer-events:none;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:26px 36px 10px;transition:opacity .4s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.confirm-sent-state--in{opacity:1;pointer-events:auto}.confirm-sent-header{align-items:center;gap:12px;display:flex}.confirm-sent-check{background:var(--teal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.confirm-sent-check svg{width:17px;height:17px}.confirm-sent-title{font-family:var(--font-heading);color:var(--teal-deep);letter-spacing:.04em;margin:0;font-size:22px;font-weight:900}.confirm-sent-email-note{color:var(--text);margin:0;font-size:14px;line-height:1.9}.confirm-sent-email{border:1px solid var(--card-bd);font-family:var(--font-mono,monospace);color:var(--teal);word-break:break-all;background:#f1f8f8;border-radius:6px;margin:0 4px;padding:1px 10px;font-size:13px;display:inline-block}.confirm-sent-note{color:var(--muted);margin:0;font-size:13px}@media (max-width:560px){.modal{padding:14px}.modal-head{padding:24px 22px 14px}.modal-body,.confirm-sent-state{padding:20px 22px 8px}.modal-foot{padding:14px 22px 20px}}.form-submit{grid-column:1/-1;justify-content:center;margin-top:10px;display:flex}.form-submit .btn{min-width:280px}.copyright{height:var(--copyright-h);font-family:var(--font-heading);letter-spacing:.08em;color:var(--muted);background:#fafdfd;justify-content:center;align-items:center;padding:0 32px;font-size:12.5px;display:flex}@media (max-width:980px){.nav{display:none}.menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:flex}.menu-btn span{background:var(--ink);border-radius:2px;width:24px;height:2px}.hero .wrap{text-align:left;grid-template-columns:1fr}.hero h1{font-size:46px}.hero-art{order:-1;max-width:520px}.hero-cta{justify-content:center}.vision .wrap,.svc-grid,.approach-grid{grid-template-columns:1fr}.section-head[data-has-media]{grid-template-columns:1fr;gap:32px}.section-head[data-has-media] .section-head-media{order:0;margin:0 auto}.jobs-list{grid-template-columns:1fr}.company-mission{grid-template-columns:1fr;gap:28px;padding:36px 28px}.company-mission:before{font-size:88px}.company-detail,.contact-body{grid-template-columns:1fr}.contact-art{max-width:240px;margin:0 auto}.form-grid{grid-template-columns:1fr}}@media (max-width:768px){.journey-stations{grid-template-columns:1fr 1fr;gap:40px 24px}.journey-line{display:none}}@media (max-width:560px){.wrap{padding:0 20px}.hero h1{font-size:36px}.form{padding:26px 22px}}
