/* TOP page: search intent, service selection and responsive layout. */
.top-hero{--c:var(--blue);min-height:auto;padding-top:calc(64px + 4.5rem);padding-bottom:5rem;background:linear-gradient(125deg,#fff 25%,#f0f6ff 100%)}
.top-hero-grid{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:4rem;align-items:center}
.top-hero h1{font-size:clamp(.92rem,1.3vw,1.1rem);line-height:1.8;letter-spacing:.04em;margin:0 0 1.3rem;color:var(--blue);font-weight:700}
.top-headline{font-size:clamp(2rem,3.55vw,3.5rem);font-weight:900;line-height:1.5;letter-spacing:-.035em;color:var(--g900);margin:0 0 1.5rem}
.top-intro{font-size:clamp(1.05rem,1.4vw,1.2rem);font-weight:700;line-height:1.95;color:var(--g800);margin-bottom:1rem}
.top-hero .hero-sub{font-size:1rem;line-height:1.95;margin-bottom:1.8rem}
.top-btn-outline{display:inline-flex;justify-content:center;align-items:center;gap:.8rem;border:1.5px solid var(--blue);border-radius:999px;padding:.95rem 1.5rem;background:#fff;color:var(--blue);font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s}
.top-btn-outline:hover{background:var(--blue);color:#fff}
.top-group{font-family:var(--font-en);font-size:.76rem;letter-spacing:.08em;color:var(--g600);margin-top:1.8rem;line-height:1.8}
.top-group span{display:inline-block;margin-left:.8rem;font-family:var(--font-jp,sans-serif);letter-spacing:0}
.top-process{background:#083e9b;color:#fff;border-radius:0 24px 24px 0;padding:2.4rem;box-shadow:0 20px 60px rgba(15,29,53,.12)}
.top-process-label{font-family:var(--font-en);font-size:.75rem;font-weight:600;letter-spacing:.16em;color:#aac8ff;margin-bottom:1.4rem}
.top-process-title{font-size:clamp(1.45rem,2.3vw,2.1rem);font-weight:700;line-height:1.6;margin-bottom:1.8rem}
.top-process ol{list-style:none;padding:0;margin:0}
.top-process li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.2)}
.top-step{font-family:var(--font-en);color:#aac8ff;font-size:.9rem;padding-top:.3rem}
.top-process li strong{display:block;font-size:1.1rem;margin-bottom:.3rem}
.top-process li div>span{display:block;font-size:.83rem;line-height:1.8;color:#d4e0f2}
.top-process-note{font-size:.8rem;color:#d4e0f2;margin-top:1.2rem}
#purpose,#sv,#co,#nw,#ct{scroll-margin-top:90px}
.top-purpose{background:#fff}
.top-purpose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.top-purpose-card{display:flex;flex-direction:column;padding:1.8rem 1.45rem;border:1px solid var(--g200);border-radius:16px;background:#fff;color:var(--g900);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.top-purpose-card:hover{border-color:var(--blue);box-shadow:0 10px 26px rgba(37,99,235,.09)}
.top-card-label{font-family:var(--font-en);font-size:.76rem;font-weight:600;color:var(--blue);letter-spacing:.08em;display:block;margin-bottom:1.2rem}
.top-purpose-card h3{font-size:1.12rem;line-height:1.8;margin-bottom:.9rem}
.top-purpose-card>p,.top-usecase>p,.top-support-item>p{font-size:.94rem;line-height:1.95;color:var(--g600);margin-bottom:1.3rem}
.top-card-link{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--g200);font-size:.83rem;line-height:1.8;font-weight:700;color:var(--blue)}
.top-purpose-help{font-size:.9rem;line-height:1.9;color:var(--g600);margin-top:1.8rem}
.top-purpose-help a{display:inline-block;margin-left:.8rem;color:var(--blue);text-underline-offset:4px}
.top-usecases{background:var(--g50,#f8fafc)}
.top-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.top-usecase{background:#fff;border-radius:16px;border:1px solid var(--g200);padding:2rem}
.top-usecase h3,.top-support-item h3{font-size:1.18rem;color:var(--g900);line-height:1.7;margin-bottom:1rem}
.top-usecase .top-example{font-size:.8rem;border-top:1px solid var(--g200);padding-top:1rem;margin-bottom:0;color:var(--g600)}
.top-section-action{margin-top:2rem;text-align:center}
.top-support{background:#fff}
.top-support-item{border-top:2px solid var(--blue);padding-top:1.5rem}
.top-support-number{font-family:var(--font-en);font-size:2.5rem;font-weight:500;color:var(--blue);display:block;margin-bottom:.8rem}
.top-purpose a:focus-visible,.top-hero a:focus-visible,.top-usecases a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.fcta h2{font-size:clamp(1.45rem,3vw,2.4rem);line-height:1.6}
.fcta .btn-s{white-space:normal;text-align:center;line-height:1.7}
@media(min-width:1440px){.top-hero-grid{gap:5rem}}
@media(max-width:1100px){.top-hero-grid{gap:2.4rem}.top-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-three-grid{gap:1.2rem}.top-usecase{padding:1.5rem}}
@media(max-width:800px){.top-hero-grid{grid-template-columns:1fr;gap:2.5rem}.top-hero{padding-top:calc(64px + 2.5rem)}.top-process{max-width:none}.top-three-grid{grid-template-columns:1fr}.top-headline{font-size:clamp(2rem,5.6vw,3rem)}.top-process ol{display:grid;grid-template-columns:1fr}.top-support-item{padding-bottom:.6rem}}
@media(max-width:520px){.top-hero{padding:calc(64px + 2rem) 1.25rem 3rem}.top-hero h1{font-size:.85rem;letter-spacing:0}.top-headline{font-size:clamp(1.7rem,7.4vw,2.4rem)}.top-desktop-br{display:none}.top-purpose-grid{grid-template-columns:1fr}.top-purpose-card{padding:1.5rem}.top-purpose-card h3 br{display:none}.top-purpose-help a{margin:.6rem 0 0;display:block}.top-hero .hero-btns>*{width:100%;font-size:.9rem;padding:.9rem 1rem}.top-group span{display:block;margin-left:0}.top-process{padding:1.6rem;border-radius:18px}.top-usecase{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.fade-up{opacity:1;transform:none;transition:none}.top-purpose-card,.top-btn-outline{transition:none}}
