html{scroll-behavior:smooth}body{color:#1c1917;-webkit-font-smoothing:antialiased;background:#e9e6e1;margin:0;font-family:Noto Sans JP,Hiragino Sans,sans-serif}*{box-sizing:border-box}a{color:#2980af;text-decoration:none}a:hover{color:#1f6a94}input,textarea,button{font-family:inherit}@keyframes enca-draw{to{stroke-dashoffset:0}}@keyframes enca-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes enca-in-l{0%{opacity:0;transform:translate(-90px)}to{opacity:1;transform:translate(0)}}@keyframes enca-in-r{0%{opacity:0;transform:translate(90px)}to{opacity:1;transform:translate(0)}}@keyframes enca-mark-in{0%{opacity:0;transform:scale(.72)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes enca-dim2{to{opacity:.55}}@keyframes enca-spark{0%{opacity:0;transform:scale(.4)}40%{opacity:.9}to{opacity:0;transform:scale(2.4)}}@keyframes enca-halo{0%,to{opacity:.22;transform:scale(.92)}50%{opacity:.5;transform:scale(1.08)}}@keyframes enca-scroll{0%{transform-origin:top;opacity:.2;transform:scaleY(.2)}45%{opacity:1;transform:scaleY(1)}to{transform-origin:bottom;opacity:0;transform:scaleY(1)}}@keyframes enca-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-40px,30px)scale(1.08)}66%{transform:translate(30px,-24px)scale(.95)}}@keyframes enca-float{0%,to{transform:translateY(-7px)}50%{transform:translateY(7px)}}.nav-link:hover{color:#2980af}.nav-cta:hover{background:#1f6a94;transform:translateY(-2px);box-shadow:0 12px 28px #2980af66}.mobile-menu-link:hover{background:#2980af1a}.footer-link:hover{color:#8ac850}.scroll-cta:hover{background:#fff3;border-color:#ffffff80;transform:translateY(4px);box-shadow:0 14px 40px #00000040,inset 0 1px #fff6}.hero-chip:hover{background:#ffffff2e;border-color:#ffffff73;transform:translateY(-4px)scale(1.03);box-shadow:0 16px 40px #00000038,inset 0 1px #ffffff59}.mvv-row:hover{background:linear-gradient(140deg,#ffffff38,#ffffff17);border-color:#8ac85080;transform:translateY(-6px);box-shadow:0 20px 50px #0000003d,inset 0 1px #ffffff59}.card-hover-lift:hover{background:linear-gradient(150deg,#ffffffb8,#ffffff61);border-color:#fffffff2;transform:translateY(-6px);box-shadow:0 40px 90px #1c191729,inset 0 1px #fff}.service-list-item:hover{background:#ffffffd9;padding-left:26px}.service-sub-card:hover{background:linear-gradient(150deg,#ffffffb3,#ffffff57);border-color:#fffffff2;transform:translateY(-8px);box-shadow:0 36px 80px #1c191726,inset 0 1px #fff}.service-info-tile:hover{background:#ffffffb8;transform:translateY(-3px)}.member-card:hover{background:linear-gradient(150deg,#ffffffb8,#ffffff5c);border-color:#fffffffa;transform:translateY(-10px);box-shadow:0 44px 100px #1c19172e,inset 0 1px #fff}.company-row:hover{z-index:1;background:#ffffffb8;position:relative;transform:translateY(-2px)}.recruit-row:hover{background:#ffffff59}.recruit-row-alt:hover{background:#fff6}.recruit-cta-outline:hover{background:#f2f9ff;transform:translateY(-3px);box-shadow:0 14px 32px #2980af33}.recruit-cta-solid:hover{background:#9ed766;transform:translateY(-3px);box-shadow:0 18px 44px #8ac85073}.btn-primary-hover:hover{background:#1f6a94;transform:translateY(-3px);box-shadow:0 18px 44px #2980af73}.contact-form-hover:hover{box-shadow:0 34px 84px #1c191726,inset 0 1px #fff}.form-input:hover{background:#fffc}.form-input:focus,.form-textarea:focus{background:#ffffffeb;border-color:#2980af;outline:none;box-shadow:0 0 0 4px #2980af24}.kind-radio-label:hover{background:#ffffffd9;border-color:#2980af;transform:translateY(-2px)}.legal-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#e9e6e1e6;border-bottom:1px solid #1c191714;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(16px,3vw,40px);display:flex;position:sticky;top:0}.legal-header img{width:auto;height:40px;display:block}.legal-header a.back{color:#2980af;font-size:13px;font-weight:700}.legal-main{max-width:820px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(16px,3vw,40px) clamp(64px,8vw,96px)}.legal-main h1{margin:0 0 12px;font-family:Zen Kaku Gothic New,sans-serif;font-size:clamp(26px,4vw,36px);font-weight:900}.legal-main .updated{color:#78716c;margin:0 0 40px;font-size:13px}.legal-main h2{margin:40px 0 14px;font-size:18px;font-weight:700}.legal-main p,.legal-main li{color:#44403c;font-size:15px;line-height:2}.legal-main ul{margin:0 0 12px;padding-left:1.4em}.notice-list{background:#1c19171f;border-radius:10px;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.notice-list li{background:#fff9;padding:18px 20px}.notice-empty{color:#78716c;font-size:14px}.legal-footer{text-align:center;background:linear-gradient(150deg,#12212b,#1b3140);padding:28px clamp(16px,3vw,40px)}.legal-footer p{letter-spacing:.14em;color:#ffffff6b;margin:0;font-family:Poppins,sans-serif;font-size:11px}.error-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100svh;padding:24px;display:flex}.error-wrap img{width:auto;height:56px;margin-bottom:12px}.error-code{color:#2980af;margin:0;font-family:Poppins,sans-serif;font-size:clamp(48px,10vw,96px);font-weight:700;line-height:1}.error-title{margin:0;font-family:Zen Kaku Gothic New,sans-serif;font-size:clamp(18px,3vw,24px);font-weight:900}.error-desc{color:#57534e;max-width:420px;margin:0;font-size:14px;line-height:1.9}.error-back{color:#fff;letter-spacing:.08em;background:#2980af;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:16px 34px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 10px 30px #2980af52}.desktop-nav{display:flex}.mobile-menu-toggle{display:none}@media (max-width:899px){.desktop-nav{display:none}.mobile-menu-toggle{display:flex}}.skip-link{z-index:100;color:#fff;letter-spacing:.04em;background:#2980af;border-radius:0 0 8px;padding:14px 22px;font-size:14px;font-weight:700;transition:top .2s;position:absolute;top:-100px;left:0}.skip-link:focus{color:#fff;top:0!important}.back-to-top{z-index:50;-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);color:#2980af;background:linear-gradient(140deg,#ffffffb3,#fff6);border:1px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s;display:flex;position:fixed;bottom:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);box-shadow:0 10px 30px #1c191729,inset 0 1px #ffffffe6}.back-to-top:hover{color:#1f6a94;background:linear-gradient(140deg,#ffffffd9,#ffffff8c);transform:translateY(-3px);box-shadow:0 14px 36px #1c191733,inset 0 1px #fff}.tilt-card{--tilt-x:0deg;--tilt-y:0deg;--sheen-x:50%;--sheen-y:50%;--sheen-o:0;perspective:1200px;position:relative}.tilt-card-inner{transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));will-change:transform;transition:transform .4s cubic-bezier(.16,1,.3,1);position:relative}.tilt-card-sheen{z-index:3;pointer-events:none;border-radius:inherit;opacity:var(--sheen-o);background:radial-gradient(circle at var(--sheen-x) var(--sheen-y),#ffffff8c,transparent 45%);transition:opacity .4s;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.tilt-card-inner{transition:none}}.bento-grid{grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,24px);display:grid}.bento-span-12,.bento-span-8,.bento-span-6,.bento-span-4{grid-column:span 12}.bento-span-3{grid-column:span 6}@media (min-width:640px){.bento-span-6{grid-column:span 6}.bento-span-3{grid-column:span 3}}@media (min-width:900px){.bento-span-8{grid-column:span 8}.bento-span-4{grid-column:span 4}}
