:root{--navy:#092a52;--blue:#1466b8;--ink:#17212b;--muted:#536271;--line:#dbe3e9;--pale:#f3f6f8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--ink);font-family:var(--font-inter),Arial,sans-serif;margin:0;font-size:16px;line-height:1.65}.japanese{font-family:var(--font-noto-jp),sans-serif}.container{width:min(1160px,100% - 48px);margin:auto}.header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1280px,100% - 48px);height:78px;margin:auto;display:flex}.brand{flex:none;width:170px;display:block}.brand img{width:100%;height:auto;display:block}.desktop-nav{align-items:center;gap:23px;margin-left:auto;display:flex}.desktop-nav a,.language a{color:var(--ink);font-size:.86rem;text-decoration:none}.desktop-nav a:hover,.language a:hover,.language .active{color:var(--blue)}.header-actions,.language{align-items:center;gap:9px;display:flex}.language{white-space:nowrap;font-size:.85rem}.button{background:var(--blue);border:1px solid var(--blue);color:#fff;min-height:48px;font:600 .92rem/1 var(--font-inter),sans-serif;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:12px 20px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.button:hover{background:var(--navy);border-color:var(--navy)}.button-small{min-height:38px;padding:9px 13px;font-size:.78rem}.menu-button{cursor:pointer;background:0 0;border:0;width:42px;height:42px;padding:10px;display:none}.menu-button span{background:var(--navy);height:2px;margin:5px 0;display:block}.mobile-nav{display:none}.hero{background:linear-gradient(120deg,#fff 0% 55%,#f1f6fb 100%);padding:110px 0 96px;overflow:hidden}.hero-grid,.split,.contact-grid,.japan-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:76px;display:grid}.eyebrow,.section-kicker{letter-spacing:.13em;color:var(--blue);font-size:.76rem;font-weight:700}.hero h1,h2,h3{letter-spacing:-.035em;line-height:1.12}.hero h1{max-width:700px;color:var(--navy);margin:14px 0 25px;font-size:clamp(2.6rem,5.1vw,5rem)}.hero-intro{max-width:650px;font-size:1.22rem;font-weight:500}.hero-detail{max-width:650px;color:var(--muted)}.button-row{align-items:center;gap:25px;margin-top:32px;display:flex}.text-link{color:var(--navy);font-weight:700;text-decoration:none}.flow-art{background:linear-gradient(135deg,#ffffffd9,#daeaf7b3);border:1px solid #ccdce9;min-height:380px;position:relative;overflow:hidden}.flow-panel{background:#ffffffad;border:1px solid #b9cddd;position:absolute;box-shadow:0 20px 40px #092a5214}.panel-a{width:43%;height:42%;top:18%;left:15%}.panel-b{width:38%;height:35%;bottom:16%;right:10%}.flow-node{z-index:2;background:var(--blue);width:16px;height:16px;box-shadow:0 0 0 1px var(--blue);border:4px solid #fff;border-radius:50%;position:absolute}.node-a{top:39%;left:27%}.node-b{top:54%;left:52%}.node-c{bottom:31%;right:28%}.flow-line{background:var(--blue);transform-origin:0;height:2px;position:absolute}.line-a{width:31%;top:41%;left:28%;transform:rotate(25deg)}.line-b{width:27%;top:55%;left:53%;transform:rotate(-27deg)}.positioning{background:var(--navy);color:#fff}.positioning .container{justify-content:space-between;gap:16px;padding:21px 0;display:flex}.positioning span{font-size:.82rem;font-weight:600}.positioning span:not(:last-child):after{content:"•";color:#84b6e7;padding-left:16px}.section{padding:112px 0;scroll-margin-top:94px}.surface{background:var(--pale)}h2{color:var(--navy);margin:10px 0 0;font-size:clamp(2rem,3.8vw,3.55rem)}.prose{color:var(--muted);font-size:1.05rem}.prose p:first-child{margin-top:0}.questions{border-left:3px solid var(--blue);color:var(--navy);margin:27px 0;padding-left:21px;font-size:1.17rem;font-weight:600}.section-heading{max-width:785px}.section-heading>p{color:var(--muted)}.problem-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;display:grid}.problem-card{border:1px solid var(--line);background:#fff;padding:27px}.problem-card:last-child{grid-column:2}.problem-card span,.service>span{color:var(--blue);letter-spacing:.1em;font-size:.75rem;font-weight:700}.problem-card h3,.service h3,.contact h3{color:var(--navy);margin:16px 0 10px;font-size:1.15rem}.problem-card p,.service p{color:var(--muted);margin:0;font-size:.94rem}.closing{color:var(--navy);margin:35px 0 0;font-size:1.18rem;font-weight:600}.service-list{border-top:1px solid var(--line);margin-top:48px}.service{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;gap:22px;padding:33px 0;display:grid}.service h3{margin-top:0;font-size:1.45rem}.service p+p{margin-top:12px}.process{background:var(--navy);color:#fff}.process h2{color:#fff}.process .section-kicker{color:#87bde9}.process ol{grid-template-columns:repeat(4,1fr);gap:25px;margin:55px 0 0;padding:0;list-style:none;display:grid}.process li{position:relative}.process li:not(:last-child):after{content:"";background:#5d88b3;width:calc(100% - 10px);height:1px;position:absolute;top:13px;left:22px}.process i{z-index:1;background:#fff;border:7px solid #3c7db8;border-radius:50%;width:27px;height:27px;display:block;position:relative}.process h3{color:#fff;margin:22px 0 9px;font-size:1.16rem}.process p{color:#d3e1ec;margin:0;font-size:.93rem}.japan{background:linear-gradient(135deg,#eaf3fa,#fff 60%);border-block:1px solid #d5e2eb}.japan-grid{align-items:start}.japan h2{margin-bottom:25px}.japan p{color:var(--muted)}.cities{font-size:1.25rem;font-weight:700;color:var(--navy)!important;margin:17px 0 27px!important}.japan ul{color:var(--navy);grid-template-columns:1fr 1fr;gap:8px 25px;padding:0;font-size:.92rem;list-style:none;display:grid}.japan li:before{content:"—";color:var(--blue);margin-right:8px}.japan-detail{padding-top:74px}.start-card{background:var(--navy);color:#fff;margin-top:32px;padding:30px}.start-card h3{color:#fff;margin:0 0 15px;font-size:1.35rem}.start-card p{color:#dcebf7}.button-light{color:var(--navy);background:#fff;border-color:#fff}.button-light:hover{background:#dcebf7;border-color:#dcebf7}.contact-grid{align-items:start}.contact p{color:var(--muted);max-width:530px}.availability{border-block:1px solid var(--line);padding:17px 0;font-weight:600;color:var(--navy)!important}.contact h3{margin:0 0 19px;font-size:1.35rem}.contact-form{gap:17px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}label{color:var(--navy);gap:7px;font-size:.85rem;font-weight:600;display:grid}input,select,textarea{width:100%;color:var(--ink);font:400 1rem var(--font-inter),sans-serif;background:#fff;border:1px solid #b7c6d0;border-radius:2px;padding:11px 12px}textarea{resize:vertical}.form-note{font-size:.88rem;color:var(--blue)!important;margin:0!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #67a8df}footer{background:var(--ink);color:#c5d1db;padding:27px 0;font-size:.82rem}footer .container{justify-content:space-between;gap:20px;display:flex}footer p{margin:0}@media (max-width:1000px){.desktop-nav,.header-cta{display:none}.menu-button{display:block}.mobile-nav{border-bottom:1px solid var(--line);background:#fff;padding:18px 24px 23px;position:absolute;top:78px;left:0;right:0;box-shadow:0 12px 20px #092a5214}.mobile-nav.open{gap:14px;display:grid}.mobile-nav a:not(.button){color:var(--navy);font-weight:600;text-decoration:none}.hero-grid,.split,.contact-grid,.japan-grid{gap:45px}.hero{padding:82px 0}.problem-grid{grid-template-columns:repeat(2,1fr)}.problem-card:last-child{grid-column:auto}.process ol{grid-template-columns:1fr 1fr;row-gap:36px}.process li:nth-child(2):after{display:none}.japan-detail{padding-top:0}}@media (max-width:700px){.container,.header-inner{width:min(100% - 32px,560px)}.header-inner{height:67px}.brand{width:145px}.language{font-size:.78rem}.menu-button{display:block}.mobile-nav{border-bottom:1px solid var(--line);background:#fff;padding:18px 16px 23px;position:absolute;top:67px;left:0;right:0;box-shadow:0 12px 20px #092a5214}.mobile-nav.open{gap:14px;display:grid}.mobile-nav a:not(.button){color:var(--navy);font-weight:600;text-decoration:none}.hero{padding:64px 0 55px}.hero-grid,.split,.contact-grid,.japan-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(2.35rem,11vw,3.2rem)}.hero-intro{font-size:1.08rem}.flow-art{min-height:245px}.positioning .container{flex-wrap:wrap;justify-content:center;gap:7px 0;padding:14px 0;display:flex}.positioning span{font-size:.7rem}.positioning span:not(:last-child):after{padding-left:8px}.section{padding:70px 0;scroll-margin-top:82px}.problem-grid{grid-template-columns:1fr;margin-top:32px}.problem-card{padding:23px}.service-list{margin-top:32px}.service{grid-template-columns:45px 1fr;gap:14px;padding:27px 0}.service h3{font-size:1.2rem}.process ol{grid-template-columns:1fr;gap:28px;margin-top:35px}.process li:not(:last-child):after{width:1px;height:calc(100% + 8px);display:block;top:24px;left:13px}.japan ul,.form-grid{grid-template-columns:1fr}footer .container{display:block}footer p+p{margin-top:8px}.button-row{flex-wrap:wrap;gap:18px}.japanese h1{letter-spacing:-.06em;font-size:2.15rem}.japanese .hero-detail{font-size:.94rem}}@media (max-width:360px){.header-inner{gap:8px}.brand{width:120px}.header-actions{gap:4px}.language{gap:4px;font-size:.72rem}.menu-button{width:40px;padding:9px}}.field-error{color:#a51d2d;font-size:.82rem;font-weight:600}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a51d2d}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}@media (max-width:700px){.hero h1{font-size:clamp(2.05rem,9vw,2.8rem)}.japanese h1{font-size:clamp(1.95rem,8.6vw,2.5rem)}.process li{grid-template-columns:27px minmax(0,1fr);align-items:start;column-gap:16px;display:grid}.process li:not(:last-child):after{height:calc(100% + 28px);top:13px;left:13px}.process i{grid-column:1}.process li>div{grid-column:2;min-width:0}.process h3{margin:0 0 9px}}.skip-link{z-index:100;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;color:var(--navy);background:#fff;border:0;padding:0;font-weight:700;text-decoration:none;position:fixed;top:12px;left:12px;overflow:hidden}.skip-link:focus{clip-path:none;border:2px solid var(--navy);outline-offset:3px;outline:3px solid #67a8df;width:auto;height:auto;padding:10px 14px;overflow:visible}
