:root{--navy:#143752;--blue:#1c5d8a;--blue-pale:#e8f1f5;--ink:#17232d;--muted:#51606b;--line:#c9d3d8;--sand:#f5f3ee;--white:#fff;--gold:#b78a3e;--shell:1140px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"BIZ UDPGothic","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:17px;line-height:1.85}.shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}.narrow{max-width:850px}.skip-link{position:absolute;top:-100px;left:18px;z-index:20;padding:8px 14px;background:var(--white);color:var(--navy);font-weight:700}.skip-link:focus{top:12px}.site-header{height:86px;border-bottom:1px solid #dbe1e3;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.service-brand{display:grid;gap:2px;color:var(--navy);line-height:1.2;text-decoration:none}.service-brand-company{font-size:12px;font-weight:700;letter-spacing:.025em}.service-brand-name{font-size:21px;font-weight:800;letter-spacing:.03em}.header-cta{color:var(--navy);font-size:15px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding:5px 1px}.hero{overflow:hidden;background:var(--sand);border-bottom:1px solid var(--line)}.hero-grid{min-height:620px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(410px,.98fr);align-items:center;gap:58px;padding-block:74px}.eyebrow{margin:0 0 16px;color:var(--blue);font-size:14px;line-height:1.5;font-weight:700;letter-spacing:.08em}.hero h1,.section h2,.final-cta h2{margin:0;color:var(--navy);font-size:clamp(38px,3.7vw,52px);line-height:1.42;letter-spacing:-.045em;text-wrap:balance}.hero h1 em{font-style:normal;color:var(--blue)}.hero-lead{max-width:630px;margin:30px 0 28px}.button{display:inline-flex;align-items:center;gap:18px;min-height:54px;padding:12px 22px;border:1px solid transparent;font-weight:700;line-height:1.5;text-decoration:none;transition:transform .2s ease,background .2s ease,border .2s ease}.button:hover{transform:translateY(-2px)}.primary{color:var(--white);background:var(--navy)}.primary:hover{background:#0d2a3f}.hero-note,.final-note{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.hero-visual{margin:0;overflow:hidden;border-top:3px solid var(--gold);background:#d9e5ea}.hero-visual img{display:block;width:100%;height:auto}.section{padding-block:96px}.section h2{font-size:clamp(30px,3.2vw,44px);line-height:1.48}.problem-list{margin-top:42px;border-top:1px solid var(--line)}.problem-list p{position:relative;margin:0;padding:20px 34px 20px 0;border-bottom:1px solid var(--line)}.problem-list p::after{content:"↗";position:absolute;right:3px;top:20px;color:var(--gold);font-size:21px}.focus{background:var(--blue-pale)}.section-heading{max-width:760px}.section-heading>p:not(.eyebrow){margin:25px 0 0}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:47px}.focus-grid article{padding:31px 30px;background:var(--white);border-top:4px solid var(--navy)}.focus-grid article:nth-child(2){border-color:var(--blue)}.focus-grid article:nth-child(3){border-color:var(--gold)}.focus-label{margin:0;color:var(--blue);font-size:14px;font-weight:700;letter-spacing:.08em}.focus-grid h3{margin:8px 0 12px;color:var(--navy);font-size:23px;line-height:1.4}.focus-grid p:last-child{margin:0}.flow-section{background:var(--white)}.flow-heading{margin-bottom:48px}.journey{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.journey li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:28px;padding:27px 0;border-bottom:1px solid var(--line)}.journey-number{display:grid;place-items:center;width:41px;height:41px;border:1px solid var(--gold);color:var(--navy);font-weight:700}.journey h3{margin:0;color:var(--navy);font-size:21px;line-height:1.5}.journey p{margin:6px 0 0;max-width:770px}.consultation{background:var(--sand)}.consultation-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.consultation ul{align-self:center;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.consultation li{padding:16px 0 16px 29px;border-bottom:1px solid var(--line);position:relative}.consultation li::before{content:"";position:absolute;left:0;top:30px;width:10px;height:10px;background:var(--gold)}.final-cta{padding-block:92px;background:var(--navy);color:var(--white)}.final-inner{max-width:850px}.final-cta .eyebrow{color:#b9d4e2}.final-cta h2{color:var(--white)}.final-cta h2+p{margin:22px 0 28px}.light{background:var(--white);color:var(--navy)}.light:hover{background:#e7f0f3}.final-note{color:#c6d1d8}.site-footer{padding-block:27px;background:var(--white);border-top:1px solid var(--line);color:var(--muted)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-inner img{width:215px;height:auto}.footer-inner p{margin:0;font-size:13px}@media (max-width:780px){body{font-size:16px;line-height:1.8}.shell{width:min(calc(100% - 36px),var(--shell))}.site-header{height:74px}.service-brand{gap:1px}.service-brand-company{font-size:10px;letter-spacing:0}.service-brand-name{font-size:16px;letter-spacing:.02em}.header-cta{font-size:13px}.hero-grid{min-height:0;display:block;padding-block:55px 43px}.hero h1{font-size:clamp(30px,8.1vw,34px);line-height:1.42;letter-spacing:-.04em}.hero-lead{margin-top:24px}.hero-visual{margin-top:38px}.section{padding-block:62px}.section h2{font-size:clamp(27px,7.4vw,34px);line-height:1.47}.problem-list{margin-top:30px}.problem-list p{padding-block:17px}.focus-grid,.consultation-grid{grid-template-columns:1fr;gap:18px;margin-top:32px}.focus-grid article{padding:27px 25px}.focus-grid h3{font-size:22px}.flow-heading{margin-bottom:33px}.journey li{grid-template-columns:50px minmax(0,1fr);gap:18px;padding-block:21px}.journey h3{font-size:19px}.journey-number{width:34px;height:34px;font-size:14px}.consultation-grid{gap:34px}.consultation li{padding-left:24px}.final-cta{padding-block:62px}.footer-inner{align-items:flex-start;flex-direction:column;gap:10px}.footer-inner img{width:200px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}a:focus-visible{outline:3px solid #e0a644;outline-offset:4px}
