:root{--blue:#0879df;--deep:#071d4b;--sky:#ecf8ff;--gold:#d99a18;--text:#14233c;--muted:#637086;--white:#fff;--line:#dce7f2;--shadow:0 20px 55px rgba(13,55,105,.11)}.site-intro{display:none}.js .site-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,rgba(8,121,223,.08),#fff 48%,#fff);opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}.site-intro:before{content:"";position:absolute;left:50%;bottom:-24%;width:min(860px,92vw);height:76%;background:radial-gradient(ellipse at center,rgba(8,121,223,.2),transparent 68%);opacity:0;transform:translateX(-50%) scale(.72)}.site-intro.is-playing:before{animation:introAura 1.65s ease-out both}.intro-logo{position:relative;z-index:2;width:min(540px,78vw);height:auto;opacity:0;transform:translateY(42px) scale(.97)}.site-intro.is-playing .intro-logo{animation:introRise 1.45s cubic-bezier(.2,.8,.24,1) both}.intro-horizon{position:absolute;z-index:1;left:10%;right:10%;bottom:18%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transform:scaleX(.1)}.site-intro.is-playing .intro-horizon{animation:introHorizon 1.1s .42s ease-out both}.intro-skip{position:absolute;right:28px;bottom:24px;z-index:3;border:0;background:transparent;color:var(--muted);font:700 13px/1.3 inherit;letter-spacing:.08em;padding:12px;cursor:pointer}.site-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}body.intro-active{overflow:hidden}@keyframes introRise{0%{opacity:0;transform:translateY(42px) scale(.97)}72%{opacity:1;transform:translateY(-3px) scale(1)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes introAura{0%{opacity:0;transform:translateX(-50%) scale(.72)}58%{opacity:1}100%{opacity:.46;transform:translateX(-50%) scale(1)}}@keyframes introHorizon{0%{opacity:0;transform:scaleX(.1)}42%{opacity:1}100%{opacity:.75;transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.site-intro,.site-intro:before,.intro-logo,.intro-horizon{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,231,242,.8)}.nav{height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:260px;height:102px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700;color:#33415a}.nav-links a:hover{color:var(--blue)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 22px;font-weight:800;line-height:1.3;transition:.25s}.nav-cta,.btn-primary{background:linear-gradient(110deg,#057fe7,#0bb5e7);color:white;box-shadow:0 10px 25px rgba(8,126,222,.25)}.btn-secondary{background:white;color:var(--deep);border:1px solid var(--line)}.btn:hover{transform:translateY(-2px)}.menu{display:none;border:0;background:none;font-size:26px;color:var(--deep)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:2px;background:var(--gold)}.hero{min-height:680px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f5fbff 48%,#e7f6ff 100%)}.hero:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(5,127,231,.14);border-radius:50%;right:-100px;top:30px;box-shadow:0 0 0 70px rgba(5,127,231,.035),0 0 0 145px rgba(217,154,24,.025)}.hero:after{content:"✦";position:absolute;right:12%;top:18%;font-size:62px;color:var(--gold);filter:drop-shadow(0 4px 13px rgba(217,154,24,.3))}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:68px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.18;margin:18px 0 22px;letter-spacing:-.04em;color:var(--deep)}.hero h1 span{background:linear-gradient(100deg,var(--blue),#13b9e7);-webkit-background-clip:text;color:transparent}.hero p{font-size:18px;color:var(--muted);max-width:640px}.hero-actions{display:flex;gap:13px;margin-top:32px;flex-wrap:wrap}.hero-card{background:rgba(255,255,255,.83);padding:34px;border-radius:30px;border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(8px)}.hero-logo{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:24px}.group-label{text-align:center;color:var(--muted);font-size:13px;letter-spacing:.12em;margin-top:9px}.section{padding:100px 0}.section-soft{background:linear-gradient(180deg,#f7fbff,#fff)}.section-dark{background:var(--deep);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:46px}.section h2,.page-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.28;margin:10px 0;color:var(--deep);letter-spacing:-.025em}.section-dark h2{color:white}.lead{font-size:17px;color:var(--muted);max-width:660px}.section-dark .lead{color:#c6d3e7}.grid{display:grid;gap:22px}.services{grid-template-columns:repeat(5,1fr)}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:29px;box-shadow:0 10px 28px rgba(15,53,96,.055)}.service-card{min-height:270px;display:flex;flex-direction:column}.num{font-family:Georgia,serif;color:var(--gold);font-size:15px}.card h3{font-size:19px;color:var(--deep);line-height:1.5;margin:35px 0 10px}.card p{font-size:14px;color:var(--muted);margin:0}.card-link{margin-top:auto;padding-top:18px;color:var(--blue);font-weight:800;font-size:13px}.strengths{grid-template-columns:repeat(4,1fr)}.strength-card{border-left:2px solid var(--gold);padding:5px 22px}.strength-card h3{font-size:20px;margin:14px 0}.strength-card p{color:#c6d3e7;font-size:14px}.recruit-banner{background:linear-gradient(120deg,#e8f7ff,#fff 55%,#fff8e5);border-radius:32px;padding:62px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;border:1px solid var(--line)}.cta{background:linear-gradient(125deg,#087de0,#03afd9);color:white;border-radius:32px;padding:62px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{color:white;margin:0}.cta p{margin:8px 0 0;color:#d9f5ff}.cta .btn{background:white;color:var(--blue)}.page-hero{padding:105px 0 70px;background:linear-gradient(135deg,#f9fdff,#eaf7ff);position:relative;overflow:hidden}.page-hero:after{content:"✦";position:absolute;right:12%;top:24%;font-size:82px;color:rgba(217,154,24,.3)}.page-hero p{max-width:710px;color:var(--muted);font-size:17px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.vision{font-size:clamp(28px,4vw,45px);line-height:1.5;color:var(--deep)}.quote-card{padding:45px;border-radius:28px;background:linear-gradient(145deg,#06265c,#0a56a0);color:white;box-shadow:var(--shadow)}.quote-card p{font-size:20px}.service-detail{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:38px 0;border-bottom:1px solid var(--line)}.service-detail .big-num{font:42px Georgia,serif;color:var(--gold)}.service-detail h2{font-size:26px;margin:0 0 10px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tag{padding:5px 12px;border-radius:99px;background:var(--sky);color:#126aaa;font-size:13px;font-weight:700}.company-table{width:100%;border-collapse:collapse}.company-table th,.company-table td{text-align:left;padding:20px;border-bottom:1px solid var(--line);vertical-align:top}.company-table th{width:190px;color:var(--deep)}.map{width:100%;height:430px;border:0;border-radius:24px;margin-top:40px}.jobs{grid-template-columns:repeat(3,1fr)}.job-card h3{margin-top:10px}.form-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.contact-info{background:var(--deep);color:white;border-radius:26px;padding:38px;height:max-content}.contact-info h2{color:white;font-size:28px}.contact-info a{color:#77d7ff}.tabs{display:flex;gap:8px;margin-bottom:25px}.tab{border:1px solid var(--line);background:white;border-radius:99px;padding:10px 18px;font-weight:800;cursor:pointer}.tab.active{background:var(--blue);color:white;border-color:var(--blue)}.field{margin-bottom:19px}.field label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid #cdd9e6;border-radius:10px;font:inherit;background:#fff}.field textarea{min-height:150px;resize:vertical}.required{color:#df4e4e;font-size:12px;margin-left:5px}.notice{font-size:13px;color:var(--muted)}.submit{border:0;cursor:pointer;font-size:15px}.success{display:none;background:#eaf9f3;color:#147052;padding:18px;border-radius:12px;margin-top:16px}.privacy h2{font-size:23px;margin-top:45px}.privacy p,.privacy li{color:#526078}.footer{background:#061735;color:#d9e5f3;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-logo{width:185px;background:white;border-radius:12px;padding:6px}.footer h3{font-size:14px;color:white}.footer a{display:block;color:#b8c8db;font-size:13px;margin:7px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:22px;font-size:12px;color:#8294ad;display:flex;justify-content:space-between}.fade{opacity:0;transform:translateY(18px);transition:.6s}.fade.show{opacity:1;transform:none}@media(max-width:980px){.nav-links{display:none;position:absolute;top:110px;left:0;right:0;background:white;padding:25px 30px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu{display:block}.hero{min-height:auto;padding:75px 0}.hero-grid,.split,.form-wrap{grid-template-columns:1fr}.hero-card{max-width:470px}.services{grid-template-columns:repeat(2,1fr)}.strengths,.jobs{grid-template-columns:repeat(2,1fr)}.recruit-banner{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.container{width:min(100% - 28px,1160px)}.nav{height:86px}.brand img{width:190px;height:78px}.nav-links{top:86px}.hero{padding:58px 0}.hero-grid{gap:40px}.hero h1{font-size:43px}.hero-card{padding:18px}.section{padding:72px 0}.section-head{align-items:flex-start;flex-direction:column}.services,.strengths,.jobs,.footer-grid{grid-template-columns:1fr}.service-card{min-height:auto}.recruit-banner,.cta{padding:34px 25px}.service-detail{grid-template-columns:1fr;gap:8px}.form-wrap{gap:30px}.company-table th,.company-table td{display:block;width:100%;padding:12px}.company-table th{padding-bottom:0;border-bottom:0}.map{height:320px}.footer-bottom{flex-direction:column;gap:8px}}
