:root{--color-navy:#0f1621;--color-navy-soft:#172238;--color-red:#fd4245;--color-red-dark:#f23a3c;--color-gray:#5d6a77;--color-gray-soft:#8b95a0;--color-line:#d5d9de;--color-white:#fff;--color-bg:#fcfcfc;--color-bg-sub:#f2f2f2;--color-pink-soft:#fff1f1;--color-pink-line:#ffd3d4;--color-text:var(--color-navy);--color-text-sub:var(--color-gray);--color-text-on-dark:var(--color-white);--color-accent:var(--color-red);--color-accent-hover:var(--color-red-dark);--color-link:var(--color-red-dark);--color-footer-bg:var(--color-gray);--color-error:var(--color-red-dark);--blend-header:exclusion;--color-header-ink:var(--color-white);--overlay-hero:linear-gradient(180deg, #0f1621b8 0%, #0f162161 26%, #0f16216b 55%, #0f1621e0 100%);--overlay-card:linear-gradient(180deg, #0f162114 0%, #0f16216b 100%);--overlay-service:linear-gradient(90deg, #0f16214d 0%, #0f162129 45%, #0f16215c 100%);--overlay-wire:linear-gradient(90deg, #0f1621d1 0%, #0f16214d 100%);--overlay-menu:#0f162180;--color-floating-bg:#ffffffd9;--overlay-subhero:linear-gradient(180deg, #ffffffc7 0%, #ffffff80 45%, #fff0 100%);--spot-color:#fff3;--band-ghost-color:#fff3;--career-tone-1-glow:#8b929a;--career-tone-1-main:#3f5873;--career-tone-1-shade:#18222f;--career-tone-2-glow:#9c8a72;--career-tone-2-main:#98561f;--career-tone-2-shade:#33200f;--career-tone-3-glow:#8a938d;--career-tone-3-main:#2b7590;--career-tone-3-shade:#1c2536;--career-tone-4-glow:#9b8689;--career-tone-4-main:#862c46;--career-tone-4-shade:#2e111c;--career-tone-5-glow:#91889b;--career-tone-5-main:#2d2b96;--career-tone-5-shade:#181851;--career-tone-6-glow:#8f937c;--career-tone-6-main:#4d6836;--career-tone-6-shade:#1b2716;--career-tone-glow-reach:62%;--career-tone-shade-from:18%;--grain-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1.6 0 0 0 -0.3 0 1.6 0 0 -0.3 0 0 1.6 0 -0.3 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-size:220px;--grain-opacity:.42;--grain-blend:overlay;--font-display:var(--font-outfit), var(--font-noto), "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-body:var(--font-inter), var(--font-noto), "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--root-size:clamp(100%, .75rem + .35vw, 112.5%);--text-body:.9375rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.125rem;--text-3xl:3rem;--text-label:clamp(1.375rem, 1rem + 1vw, 2rem);--text-nav:clamp(1rem, .4rem + 1vw, 1.25rem);--text-card-title:1.125rem;--text-hero:clamp(1.375rem, .3rem + 3.6vw, 3.75rem);--text-headline:clamp(1.625rem, .375rem + 2.78vw, 2.875rem);--text-band:clamp(1.5rem, .9rem + 2.4vw, 3.25rem);--leading-tight:1.3;--leading-snug:1.5;--leading-normal:1.8;--leading-loose:2;--tracking-tight:.02em;--tracking-normal:.04em;--tracking-wide:.08em;--tracking-wider:.14em;--tracking-widest:.22em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--gutter:var(--space-5);--section-gap:var(--space-8);--page-top:var(--space-7);--container-max:72rem;--label-col:14.375rem;--header-height:4.5rem;--logo-width:5.75rem;--logo-width-footer:11rem;--control-height:3rem;--chip-height:2.25rem;--hero-min:30rem;--hero-max:56rem;--band-height:clamp(10rem, 22vw, 20rem);--service-card-min:17rem;--service-card-min-large:24rem;--career-card-min:10.5rem;--textarea-min:11rem;--textarea-min-sm:5.5rem;--career-banner-min:9rem;--hero-latest-width:clamp(20rem, 28vw, 27rem);--iframe-reserve:58.125rem;--circle-size:clamp(10.5rem, 20vw, 14.5rem);--strength-orb-ratio:.72;--strength-orb-max:17rem;--strength-orb-left-max:9rem;--strength-circle-drop:5rem;--strength-circle-step:6rem;--strength-circle-lift:2.5rem;--icon-sm:1rem;--icon-md:1.5rem;--icon-lg:clamp(2.75rem, 6vw, 4.5rem);--badge-size:4.5rem;--ring-size:4rem;--ring-arrow-size:1.25rem;--floating-offset:var(--space-5);--floating-compact-radius:calc(var(--ring-size) / 2 + var(--space-3));--floating-clearance:11.5rem;--subhero-overlay-height:calc(var(--header-height) * 1.75);--text-aside-title:1.125rem;--text-band-ghost:clamp(6.5rem, 17vw, 17rem);--marquee-logo-width:clamp(8.5rem, 15vw, 12rem);--marquee-fade:var(--space-7);--spot-size:30rem;--mask-solid:#000;--progress-height:2px;--hairline:1px;--border-thick:2px;--blur-floating:8px;--offscreen:-9999px;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-pill:999px;--radius-circle:50%;--shadow-sm:0 1px 2px #0f16210f, 0 1px 6px #0f16210d;--shadow-md:0 6px 24px #0f16211a;--shadow-text:0 1px 12px #0f16218c;--ease:cubic-bezier(.2, .7, .2, 1);--duration:.25s;--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--motion-ease-expo:cubic-bezier(.16, 1, .3, 1);--motion-reveal-duration:.9s;--motion-reveal-shift:4rem;--motion-reveal-opacity:0;--motion-stagger:.12s;--motion-stagger-max:5;--motion-reveal-margin:8%;--motion-line-duration:1.1s;--motion-line-shift:110%;--motion-wipe-duration:1.2s;--motion-wipe-from:100%;--motion-wipe-bleed:3rem;--motion-ease-back:cubic-bezier(.34, 1.56, .64, 1);--motion-pop-duration:.7s;--motion-pop-scale:.6;--motion-char-duration:.8s;--motion-char-stagger:45ms;--motion-char-shift:100%;--motion-char-tilt:8deg;--motion-parallax-hero:.22;--motion-parallax-strength:.05;--motion-parallax-strength-scale:1.16;--motion-hero-duration:1.2s;--motion-hero-delay:.25s;--motion-hero-stagger:.14s;--motion-hero-line-shift:115%;--motion-hero-zoom:1.14;--motion-hero-zoom-duration:2.6s;--motion-hero-veil-duration:1.4s;--motion-hero-card-delay:.9s;--motion-ring-duration:6s;--motion-subhero-zoom:1.05;--motion-hover-duration:.45s;--motion-hover-lift:-.375rem;--motion-hover-lift-sm:-.125rem;--motion-flip-duration:.3s;--motion-flip-ease:cubic-bezier(.4, .4, 0, 1);--motion-flip-shift:130%;--flip-pad:.15em;--hover-ring-width:2px;--hover-ring-color:var(--color-accent);--hover-underline-width:1px;--hover-underline-color:var(--color-accent);--motion-press-scale:.97;--motion-marquee-duration:64s;--motion-marquee-play:running;--motion-tone-duration:9s;--motion-tone-travel:70%;--motion-tone-play:running;--motion-magnet-pull:.28;--motion-magnet-max:10;--motion-magnet-duration:.5s;--motion-tilt-max:5;--motion-tilt-perspective:56rem;--motion-spot-duration:.5s;--motion-drift-band:.32;--motion-drift-band-reverse:-.32;--motion-parallax-subhero:.14;--motion-page-out:.18s;--motion-page-in:.5s;--motion-page-shift:1.25rem;--motion-compact-duration:.6s;--motion-compact-after:.6;--z-progress:110;--z-floating:50;--z-menu:90;--z-header:100}@media (min-width:768px){:root{--gutter:var(--space-7);--section-gap:var(--space-9);--page-top:var(--space-8);--header-height:5.5rem;--ring-size:5.5rem;--ring-arrow-size:1.75rem;--floating-offset:var(--space-7);--logo-width:7.5rem;--logo-width-footer:14rem}}@media (min-width:1080px){:root{--gutter:var(--space-8);--section-gap:var(--space-10);--page-top:var(--space-9);--logo-width:9.5rem;--logo-width-footer:18.75rem}}
*,:before,:after{box-sizing:border-box}html{font-size:var(--root-size);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:var(--space-0);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;line-break:strict}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:var(--space-0)}ul,ol{padding:var(--space-0);list-style:none}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:var(--border-thick) solid var(--color-accent);outline-offset:var(--border-thick)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){html.js [data-reveal]{transition:opacity var(--motion-reveal-duration) var(--motion-ease-out), transform var(--motion-reveal-duration) var(--motion-ease-out);transition-delay:calc(min(var(--reveal-order,0), var(--motion-stagger-max)) * var(--motion-stagger))}html.js [data-reveal]:not([data-revealed]){opacity:var(--motion-reveal-opacity);transform:translate3d(0, var(--motion-reveal-shift), 0)}html.js [data-reveal=fade]:not([data-revealed]){transform:none}html.js [data-reveal] [data-reveal]:not([data-reveal=line]):not([data-reveal=chars]):not([data-revealed]){opacity:1;transform:none}html.js [data-reveal=line]{transition:none;display:block;overflow:hidden}html.js [data-reveal=line]:not([data-revealed]){opacity:1;transform:none}html.js [data-reveal=line]>*{transition:transform var(--motion-line-duration) var(--motion-ease-expo);transition-delay:calc(min(var(--reveal-order,0), var(--motion-stagger-max)) * var(--motion-stagger));display:block}html.js [data-reveal=line]:not([data-revealed])>*{transform:translate3d(0, var(--motion-line-shift), 0)}html.js [data-reveal=wipe]{clip-path:inset(calc(var(--motion-wipe-bleed) * -1));transition:clip-path var(--motion-wipe-duration) var(--motion-ease-expo), transform var(--motion-wipe-duration) var(--motion-ease-expo);transition-delay:calc(min(var(--reveal-order,0), var(--motion-stagger-max)) * var(--motion-stagger))}html.js [data-reveal=wipe]:not([data-revealed]){opacity:1;clip-path:inset(0 var(--motion-wipe-from) 0 0)}html.js [data-reveal=pop]{transition:opacity var(--motion-pop-duration) var(--ease), transform var(--motion-pop-duration) var(--motion-ease-back);transition-delay:calc(min(var(--reveal-order,0), var(--motion-stagger-max)) * var(--motion-stagger))}html.js [data-reveal=pop]:not([data-revealed]){transform:scale(var(--motion-pop-scale))}html.js [data-reveal=chars]{transition:none}html.js [data-reveal=chars]:not([data-revealed]){opacity:1;transform:none}html.js [data-reveal=chars] [data-char]{transition:opacity var(--motion-char-duration) var(--ease), transform var(--motion-char-duration) var(--motion-ease-expo);transition-delay:calc(var(--char,0) * var(--motion-char-stagger));display:inline-block}html.js [data-reveal=chars]:not([data-revealed]) [data-char]{opacity:var(--motion-reveal-opacity);transform:translate3d(0, var(--motion-char-shift), 0) rotate(var(--motion-char-tilt))}html.js [data-parallax]{translate:0 var(--parallax-y,0px);will-change:translate}}.scroll-progress{display:none}@media (prefers-reduced-motion:no-preference){html.js:has(main article>section) .scroll-progress{z-index:var(--z-progress);height:var(--progress-height);background:var(--color-accent);transform:scaleX(var(--progress,0));transform-origin:0;pointer-events:none;display:block;position:fixed;inset:0 0 auto}}@keyframes pageOut{to{opacity:0}}@keyframes pageIn{0%{opacity:0;transform:translate3d(0, var(--motion-page-shift), 0)}}::view-transition-group(.page){animation:none}::view-transition-old(.page){animation:pageOut var(--motion-page-out) var(--ease) both}::view-transition-new(.page){animation:pageIn var(--motion-page-in) var(--motion-ease-out) both}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media print{html.js [data-reveal],html.js [data-reveal]>*,html.js [data-reveal] [data-char]{opacity:1!important;clip-path:none!important;transition:none!important;transform:none!important}html.js [data-parallax]{translate:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
