:root{color:#08233e;background:#f3f7fb;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-synthesis:none;--navy: #001b33;--surface: #f3f7fb;--ink: #08233e;--accent: #f28a00;--line: #d8e1e9;--white: #ffffff;--focus-outline-light: #001b33;--focus-outline-dark: #ffffff;--container: 1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--white);color:var(--ink);line-height:1.8}button,a{font:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-outline-light);outline-offset:3px}.site-header :is(.brand,.menu-toggle,.global-navigation a):focus-visible,.site-footer a:focus-visible,.cta a:focus-visible{outline-color:var(--focus-outline-dark)}.site-header .header-contact:focus-visible,.cta .button--accent:focus-visible{outline-color:var(--focus-outline-light)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,.brand,.result-metric{font-family:Yu Mincho,Hiragino Mincho ProN,"Noto Serif JP",Georgia,serif}h1{max-width:11em;margin-bottom:24px;font-size:clamp(2.5rem,5vw,4.75rem);font-weight:600;letter-spacing:.02em;line-height:1.18}h2{margin-bottom:0;color:var(--navy);font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:600;letter-spacing:.05em;line-height:1.4}h3{margin-bottom:12px;color:var(--navy);font-size:1.04rem;line-height:1.55}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section{padding-block:clamp(72px,8vw,112px)}.section--tint{background:var(--surface)}.section-heading{margin-bottom:clamp(36px,5vw,56px);text-align:center}.eyebrow{margin-bottom:8px;color:#173b68;font-family:Georgia,serif;font-size:.75rem;font-weight:700;letter-spacing:.16em}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 24px;border:1px solid transparent;font-size:.9rem;font-weight:700;line-height:1.4;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.button--accent{background:var(--accent);color:var(--white)}.button--accent:after{margin-left:12px;content:"→"}.button--outline{border-color:#ffffff94;background:#001b353d;color:var(--white)}.button--outline:after{margin-left:12px;content:"↓"}.button:hover{border-color:var(--accent);background:var(--white);color:var(--navy)}.actions{display:flex;flex-wrap:wrap;gap:16px}.site-header{padding-top:24px;background:var(--navy);color:var(--white)}.header-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:32px}.brand{display:inline-flex;min-height:44px;align-items:center}.brand img{width:auto;height:56px}.global-navigation{justify-self:end}.global-navigation ul,.breadcrumb ol,.footer-group ul,.footer-legal{display:flex;margin:0;padding:0;list-style:none}.global-navigation ul{flex-wrap:wrap;justify-content:flex-end;gap:8px 28px}.global-navigation a,.breadcrumb,.footer-group a,.footer-bottom{font-size:.78rem}.global-navigation a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}.menu-toggle{display:none;min-height:44px;padding:8px 16px;border:1px solid rgb(255 255 255 / 54%);background:transparent;color:var(--white)}.header-contact{min-height:44px;padding:10px 18px}.breadcrumb{padding-block:26px}.breadcrumb ol{flex-wrap:wrap;gap:8px}.breadcrumb a,.footer-group a,.footer-legal a{display:inline-flex;min-width:44px;min-height:44px;align-items:center}.breadcrumb li:not(:last-child):after{margin-left:8px;color:#ffffff8f;content:"/"}.hero{overflow:clip;background:radial-gradient(circle at 38% 50%,rgb(14 65 107 / 52%),transparent 38%),var(--navy);color:var(--white)}.hero-grid{display:grid;min-height:590px;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:stretch}.hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:clamp(64px,8vw,112px);padding-right:clamp(28px,5vw,76px)}.hero-eyebrow{margin-bottom:28px;color:var(--accent);font-size:.9rem;font-weight:700}.hero-body{max-width:44rem;margin-bottom:34px;color:#ffffffd6}.hero-image{width:calc(100% + max(24px,(100vw - var(--container)) / 2));max-width:none;height:100%;object-fit:cover}.problem-grid,.service-grid,.results-grid{display:grid;gap:20px}.problem-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.problem-card,.service-card,.result-card{border:1px solid var(--line);background:var(--white)}.problem-card{display:grid;grid-template-rows:auto auto 1fr auto;padding:28px 24px 0}.problem-symbol{display:grid;width:48px;height:48px;margin-bottom:18px;border:1px solid #173b68;border-radius:50%;color:var(--accent);font-size:1.45rem;font-weight:700;place-items:center}.card-body{margin-bottom:22px;font-size:.88rem}.problem-solution{margin-inline:-24px;padding:20px 24px 22px;border-top:1px solid var(--line);text-align:center}.problem-solution p{margin-bottom:0;font-size:.8rem}.problem-solution .solution-title{margin-bottom:8px;color:var(--accent);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:1rem;font-weight:700}.services{background:var(--white)}.service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.service-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px 24px 26px}.service-icon{width:52px;height:52px;margin-bottom:20px}.service-card .card-body{flex:1}.text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--navy);font-size:.8rem;font-weight:700}.text-link:after{margin-left:10px;color:var(--accent);content:"→"}.approach{background:var(--surface)}.approach-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}.approach-image{width:100%;height:100%;min-height:460px;object-fit:cover}.approach-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,88px);background:var(--white)}.approach-copy h2{margin-bottom:24px}.approach-body{margin-bottom:28px}.approach-copy ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.approach-copy li{position:relative;padding-left:30px;font-size:.9rem;font-weight:700}.approach-copy li:before{position:absolute;top:.45em;left:0;display:grid;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--white);content:"✓";font-size:.7rem;line-height:1;place-items:center}.process-list{display:grid;margin:0;padding:0;counter-reset:process;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none}.process-list li{position:relative;padding:0 28px}.process-list li:not(:last-child):after{position:absolute;top:23px;left:64px;width:calc(100% - 46px);border-top:1px dashed #173b68;content:""}.process-number{position:relative;z-index:1;display:grid;width:48px;height:48px;margin-bottom:20px;border-radius:50%;background:var(--navy);color:var(--white);font-family:Georgia,serif;place-items:center}.process-list p{margin-bottom:12px;font-size:.86rem}.process-period{font-weight:700}.results-layout{display:grid;grid-template-columns:minmax(130px,.22fr) minmax(0,1fr);gap:20px 44px}.results-layout .section-heading{text-align:left}.results-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.result-card{padding:26px 22px;text-align:center}.result-metric{margin-bottom:12px;color:var(--navy);font-size:clamp(1.65rem,3vw,2.4rem);font-weight:600;line-height:1.2}.result-card .card-body{margin-bottom:0}.results-note{grid-column:2;margin-bottom:0;font-size:.72rem}.faq-layout{display:grid;grid-template-columns:minmax(160px,.25fr) minmax(0,1fr);gap:44px}.faq-layout .section-heading{text-align:left}.faq-layout dl{margin:0;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-trigger{position:relative;width:100%;min-height:52px;padding:13px 54px 13px 18px;border:0;background:transparent;color:var(--navy);font-weight:700;text-align:left}.faq-trigger:after{position:absolute;top:50%;right:18px;content:"+";font-size:1.3rem;transform:translateY(-50%)}.faq-answer{margin:0;padding:0 54px 20px 18px}.cta{position:relative;overflow:clip;background:var(--navy);color:var(--white)}.cta:after{position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgb(0 27 53 / 94%) 42%,transparent 78%);content:""}.cta-image{position:absolute;inset:0 0 0 auto;width:70%;height:100%;object-fit:cover}.cta-copy{position:relative;z-index:1;padding-block:clamp(58px,7vw,88px)}.cta-copy h2{margin-bottom:12px;color:var(--white)}.cta-copy p{max-width:42rem;margin-bottom:26px}.site-footer{padding-block:58px 26px;background:var(--navy);color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(6,minmax(0,1fr)) auto;gap:32px 24px;align-items:start}.footer-brand{font-size:1.75rem}.footer-group h3{margin-bottom:12px;color:var(--white);font-size:.78rem}.footer-group ul{flex-direction:column;gap:7px}.footer-group a{color:#ffffffbd}.footer-contact{white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:54px;padding-top:22px;border-top:1px solid rgb(255 255 255 / 18%);color:#ffffffad}.footer-bottom p{margin:0}.footer-legal{gap:24px}@media(max-width:1199px){.global-navigation ul{gap:4px 16px}.problem-grid,.results-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 0}.process-list li:nth-child(2):after{display:none}.results-layout{grid-template-columns:1fr}.results-layout .section-heading{text-align:center}.results-note{grid-column:1}.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.header-bar{grid-template-columns:auto minmax(0,1fr)}.global-navigation{grid-column:1 / -1;justify-self:stretch}.global-navigation ul{justify-content:flex-start}.header-contact{grid-column:2;grid-row:1;justify-self:end}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-right:0}.hero-image{width:100%;max-height:540px;aspect-ratio:2 / 1}.approach-grid{grid-template-columns:1fr}.approach-image{min-height:auto;aspect-ratio:8 / 5}.faq-layout{grid-template-columns:1fr;gap:0}.faq-layout .section-heading{text-align:center}}@media(max-width:767px){.container{width:calc(100% - 40px)}.section{padding-block:64px}.site-header{padding-top:20px}.header-bar{grid-template-columns:minmax(0,1fr) auto;gap:20px}.brand img{height:44px}.global-navigation ul{display:grid;grid-template-columns:1fr}.menu-toggle{display:inline-flex;min-width:44px;align-items:center;justify-content:center}.global-navigation{display:none;grid-column:1 / -1}.site-header[data-mobile-menu-state=open] .global-navigation{display:block}.header-contact{display:none;padding-inline:14px;font-size:.78rem}.breadcrumb{padding-block:20px}.hero-grid{min-height:auto}.hero-copy{padding-block:54px}.actions,.actions .button{width:100%}.hero-image{aspect-ratio:4 / 3}.problem-grid,.service-grid,.results-grid,.process-list{grid-template-columns:1fr}.process-list{gap:0}.process-list li{padding:0 0 44px 72px}.process-list li:not(:last-child):after{top:48px;bottom:0;left:24px;display:block;width:0;height:auto;border-top:0;border-left:1px dashed #173b68}.process-number{position:absolute;top:0;left:0}.approach-copy{order:-1;padding:40px 24px}.cta:after{background:linear-gradient(90deg,#001b35fa,#001b35c7)}.cta-image{width:100%}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand,.footer-contact{grid-column:1 / -1}.footer-bottom{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0ms!important}}
