:root{--ink:#0b1935;--blue:#1845a7;--ice:#edf4ff;--lime:#d9ff4a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fff}
.header{height:76px;padding:0 5.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce2eb;position:relative;z-index:5;background:#fff}
.brand{font-family:"DM Mono",monospace;font-size:1.35rem;font-weight:500;letter-spacing:-.07em;color:var(--ink);text-decoration:none}
.brand span{color:var(--blue)}
nav{display:flex;gap:2.2rem}
nav a,.header-cta{font-size:.83rem;color:var(--ink);text-decoration:none}
.header-cta{border:1px solid var(--ink);padding:.7rem 1rem}
.header-cta b{margin-left:.4rem;color:var(--blue)}
.hero{background:var(--ink);color:#fff;min-height:calc(100vh - 76px);padding:clamp(5.5rem,11vw,10rem) 5.2vw 2rem;position:relative;overflow:hidden}
.hero-copy{position:relative;z-index:2;max-width:900px}
.eyebrow,.section-label{font-family:"DM Mono",monospace;font-size:.71rem;letter-spacing:.08em;margin:0 0 2rem}
.eyebrow{color:#bbcae7}
.eyebrow i{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%;margin-right:.5rem}
.hero h1{font-size:clamp(2.6rem,5.8vw,5.8rem);line-height:1.24;letter-spacing:-.06em;margin:0;font-weight:700}
.hero h1 em{font-style:normal;color:var(--lime)}
.lead{font-size:1rem;line-height:2;color:#c6d1e6;margin:2rem 0 2.5rem}
.hero-actions{display:flex;align-items:center;gap:1.8rem}
.button{display:inline-flex;align-items:center;gap:2rem;text-decoration:none;font-size:.88rem;font-weight:700;padding:1.05rem 1.25rem}
.button span{font-size:1.2rem}
.primary{background:var(--lime);color:var(--ink)}
.text{padding-left:0;color:#fff;border-bottom:1px solid #8090ae}
.hero-mark{position:absolute;right:7vw;top:14%;font-family:"DM Mono",monospace;font-weight:500;line-height:.72;letter-spacing:-.13em;opacity:.95}
.hero-mark span{font-size:clamp(9rem,22vw,22rem);color:#254477}
.hero-mark small{display:block;text-align:right;color:var(--lime);font-size:clamp(2rem,5vw,5rem);letter-spacing:-.08em}
.mark-line{height:6px;background:var(--lime);width:72%;margin-left:auto;margin-top:1.7rem}
.route{position:absolute;border:1px solid #314363;border-radius:50%;opacity:.6}
.route-a{width:1100px;height:600px;right:-370px;top:-250px}
.route-b{width:950px;height:630px;right:-600px;bottom:-230px}
.route-c{width:350px;height:350px;right:21vw;bottom:-180px}
.hero-footer{position:absolute;z-index:2;bottom:2rem;left:5.2vw;right:5.2vw;display:flex;justify-content:space-between;font-family:"DM Mono",monospace;font-size:.66rem;color:#9aabc9}
.section{padding:9rem 10vw}
.section-label{color:var(--blue);font-weight:500}
.statement{display:grid;grid-template-columns:1fr 2fr;gap:4rem;background:#fff}
.statement h2,.link-philosophy h2,.services h2,.recruit h2,.contact h2{font-size:clamp(2.6rem,5.2vw,5.2rem);line-height:1.18;letter-spacing:-.06em;margin:0}
.statement-text{padding-top:.9rem;font-size:1rem;line-height:2.15;max-width:580px}
.statement-text p:first-child{margin-top:0}
.link-philosophy{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.link-philosophy .section-label{color:var(--lime)}
.link-copy{font-size:1rem;line-height:2.15;color:#d0daed}
.link-copy p:first-child{margin-top:0}
.link-copy p:last-child{margin-bottom:0;color:#fff;font-weight:600}
.services{background:var(--ice)}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4.8rem}
.service-list{border-top:1px solid #b6c5df}
.service-list article{display:grid;grid-template-columns:70px 1.2fr 1.5fr 35px;align-items:center;gap:1.5rem;padding:1.85rem 0;border-bottom:1px solid #b6c5df}
.service-list span{font-family:"DM Mono",monospace;color:var(--blue);font-size:.8rem}
.service-list h3{font-size:1.4rem;margin:0}
.service-list p{font-size:.9rem;line-height:1.8;margin:0;color:#3d5070}
.service-list b{font-size:1.5rem;font-weight:400}
.recruit{background:var(--blue);color:#fff;display:flex;justify-content:space-between;gap:4rem;overflow:hidden}
.recruit .section-label{color:var(--lime)}
.recruit-inner>p:not(.section-label){max-width:490px;line-height:2;margin:2.2rem 0}
.light{background:#fff;color:var(--ink)}
.recruit-number{border-left:1px solid #76a0f4;padding-left:3rem;display:flex;flex-direction:column;justify-content:flex-end;min-width:34%}
.recruit-number span{font-family:"DM Mono",monospace;color:var(--lime);font-size:.72rem}
.recruit-number strong{font-family:"DM Mono",monospace;font-weight:400;font-size:clamp(8rem,18vw,16rem);letter-spacing:-.15em;line-height:.9}
.recruit-number i{font-size:.8rem;font-style:normal;line-height:1.8;color:#d7e3ff}
.contact{background:#fff}
.contact h2{margin-bottom:2rem}
.contact h2 a{color:var(--blue);text-decoration:none;border-bottom:2px solid var(--blue)}
.contact h2 span{font-size:.7em}
.contact>p:last-child{color:#4d5c73;font-size:.9rem}
footer{background:var(--ink);color:#d5def0;padding:2rem 5.2vw;display:flex;align-items:center;justify-content:space-between;gap:1rem}
footer .brand{color:#fff}
footer p,footer>a:last-child{font-family:"DM Mono",monospace;font-size:.65rem;margin:0;color:#bdc8da;text-decoration:none}
@media(max-width:760px){body{overflow-x:hidden}.header{height:68px;padding:0 1.15rem;position:sticky;top:0;box-shadow:0 1px 0 rgba(11,25,53,.08)}.header>a:first-child img{width:58px!important;height:50px!important}
nav{display:none}
.header-cta{font-size:.78rem;padding:.65rem .8rem;min-height:42px;display:inline-flex;align-items:center}
.hero{min-height:calc(100svh - 68px);padding:4.5rem 1.5rem 5.5rem;display:flex;align-items:center}
.hero-copy{max-width:34rem}
.eyebrow{font-size:.65rem;line-height:1.7;margin-bottom:1.5rem}
.hero h1{font-size:clamp(2.45rem,11.5vw,3.15rem);line-height:1.2}
.lead{font-size:.96rem;line-height:1.9;margin:1.6rem 0 1.8rem;max-width:31rem}
.hero-actions{align-items:flex-start;flex-direction:column;gap:.85rem}
.button{min-height:48px;padding:.9rem 1rem;font-size:.88rem}
.text{padding-left:0}
.hero-mark{right:-1.4rem;top:43%;opacity:.3}
.hero-mark span{font-size:10rem}
.hero-mark small{font-size:2.25rem}
.hero-footer{bottom:1.35rem;left:1.5rem;right:1.5rem;font-size:.57rem}.hero-footer span:first-child{display:none}
.section{padding:4.5rem 1.5rem}
.statement,.link-philosophy,.recruit{display:block}
.statement h2,.link-philosophy h2,.services h2,.recruit h2,.contact h2{font-size:clamp(2.2rem,10vw,2.75rem);line-height:1.2}
.statement-text,.link-copy{margin-top:2rem;font-size:.96rem;line-height:2}
.section-heading{display:block;margin-bottom:2.5rem}.section-label{margin-bottom:1.35rem}
.service-list article{grid-template-columns:32px minmax(0,1fr) 44px;gap:.65rem;padding:1.5rem 0;align-items:start}
.service-list h3{font-size:1.15rem;line-height:1.5}
.service-list p{grid-column:2/4;font-size:.88rem;line-height:1.85;margin-top:.25rem}
.service-list a{width:44px;height:44px;display:grid!important;place-items:center;border:1px solid #9fb1d0;font-size:1.35rem!important}
.recruit-number{border-left:0;border-top:1px solid #76a0f4;padding:2.3rem 0 0;margin-top:3.5rem}
.recruit-number strong{font-size:9rem}
.contact{padding-bottom:4.5rem}.contact>p{line-height:1.9}.contact>p:last-child{font-size:.82rem}
footer{padding:1.5rem;display:grid;grid-template-columns:1fr auto;gap:1.25rem}
footer>a:first-child img{width:72px!important;height:60px!important}
footer p{grid-column:1/-1;order:3;font-size:.58rem;line-height:1.6}
}
@media(max-width:380px){.hero{padding-left:1.2rem;padding-right:1.2rem}.hero h1{font-size:2.25rem}.section{padding-left:1.2rem;padding-right:1.2rem}.hero-services span{font-size:.66rem}.header{padding-left:1rem;padding-right:1rem}.header-cta{font-size:.71rem}}
