:root{--blue:#0869d5;--blue-dark:#0751a9;--navy:#10214a;--ink:#172044;--sky:#c8eafa;--paper:#f8fbfd;--line:#cfd9e5;--yellow:#ffdf4a;--red:#f95566;--white:#fff;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:var(--white)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.065em}p{line-height:1.9}.wrap{width:min(1280px,calc(100% - 88px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}.demo-ribbon{height:27px;background:#112b5c;color:#fff;text-align:center;font-size:10px;line-height:27px;letter-spacing:.18em;position:relative;z-index:10}.demo-ribbon span{letter-spacing:.06em;margin-left:12px;opacity:.78}.site-header{height:84px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;position:absolute;top:27px;left:0;right:0;z-index:5;color:#fff}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-symbol{height:38px;width:38px;display:inline-flex;align-items:center;gap:3px;transform:rotate(-12deg)}.brand-symbol i{display:block;background:#fff;width:8px;height:28px;transform:skew(-10deg);border-radius:1px}.brand-symbol i:nth-child(2){height:36px}.brand-symbol i:nth-child(3){height:24px}.brand-word{display:flex;flex-direction:column;line-height:1}.brand-word strong{font-size:21px;letter-spacing:.03em;font-weight:900}.brand-word small{font-size:10px;letter-spacing:.5em;margin-top:6px}.global-nav{display:flex;gap:33px;align-items:center;font-size:13px;font-weight:800}.global-nav>a:not(.nav-contact){transition:opacity .2s}.global-nav>a:hover{opacity:.68}.nav-contact{border:1px solid #fff;padding:13px 18px 13px 21px;display:flex;align-items:center;gap:22px;transition:background .2s,color .2s}.nav-contact:hover{background:#fff;color:var(--blue)}.menu-toggle{display:none}.hero{height:min(790px,calc(100svh - 27px));min-height:620px;color:#fff;position:relative;overflow:hidden;background:var(--blue)}.hero-image,.hero-overlay,.hero-grid{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center center}.hero-overlay{background:linear-gradient(90deg,rgba(0,68,156,.52) 0%,rgba(0,67,155,.32) 35%,transparent 64%)}.hero-grid{opacity:.14;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#fff 0),linear-gradient(transparent calc(100% - 1px),#fff 0);background-size:25% 100%,100% 25%;mask-image:linear-gradient(90deg,#000,transparent 70%)}.hero-content{position:relative;z-index:2;padding-top:170px}.hero-eyebrow{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.2em;font-weight:900;margin-bottom:18px}.eyebrow-line{width:28px;height:2px;background:var(--yellow)}.hero-note{font-weight:900;font-size:clamp(17px,2vw,27px);line-height:1.32;margin:0 0 12px;text-shadow:0 1px 5px rgba(0,0,0,.08)}.hero h1{font-weight:900;font-size:clamp(48px,7vw,100px);line-height:1.2;margin:0 0 20px;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.05)}.hero h1 span{background:linear-gradient(transparent 75%,var(--yellow) 75%,var(--yellow) 91%,transparent 91%)}.hero-lead{font-size:16px;line-height:2;font-weight:700;margin-bottom:30px;text-shadow:0 2px 8px rgba(0,35,90,.25)}.hero-actions{display:flex;gap:29px;align-items:center}.button{min-height:58px;border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:0 25px;font-size:14px;font-weight:900;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,20,60,.14)}.button-white{background:#fff;color:var(--blue);min-width:226px}.button span{font-size:24px;font-weight:400}.text-link{border-bottom:1px solid #fff;padding:9px 0;font-size:13px;font-weight:800}.text-link span{margin-left:15px;font-size:18px}.hero-side-label{position:absolute;right:26px;top:118px;writing-mode:vertical-rl;letter-spacing:.24em;font-size:10px;font-weight:800;z-index:2}.hero-scroll{position:absolute;left:44px;bottom:23px;font-size:10px;letter-spacing:.2em;font-weight:900;z-index:2}.hero-scroll span{font-size:19px;margin-left:16px}.hero-corner{position:absolute;right:44px;bottom:25px;font-size:12px;letter-spacing:.18em;font-weight:800}.section{padding:106px 0}.section-kicker{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.15em;font-weight:900;color:var(--blue);margin-bottom:53px}.kicker-square{height:9px;width:9px;background:var(--blue);transform:rotate(-16deg)}.kicker-no{margin-left:auto;color:#93a8c1}.small-caps{font-size:14px;font-weight:800;letter-spacing:.05em}.intro{background:#fff}.intro-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:83px}.intro h2,.section-heading h2{font-size:clamp(40px,5vw,72px);line-height:1.33;margin-bottom:0;font-weight:900}.marker{background:linear-gradient(transparent 68%,var(--yellow) 68%,var(--yellow) 90%,transparent 90%)}.intro-copy{font-size:15px;font-weight:600;max-width:435px}.intro-copy p{margin-bottom:18px}.round-link{display:inline-flex;align-items:center;justify-content:space-between;min-width:225px;border-bottom:2px solid var(--blue);padding:12px 3px 10px;color:var(--blue);font-weight:900}.round-link span{font-size:23px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles article{min-height:235px;padding:29px 33px;position:relative}.principles article+article{border-left:1px solid var(--line)}.principle-index{font-size:11px;letter-spacing:.15em;color:var(--blue);font-weight:900}.principles strong{display:block;font-size:35px;letter-spacing:-.07em;margin:26px 0 7px}.principles p{font-size:13px;font-weight:600;margin:0}.principle-arrow{position:absolute;right:32px;top:29px;color:var(--blue);font-size:28px}.services{background:#ebf6fc;position:relative;overflow:hidden}.services::before{content:"";position:absolute;width:36vw;height:36vw;right:-12vw;top:-13vw;border:1px solid #cde8fa;border-radius:50%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px;position:relative}.section-heading>p{max-width:330px;font-weight:700;font-size:14px;margin:0 0 8px}.section-heading h2 span{color:var(--blue)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative}.service-card{background:#fff;min-height:320px;padding:24px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(12,82,148,.12)}.service-top{display:flex;justify-content:space-between;align-items:start;color:var(--blue);font-size:11px;font-weight:900}.service-icon{font-family:Arial,sans-serif;font-size:59px;font-weight:300;line-height:1}.service-card h3{font-size:22px;line-height:1.5;margin:58px 0 11px}.service-card p{font-size:13px;font-weight:600;margin:0 0 18px}.service-en{font-size:10px;letter-spacing:.12em;color:#7195bb;font-weight:900;margin-top:auto}.service-note{color:#6b8195;font-size:11px;margin:17px 0 0}.statement{background:#0767cd;color:#fff;position:relative;overflow:hidden}.statement-lines{position:absolute;inset:0;opacity:.11;background:repeating-linear-gradient(135deg,transparent 0 70px,#fff 71px 72px)}.statement-inner{position:relative;padding:93px 0 108px}.statement-small{font-size:12px;letter-spacing:.2em;font-weight:800}.statement h2{font-size:clamp(46px,6vw,86px);line-height:1.3;margin:27px 0 20px}.statement h2 em{font-style:normal;color:var(--yellow)}.statement p{font-weight:800;margin:0}.statement-stamp{position:absolute;right:5%;top:74px;width:120px;height:120px;border:2px solid #fff;border-radius:50%;transform:rotate(13deg);display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px;font-weight:900;line-height:1.1;letter-spacing:.08em}.flow{background:#fff}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}.flow-step{min-height:284px;padding:21px 37px 25px 0;position:relative}.flow-step+.flow-step{padding-left:35px;border-left:1px solid var(--line)}.flow-num{font-size:12px;font-weight:900;color:var(--blue)}.flow-art{font-family:Arial,sans-serif;color:var(--blue);font-size:76px;font-weight:300;height:110px;line-height:1.35}.flow-step h3{font-size:22px;margin-bottom:7px}.flow-step p{font-size:13px;font-weight:600;margin:0}.faq{background:#e7f5fc}.faq-layout{display:grid;grid-template-columns:.43fr .57fr;gap:75px}.faq h2{font-size:clamp(50px,5.5vw,80px);line-height:1.22;margin-bottom:24px}.faq-dot{color:var(--red)}.faq-layout>div:first-child>p{font-size:14px;font-weight:700}.faq-list{border-top:1px solid #9dcbe2}.faq-list details{border-bottom:1px solid #9dcbe2}.faq-list summary{display:flex;gap:16px;align-items:center;padding:23px 0;cursor:pointer;list-style:none;font-weight:800;font-size:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--blue);font-size:19px}.faq-list summary b{margin-left:auto;font-size:24px;font-weight:400;transition:transform .2s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{margin:0 33px 20px;font-size:13px;font-weight:600}.contact{background:#0d2554;color:#fff;position:relative;overflow:hidden}.contact::after{content:"";position:absolute;width:55vw;height:55vw;right:-30vw;top:-10vw;border:1px solid rgba(255,255,255,.15);border-radius:50%;pointer-events:none}.contact .section-kicker{color:#83d8ff}.contact .kicker-square{background:#83d8ff}.contact .kicker-no{color:#83d8ff}.contact-layout{display:grid;grid-template-columns:1fr 480px;gap:85px;position:relative;z-index:1}.contact-intro h2{font-size:clamp(43px,5vw,69px);line-height:1.35;margin:20px 0 25px}.contact-intro h2 span{color:var(--yellow)}.contact-intro>p:not(.small-caps){font-weight:700;font-size:14px}.contact-tag{display:inline-flex;gap:25px;align-items:center;background:#fff;color:var(--blue);padding:11px 15px;font-size:12px;font-weight:900;margin:20px 0 38px;transform:rotate(-2deg)}.contact-tag span{font-size:18px}.line-button{display:flex;align-items:center;gap:17px;width:280px;padding:12px 15px;border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;text-align:left;font-size:14px;font-weight:900;line-height:1.2}.line-button:hover{background:rgba(255,255,255,.12)}.line-button small{font-size:11px;font-weight:400}.line-button>span:last-child{margin-left:auto;font-size:21px}.line-badge{background:#06c755;color:#fff;padding:12px 5px;border-radius:50%;font-size:11px}.form-panel{background:#fff;color:var(--ink);padding:34px 36px}.form-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:26px}.form-heading span{font-size:11px;letter-spacing:.13em;color:var(--blue);font-weight:900}.form-heading strong{font-size:26px;letter-spacing:-.06em}.form-panel label{display:block;font-size:13px;font-weight:900;margin-bottom:18px}.form-panel label em{font-style:normal;background:#f4dae0;color:#bd2850;padding:3px 6px;margin-left:7px;font-size:10px}.form-panel input,.form-panel textarea{width:100%;display:block;border:1px solid #d1dce7;background:#f8fbfd;border-radius:0;padding:13px 14px;margin-top:8px;outline:0;color:var(--ink);font-size:14px}.form-panel input:focus,.form-panel textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,105,213,.13)}.form-panel textarea{resize:vertical}.form-disclaimer{font-size:11px;line-height:1.6;color:#657e98}.button-blue{background:var(--blue);color:#fff;width:100%}.form-status{margin:12px 0 0;font-size:12px;color:var(--blue);font-weight:700;min-height:1.2em}.site-footer{background:#071938;color:#c7d8ee;padding:47px 0 32px}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:40px}.footer-brand{display:flex;align-items:center;gap:9px;color:#fff}.footer-brand strong{font-size:22px;letter-spacing:.04em}.footer-brand small{font-size:10px;margin-left:5px}.footer-brand .brand-symbol{transform:scale(.8) rotate(-12deg);margin-right:-6px}.back-top{font-size:11px;letter-spacing:.13em;font-weight:900}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:11px}.footer-bottom p{margin:0}.chat-launcher{position:fixed;right:23px;bottom:22px;z-index:20;display:flex;gap:8px;align-items:center;border:0;border-radius:50px;background:var(--yellow);color:var(--navy);padding:13px 20px;font-size:13px;font-weight:900;box-shadow:0 8px 25px rgba(0,20,50,.25)}.chat-icon{font-size:17px}.chat-panel{position:fixed;z-index:21;right:22px;bottom:80px;width:min(360px,calc(100vw - 32px));background:#fff;color:var(--ink);box-shadow:0 18px 65px rgba(0,20,50,.28);border:1px solid #bfd8ec}.chat-panel[hidden]{display:none}.chat-head{background:var(--blue);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:17px 19px}.chat-head div{display:flex;flex-direction:column;gap:4px}.chat-head small{font-size:10px;letter-spacing:.14em}.chat-head strong{font-size:16px}.chat-close,.dialog-close{border:0;background:transparent;color:inherit;font-size:28px;line-height:1}.chat-body{height:225px;overflow:auto;padding:17px;background:#f4faff;display:flex;flex-direction:column;gap:12px}.bot-message,.user-message{font-size:13px;line-height:1.65;padding:11px 13px;max-width:88%}.bot-message{background:#fff;border:1px solid #e3edf6;align-self:flex-start}.user-message{background:#d9efff;align-self:flex-end}.chat-options{display:flex;gap:6px;flex-wrap:wrap;padding:13px 15px 3px}.chat-options button{border:1px solid var(--blue);background:#fff;color:var(--blue);padding:7px 9px;font-size:11px;font-weight:800}.chat-options button:hover{background:#e7f5fc}.chat-note{margin:0;padding:9px 15px 14px;font-size:10px;color:#6b8195;line-height:1.4}.line-dialog{border:0;width:min(460px,calc(100vw - 30px));padding:36px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.line-dialog::backdrop{background:rgba(3,18,48,.6)}.dialog-close{position:absolute;right:16px;top:13px}.line-dialog-icon{display:inline-block;background:#06c755;color:#fff;font-weight:900;padding:13px 8px;border-radius:50%;font-size:12px}.line-dialog h2{font-size:25px;margin:18px 0 12px}.line-dialog p{font-size:14px;margin-bottom:23px}.line-dialog .button{justify-content:center}
@media(max-width:1100px){.site-header{padding:0 27px}.global-nav{gap:16px;font-size:11px}.wrap{width:min(100% - 54px,1280px)}.hero-content{padding-top:155px}.hero h1{font-size:clamp(46px,7vw,78px)}.service-card h3{font-size:19px}.service-card{padding:19px}.contact-layout{grid-template-columns:1fr 430px;gap:42px}}
@media(max-width:800px){.site-header{height:70px;top:27px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);background:transparent;flex-direction:column;justify-content:center;gap:6px;align-items:center;color:#fff;z-index:9}.menu-toggle span{width:19px;height:2px;background:#fff;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.global-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#0c55b0;padding:25px 28px;flex-direction:column;align-items:stretch;gap:0;font-size:15px;box-shadow:0 15px 25px rgba(0,20,50,.2)}.global-nav.is-open{display:flex}.global-nav>a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.3)}.global-nav .nav-contact{margin-top:17px;padding:14px;border:1px solid #fff;justify-content:space-between}.hero{min-height:670px;height:730px}.hero-image{object-position:56% center}.hero-overlay{background:linear-gradient(90deg,rgba(0,64,148,.8) 0%,rgba(0,65,146,.45) 60%,rgba(0,65,146,.05) 100%)}.hero h1{font-size:clamp(43px,7vw,66px)}.hero-side-label{display:none}.intro-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:28px}.intro-layout{margin-bottom:52px}.intro-copy{max-width:650px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{gap:50px}.form-panel{max-width:600px}.section{padding:82px 0}.statement-stamp{right:0;top:40px;width:90px;height:90px;font-size:15px}}
@media(max-width:600px){.demo-ribbon{font-size:8px;height:24px;line-height:24px;letter-spacing:.08em}.demo-ribbon span{margin-left:5px}.wrap{width:calc(100% - 34px)}.site-header{top:24px;padding:0 18px}.brand-symbol{height:31px;width:31px;gap:2px}.brand-symbol i{width:6px;height:23px}.brand-symbol i:nth-child(2){height:31px}.brand-symbol i:nth-child(3){height:21px}.brand-word strong{font-size:17px}.brand-word small{font-size:8px;letter-spacing:.38em}.hero{height:calc(100svh - 24px);min-height:730px;max-height:860px}.hero-image{object-position:60% center}.hero-overlay{background:linear-gradient(180deg,rgba(0,64,148,.33) 0%,rgba(0,64,148,.45) 28%,rgba(0,58,142,.86) 63%,rgba(0,55,138,.86) 100%)}.hero-content{padding-top:120px}.hero-eyebrow{font-size:9px}.hero-note{font-size:18px;margin-top:27px}.hero h1{font-size:clamp(41px,10.5vw,58px);line-height:1.27;margin:15px 0}.hero-lead{font-size:13px;line-height:1.85}.hero-lead br{display:none}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.button-white{min-width:216px}.hero-scroll{left:17px;bottom:18px;font-size:9px}.hero-corner{right:17px;bottom:21px;font-size:10px}.section{padding:68px 0}.section-kicker{font-size:10px;margin-bottom:34px}.small-caps{font-size:12px}.intro h2,.section-heading h2{font-size:clamp(35px,9vw,48px)}.intro-layout{gap:27px}.intro-copy{font-size:13px}.principles{display:block}.principles article{min-height:160px;padding:20px 12px}.principles article+article{border-left:0;border-top:1px solid var(--line)}.principles strong{margin:16px 0 5px;font-size:29px}.principles p{font-size:12px}.principle-arrow{right:10px;top:18px}.section-heading{display:block;margin-bottom:31px}.section-heading>p{font-size:12px;margin-top:15px}.service-grid{gap:8px}.service-card{min-height:285px;padding:15px}.service-icon{font-size:45px}.service-card h3{font-size:17px;margin-top:45px}.service-card p{font-size:11px;line-height:1.75}.service-en{font-size:8px}.service-note{font-size:10px}.statement-inner{padding:73px 0 86px}.statement-small{font-size:9px}.statement h2{font-size:clamp(37px,9.5vw,56px);margin:24px 0}.statement p{font-size:12px}.statement-stamp{top:auto;right:0;bottom:20px;width:62px;height:62px;font-size:10px}.flow-grid{display:block}.flow-step,.flow-step+.flow-step{min-height:0;padding:17px 0 24px;border-left:0;border-bottom:1px solid var(--line)}.flow-art{height:76px;font-size:55px}.flow-step h3{font-size:20px}.flow-step p{font-size:12px}.faq-layout{gap:20px}.faq h2{font-size:52px}.faq-list summary{font-size:13px;gap:9px;padding:17px 0}.faq-list details p{font-size:12px;margin:0 8px 18px}.contact-intro h2{font-size:clamp(38px,9vw,54px)}.contact-tag{font-size:11px}.form-panel{padding:25px 18px}.footer-top{align-items:flex-start}.footer-brand{flex-wrap:wrap}.footer-brand strong{font-size:17px}.footer-brand small{width:100%;margin-left:45px}.footer-bottom{display:block;font-size:10px}.footer-bottom span{display:block;margin-top:16px}.chat-launcher{right:12px;bottom:11px;padding:11px 14px;font-size:12px}.chat-panel{right:10px;bottom:67px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.global-nav{background:rgba(5,68,145,.76);backdrop-filter:blur(9px);padding:7px 7px 7px 19px}.intro-copy{font-size:16px}.principles p,.section-heading>p,.service-card p,.flow-step p,.faq-layout>div:first-child>p,.faq-list details p,.contact-intro>p:not(.small-caps){font-size:15px}.service-card p,.flow-step p{line-height:1.75}.service-note,.form-disclaimer,.footer-bottom,.chat-note{font-size:12px}
@media(max-width:800px){.global-nav{padding:25px 28px}}
@media(max-width:600px){.intro-copy{font-size:15px}.principles p,.section-heading>p,.service-card p,.flow-step p,.faq-list details p,.contact-intro>p:not(.small-caps){font-size:14px}.service-card h3{margin-top:32px}.service-card{min-height:308px}.service-note,.form-disclaimer,.footer-bottom{font-size:12px}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card{min-height:218px;padding:20px}.service-card h3{margin:23px 0 8px;font-size:20px}.service-card p{max-width:310px}.service-icon{font-size:49px}}
