:root{--navy:#071d49;--blue:#0875f5;--blue2:#04a7ff;--pale:#eff8ff;--line:#dceaf7;--green:#10b86d;--amber:#f59e0b;--red:#ef4444;--shadow:0 16px 50px rgba(20,79,132,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:Noto Sans JP,sans-serif;background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{height:76px;display:flex;align-items:center;gap:40px;max-width:1200px;margin:auto;padding:0 24px;background:#fff}.brand{display:flex;align-items:center;font-size:20px;font-weight:900;white-space:nowrap}.brand-mark{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),#04bfe9);border-radius:10px;width:34px;height:34px;margin-right:9px}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:700;flex:1}.site-header nav a:hover{color:var(--blue)}.menu{display:none;border:0;background:none;color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,#0588ff,#0759e9);box-shadow:0 10px 22px #0067ef38;color:#fff;font-weight:800;border:1px solid transparent}.button.secondary{background:#fff;color:var(--blue);border-color:#86bdf5;box-shadow:none}.button.compact{min-height:42px;padding:0 22px;font-size:13px}.eyebrow{display:inline-flex;align-items:center;padding:5px 12px;border-radius:99px;background:#dcedff;color:#075fcc;font-size:12px;font-weight:800}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 40%,#d6f3ff 0,transparent 28%),linear-gradient(120deg,#fff 12%,#e7f5ff 65%,#dcefff);min-height:530px}.hero-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:52% 48%;align-items:center;padding:74px 24px 50px}.hero h1{font-size:clamp(36px,4vw,56px);line-height:1.28;letter-spacing:-.045em;margin:18px 0}.hero h1 strong,.blue{color:#066cec}.hero p{font-size:17px;font-weight:500}.actions{display:flex;gap:12px;margin:28px 0}.proof{display:flex;gap:24px;font-size:13px;font-weight:700}.path-visual{height:410px;position:relative;background:linear-gradient(160deg,#fffc,#c4e8ffbf);border:1px solid rgba(255,255,255,.8);border-radius:34% 14% 26% 12%;box-shadow:var(--shadow);overflow:hidden}.network-line{position:absolute;width:120%;height:120px;left:-10%;top:48%;transform:rotate(-18deg);border:12px solid #0aa8ff;border-left-color:transparent;border-right-color:transparent;border-radius:50%;filter:drop-shadow(0 0 14px #04a7ff)}.scene{position:absolute;width:180px;padding:18px;border-radius:16px;background:#fff;box-shadow:var(--shadow);z-index:2}.scene span{display:block;color:#53718d;font-size:12px}.scene b{font-size:14px}.scene.current{left:20px;bottom:28px}.scene.goal{right:20px;bottom:34px}.floating{position:absolute;z-index:3}.floating.one{top:28px;left:24px;transform:rotate(-5deg)}.floating.two{top:70px;right:30px;transform:rotate(4deg)}.floating.three{right:0;top:160px}.route-callout{position:absolute;z-index:4;left:40%;top:48%;padding:14px 20px;background:#034fa9;color:#fff;transform:rotate(-7deg);border-radius:10px;font-size:13px}.status{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;background:#fff;border-radius:10px;box-shadow:0 10px 30px #1648792e;color:var(--blue)}.status small{font-weight:700}.status.keep{color:#07995b}.status.replace,.status.verify{color:var(--red)}.status.upgrade{color:#8b5cf6}.section{max-width:1200px;margin:auto;padding:76px 24px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section h2{font-size:30px;letter-spacing:-.03em;margin:0}.section-head p{margin:4px 0}.goal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.goal-card{min-height:220px;padding:26px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f5fbff);box-shadow:0 8px 24px #164c7e12;transition:.2s}.goal-card:hover{transform:translateY(-4px);border-color:#8cc4ff}.goal-card .icon{font-size:44px;display:block}.goal-card h3{font-size:19px;line-height:1.45}.goal-card p{font-size:13px;color:#53677d}.steps{display:grid;grid-template-columns:repeat(3,1fr);background:var(--pale);border-radius:18px;overflow:hidden}.step{padding:28px;border-right:1px solid #d5e8f7}.step:last-child{border:0}.num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}.example{display:grid;grid-template-columns:1fr 200px 1fr;gap:24px;align-items:center;background:#f3f9ff;border-radius:20px;padding:28px}.example-list{background:#fff;padding:22px;border-radius:14px}.example-list li{margin:9px 0}.diagnosis{padding:20px;background:#0453b7;color:#fff;border-radius:14px;text-align:center}.upgrade-band{background:linear-gradient(120deg,#031b46,#004ca0);color:#fff}.upgrade-inner{max-width:1200px;margin:auto;padding:65px 24px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.upgrade-inner h2{font-size:34px;margin:10px 0}.bottleneck-map{display:flex;align-items:center;gap:10px;justify-content:center}.b-node{min-width:100px;position:relative;text-align:center;padding:22px 10px;border:1px solid #319cf5;background:linear-gradient(#0b4b91,#062c65);border-radius:12px}.b-node span{display:block;font-size:24px;font-weight:900}.b-node b{font-size:13px}.b-node.blocked{border:2px solid #ff5b5b;box-shadow:0 0 25px #ef4444}.b-node em{position:absolute;right:-8px;top:-10px;background:#ef4444;width:28px;height:28px;border-radius:50%;font-style:normal}.page-hero{background:linear-gradient(120deg,#fff,#e6f4ff);border-top:1px solid #e4eef7;padding:54px 24px}.page-hero>div{max-width:1200px;margin:auto}.page-hero h1{font-size:42px;line-height:1.35;margin:12px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px}.progress{display:flex;max-width:850px;margin:0 auto 34px}.progress div{flex:1;text-align:center;font-size:12px;font-weight:700;color:#789}.progress div:before{content:attr(data-step);display:grid;place-items:center;width:30px;height:30px;margin:0 auto 8px;border-radius:50%;background:#dfe8f0}.progress .active{color:var(--blue)}.progress .active:before{background:var(--blue);color:#fff}.finder{max-width:1000px;margin:auto;padding:44px 24px 80px}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.choice{cursor:pointer;text-align:left;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;min-height:165px;color:var(--navy)}.choice:hover,.choice.selected{border:2px solid var(--blue);background:#f2f8ff}.choice strong{display:block;font-size:17px;margin:12px 0}.search-row{display:flex;gap:10px;margin-top:22px}.search-row input{min-height:50px;flex:1;border:1px solid #b9d3e9;border-radius:10px;padding:0 15px}.result-hero{display:grid;grid-template-columns:56% 44%;align-items:center}.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:25px}.summary-item{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.summary-item>span{display:block;font-size:12px;margin-bottom:10px}.route-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.route-line{border-left:4px solid var(--blue);margin-left:18px;padding-left:28px}.route-item{position:relative;padding:14px 0}.route-item:before{content:"";position:absolute;width:16px;height:16px;border:4px solid white;background:var(--blue);border-radius:50%;left:-38px;top:22px;box-shadow:0 0 0 2px var(--blue)}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cap{padding:16px;border:1px solid var(--line);border-radius:12px}.cap b{display:block}.ok{color:var(--green)}.warn{color:var(--red)}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 76px)}.admin-nav{background:#071d49;color:#fff;padding:28px 20px}.admin-nav a{display:block;padding:10px}.admin-main{padding:36px;background:#f3f7fb}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:22px;background:#fff;border-radius:14px;border:1px solid var(--line)}.metric strong{display:block;font-size:30px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}footer{max-width:1200px;margin:auto;padding:55px 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line)}.footer-links{display:flex;justify-content:flex-end;gap:24px}.disclosure{grid-column:1/-1;color:#66788d;font-size:12px}@media(max-width:760px){.site-header{height:64px;padding:0 18px}.site-header nav,.desktop{display:none}.menu{display:block;margin-left:auto}.hero-inner{grid-template-columns:1fr;padding:38px 20px 28px}.hero h1{font-size:34px;text-align:center}.hero p{text-align:center;font-size:14px}.actions{flex-direction:column}.proof{font-size:11px;gap:12px;justify-content:center}.path-visual{height:360px;margin-top:28px}.scene{width:140px;padding:12px}.floating.two{right:8px}.floating.three{top:126px}.route-callout{left:26%;top:48%}.section{padding:52px 18px}.section h2{font-size:24px}.goal-grid{grid-template-columns:1fr 1fr;gap:10px}.goal-card{min-height:190px;padding:16px}.goal-card h3{font-size:15px}.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid #d5e8f7}.example{grid-template-columns:1fr}.diagnosis{order:2}.upgrade-inner{grid-template-columns:1fr;padding:52px 18px}.bottleneck-map{gap:5px}.b-node{min-width:0;flex:1;padding:14px 3px}.b-node span{font-size:16px}.bottleneck-map>i{font-size:12px}.page-hero{padding:32px 18px}.page-hero h1{font-size:30px}.finder{padding:28px 16px}.choice-grid{grid-template-columns:1fr}.choice{min-height:86px}.search-row{flex-direction:column}.result-hero,.summary-grid,.route-grid{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-nav{display:none}.metric-grid{grid-template-columns:1fr 1fr}.admin-main{padding:20px}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}.disclosure{grid-column:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.hero h1{font-size:clamp(36px,3.5vw,48px)}@media(max-width:760px){.hero h1{font-size:34px}}
