@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--ink:#102239;--muted:#607080;--teal:#087b83;--pale:#eff5f4;--line:#d7e1e0;--cream:#f8faf9;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}.skip{position:fixed;left:12px;top:-50px;background:#fff;padding:8px;z-index:10}.skip:focus{top:12px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,78px);position:absolute;z-index:2;width:100%}.logo{font:bold 24px/1 var(--mono);letter-spacing:-1.5px;position:relative}.logo-node{color:var(--teal)}.logo i{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%;margin:0 0 15px 3px}.site-header nav{display:flex;gap:28px;align-items:center;font:11px var(--mono);letter-spacing:.08em}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--teal)}.nav-contact,.button{background:var(--ink);color:white!important;padding:12px 18px;display:inline-flex;gap:18px;align-items:center}.nav-contact span,.button span{color:#55d6cf;font-size:17px}.menu-button{display:none}.section-grid{padding-left:clamp(24px,9vw,150px);padding-right:clamp(24px,9vw,150px)}.hero{min-height:760px;padding-top:190px;position:relative;overflow:hidden;background:linear-gradient(120deg,#f8faf9 30%,#edf5f3)}.hero-copy{position:relative;z-index:1;max-width:800px}.eyebrow{font:11px var(--mono);letter-spacing:.12em;color:var(--teal);margin:0 0 25px}.hero h1,h2{font-size:clamp(35px,4.4vw,65px);line-height:1.36;letter-spacing:-.05em;margin:0;font-weight:600}.hero h1 em,h2 em{font-style:normal;color:var(--teal)}.hero-lead{font-size:20px;line-height:1.7;font-weight:600;margin:32px 0 14px}.hero-description{max-width:610px;font-size:14px;color:#445465;line-height:2}.actions{display:flex;gap:26px;align-items:center;margin-top:34px}.button{font-size:14px;border:0;cursor:pointer;font-family:inherit;transition:transform .2s}.button:hover{transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding:6px 0}.text-link span{margin-left:13px;color:var(--teal)}#nodes{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.hero-marker{position:absolute;right:10%;bottom:65px;display:flex;align-items:center;gap:12px;font:11px var(--mono);color:#506473}.hero-marker span,.node-dot{width:10px;height:10px;border-radius:50%;background:var(--teal);display:block}.problems,.services,.company{padding-top:130px;padding-bottom:130px;background:white}.section-heading{max-width:780px}.problem-list{margin-top:70px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.problem-list article{padding:25px 24px 30px 0;border-bottom:1px solid var(--line);margin-right:22px;min-height:205px}.problem-list b,.strength-map i{font:11px var(--mono);color:var(--teal);font-style:normal}.problem-list h3{font-size:18px;line-height:1.6;margin:18px 0 9px}.problem-list p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.problem-close{margin-top:75px;padding:35px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:30px 1fr 50px;gap:22px;align-items:center}.problem-close h3{font-size:20px;margin:0 0 6px}.problem-close p{font-size:13px;color:var(--muted);margin:0}.circle-link{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:20px}.about{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:var(--pale)}.about-visual{height:410px;position:relative;display:grid;place-items:center}.ring{position:absolute;border:1px solid #bbd4d1;border-radius:50%}.r1{width:125px;height:125px}.r2{width:255px;height:255px}.r3{width:390px;height:390px;border-style:dashed}.center-node{height:16px;width:16px;background:var(--teal);border-radius:50%;z-index:1}.about-visual small{position:absolute;bottom:0;font:11px var(--mono);color:var(--teal)}.rich-copy{font-size:14px;color:#435465;margin-top:35px;max-width:550px}.rich-copy strong{color:var(--ink);font-weight:600}.connect{font:14px var(--mono);color:var(--teal);margin-top:26px}.strength{background:#10283b;color:#f5f9f8;padding-top:130px;padding-bottom:130px}.strength .eyebrow{color:#5ed2cc}.strength h2 em{color:#79ddd4}.strength-map{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;position:relative}.strength-map:before{content:"";position:absolute;left:9%;right:9%;top:41px;border-top:1px solid #52818a}.strength-map article{position:relative;padding-right:25px}.strength-dot{display:block;width:16px;height:16px;background:#6de0d7;border:4px solid #10283b;outline:1px solid #6de0d7;border-radius:50%;margin:21px 0}.strength-map h3{font-size:25px;margin:0 0 9px}.strength-map p{font-size:13px;line-height:1.8;color:#bad0d3}.services{display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.service-list{border-top:1px solid var(--line)}.service-list article{padding:21px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:185px 1fr;gap:8px}.service-list p{font:10px var(--mono);color:var(--teal);margin:4px 0}.service-list h3{font-size:18px;margin:0;grid-column:2}.service-list span{font-size:13px;line-height:1.75;color:var(--muted);grid-column:2}.partner{background:var(--teal);color:white;padding-top:120px;padding-bottom:65px;display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.partner .eyebrow{color:#b8f0e8}.partner h2 em{color:#b8f0e8}.partner-content>p:not(.eyebrow){font-size:14px;line-height:2;color:#def3f0;max-width:610px;margin:27px 0}.light-button{background:white;color:var(--ink)!important}.light-button span{color:var(--teal)}.partner-points{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-self:end}.partner-points article{border-top:1px solid #75bdb9;padding:18px 0 22px;display:flex;flex-direction:column;gap:5px}.partner-points b{font-size:17px}.partner-points span{font-size:12px;line-height:1.75;color:#d3eeeb}.partner-message{grid-column:1/-1;border-top:1px solid #75bdb9;padding-top:25px;margin:60px 0 0;font-size:16px}.technology{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:white}.technology>div>p:last-child{font-size:14px;color:var(--muted);max-width:420px;margin-top:26px}.tech-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-content:center}.tech-list li{font:12px var(--mono);padding:10px 13px;border:1px solid var(--line);border-radius:30px;color:#365364}.reliability{background:#e8efee;padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.reliability .eyebrow{grid-column:1/-1;margin-bottom:0}.reliability h2{font-size:clamp(34px,4vw,58px)}.reliability>div{font-size:15px;color:#445767}.approach{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:white}.flow{display:flex;align-items:center;justify-content:space-between;margin:55px 0 35px}.flow span{font-size:14px;white-space:nowrap}.flow i{width:28px;height:1px;background:var(--teal);position:relative}.flow i:after{content:"";position:absolute;right:0;top:-2px;border:3px solid transparent;border-left-color:var(--teal)}.approach>div:last-child>p{font-size:14px;color:var(--muted);line-height:2}.company{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#f3f7f6}.company h2{font-size:40px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:120px 1fr;border-top:1px solid #cddbd9;padding:17px 0}.company dl>div:last-child{border-bottom:1px solid #cddbd9}.company dt{font:11px var(--mono);color:var(--teal)}.company dd{margin:0;font-size:14px}.company dd small{font:11px var(--mono);color:var(--muted);margin-left:8px}.contact{padding-top:120px;padding-bottom:120px;background:#10283b;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact .eyebrow{color:#78dcd4}.contact h2 em{color:#78dcd4}.contact>div>p:last-child{font-size:14px;color:#c2d7d8;max-width:470px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.contact label{font-size:12px;color:#cbdbdc;display:flex;flex-direction:column;gap:5px}.contact input,.contact textarea{background:transparent;border:0;border-bottom:1px solid #66858c;color:white;padding:9px 0;font:14px inherit;border-radius:0;outline-offset:4px}.contact textarea{resize:vertical}.contact .full{grid-column:1/-1}.check{display:flex!important;flex-direction:row!important;align-items:center}.check input{accent-color:#5ed2cc}.form-message{font-size:12px;color:#a6e4df;margin:0}footer{background:#0c1d2e;color:white;padding:38px clamp(24px,9vw,150px);display:flex;align-items:center;justify-content:space-between}footer p,footer small{font-size:11px;color:#a5b6c0;margin:0}@media(max-width:800px){.site-header{height:72px;padding:0 24px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f8faf9;padding:25px;flex-direction:column;align-items:flex-start;gap:20px;box-shadow:0 15px 25px #10223918}.site-header nav.open{display:flex}.menu-button{display:grid;border:0;background:transparent;padding:8px;gap:5px}.menu-button span{width:22px;height:1px;background:var(--ink)}.hero{min-height:680px;padding-top:145px}.hero h1{font-size:37px}.hero-lead{font-size:17px}.hero-marker{bottom:30px;right:24px}.problem-list{grid-template-columns:1fr 1fr;margin-top:45px}.problem-list article{min-height:190px;margin-right:16px}.problem-close{grid-template-columns:20px 1fr}.circle-link{display:none}.about,.services,.technology,.reliability,.approach,.company,.contact{grid-template-columns:1fr;gap:45px;padding-top:85px;padding-bottom:85px}.about-visual{height:310px;grid-row:2}.r3{width:300px;height:300px}.strength{padding-top:85px;padding-bottom:85px}.strength-map{grid-template-columns:1fr 1fr;gap:30px;margin-top:45px}.strength-map:before{display:none}.partner{grid-template-columns:1fr;padding-top:85px}.partner-points{margin-top:10px}.flow{flex-wrap:wrap;gap:12px}.flow i{width:15px}.contact form{gap:16px}.contact>div>p:last-child{margin-bottom:0}}@media(max-width:480px){.section-grid{padding-left:22px;padding-right:22px}.hero{min-height:680px}.hero h1{font-size:32px}.hero-description{font-size:13px}.actions{flex-direction:column;align-items:flex-start;gap:18px}.problem-list{grid-template-columns:1fr}.problem-list article{margin:0;min-height:auto}.problem-close{margin-top:45px}.about-visual{height:260px}.r2{width:205px;height:205px}.r3{width:255px;height:255px}.strength-map{grid-template-columns:1fr}.partner-points{grid-template-columns:1fr}.service-list article{grid-template-columns:1fr;gap:4px}.service-list h3,.service-list span{grid-column:1}.technology h2,.reliability h2,.company h2{font-size:33px}.company dl>div{grid-template-columns:90px 1fr}.contact form{grid-template-columns:1fr}.contact label{grid-column:1/-1}footer{padding:30px 22px;align-items:flex-start;gap:17px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
