:root{--ink:#163954;--blue:#2b78c5;--pale:#eff7fc;--line:#dae7f0;--muted:#6d8290}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);line-height:1.8}a{text-decoration:none;color:inherit}img{width:100%;display:block}.concept{height:26px;display:grid;place-items:center;background:#edf6fc;color:#5d7e94;font-size:9px;letter-spacing:.16em}.header{height:76px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid rgba(22,57,84,.06)}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.07em}.brand img{width:32px;color:var(--blue)}.nav{display:flex;gap:25px;align-items:center;font-size:10px;font-weight:700}.entry{padding:10px 18px;border-radius:3px;background:var(--blue);color:white}.menu-toggle{display:none}.hero{max-width:1380px;margin:auto;min-height:690px;display:grid;grid-template-columns:45% 55%}.hero-copy{padding:95px 6vw 75px;display:flex;flex-direction:column;justify-content:center}.kicker,.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--blue);font-weight:800;margin:0 0 18px}.hero h1,.section h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;letter-spacing:.01em}.hero h1{font-size:clamp(39px,3.7vw,58px);line-height:1.38;margin:0}.hero-copy>p:not(.kicker){color:#577488;font-size:14px;margin:25px 0}.btn{display:inline-flex;width:max-content;background:var(--blue);color:white;padding:13px 20px;border-radius:2px;font-size:11px;font-weight:800}.hero-image{overflow:hidden}.hero-image img{height:100%;object-fit:cover}.life-bar{max-width:1120px;margin:-28px auto 0;position:relative;z-index:2;background:white;box-shadow:0 12px 40px rgba(26,63,91,.1);display:grid;grid-template-columns:repeat(4,1fr);padding:22px}.life-bar div{padding:0 22px;border-right:1px solid var(--line)}.life-bar div:last-child{border:0}.life-bar small{display:block;font-size:8px;color:#76a7d0}.life-bar b{display:block;font-size:13px}.life-bar span{font-size:10px;color:var(--muted)}.section{max-width:1160px;margin:auto;padding:100px 30px}.section h2{font-size:clamp(29px,2.8vw,40px);line-height:1.5;margin:0}.message p:last-child{max-width:760px;color:var(--muted)}.pale{max-width:none;background:var(--pale);padding-left:max(30px,calc((100vw - 1160px)/2));padding-right:max(30px,calc((100vw - 1160px)/2))}.work{display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}.work-image{overflow:hidden;border-radius:2px}.work-image img{aspect-ratio:1.45;object-fit:cover}.work-copy>p{color:var(--muted);font-size:14px}.work dl div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:12px 0}.work dt{font-size:9px;color:#6696bd}.work dd{margin:0;font-size:13px;font-weight:700}.timeline{list-style:none;padding:0;margin:42px 0 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.timeline li{padding:22px 15px;border-right:1px solid var(--line)}.timeline time{font-size:16px;color:var(--blue);font-weight:800}.timeline b{display:block;font-size:12px;margin-top:40px}.timeline span{display:block;font-size:10px;color:var(--muted)}.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.voice blockquote{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(24px,2.7vw,36px);line-height:1.65;margin:0}.voice small{font-size:9px;color:#7890a2}.numbers{display:grid;grid-template-columns:repeat(3,1fr)}.numbers div{padding:25px 17px;border-left:1px solid #cfe1ed}.numbers strong{display:block;font-size:30px}.numbers span{font-size:8px;color:#6f94b1}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}.job-grid article{border:1px solid var(--line);padding:28px;min-height:250px}.job-grid small{font-size:9px;color:#6c9cc0}.job-grid h3{font-size:18px;margin:65px 0 9px}.job-grid p{font-size:12px;color:var(--muted)}.cta{text-align:center}.dark{background:var(--ink);margin-top:15px}footer{padding:30px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:#768d9d}[data-reveal]{opacity:0;transform:translateY(24px);transition:.65s ease}[data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:900px){.nav{position:fixed;top:76px;left:0;right:0;background:white;padding:24px 5vw;flex-direction:column;align-items:flex-start;transform:translateY(-130%);transition:.3s;border-bottom:1px solid var(--line)}.nav.is-open{transform:none}.menu-toggle{display:flex;border:0;background:none;flex-direction:column;gap:7px}.menu-toggle span{width:24px;height:1px;background:var(--ink)}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 6vw 50px}.hero-image{height:55vw;min-height:360px}.life-bar{margin:0;grid-template-columns:1fr 1fr;box-shadow:none}.work,.voice-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.job-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hero h1{font-size:37px}.section{padding:74px 22px}.pale{padding-left:22px;padding-right:22px}.life-bar,.job-grid,.timeline,.numbers{grid-template-columns:1fr}.life-bar div,.timeline li{border-right:0;border-bottom:1px solid var(--line)}.numbers div{border-left:0;border-top:1px solid #cfe1ed}.hero-image{height:430px}footer{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}


/* ===== FINAL V4 TYPOGRAPHY / RESPONSIVE OVERRIDES ===== */
body{font-size:15px;line-height:1.9}
.hero{min-height:620px}
.hero h1{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(36px,3.15vw,50px);font-weight:600;line-height:1.46;letter-spacing:-.026em}
.hero-copy>p:not(.kicker){font-size:15px;line-height:2;color:#526f82;max-width:540px}
.section h2{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(27px,2.25vw,36px);font-weight:600;line-height:1.55;letter-spacing:-.018em}
.message p:last-child,.work-copy>p{font-size:15px;line-height:2}
.job-grid p{font-size:13.5px;line-height:1.85}
.life-bar span{font-size:11px}
[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:900px){.hero{min-height:0}.hero-copy{padding:62px 6vw 42px}.hero-image{height:auto;min-height:0;background:#eff7fc}.hero-image img{height:auto;width:100%;object-fit:contain}.message p:last-child,.work-copy>p{font-size:14.5px}}
@media(max-width:560px){.hero h1{font-size:32px;line-height:1.48}.hero-copy>p:not(.kicker){font-size:14px}.section{padding-top:66px;padding-bottom:66px}.section h2{font-size:28px}.hero-image img{height:auto;object-fit:contain}.job-grid p{font-size:13px}.life-bar span{font-size:11px}.voice blockquote{font-size:25px}}

