*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#343b43;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:16px;line-height:1.9;letter-spacing:.045em;overflow-x:hidden}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #075da8;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;color:#202327;font-weight:600;letter-spacing:.055em}h2{font-size:32px;line-height:1.55;margin-bottom:24px}h3{color:#202327;font-size:21px;line-height:1.55}p{margin-bottom:1.4em}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:82px;padding:0 max(28px,calc((100vw - 1440px)/2 + 28px));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(216,222,230,.7)}.logo{font-weight:700;font-size:21px;color:#171a1e;white-space:nowrap}.global-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600;letter-spacing:.06em}.global-nav a{white-space:nowrap}.global-nav a[aria-current="page"]{color:#075da8}.nav-contact{display:flex;align-items:center;min-height:50px;padding:0 21px;background:#262a2f;color:#fff}.nav-contact:hover{background:#123b75;text-decoration:none}.nav-toggle,.nav-button{display:none}.home-hero,.page-hero{position:relative;min-height:620px;overflow:hidden}.home-hero>img,.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.86) 39%,rgba(255,255,255,.22) 61%,rgba(255,255,255,0) 78%)}.hero-inner{position:relative;z-index:2;width:min(1200px,calc(100% - 56px));margin:auto;padding-top:150px}.hero-inner>*{max-width:610px}.hero-inner .kicker{max-width:max-content}.hero-inner h1{font-size:56px;line-height:1.46;margin-bottom:24px;color:#202327}.page-hero .hero-inner h1{font-size:52px}.hero-emphasis{color:#075da8}.kicker,.eyebrow{color:#123b75;font-size:14px;font-weight:700;letter-spacing:.12em}.kicker{display:flex;align-items:center;gap:12px;margin-bottom:17px}.kicker:before{content:"";width:27px;height:1px;background:#075da8}.hero-lead{font-size:16px;font-weight:500;line-height:1.9;margin-bottom:25px}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 28px;border:1px solid transparent;border-radius:2px;font:700 15px/1.5 inherit;cursor:pointer}.button.primary{background:#123b75;color:#fff}.button.primary:hover{background:#075da8;text-decoration:none}.button.outline{border-color:#123b75;color:#123b75;margin-top:34px}.button.outline:hover{background:#123b75;color:#fff;text-decoration:none}.text-link{color:#123b75;font-weight:700}.text-link span{display:inline-block;margin-left:8px;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.section{max-width:1200px;margin:auto;padding:112px 0}.soft{max-width:none;padding-left:max(28px,calc((100vw - 1200px)/2));padding-right:max(28px,calc((100vw - 1200px)/2));background:#f5f8fb}.split-section{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center}.split-section>div>p:not(.eyebrow){max-width:540px}.feature-image{margin:0;overflow:hidden}.feature-image img{height:390px;object-fit:cover}.feature-image.panorama img{height:300px}.feature-image.portrait img{height:530px}.icon-heading{display:flex;align-items:flex-start;gap:16px}.icon-heading svg,.three-points svg,.service-rows svg{width:42px;min-width:42px;height:42px;fill:none;stroke:#075da8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section-intro{max-width:720px;margin-bottom:52px}.section-intro.centered{text-align:center;margin:0 auto 54px}.three-points{display:grid;grid-template-columns:repeat(3,1fr)}.three-points article{padding:8px 46px}.three-points article+article{border-left:1px solid #d8dee6}.three-points svg{margin-bottom:18px}.three-points p{color:#59636e}.info-map{display:grid;grid-template-columns:4fr 8fr;gap:75px}.number-grid{display:grid;grid-template-columns:repeat(2,1fr)}.number-grid article{padding:8px 35px 38px;border-left:1px solid #d8dee6}.number-grid article:nth-child(n+3){padding-top:38px;border-top:1px solid #d8dee6}.number-grid span,.service-rows span,.case-label{color:#075da8;font-size:13px;font-weight:700;letter-spacing:.14em}.number-grid h3{margin:9px 0 12px}.gateway-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:45px}.gateway-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.gateway-cards article{background:#fff;padding-bottom:25px}.gateway-cards img{height:290px;object-fit:cover}.gateway-cards h3,.gateway-cards p{margin-left:25px;margin-right:25px}.gateway-cards h3{margin-top:22px}.practical{text-align:center}.practical-links{margin-top:44px;border-top:1px solid #d8dee6;text-align:left}.practical-links a{display:grid;grid-template-columns:220px 1fr 30px;gap:25px;align-items:center;min-height:92px;border-bottom:1px solid #d8dee6}.practical-links a:hover{color:#075da8;text-decoration:none}.practical-links b{font-size:21px}.cta-band{padding:82px max(28px,calc((100vw - 1200px)/2));background:#edf3f8;display:grid;grid-template-columns:7fr 5fr;gap:70px;align-items:center}.cta-band h2{max-width:720px}.cta-side,.cta-band>.button{justify-self:end}.cta-side p{margin:18px 0 0}.cta-side p>a,.phone-box>a{display:block;color:#123b75;font-size:23px;font-weight:700}.cta-side small,.phone-box small{display:block;color:#6d7680}.site-footer{max-width:1200px;margin:auto;padding:55px 0;display:flex;justify-content:space-between;gap:40px;border-top:1px solid #d8dee6}.footer-logo{font-weight:700;font-size:20px}.site-footer p{color:#6d7680;font-size:13px}.site-footer nav{display:flex;flex-wrap:wrap;gap:15px 24px;font-size:13px}.narrow{max-width:880px;margin:auto}.line-list{margin-top:48px;border-top:1px solid #d8dee6}.line-list article{display:grid;grid-template-columns:280px 1fr;gap:45px;padding:32px 0;border-bottom:1px solid #d8dee6}.data-list{margin:35px 0 0;border-top:1px solid #d8dee6}.data-list div{display:grid;grid-template-columns:160px 1fr;padding:20px 0;border-bottom:1px solid #d8dee6}.data-list dt{font-weight:700;color:#202327}.data-list dd{margin:0}.note{color:#6d7680;font-size:14px}.case-grid{display:grid;gap:90px}.case-card{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.case-card.reverse img{order:2}.case-card img{height:420px;object-fit:cover}.case-card ul{padding-left:1.25em}.service-details{display:grid;grid-template-columns:4fr 8fr;gap:70px}.service-rows article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:30px 0;border-top:1px solid #d8dee6}.service-rows article:last-child{border-bottom:1px solid #d8dee6}.service-rows h3{margin:5px 0}.contact-split{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}.contact-split .feature-image img{height:300px}.phone-box{margin-top:30px;padding:24px 0;border-top:1px solid #d8dee6;border-bottom:1px solid #d8dee6}.contact-form{padding:45px;background:#f5f8fb}.required-note{text-align:right;font-size:14px}.required-note span,.field label span{color:#075da8;font-size:13px;font-weight:700}.field{margin-bottom:24px}.field label{display:block;margin-bottom:7px;font-weight:700;color:#202327}.field input,.field select,.field textarea{width:100%;border:1px solid #aeb8c3;border-radius:0;background:#fff;padding:12px 14px;font:16px/1.6 inherit;color:#202327}.field textarea{resize:vertical}.submit{width:100%;border:0}.faq-section{display:grid;grid-template-columns:4fr 8fr;gap:70px}.faq-list{border-top:1px solid #d8dee6}.faq-list details{border-bottom:1px solid #d8dee6}.faq-list summary{position:relative;padding:28px 54px 28px 44px;color:#202327;font-weight:700;cursor:pointer;list-style:none}.faq-list summary:before{content:"Q";position:absolute;left:5px;color:#075da8;font-family:serif;font-size:23px}.faq-list summary:after{content:"＋";position:absolute;right:8px;color:#075da8}.faq-list details[open] summary:after{content:"−"}.faq-list details p{position:relative;margin:0;padding:0 42px 28px 44px}.faq-list details p:before{content:"A";position:absolute;left:6px;color:#075da8;font-family:serif;font-size:21px}
@media(max-width:1239px){.section,.site-footer{margin-left:24px;margin-right:24px}.global-nav{gap:15px;font-size:12px}.nav-contact{padding:0 14px}.hero-inner{width:calc(100% - 48px)}}
@media(min-width:768px) and (max-width:1023px){h2{font-size:29px}.site-header{height:76px;padding:0 24px}.logo{font-size:18px}.global-nav{gap:11px}.global-nav a{font-size:11px}.global-nav a:first-child{display:none}.nav-contact{min-height:44px;padding:0 11px}.home-hero,.page-hero{min-height:660px}.home-hero>img,.page-hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.83) 55%,rgba(255,255,255,0) 88%)}.hero-inner{padding-top:145px}.hero-inner>*{max-width:58%}.hero-inner h1,.page-hero .hero-inner h1{font-size:46px}.hero-lead{font-size:15px}.section{padding-top:84px;padding-bottom:84px}.split-section{grid-template-columns:1fr;gap:38px}.feature-image img{height:350px}.three-points article{padding:8px 22px}.info-map{grid-template-columns:5fr 7fr;gap:35px}.number-grid article{padding-left:20px;padding-right:15px}.service-details,.faq-section{grid-template-columns:1fr}.contact-split{gap:35px}.cta-band{gap:35px}.site-footer{display:block}.site-footer nav{margin-top:25px}}
@media(max-width:767px){body{font-size:16px;line-height:1.85}h2{font-size:26px;line-height:1.55}.site-header{position:relative;height:68px;padding:0 20px;background:#fff}.logo{font-size:17px}.nav-button{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer}.nav-button span{display:block;width:23px;height:2px;background:#202327}.global-nav{display:none;position:absolute;top:68px;left:0;width:100%;padding:15px 20px 22px;background:#fff;border-top:1px solid #d8dee6;box-shadow:0 8px 15px rgba(20,35,50,.08);flex-direction:column;align-items:stretch;gap:0}.global-nav a{padding:10px 4px;font-size:14px}.global-nav .nav-contact{margin-top:8px;padding:12px 16px;text-align:center;display:block}.nav-toggle:checked~.global-nav{display:flex}.nav-toggle:checked+.nav-button span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle:checked+.nav-button span:nth-child(2){opacity:0}.nav-toggle:checked+.nav-button span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.home-hero,.page-hero{min-height:690px}.home-hero>img,.page-hero>img{object-position:67% center}.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.84) 59%,rgba(255,255,255,.05) 100%)}.hero-inner{width:calc(100% - 40px);padding-top:88px}.hero-inner>*{max-width:100%}.hero-inner h1,.page-hero .hero-inner h1{font-size:38px;line-height:1.48;letter-spacing:.035em;margin-bottom:23px}.hero-lead{font-size:16px;line-height:1.8}.hero-lead br{display:none}.hero-actions{display:block}.hero-actions .button{width:100%}.hero-actions .text-link{display:inline-block;margin-top:20px}.button{min-height:50px;padding:12px 20px}.section,.site-footer{margin-left:20px;margin-right:20px;padding-top:64px;padding-bottom:64px}.soft{margin:0;padding-left:20px;padding-right:20px}.split-section,.info-map,.service-details,.faq-section,.contact-split{grid-template-columns:1fr;gap:35px}.split-section .feature-image{order:2}.hosted .text-link{display:block;margin-top:25px}.feature-image img,.feature-image.portrait img{height:280px}.feature-image.panorama img{height:230px}.three-points{grid-template-columns:1fr}.three-points article{position:relative;padding:28px 0 28px 58px;border-bottom:1px solid #d8dee6}.three-points article+article{border-left:0}.three-points svg{position:absolute;left:0;top:30px}.number-grid{grid-template-columns:1fr}.number-grid article,.number-grid article:nth-child(n+3){padding:25px 0;border-left:0;border-top:1px solid #d8dee6}.gateway-heading{grid-template-columns:1fr;gap:10px}.gateway-cards{grid-template-columns:1fr}.gateway-cards img{height:230px}.button.outline{width:100%}.practical{text-align:left}.practical-links a{grid-template-columns:1fr 25px;gap:4px;padding:20px 0}.practical-links strong,.practical-links span{grid-column:1}.practical-links b{grid-column:2;grid-row:1/3;align-self:center}.cta-band{padding:64px 20px;grid-template-columns:1fr;gap:25px;text-align:center}.cta-side,.cta-band>.button{justify-self:stretch}.cta-band .button{width:100%}.site-footer{display:block}.site-footer nav{display:grid;grid-template-columns:repeat(2,1fr);margin-top:25px}.line-list article{grid-template-columns:1fr;gap:3px}.data-list div{grid-template-columns:1fr;gap:5px}.case-card{grid-template-columns:1fr;gap:25px}.case-card.reverse img{order:0}.case-card img{height:260px}.service-rows article{grid-template-columns:50px 1fr}.contact-form{padding:25px 20px}.faq-list summary{padding-right:45px}.section-intro{margin-bottom:35px}.icon-heading{gap:12px}.icon-heading svg{width:37px;min-width:37px;height:37px}}
@media(max-width:390px){.hero-inner h1,.page-hero .hero-inner h1{font-size:35px}.home-hero,.page-hero{min-height:700px}.kicker{font-size:13px}.hero-lead{font-size:15px}.site-footer nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.map-frame.access-map-primary{position:relative;width:100%;min-width:0;margin:0;overflow:hidden}.map-frame.access-map-primary iframe{display:block;width:100%;min-height:420px;border:0}.generated-map-pin{position:absolute;left:50%;top:50%;z-index:2;width:34px;height:34px;pointer-events:none;transform:translate(-50%,-100%);border-radius:50% 50% 50% 0;background:#d93025;box-shadow:0 3px 10px rgba(0,0,0,.35);rotate:-45deg}.generated-map-pin>span{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.location-panel.access-map-panel{padding:0;overflow:hidden}.location-panel.access-map-panel .map-frame{height:100%}.location-panel.access-map-panel iframe{height:100%;min-height:420px}@media(max-width:768px){.map-frame.access-map-primary iframe,.location-panel.access-map-panel iframe{min-height:360px}}

/* generated-support-layout-guard-v2 */.generated-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),360px));justify-content:center;gap:18px;margin:24px 0 32px}.generated-support-media{width:100%;max-width:360px;margin:0;aspect-ratio:4/3;overflow:hidden}.generated-support-media img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:768px){.generated-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}}@media(max-width:520px){.generated-support-grid{grid-template-columns:1fr}.generated-support-media{max-width:none}}

.generated-category-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25em;height:2.25em;margin:0 .55em .25em 0;border:1px solid currentColor;border-radius:50%;vertical-align:middle;flex:0 0 auto}.generated-category-icon svg{display:block;width:1.15em;height:1.15em}.editorial-strip .triptych{grid-template-columns:repeat(4,minmax(0,1fr))!important}.editorial-strip .triptych>.statement{min-width:0;padding-inline:clamp(18px,2.2vw,30px)}.editorial-strip .triptych>.statement h2{width:100%;max-width:none;word-break:normal;overflow-wrap:normal}.generated-hero-long-line{font-size:clamp(2.25rem,3.6vw,2.875rem)!important;line-height:1.38!important;letter-spacing:0!important}@media(max-width:1100px){.editorial-strip .triptych{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:640px){.editorial-strip .triptych{grid-template-columns:1fr!important}}@media(max-width:640px){.generated-hero-long-line{font-size:clamp(1.65rem,7vw,2rem)!important;line-height:1.4!important}}@media(max-width:520px){.generated-category-icon{width:2em;height:2em;margin-right:.4em}}

.generated-business-info{padding:72px max(6vw,24px)}.generated-business-info dl{display:grid;grid-template-columns:max-content 1fr;gap:12px 28px;max-width:860px;margin:24px 0 0}.generated-business-info dt{font-weight:700}.generated-business-info dd{margin:0}.generated-business-info a{color:inherit}@media(max-width:600px){.generated-business-info{padding:52px 6vw}.generated-business-info dl{grid-template-columns:1fr;gap:4px}.generated-business-info dd{margin:0 0 14px}}
