@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#102b36;--deep:#09232d;--teal:#8ee0c2;--mint:#d9f5e9;--paper:#f6f8f6;--muted:#6c7b7d;--line:#dce5e1;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:"DM Sans","Noto Sans JP",sans-serif;line-height:1.8;background:var(--paper)}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e7eeea}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:800;letter-spacing:.07em;line-height:1.2}.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:5px;color:#78908b}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:var(--teal);font-size:23px;font-weight:500;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.nav>a:not(.nav-cta){transition:color .2s}.nav>a:hover{color:#3b9c7c}.nav-cta{padding:12px 17px;background:var(--ink);color:#fff}.nav-cta span,.button span{margin-left:18px}.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--ink)}
.hero{min-height:650px;background:var(--deep);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:70px 9% 100px}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(142,224,194,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(142,224,194,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,black,transparent 90%)}.hero-content{position:relative;z-index:2;max-width:570px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--teal)}.eyebrow span{display:inline-block;width:24px;height:1px;background:var(--teal);vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(56px,7vw,88px);line-height:1.18;letter-spacing:.04em;margin:28px 0}.hero h1 em,.section-heading em,.intro h2 em,.contact h2 em{font-style:normal;color:var(--teal)}.hero-lead{font-size:14px;color:#d2dfdc;line-height:2.1}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:16px 22px;font-size:12px;font-weight:700;min-width:200px}.button-primary{background:var(--teal);color:var(--deep)}.text-link{font-size:12px;color:#d5e3df}.hero-note{margin-top:58px;font-size:9px;letter-spacing:.17em;color:#8ca9a3;display:flex;align-items:center;gap:12px}.note-line{width:38px;height:1px;background:var(--teal)}.hero-visual{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:min(44vw,550px);aspect-ratio:1;opacity:.92}.orbit{position:absolute;border:1px solid rgba(142,224,194,.27);border-radius:50%;inset:10%}.orbit-one{transform:rotateX(62deg) rotate(-28deg)}.orbit-two{transform:rotateY(62deg) rotate(28deg)}.orbit-three{inset:22%;border-style:dashed;transform:rotate(45deg)}.core{position:absolute;inset:32%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#28695f,#0b343d 68%);box-shadow:0 0 70px rgba(142,224,194,.16),inset 0 0 30px rgba(142,224,194,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(142,224,194,.5)}.core span{font-size:26px;letter-spacing:.14em}.core small{font-size:7px;letter-spacing:.14em;color:var(--teal)}.visual-tag{position:absolute;background:#143b43;border:1px solid rgba(142,224,194,.35);padding:8px 12px;font-size:9px;color:var(--teal);letter-spacing:.1em}.visual-tag b{color:#fff;margin-left:9px}.tag-a{top:20%;left:8%}.tag-b{top:47%;right:0}.tag-c{bottom:19%;left:17%}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:52px;border-top:1px solid rgba(255,255,255,.12);padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#8ca9a3}
.section-wrap{max-width:1160px;margin:auto;padding:100px 32px}.section-kicker{font-size:10px;font-weight:700;letter-spacing:.16em;color:#538b78;margin-bottom:42px}.section-kicker span{color:#9aaba5;margin-left:10px}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:start}.intro h2,.section-heading h2,.faq h2{font-size:clamp(30px,4vw,46px);line-height:1.55;letter-spacing:.02em;margin:0}.intro h2 em{color:#3b9c7c}.intro-grid>div p{font-size:13px;color:#61716e;margin:0 0 18px}.section-dark{background:var(--ink);color:#fff}.section-dark .section-kicker{color:var(--teal)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-heading h2{max-width:620px}.section-heading p{font-size:12px;color:#81938f;max-width:290px}.service-list{border-top:1px solid rgba(255,255,255,.18)}.service-card{display:grid;grid-template-columns:70px 1fr 30px;gap:25px;padding:30px 10px;border-bottom:1px solid rgba(255,255,255,.18);align-items:start;transition:background .2s}.service-card:hover{background:rgba(255,255,255,.035)}.service-number{font-size:12px;color:var(--teal);padding-top:5px}.service-card h3{font-size:20px;margin:0 0 8px}.service-card p{font-size:12px;color:#b3c2bf;margin:0;max-width:650px}.chips{display:flex;gap:8px;margin-top:15px}.chips span{font-size:9px;border:1px solid #3b5960;color:#b6d8cd;padding:3px 10px}.service-arrow{font-size:20px;color:var(--teal)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{background:#fff;padding:30px;border:1px solid var(--line);min-height:280px}.feature-icon{font-size:27px;color:#389d7b}.feature-label{font-size:9px;letter-spacing:.15em;color:#679180;margin-top:20px}.feature-grid h3{font-size:17px;margin:8px 0}.feature-grid article>p:last-child{font-size:12px;color:#6c7b7d}.flow-section{background:#eaf1ed}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cad8d1}.flow-grid article{padding:25px 20px 10px 0;position:relative}.flow-grid article:not(:last-child):after{content:"→";position:absolute;right:18px;top:22px;color:#80a293}.flow-grid span{font-size:10px;color:#399878;letter-spacing:.12em}.flow-grid h3{font-size:16px;margin:12px 0 7px}.flow-grid p{font-size:12px;color:#6a7975}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%}.faq h2{font-size:34px}.faq-layout>div:first-child p{font-size:12px;color:var(--muted)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:21px 0;font-size:13px;font-weight:600;display:flex;justify-content:space-between;gap:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;color:#399878;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:#667571;margin:0;padding:0 25px 22px 0}
.contact{background:#153c43;color:#fff}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:75px;padding-bottom:75px}.contact h2{font-size:clamp(28px,3.8vw,43px);line-height:1.55;margin:12px 0}.contact-inner>div>p:last-child{font-size:12px;color:#c1d1cc}.button-light{background:var(--teal);color:var(--deep);flex-shrink:0}.footer{background:#071d25;color:#d9e4e0;padding:30px 6.5%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.footer-brand{color:#fff}.footer p{text-align:center;font-size:11px;color:#91aaa2}.footer>small{text-align:right;color:#78918a;font-size:9px}
@media(max-width:900px){.nav{gap:15px}.hero-visual{right:-10%;opacity:.45}.hero-content{max-width:560px}.hero{padding-left:7%}.section-wrap{padding:75px 26px}.intro-grid{gap:5%}.service-card{grid-template-columns:45px 1fr 20px}.feature-grid{gap:12px}.feature-grid article{padding:22px}}
@media(max-width:680px){.site-header{height:70px;padding:0 22px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px 24px 25px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:13px 0}.nav .nav-cta{padding:13px 16px;margin-top:8px}.hero{min-height:670px;padding:60px 25px 90px;align-items:flex-start}.hero h1{font-size:62px;margin:24px 0}.hero-visual{width:100%;right:-30%;top:65%;opacity:.28}.hero-lead{font-size:12px}.hero-bottom{padding:0 22px}.hero-bottom span:nth-child(2){display:none}.hero-note{margin-top:40px}.section-wrap{padding:65px 23px}.section-kicker{margin-bottom:27px}.intro-grid,.faq-layout{grid-template-columns:1fr;gap:25px}.intro h2,.section-heading h2{font-size:31px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:15px}.service-card{grid-template-columns:35px 1fr 15px;gap:12px;padding:24px 0}.service-card h3{font-size:17px}.service-card p{font-size:11px}.chips{flex-wrap:wrap}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:0;padding:25px}.feature-label{margin-top:10px}.flow-grid{grid-template-columns:1fr 1fr}.flow-grid article{padding:22px 12px 15px 0}.flow-grid article:after{display:none}.faq-layout{gap:20px}.faq h2{font-size:29px}.contact-inner{display:block}.contact h2{font-size:30px}.contact .button{margin-top:20px}.footer{grid-template-columns:1fr;gap:12px;text-align:center}.footer .brand{justify-content:center}.footer>small{text-align:center}.footer p{margin:0}}
