:root{--navy:#071b32;--navy2:#0a2746;--blue:#005bea;--cyan:#00d5e6;--mint:#84f7c3;--ink:#10263d;--muted:#647589;--line:#dbe5ee;--pale:#edf7fb;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;background:#fff;line-height:1.75}a{color:inherit;text-decoration:none}.site-header{height:76px;display:flex;align-items:center;padding:0 3.2vw;position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(6,27,50,.9);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:24px;letter-spacing:-1px;min-width:190px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:linear-gradient(145deg,var(--cyan),var(--blue));color:white;border-radius:5px 14px 5px 14px;font-size:23px;font-style:italic}.brand-seven{color:var(--cyan)}nav{display:flex;margin:auto;gap:2.6vw;font-size:14px;font-weight:700}nav a{opacity:.83;transition:.2s}nav a:hover{opacity:1;color:var(--cyan)}.header-cta{background:#fff;color:var(--navy);padding:12px 18px;border-radius:4px;font-size:14px;font-weight:800}.header-cta span{color:var(--blue);margin-left:10px}.menu{display:none}.hero{min-height:760px;height:100vh;max-height:940px;background:radial-gradient(circle at 75% 45%,#103f67 0,transparent 34%),linear-gradient(132deg,#06182d 0%,#082441 55%,#06182d 100%);color:#fff;position:relative;overflow:hidden;padding:145px max(5vw,calc((100vw - var(--max))/2)) 96px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(36,213,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(36,213,230,.045) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,transparent,black 45%,black)}.hero-copy{position:relative;z-index:2}.eyebrow,.kicker{font-family:Arial,sans-serif;font-weight:800;font-size:12px;letter-spacing:2.6px;color:var(--blue);margin:0 0 22px}.eyebrow{color:#66e8ef}.eyebrow span{display:inline-block;width:30px;height:1px;background:var(--cyan);vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(42px,4.4vw,68px);line-height:1.35;letter-spacing:-3px;margin:0 0 28px}.hero h1 em,.section h2 em{font-style:normal;color:var(--cyan)}.lead{font-size:18px;color:#c9d7e5;line-height:2;margin:0}.hero-actions{display:flex;gap:12px;margin-top:34px}.btn{min-height:56px;padding:14px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:4px;font-weight:800;font-size:15px}.btn.primary{background:linear-gradient(100deg,var(--blue),#008eea);box-shadow:0 14px 36px rgba(0,95,234,.3)}.btn.secondary{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.05)}.btn:hover{transform:translateY(-2px)}.note{font-size:12px;color:#88a1b8;margin:12px 0}.network-stage{height:520px;position:relative;z-index:1}.orbit{position:absolute;border:1px solid rgba(0,213,230,.15);border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%)}.o1{width:470px;height:470px}.o2{width:330px;height:330px}.route-line{position:absolute;inset:60px -5% 0;width:110%;height:360px;overflow:visible}.route-line path{fill:none;stroke:rgba(76,220,235,.3);stroke-width:2}.route-line .pulse{stroke:var(--cyan);stroke-width:3;stroke-dasharray:4 26;animation:route 2.2s linear infinite;filter:drop-shadow(0 0 6px var(--cyan))}@keyframes route{to{stroke-dashoffset:-60}}.node{position:absolute;width:130px;height:130px;border:1px solid rgba(116,236,244,.38);background:rgba(8,39,68,.82);backdrop-filter:blur(8px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 45px rgba(0,178,224,.09)}.node b{font-family:Arial,sans-serif;font-size:12px;letter-spacing:1.4px}.node small{font-size:10px;color:#86a7bd}.node-icon{font-size:27px;color:var(--cyan);line-height:1.3}.node.device{left:-1%;top:48%}.node.route{left:39%;top:31%;width:168px;height:168px;border-color:var(--cyan);box-shadow:0 0 60px rgba(0,213,230,.2)}.mini-brand{font:italic 800 34px Arial;color:var(--cyan);line-height:1.1}.node.cloud{right:-1%;top:7%}.metric{position:absolute;border-left:2px solid var(--cyan);padding:5px 9px;background:rgba(5,24,44,.65)}.metric span{display:block;font:9px Arial;color:#6e91a8;letter-spacing:1px}.metric strong{font-size:12px}.m1{left:19%;top:20%}.m2{right:1%;top:53%}.m3{right:20%;bottom:4%}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:88px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;padding:0 5vw;gap:3vw;color:#a5bacd}.hero-bottom>span{font:10px Arial;letter-spacing:2px}.hero-bottom i{height:32px;width:1px;background:rgba(255,255,255,.25)}.hero-bottom p{margin:0;font-size:12px}.hero-bottom b{font:700 22px Arial;color:#fff;margin-right:8px}.section{max-width:var(--max);margin:auto;padding:120px 30px}.section-head{display:grid;grid-template-columns:1fr .75fr;gap:10%;align-items:end;margin-bottom:62px}.section-head h2,.stories h2{font-size:clamp(34px,3.6vw,52px);line-height:1.45;letter-spacing:-2px;margin:0}.section-head>p{color:var(--muted);margin:0;line-height:2}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.problem-grid article{position:relative;padding:32px 30px 26px;min-height:260px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s;background:#fff}.problem-grid article:hover{background:var(--pale);transform:translateY(-4px);box-shadow:0 15px 35px rgba(8,40,70,.08);z-index:2}.problem-grid article>span{position:absolute;right:20px;top:18px;font:700 11px Arial;color:#a6b4c1}.ico{font:300 33px Arial;color:var(--blue);height:54px}.problem-grid h3{font-size:19px;margin:12px 0 8px}.problem-grid p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.problem-grid a{position:absolute;bottom:25px;font-size:12px;font-weight:800;color:var(--blue)}.promise{background:linear-gradient(105deg,#064da2 0%,#0077c9 55%,#00a9c5 100%);color:#fff;display:grid;grid-template-columns:.35fr .9fr 1fr;gap:7%;align-items:center;padding:85px max(6vw,calc((100vw - var(--max))/2));position:relative;overflow:hidden}.promise:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-130px}.promise-number{font:italic 900 110px Arial;color:rgba(255,255,255,.11)}.kicker.light{color:#7cf3ee}.promise h2{font-size:38px;line-height:1.45;margin:0}.promise>p{color:#d4eff6;line-height:2;margin:0;position:relative;z-index:1}.section-head.compact{align-items:end}.text-link{color:var(--blue);font-weight:800;text-align:right}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.case-grid article{border:1px solid var(--line);padding:14px 14px 24px;transition:.25s}.case-grid article:hover{box-shadow:0 18px 42px rgba(9,43,76,.1);transform:translateY(-3px)}.case-feature{grid-row:span 2}.case-art{height:160px;background:linear-gradient(140deg,#e8f4f8,#d4edf3);position:relative;overflow:hidden;margin-bottom:20px}.case-feature .case-art{height:390px;background:linear-gradient(145deg,#092c4b,#07577c)}.case-art:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:24px 24px}.camera span{position:absolute;width:130px;height:85px;border-radius:10px;background:#d8edf3;left:50%;top:42%;transform:translate(-50%,-50%);z-index:1;box-shadow:25px 35px 0 -25px #a5d1df}.camera span:after{content:"";position:absolute;width:45px;height:45px;border:10px solid #0b74a0;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.camera i{position:absolute;height:120px;width:2px;background:var(--cyan);left:50%;bottom:-10px;z-index:2;box-shadow:0 0 10px var(--cyan)}.factory span{position:absolute;left:20%;right:20%;bottom:20%;height:45%;background:#2d7592;clip-path:polygon(0 35%,25% 10%,25% 35%,50% 10%,50% 35%,75% 10%,75% 35%,100% 35%,100% 100%,0 100%);z-index:1}.medical span{position:absolute;z-index:2;font:300 58px Arial;color:#0782a6;left:42%;top:22%}.medical i{position:absolute;width:105px;height:105px;border:1px solid #0aa8bb;border-radius:50%;left:34%;top:15%}.mobility span{position:absolute;width:120px;height:45px;border-radius:25px 40px 12px 12px;background:#1a7797;left:30%;top:45%;z-index:1}.retail span{position:absolute;width:70px;height:105px;background:#277d99;left:42%;top:20%;z-index:1;border-radius:5px}.case-grid small{font:700 10px Arial;color:var(--blue);letter-spacing:1.3px}.case-grid h3{font-size:21px;margin:5px 0}.case-grid p{font-size:14px;color:var(--muted);margin:0}.case-grid b{display:block;margin-top:22px;font-size:11px;color:#3c6078}.features{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--navy);color:#fff;padding:120px max(6vw,calc((100vw - var(--max))/2));gap:8%}.feature-intro{align-self:start;position:sticky;top:120px}.feature-intro h2{font-size:42px;line-height:1.5;margin:0 0 25px}.feature-intro>p{color:#a9bfd0;line-height:2}.btn.ghost{border:1px solid #496277;margin-top:25px}.feature-list article{display:grid;grid-template-columns:52px 1fr auto;gap:25px;padding:28px 0;border-top:1px solid #2b4359;align-items:start}.feature-list article:last-child{border-bottom:1px solid #2b4359}.feature-list span{font:700 12px Arial;color:var(--cyan)}.feature-list h3{font-size:20px;margin:0 0 7px}.feature-list p{font-size:14px;color:#9fb4c5;margin:0}.feature-list b{font:700 9px Arial;color:#698398;letter-spacing:1.2px}.flow ol{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:60px 0 0;list-style:none;border-top:2px solid var(--line)}.flow li{position:relative;padding:30px 10px}.flow li:before{content:"";position:absolute;width:12px;height:12px;border:3px solid #fff;background:var(--blue);border-radius:50%;top:-8px;left:10px;box-shadow:0 0 0 1px var(--blue)}.flow li span{display:block;font:800 11px Arial;color:var(--blue);margin-bottom:20px}.flow li b{display:block;font-size:18px}.flow li small{color:var(--muted)}.stories{background:#eef7fa;max-width:none;padding-left:max(6vw,calc((100vw - var(--max))/2));padding-right:max(6vw,calc((100vw - var(--max))/2))}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}.story-grid article{background:#fff;padding:42px;position:relative;border-bottom:3px solid var(--blue)}.story-num{position:absolute;right:30px;top:25px;font:800 11px Arial;color:#a5b5c1;letter-spacing:1px}.tag{color:var(--blue);font-size:12px;font-weight:800}.story-grid h3{font-size:25px;line-height:1.6}.story-grid p:not(.tag){color:var(--muted)}.story-grid a{color:var(--blue);font-size:13px;font-weight:800}.contact{background:linear-gradient(120deg,#0055bb,#00a3c6);color:#fff;padding:90px max(6vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.contact h2{font-size:48px;line-height:1.4;margin:0}.contact p{color:#d9f4f7}.contact-actions{display:flex;flex-direction:column;gap:10px}.contact-actions a{background:#fff;color:var(--navy);padding:20px 25px;font-weight:800;display:flex;justify-content:space-between}.contact-actions a:nth-child(2){background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.contact-actions small{text-align:center;color:#d9f4f7}footer{background:#041426;color:#adc0cf;padding:55px max(5vw,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:30px}footer p{font:11px Arial;letter-spacing:1.5px}footer>div{margin-left:auto;display:flex;gap:25px;align-items:center;font-size:12px}footer small{color:#667e92}
@media(max-width:900px){.site-header{height:66px;padding:0 20px}.site-header nav,.header-cta{display:none}.brand{font-size:21px}.menu{display:block;margin-left:auto;background:none;border:0;width:36px;height:36px}.menu span{display:block;height:2px;background:white;margin:7px}.hero{height:auto;max-height:none;min-height:930px;padding:120px 24px 90px;display:block}.hero h1{font-size:40px;letter-spacing:-2px}.lead{font-size:16px}.desktop{display:none}.hero-actions{flex-direction:column;align-items:stretch}.btn{justify-content:center}.network-stage{height:350px;margin-top:35px}.o1{width:330px;height:330px}.o2{width:230px;height:230px}.node{width:92px;height:92px}.node.route{width:120px;height:120px;left:33%;top:32%}.node.cloud{right:0}.node b{font-size:10px}.node small{display:none}.route-line{inset:20px -10% 0;height:280px}.metric{display:none}.hero-bottom{height:58px;justify-content:center}.hero-bottom p,.hero-bottom i{display:none}.section{padding:80px 22px}.section-head{display:block;margin-bottom:40px}.section-head>p{margin-top:25px}.problem-grid{grid-template-columns:1fr}.problem-grid article{min-height:225px}.promise{display:block;padding:70px 24px}.promise-number{position:absolute;right:10px;top:10px}.promise h2{font-size:32px}.promise>p{margin-top:24px}.case-grid{grid-template-columns:1fr}.case-feature{grid-row:auto}.case-feature .case-art{height:240px}.text-link{display:block;text-align:left;margin-top:20px}.features{display:block;padding:80px 24px}.feature-intro{position:static}.feature-intro h2{font-size:33px}.feature-list{margin-top:60px}.feature-list article{grid-template-columns:35px 1fr}.feature-list b{display:none}.flow ol{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--line);margin-left:8px}.flow li{padding:12px 15px 25px 28px}.flow li:before{top:18px;left:-8px}.flow li span{margin-bottom:2px}.story-grid{grid-template-columns:1fr}.story-grid article{padding:32px 24px}.contact{display:block;padding:75px 24px}.contact h2{font-size:38px}.contact-actions{margin-top:35px}footer{display:block;padding:45px 24px}footer>div{margin:30px 0 0;display:block}footer>div a,footer>div small{display:block;margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-line .pulse{animation:none}.problem-grid article,.case-grid article,.btn{transition:none}}

/* Route Seven brand refinement — brand guide: RGB 37 / 46 / 84 */
:root{--navy:#252e54;--navy2:#1d2548;--blue:#252e54;--cyan:#aeb9d5;--mint:#d9deea;--ink:#252e54;--muted:#657087;--line:#dce0e9;--pale:#f4f5f8}
body{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",sans-serif;font-weight:400;letter-spacing:.015em}
h1,h2,.promise h2,.feature-intro h2,.contact h2{font-family:"Noto Serif JP","Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.01em}
.brand{min-width:220px}.brand img{display:block;width:205px;height:auto;object-fit:contain}.site-header{background:#171e3b;border-bottom-color:rgba(255,255,255,.16)}
nav{font-weight:500;letter-spacing:.05em}.header-cta{border-radius:0;padding:13px 21px;color:#252e54}.header-cta span{color:#252e54}
.hero{background:radial-gradient(circle at 77% 46%,rgba(126,142,183,.25) 0,transparent 36%),linear-gradient(135deg,#252e54 0%,#1c2447 62%,#151d3c 100%)}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px)}
.eyebrow{color:#d8deec}.eyebrow span{background:#aeb9d5}.hero h1{letter-spacing:.01em;font-weight:600}.hero h1 em,.section h2 em{color:#fff;font-style:normal;border-bottom:1px solid #aeb9d5;padding-bottom:.08em}
.lead{color:#d7dbe6;font-weight:400}.btn{border-radius:0;font-weight:600;letter-spacing:.04em}.btn.primary{background:#fff;color:#252e54;box-shadow:0 14px 36px rgba(6,10,29,.24)}.btn.secondary{border-color:rgba(255,255,255,.45)}
.orbit{border-color:rgba(214,221,237,.18)}.route-line path{stroke:rgba(214,221,237,.22)}.route-line .pulse{stroke:#dbe0ec;filter:drop-shadow(0 0 5px rgba(255,255,255,.6))}.node{border-color:rgba(214,221,237,.35);background:rgba(34,43,79,.82)}.node.route{border-color:#dbe0ec;box-shadow:0 0 55px rgba(202,211,232,.14)}.node-logo{width:44px;height:46px;object-fit:contain;margin-bottom:3px}.metric{border-left-color:#aeb9d5;background:rgba(26,34,67,.72)}
.kicker{color:#252e54;letter-spacing:.24em;font-weight:600}.problem-grid article:hover{background:#f4f5f8;box-shadow:0 15px 35px rgba(37,46,84,.08)}.ico,.problem-grid a,.text-link,.case-grid small,.flow li span,.tag,.story-grid a{color:#252e54}
.promise{background:#252e54}.promise:after{border-color:rgba(255,255,255,.12)}.kicker.light{color:#cbd2e3}.promise>p{color:#dde1ea}
.case-art{background:linear-gradient(140deg,#f1f2f6,#dfe3eb)}.case-feature .case-art{background:linear-gradient(145deg,#252e54,#414e7a)}.camera span:after{border-color:#6e7da7}.camera i{background:#cad2e5;box-shadow:0 0 10px #cad2e5}.factory span,.mobility span,.retail span{background:#59688f}.medical span{color:#59688f}.medical i{border-color:#6e7da7}
.features{background:#20284d}.feature-intro>p,.feature-list p{color:#c1c7d6}.feature-list article{border-color:#485274}.feature-list span{color:#d3d9e8}.feature-list b{color:#8e99b8}.btn.ghost{border-color:#667294}
.flow li:before{background:#252e54;box-shadow:0 0 0 1px #252e54}.stories{background:#f1f3f7}.story-grid article{border-bottom-color:#252e54}.contact{background:#252e54}.contact p,.contact-actions small{color:#dfe3ed}.contact-actions a{border-radius:0}.contact-actions a:nth-child(2){border-color:rgba(255,255,255,.45)}
footer{background:#171e3b}.inverted.brand img{width:205px}
@media(max-width:900px){.brand{min-width:0}.brand img{width:174px}.hero h1{letter-spacing:.01em}.node-logo{width:31px;height:33px}.inverted.brand img{width:190px}}

/* Accent palette — restrained turquoise + champagne gold */
:root{--accent-tech:#00a6a6;--accent-warm:#c9a55c;--accent-tech-soft:#e8f6f5;--accent-warm-soft:#f7f1e5}
.header-cta{background:var(--accent-warm);color:#18203f}.header-cta span{color:#18203f}
.eyebrow{color:#8ee0dc}.eyebrow span{background:var(--accent-tech)}
.hero h1 em{color:#9ce5e1;border-bottom-color:var(--accent-warm)}
.btn.primary{background:var(--accent-tech);color:#fff;box-shadow:0 14px 36px rgba(0,166,166,.22)}
.btn.primary span{color:#fff}.btn.secondary:hover{border-color:var(--accent-warm);color:#f2ddb0}
.route-line .pulse{stroke:#46d1c9;filter:drop-shadow(0 0 7px rgba(70,209,201,.72))}
.node.route{border-color:#61d6cf;box-shadow:0 0 55px rgba(0,166,166,.2)}
.metric{border-left-color:var(--accent-warm)}
.hero-bottom b{color:#f0d797}
.kicker{color:var(--accent-tech)}.kicker.light{color:#8ee0dc}
.problem-grid article:nth-child(3n+1){border-top:3px solid var(--accent-tech)}
.problem-grid article:nth-child(3n+2){border-top:3px solid var(--accent-warm)}
.problem-grid article:nth-child(3n){border-top:3px solid #7581a8}
.problem-grid article:hover{background:linear-gradient(145deg,#fff,var(--accent-tech-soft))}
.problem-grid article:nth-child(3n+2):hover{background:linear-gradient(145deg,#fff,var(--accent-warm-soft))}
.problem-grid article:nth-child(odd) .ico,.problem-grid article:nth-child(odd) a{color:var(--accent-tech)}
.problem-grid article:nth-child(even) .ico,.problem-grid article:nth-child(even) a{color:#a47d31}
.promise{background:linear-gradient(112deg,#252e54 0%,#252e54 64%,#17656b 145%)}
.promise-number{color:rgba(201,165,92,.18)}
.text-link,.case-grid small,.flow li span,.tag,.story-grid a{color:#147f82}
.case-grid article{border-top:2px solid transparent}.case-grid article:hover{border-top-color:var(--accent-warm)}
.case-feature{border-top-color:var(--accent-tech)!important}
.camera i{background:#41cbc4;box-shadow:0 0 10px #41cbc4}.camera span:after{border-color:#24a6a6}
.medical span{color:#b38a3e}.medical i{border-color:#c9a55c}
.features{background:linear-gradient(135deg,#20284d 0%,#252e54 68%,#193d4b 130%)}
.feature-list article:nth-child(odd)>span{color:#5bd3cd}.feature-list article:nth-child(even)>span{color:#dfc27f}
.btn.ghost:hover{border-color:var(--accent-warm);color:#f0d797}
.flow li:before{background:var(--accent-tech);box-shadow:0 0 0 1px var(--accent-tech)}
.flow li:nth-child(2n):before{background:var(--accent-warm);box-shadow:0 0 0 1px var(--accent-warm)}
.story-grid article:first-child{border-bottom-color:var(--accent-tech)}.story-grid article:last-child{border-bottom-color:var(--accent-warm)}
.contact{background:linear-gradient(112deg,#252e54 0%,#252e54 72%,#137f82 145%);border-top:4px solid var(--accent-warm)}
.contact-actions a:first-child{background:var(--accent-tech);color:#fff}.contact-actions a:nth-child(2):hover{border-color:var(--accent-warm);color:#f2ddb0}
@media(max-width:900px){.problem-grid article{border-top-width:2px}.contact{background:linear-gradient(145deg,#252e54,#1d4050)}}

/* Hero CTA placement: reserve an exclusive zone above the bottom proof bar */
@media(min-width:901px){
  .hero{padding-bottom:184px;align-items:center}
  .hero-copy,.network-stage{transform:translateY(-18px)}
  .hero-copy{align-self:center}
  .hero-actions{position:relative;z-index:5;flex-wrap:nowrap;margin-top:30px}
  .hero-actions .btn{min-width:0;white-space:nowrap}
  .hero-bottom{z-index:4;background:rgba(24,32,63,.82);backdrop-filter:blur(10px)}
}
@media(min-width:901px) and (max-height:820px){
  .hero{min-height:820px;padding-top:118px;padding-bottom:178px}
  .hero-copy,.network-stage{transform:translateY(-28px)}
}
@media(max-width:900px){
  .hero-copy,.network-stage{transform:none}
  .hero-actions{position:relative;z-index:5}
}

/* Third contact route for existing customers and general inquiries */
.contact-actions .contact-general{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.34);border-left:3px solid var(--accent-warm)}
.contact-actions .contact-general:hover{background:rgba(255,255,255,.15);border-color:var(--accent-warm)}

/* Route7 value bar and OUR PROMISE watermark */
@media(min-width:901px){
  .hero-bottom{gap:clamp(10px,1.35vw,26px);padding-left:clamp(24px,3vw,58px);padding-right:clamp(24px,3vw,58px)}
  .hero-bottom>span{font-size:9px}.hero-bottom p{font-size:clamp(9px,.64vw,11px);gap:6px}.hero-bottom b{font-size:clamp(12px,.82vw,15px)}
}
.promise{grid-template-columns:.9fr 1fr;gap:10%;isolation:isolate}
.promise-brand{position:absolute;z-index:0;left:-5%;top:50%;width:min(62vw,850px);height:auto;transform:translateY(-50%);opacity:.1;filter:blur(1px);pointer-events:none}
.promise>div,.promise>p{position:relative;z-index:1}
.promise:after{z-index:0}
@media(max-width:900px){
  .promise{grid-template-columns:1fr}
  .promise-brand{left:-28%;width:130%;opacity:.075;filter:blur(.8px)}
}

/* Network concept: outer ring = Internet, inner ring = private network */
.orbit span{position:absolute;top:12px;left:50%;transform:translateX(-50%);padding:2px 9px;background:rgba(26,34,67,.76);font:600 9px Arial,sans-serif;letter-spacing:.16em;color:#96a4c4;white-space:nowrap}
.o2 span{color:#75d7d2;background:rgba(27,52,76,.82)}
.node.terminal{left:66%;top:57%;width:112px;height:112px;border-color:rgba(117,215,210,.48);background:rgba(29,42,76,.9)}
.node.terminal .node-icon{font-size:25px;color:#dfc27f}.node.terminal b{font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:14px}.node.terminal small{font-size:9px}
.route-line .terminal-link{stroke:rgba(214,221,237,.22);stroke-width:2}
.route-line .terminal-pulse{stroke:#46d1c9;stroke-width:3;stroke-dasharray:4 24;animation-duration:2.6s}
.route-line .reverse{stroke:#dfc27f;stroke-width:2.5;stroke-dasharray:3 34;animation:reverse-route 7s linear infinite;opacity:0}
.route-line .terminal-reverse{animation-delay:-3.2s}
@keyframes reverse-route{
  0%,56%{stroke-dashoffset:-80;opacity:0}
  64%{opacity:.72}
  92%{stroke-dashoffset:35;opacity:.72}
  100%{stroke-dashoffset:50;opacity:0}
}
@media(max-width:900px){
  .orbit span{top:7px;font-size:8px}
  .node.terminal{left:65%;top:59%;width:82px;height:82px}
  .node.terminal .node-icon{font-size:20px}.node.terminal b{font-size:11px}
  .node.terminal small{display:none}
}

/* Services and editorial content */
.service-hub{max-width:none;padding-left:max(6vw,calc((100vw - var(--max))/2));padding-right:max(6vw,calc((100vw - var(--max))/2));background:#fff}
.service-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:18px}
.service-grid article{border:1px solid var(--line);padding:30px;min-height:260px;display:flex;flex-direction:column;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-grid article:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,46,84,.08);border-top-color:var(--accent-warm)}
.service-grid .service-main{grid-row:span 2;background:linear-gradient(145deg,#f6f8fb,#edf5f4);border-top:3px solid var(--accent-tech);min-height:538px}
.service-main img{width:255px;max-width:92%;height:auto;margin:20px 0 30px}.service-label{font:600 11px Arial,sans-serif;letter-spacing:.18em;color:#147f82}.service-icon{font:300 36px Arial,sans-serif;color:#a47d31;line-height:1;margin-bottom:18px}
.service-grid h3{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:24px;line-height:1.5;margin:8px 0 12px}.service-grid p{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 18px}.service-grid ul{margin:0 0 22px;padding-left:1.2em;color:#4d5b72;font-size:14px;line-height:2}.service-grid a{margin-top:auto;font-size:13px;font-weight:700;color:#147f82;display:flex;justify-content:space-between;align-items:center}
.insights{max-width:none;padding-left:max(6vw,calc((100vw - var(--max))/2));padding-right:max(6vw,calc((100vw - var(--max))/2));background:#f5f6f9}
.insight-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px}.news-panel,.blog-panel{background:#fff;padding:34px;border-top:3px solid var(--accent-tech)}.blog-panel{border-top-color:var(--accent-warm)}
.insight-title{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.insight-title span{font:600 10px Arial;letter-spacing:.2em;color:#147f82}.insight-title h3{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:27px;margin:2px 0 0}.insight-title>a{font-size:12px;font-weight:700;color:#147f82}.sample-note{font-size:11px;color:#9299a7;margin:14px 0 2px}
.news-row{display:grid;grid-template-columns:84px 92px 1fr 16px;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.news-row time{font:12px Arial;color:#7c8597}.news-row i{font-style:normal;color:#a47d31}.status{font-size:10px;text-align:center;padding:4px 5px;background:#eef1f6;color:#394564}.status.maintenance{background:#e6f5f3;color:#147f82}.status.outage{background:#f7e9e6;color:#9b4c41}.status.feature{background:#f6f0e3;color:#8c6a27}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.blog-grid>a{min-height:220px;padding:22px 18px;background:#f6f7fa;display:flex;flex-direction:column;border-bottom:2px solid transparent;transition:.2s}.blog-grid>a:hover{background:#eef5f4;border-bottom-color:var(--accent-tech)}.blog-grid small{font-weight:700;color:#147f82}.blog-grid h4{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:17px;line-height:1.65;margin:14px 0 10px}.blog-grid p{font-size:13px;color:var(--muted);line-height:1.75;margin:0}.blog-grid span{font:600 10px Arial;letter-spacing:.12em;color:#a47d31;margin-top:auto}
@media(min-width:901px) and (max-width:1240px){nav{gap:1.2vw;font-size:12px}.service-grid{grid-template-columns:1.1fr 1fr 1fr}.blog-grid h4{font-size:15px}}
@media(max-width:900px){
  .service-grid{grid-template-columns:1fr}.service-grid .service-main{grid-row:auto;min-height:0}.service-main img{width:230px;margin:18px 0 24px}
  .insight-layout{grid-template-columns:1fr}.news-panel,.blog-panel{padding:26px 20px}.news-row{grid-template-columns:80px 88px 1fr}.news-row i{display:none}.news-row span{grid-column:1/-1;font-size:14px}
  .blog-grid{grid-template-columns:1fr}.blog-grid>a{min-height:190px}
}

.hero-bottom p{display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.hero-bottom b{font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:16px;letter-spacing:.04em;margin-right:0}

/* Global navigation becomes translucent after scrolling */
.site-header{transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease}
.site-header.is-scrolled{background:rgba(23,30,59,.66);border-bottom-color:rgba(255,255,255,.2);box-shadow:0 8px 28px rgba(12,17,42,.14);backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%)}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* Header utility links: MyRouteManager + inquiry */
.header-tools{display:flex;align-items:stretch;align-self:stretch;margin-left:22px}
.myroute-link{display:flex;align-items:center;gap:9px;padding:0 18px;border-left:1px solid rgba(255,255,255,.14);border-right:1px solid rgba(255,255,255,.14);transition:background-color .2s ease}
.myroute-link:hover{background:rgba(255,255,255,.08)}
.myroute-link img{display:block;width:148px;height:auto}
.myroute-link span{font-size:12px;color:#d9c184}
.header-tools .header-cta{display:flex;align-items:center;justify-content:center;margin:0;padding:0 22px;white-space:nowrap}
.mobile-myroute,.mobile-contact{display:none}
@media(min-width:901px) and (max-width:1180px){
  .site-header{padding-left:2vw;padding-right:2vw}
  .brand{min-width:175px}.brand img{width:172px}
  nav{gap:1.5vw;font-size:13px}
  .header-tools{margin-left:12px}
  .myroute-link{padding:0 12px}.myroute-link img{width:124px}
  .header-tools .header-cta{padding:0 14px;font-size:13px}
}
@media(max-width:900px){
  .header-tools{display:none}
  .site-header nav .mobile-myroute,.site-header nav .mobile-contact{display:flex;opacity:1}
  .site-header nav .mobile-myroute{align-items:center;justify-content:space-between;margin-top:14px;padding:17px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
  .site-header nav .mobile-myroute img{width:190px;height:auto}
  .site-header nav .mobile-contact{align-items:center;justify-content:space-between;margin-top:6px;padding:15px 17px;background:var(--accent-warm);color:#18203f}
}

/* First-view story image: a subtle visual metaphor behind the left-side message */
.hero-puzzle{
  position:absolute;
  z-index:0;
  top:76px;
  bottom:88px;
  left:0;
  width:min(59vw,880px);
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(24,32,63,.38) 0%,rgba(24,32,63,.55) 54%,rgba(24,32,63,.98) 100%),
    linear-gradient(0deg,rgba(37,46,84,.46),rgba(37,46,84,.46)),
    url("./assets/hero-puzzle.png") center center / cover no-repeat;
  opacity:.32;
  filter:saturate(.65) contrast(.92);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%);
}
.hero-grid{z-index:1;pointer-events:none}
.hero-copy{z-index:3}
.network-stage{z-index:2}
.hero-bottom{z-index:4}
@media(max-width:900px){
  .hero-puzzle{
    top:66px;
    bottom:58px;
    width:100%;
    opacity:.16;
    background-position:58% center;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 46%,transparent 82%);
    mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 46%,transparent 82%);
  }
}

/* Detail refinement: brighter imagery, lighter icons and a browsable story rail */
.hero-puzzle{opacity:.42;filter:saturate(.72) contrast(.96)}
.ico svg,.service-icon svg{display:block;width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.ico{display:flex;align-items:center;color:var(--accent-tech)}
.problem-grid article:nth-child(even) .ico{color:#a47d31}
.service-icon{height:48px;color:#a47d31;margin-bottom:15px}
.service-icon svg{width:42px;height:42px}
.case-art:after{background:linear-gradient(180deg,transparent 62%,rgba(21,29,60,.26));z-index:1}
.case-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease;filter:saturate(.82) contrast(.98)}
.case-grid article:hover .case-art img{transform:scale(1.035);filter:saturate(1) contrast(1)}
.case-feature .case-art{background:#252e54}
.case-feature .case-art img{object-position:center}
.stories{overflow:hidden}
.stories-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.story-controls{display:flex;gap:8px;padding-bottom:8px}
.story-controls button{width:48px;height:48px;border:1px solid #bcc5d4;background:#fff;color:#252e54;font-size:20px;cursor:pointer;transition:.2s}
.story-controls button:hover{background:#252e54;color:#fff;border-color:#252e54}
.story-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9aa5bb transparent;padding:4px 2px 24px;margin-right:calc(max(6vw,calc((100vw - var(--max))/2)) * -1)}
.story-grid article{flex:0 0 min(390px,78vw);min-height:355px;scroll-snap-align:start;display:flex;flex-direction:column;border-bottom-width:3px}
.story-grid article:nth-child(3n+2){border-bottom-color:var(--accent-warm)}
.story-grid article:nth-child(3n){border-bottom-color:#7581a8}
.story-grid h3{font-size:23px;margin:26px 0 14px}
.story-grid a{margin-top:auto}
.story-index-banner{margin-top:26px;min-height:104px;padding:24px 32px;background:#252e54;color:#fff;display:flex;align-items:center;justify-content:space-between;border-left:5px solid var(--accent-warm);transition:.2s}
.story-index-banner:hover{background:#1b2347;transform:translateY(-2px)}
.story-index-banner span{display:flex;flex-direction:column;gap:3px}.story-index-banner small{font:600 11px Arial;letter-spacing:.18em;color:#83d8d3}.story-index-banner b{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:21px}.story-index-banner strong{font-size:24px;color:#dfc27f}
@media(max-width:900px){
  .hero-puzzle{opacity:.22}
  .hero-bottom p:nth-of-type(4){display:none}
  .stories-head{align-items:flex-end}.story-controls button{width:42px;height:42px}
  .story-grid{margin-right:-22px}.story-grid article{min-height:330px}
  .story-index-banner{padding:22px 20px}.story-index-banner b{font-size:18px}
}

/* Footer information architecture: corporate trust, support and contract documents */
.site-footer{background:#171e3b;color:#cbd1df;padding:68px max(5vw,calc((100vw - var(--max))/2)) 24px;display:block}
.footer-main{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:42px;align-items:start;margin:0}
.footer-brand .brand{min-width:0}.footer-brand .brand img{width:210px}.footer-brand p{margin:19px 0 6px;font:600 10px Arial,sans-serif;letter-spacing:.16em;color:#aeb7cb}.footer-brand>span{font-size:12px;color:#7f8ba6}
.footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-group h2{font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:13px;line-height:1.5;color:#fff;margin:2px 0 10px;letter-spacing:.06em}.footer-group a{font-size:12px;line-height:1.7;color:#abb4c8;transition:color .2s ease}.footer-group a:hover{color:#83d8d3}.footer-group>a>span{color:#dfc27f}.footer-group small{font-size:10px;line-height:1.6;color:#76829d;margin-top:-7px}.pdf-tag{display:inline-block;margin-left:5px;padding:1px 5px;border:1px solid rgba(223,194,127,.5);font:600 8px Arial,sans-serif;letter-spacing:.06em;color:#dfc27f!important;vertical-align:1px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:54px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a,.footer-bottom small{font-size:10px;color:#717e99}
@media(max-width:1100px) and (min-width:901px){.footer-main{grid-template-columns:1.25fr repeat(4,1fr);gap:24px}.footer-brand .brand img{width:180px}}
@media(max-width:900px){.site-footer{padding:52px 24px 24px}.footer-main{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-brand{grid-column:1/-1;padding-bottom:8px}.footer-group{gap:8px}.footer-group h2{margin-bottom:7px}.footer-bottom{display:block;margin-top:42px}.footer-bottom>div{display:flex;flex-direction:column;gap:7px}.footer-bottom small{display:block;margin-top:18px}}
@media(max-width:520px){.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-group{padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}}

/* Keep each designed headline phrase on one line at desktop widths. */
.headline-line{display:block}
@media(min-width:901px){
  .headline-line{white-space:nowrap}
  .hero h1{font-size:clamp(38px,3.55vw,56px);letter-spacing:-1.5px}
  .problems .section-head{grid-template-columns:1.18fr .72fr;gap:7%}
  .problems .section-head h2{font-size:clamp(34px,3vw,46px);letter-spacing:-1px}
  .feature-intro h2{font-size:clamp(30px,2.65vw,40px);letter-spacing:-.5px}
}

/* Balance the hero content vertically within the space above the value bar. */
@media(min-width:901px){
  .hero-copy,.network-stage{transform:translateY(0)}
}
@media(min-width:901px) and (max-height:820px){
  .hero-copy,.network-stage{transform:translateY(-6px)}
}

/* Preserve the intended two-line services headline on desktop. */
@media(min-width:901px){
  .service-hub .section-head{grid-template-columns:1.15fr .72fr;gap:7%}
  .service-hub .section-head h2{font-size:clamp(32px,2.75vw,42px);letter-spacing:-.5px}
}

/* Route7 Next — social proof and OUR PROMISE as one trust narrative */
.next-stage{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(118deg,#20284d 0%,#252e54 66%,#1c555a 135%);color:#fff;padding:100px max(6vw,calc((100vw - var(--max))/2)) 0}
.next-stage:before{content:"";position:absolute;z-index:0;width:640px;height:640px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-210px;top:-235px}
.next-stage-brand{position:absolute;z-index:0;left:-4%;top:36%;width:min(52vw,760px);transform:translateY(-50%);opacity:.12;filter:blur(.5px);pointer-events:none}
.next-stage-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:6%;align-items:start}
.next-stage-message h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(32px,3vw,43px);font-weight:600;line-height:1.55;letter-spacing:-.01em;margin:0}
.next-stage-message h2 span,.next-stage-message h2 strong{display:block;white-space:nowrap}.next-stage-message h2 strong{font-weight:600;color:#9ce5e1}
.next-stage-lead{font-size:15px;line-height:2.15;color:#c8d0df;margin:28px 0 0;max-width:590px}
.next-stage-promise{margin-top:34px;padding:23px 0 4px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:126px 1fr;gap:18px;align-items:start}
.next-stage-promise span{font:600 9px Arial,sans-serif;letter-spacing:.18em;color:#dfc27f;padding-top:8px}.next-stage-promise p{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:22px;line-height:1.65;margin:0;color:#fff}
.next-stage-link{display:inline-flex;align-items:center;gap:30px;margin-top:29px;font-size:13px;font-weight:700;color:#8ee0dc;border-bottom:1px solid rgba(142,224,220,.42);padding-bottom:7px}.next-stage-link span{color:#dfc27f}
.trust-proof{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17)}
.trust-proof article{position:relative;min-height:244px;padding:31px 28px 27px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.025);transition:background-color .2s ease,transform .2s ease}
.trust-proof article:hover{background:rgba(255,255,255,.07);transform:translateY(-2px)}
.trust-proof article>span{position:absolute;right:20px;top:16px;font:600 10px Arial;color:rgba(255,255,255,.35)}
.trust-icon{height:47px;color:#70d6d1}.trust-proof article:nth-child(even) .trust-icon{color:#dfc27f}.trust-icon svg{display:block;width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.trust-proof h3{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:21px;font-weight:600;margin:10px 0 8px}.trust-proof p{font-size:13px;line-height:1.85;color:#bac4d5;margin:0}.trust-proof small{display:block;margin-top:18px;font:600 9px Arial;letter-spacing:.16em;color:#667493}
.proof-scenes{position:relative;z-index:1;margin-top:78px;min-height:78px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:25px;color:#c0c8d7}.proof-scenes>span{font-size:11px;font-weight:700;color:#dfc27f;letter-spacing:.08em;margin-right:auto}.proof-scenes p{font-size:13px;margin:0;white-space:nowrap}.proof-scenes i{width:3px;height:3px;border-radius:50%;background:#70d6d1}
@media(max-width:900px){
  .next-stage{padding:76px 24px 0}.next-stage-brand{left:-37%;top:19%;width:145%;opacity:.08}.next-stage-inner{grid-template-columns:1fr;gap:54px}.next-stage-message h2{font-size:min(32px,5.8vw);line-height:1.7;letter-spacing:-.03em}.next-stage-lead{font-size:15px;line-height:2}.next-stage-promise{grid-template-columns:1fr;gap:5px}.next-stage-promise p{font-size:21px}.trust-proof{grid-template-columns:1fr}.trust-proof article{min-height:210px}.proof-scenes{margin-top:52px;min-height:0;padding:23px 0 26px;display:flex;flex-wrap:wrap;gap:8px 16px}.proof-scenes>span{width:100%;margin:0 0 5px}.proof-scenes p{font-size:12px}.proof-scenes i{display:none}
}

/* Light editorial treatment: separate the trust story from the dark hero. */
.next-stage{background:#fff;color:var(--ink);padding-top:112px;border-top:1px solid rgba(255,255,255,.14)}
.next-stage:before{width:560px;height:560px;right:-180px;top:-230px;border-color:#dbe4ec;background:radial-gradient(circle at center,rgba(232,246,245,.72),transparent 68%)}
.next-stage:after{content:"";position:absolute;z-index:0;left:0;top:0;width:38%;height:100%;background:linear-gradient(90deg,#f7f9fb 0%,rgba(247,249,251,0) 100%);pointer-events:none}
.next-stage-brand{left:-7%;top:40%;width:min(49vw,720px);opacity:.035;filter:none}
.next-stage .kicker.light{color:var(--accent-tech)}
.next-stage-message h2 strong{color:#147f82}
.next-stage-lead{color:#5d6b7d}
.next-stage-promise{position:relative;margin-top:38px;padding:25px 25px 25px 30px;border:0;border-left:4px solid var(--accent-warm);background:#252e54;box-shadow:0 14px 34px rgba(37,46,84,.1);grid-template-columns:126px 1fr}
.next-stage-promise span{color:#dfc27f}.next-stage-promise p{color:#fff}
.next-stage-link{color:#147f82;border-bottom-color:rgba(20,127,130,.32)}
.trust-proof{gap:16px;border:0}
.trust-proof article{min-height:246px;padding:32px 29px 27px;border:1px solid #dfe5ec;background:#fff;box-shadow:0 10px 28px rgba(24,32,63,.045)}
.trust-proof article:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:4px;background:var(--accent-tech)}
.trust-proof article:nth-child(even):before{background:var(--accent-warm)}
.trust-proof article:hover{background:#fff;transform:translateY(-4px);box-shadow:0 18px 40px rgba(24,32,63,.09);border-color:#cbd5df}
.trust-proof article>span{color:#a7b1bf}
.trust-icon{color:#147f82}.trust-proof article:nth-child(even) .trust-icon{color:#a47d31}
.trust-proof h3{color:#252e54}.trust-proof p{color:#657386}.trust-proof small{color:#98a4b2}
.proof-scenes{margin-top:84px;min-height:88px;padding:0 30px;border-top:1px solid #dfe5ec;background:#f5f8fa;color:#4f5f72}
.proof-scenes>span{color:#252e54}.proof-scenes i{background:#c9a55c}
@media(max-width:900px){
  .next-stage{padding-top:78px}.next-stage:after{width:100%;height:42%;background:linear-gradient(180deg,#f7f9fb 0%,rgba(247,249,251,0) 100%)}.next-stage-brand{left:-41%;top:15%;opacity:.026}
  .next-stage-promise{grid-template-columns:1fr;padding:23px 21px 23px 24px}.trust-proof{gap:12px}.trust-proof article{min-height:205px;padding:28px 25px}.proof-scenes{margin:52px -24px 0;padding:24px;gap:8px 15px}
}

/* Clear Japanese section navigation and stronger block boundaries */
.kicker{display:inline-flex;align-items:center;gap:11px;margin-bottom:24px;font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;color:#147f82}
.kicker:before{content:"";width:22px;height:3px;background:var(--accent-warm)}
.kicker.light{color:#fff}.kicker.light:before{background:#dfc27f}
.next-stage .kicker.light{color:#147f82}.next-stage .kicker.light:before{background:var(--accent-warm)}

.problems{max-width:none;padding-left:max(6vw,calc((100vw - var(--max))/2));padding-right:max(6vw,calc((100vw - var(--max))/2));background:#f4f7f9;border-top:1px solid #e2e8ed;border-bottom:1px solid #e2e8ed}
.service-hub{background:#fff;border-top:1px solid #e4e9ee;border-bottom:1px solid #e4e9ee}
.usecases{max-width:none;padding-left:max(6vw,calc((100vw - var(--max))/2));padding-right:max(6vw,calc((100vw - var(--max))/2));background:#eef5f4;border-top:1px solid #dce7e6;border-bottom:1px solid #dce7e6}
.features{border-top:1px solid rgba(255,255,255,.12)}
.flow{max-width:none;padding-left:max(6vw,calc((100vw - var(--max))/2));padding-right:max(6vw,calc((100vw - var(--max))/2));background:#fff;border-top:1px solid #e4e9ee;border-bottom:1px solid #e4e9ee}
.stories{border-top:1px solid #e0e6eb;background:#f2f5f7}
.insights{border-top:1px solid #e1e7ec;border-bottom:1px solid #e1e7ec}
.contact{border-top:1px solid rgba(255,255,255,.18)}

/* Replace decorative English labels with reader-friendly Japanese labels. */
.stories .kicker,.contact .kicker{font-size:0}
.stories .kicker:after{content:"お客様の導入事例";font-size:13px}
.contact .kicker:after{content:"ご相談・お問い合わせ";font-size:13px}
.service-label{font-size:0;font-family:"Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.08em}
.service-grid article:nth-child(1) .service-label:after{content:"SIM管理"}.service-grid article:nth-child(2) .service-label:after{content:"閉域ネットワーク"}.service-grid article:nth-child(3) .service-label:after{content:"追加機能"}.service-grid article:nth-child(4) .service-label:after{content:"個別通信設計"}.service-grid article:nth-child(5) .service-label:after{content:"IoT導入・運用支援"}
.service-label:after{font-size:12px;font-weight:700}
.case-grid article>small{font-size:0;font-family:"Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.06em}
.case-grid article:nth-child(1)>small:after{content:"映像AI・遠隔監視"}.case-grid article:nth-child(2)>small:after{content:"設備監視・保守"}.case-grid article:nth-child(3)>small:after{content:"医療・ヘルスケア"}.case-grid article:nth-child(4)>small:after{content:"車両・物流"}.case-grid article:nth-child(5)>small:after{content:"決済・店舗・自販機"}
.case-grid article>small:after{font-size:11px;font-weight:700}
.feature-list article>b{display:none}
.story-index-banner small{font-size:0}.story-index-banner small:after{content:"導入事例一覧";font:600 11px "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.08em}
.blog-grid span{font-size:0}.blog-grid span:after{content:"記事を読む →";font:600 11px "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.04em}
.next-stage-promise>span{font-size:0}.next-stage-promise>span:after{content:"Route7のお約束";font:700 11px "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.08em}
.trust-proof small{font-size:0;font-family:"Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.05em}
.trust-proof article:nth-child(1) small:after{content:"通信基盤と運用力"}.trust-proof article:nth-child(2) small:after{content:"これまでの経験を継ぐ"}.trust-proof article:nth-child(3) small:after{content:"事業ごとに最適化"}.trust-proof article:nth-child(4) small:after{content:"導入後も継続支援"}
.trust-proof small:after{font-size:11px;font-weight:600}

@media(max-width:900px){
  .problems,.service-hub,.usecases,.flow{padding-left:22px;padding-right:22px}
  .kicker{font-size:12px;margin-bottom:19px}
}

/* Refined three-company customer stories */
.stories-head,.story-grid,.stories-note,.story-index-banner{max-width:1120px;margin-left:auto;margin-right:auto}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;overflow:visible;padding:4px 0 0;margin-top:48px}
.story-grid article{min-width:0;min-height:500px;padding:0 28px 30px;border:1px solid #dfe5eb;border-bottom:2px solid var(--accent-tech);box-shadow:0 10px 28px rgba(37,46,84,.045)}
.story-grid article:nth-child(2){border-bottom-color:var(--accent-warm)}
.story-grid article:nth-child(3){border-bottom-color:#7581a8}
.story-visual{height:210px;margin:0 -28px 25px;position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(15,30,52,.02),rgba(15,30,52,.22)),url("./assets/customer-story-portraits.png");background-repeat:no-repeat;background-size:300% auto}
.story-visual-1{background-position:0 31%}.story-visual-2{background-position:50% 31%}.story-visual-3{background-position:100% 31%}
.mock-logo{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:9px;padding:8px 12px 8px 9px;background:rgba(255,255,255,.94);color:#252e54;box-shadow:0 6px 18px rgba(18,31,53,.12)}
.mock-logo i{display:grid;place-items:center;width:27px;height:27px;background:#147f82;color:#fff;font:700 13px Arial;font-style:normal}.story-grid article:nth-child(2) .mock-logo i{background:#a47d31}.story-grid article:nth-child(3) .mock-logo i{background:#5d688e}
.mock-logo span{font:700 11px Arial;letter-spacing:.12em}
.story-grid h3{font-size:20px;line-height:1.65;margin:13px 0 10px}.story-grid p:not(.tag){font-size:13px;line-height:1.85}
.stories-note{margin-top:13px;margin-bottom:0;color:#8491a0;font-size:11px;text-align:right}
.story-index-banner{width:calc(100% - 96px);min-height:86px;margin-top:25px;padding:19px 27px;border-left-width:3px;box-shadow:0 8px 24px rgba(37,46,84,.08)}
.story-index-banner b{font-size:19px}
@media(max-width:900px){
  .story-grid{grid-template-columns:1fr;gap:16px;margin-top:36px}
  .story-grid article{min-height:0;padding:0 24px 27px}
  .story-visual{height:230px;margin:0 -24px 23px}
  .stories-note{text-align:left}
  .story-index-banner{width:100%;min-height:82px}
}

/* A visible three-card window with more cases available by horizontal scroll */
.story-nav{display:flex;align-items:center;gap:16px;padding-bottom:8px}.story-nav>span{font-size:12px;font-weight:700;color:#758294;letter-spacing:.08em}
.story-grid{display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-left:0;padding:4px 0 22px;margin-top:48px;scrollbar-width:thin;scrollbar-color:#aeb8c7 transparent}
.story-grid::-webkit-scrollbar{height:5px}.story-grid::-webkit-scrollbar-track{background:#e1e6ec}.story-grid::-webkit-scrollbar-thumb{background:#9aa7b8;border-radius:10px}
.story-grid article{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start}
.story-grid article:nth-child(3n+2){border-bottom-color:var(--accent-warm)}.story-grid article:nth-child(3n){border-bottom-color:#7581a8}
.story-grid article:nth-child(3n+1) .mock-logo i{background:#147f82}.story-grid article:nth-child(3n+2) .mock-logo i{background:#a47d31}.story-grid article:nth-child(3n) .mock-logo i{background:#5d688e}
@media(max-width:900px){
  .stories-head{align-items:flex-end}.story-nav{gap:10px}.story-nav>span{display:none}
  .story-grid{display:flex;gap:14px;margin-top:36px}
  .story-grid article{flex:0 0 min(360px,84vw)}
}

/* Compact introduction: the different criteria for human and IoT connectivity. */
.sim-concept{background:#fff;border-bottom:1px solid #e0e7eb;padding:52px 30px 44px}.sim-concept-inner{max-width:1180px;margin:auto}.sim-concept .kicker{margin-bottom:12px}.sim-concept h2{font:600 clamp(25px,2.4vw,35px)/1.6 "Yu Mincho",serif;letter-spacing:.01em;margin:0 0 24px;color:#252e54}.sim-mobile-break{display:none}.sim-comparison{display:grid;grid-template-columns:.85fr 1.15fr;border-top:1px solid #dce4e8;border-bottom:1px solid #dce4e8}.sim-comparison>div{padding:22px 28px}.sim-comparison .sim-human{padding-left:0}.sim-iot{background:#f0f7f6;border-left:3px solid #07878b}.sim-comparison .sim-category{font-size:12px;font-weight:700;color:#6d7b8d;margin:0 0 9px}.sim-iot .sim-category{color:#07878b}.sim-comparison h3{font:600 clamp(18px,1.6vw,23px)/1.65 "Yu Mincho",serif;color:#252e54;margin:0 0 10px}.sim-comparison h3 em{font-style:normal;color:#07878b;display:block}.sim-comparison p:last-child{font-size:13px;line-height:1.9;color:#637087;margin:0}.sim-concept-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px}.sim-concept-bottom p{font-size:13px;line-height:1.9;color:#637087;margin:0}.sim-concept-bottom strong{color:#252e54;font-weight:700}.sim-concept-bottom a{display:inline-flex;align-items:center;gap:24px;color:#087e85;font-size:13px;font-weight:700;white-space:nowrap;min-height:44px;border-bottom:1px solid #b18b43}.sim-concept-bottom a:focus-visible{outline:2px solid #07878b;outline-offset:5px}.sim-concept-bottom a:hover span{transform:translateX(4px)}.sim-concept-bottom a span{transition:transform .2s}@media(max-width:900px){.sim-concept{padding:38px 24px}.sim-comparison{grid-template-columns:1fr 1fr}.sim-comparison>div{padding:20px}.sim-comparison .desktop{display:none}.sim-concept-bottom{align-items:flex-start;flex-direction:column;gap:10px}}@media(max-width:600px){.sim-mobile-break{display:block}.sim-concept h2{font-size:25px;margin-bottom:20px}.sim-comparison{grid-template-columns:1fr}.sim-comparison .sim-human{padding:18px 0}.sim-comparison .sim-iot{padding:18px}.sim-comparison h3{font-size:20px}.sim-concept-bottom p{font-size:12px}}

/* Align the comparison by purpose, specification and total cost. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sim-concept h2{font-size:clamp(24px,2.35vw,34px)}.sim-compare-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;color:#637087;line-height:1.8}.sim-compare-table .compare-axis{width:145px}.sim-compare-table th,.sim-compare-table td{padding:16px 24px;border-bottom:1px solid #dce4e8;vertical-align:middle;text-align:left}.sim-compare-table thead th{background:#eef1f5;border-top:3px solid #8b97aa;font-size:20px;color:#252e54}.sim-compare-table thead td{border-bottom:0}.sim-compare-table thead th.compare-iot{background:#e6f3f1;border-top-color:#07878b;color:#087e85}.sim-compare-table thead small{display:block;font-size:11px;font-weight:400;margin-top:3px;color:#637087}.compare-device{font-size:25px;margin-right:10px;vertical-align:-1px}.sim-compare-table tbody th{background:#f7f8fa;font-size:12px;color:#52627a;font-weight:700}.sim-compare-table td{background:#fafbfd;border-left:5px solid white}.sim-compare-table td.compare-iot{background:#f0f7f6}.sim-compare-table strong{color:#252e54;font-size:14px}.sim-compare-table .compare-iot strong{color:#07878b}.sim-compare-table p{margin:4px 0 0;font-size:12px}.sim-compare-table .compare-key strong{font:600 clamp(16px,1.55vw,21px)/1.6 "Yu Mincho",serif}.sim-tco-note{font-size:12px;color:#637087;line-height:1.9;margin:14px 0 0}.sim-tco-note a{color:#07878b;text-decoration:underline;text-underline-offset:4px;margin-left:12px;display:inline-block}.sim-concept-bottom{margin-top:12px}@media(max-width:700px){.sim-compare-table .compare-axis{width:80px}.sim-compare-table th,.sim-compare-table td{padding:12px 10px}.sim-compare-table thead th{font-size:16px}.sim-compare-table tbody th{font-size:11px}.sim-compare-table,.sim-compare-table p{font-size:11px}.sim-compare-table strong{font-size:12px}.sim-compare-table .compare-key strong{font-size:16px}.sim-compare-table thead small{font-size:10px}.compare-device{display:none}.sim-compare-table br{display:none}.sim-tco-note a{margin-left:0}.sim-concept h2{font-size:25px;line-height:1.65}}

/* Center category headings and use matching human/device line icons. */
.sim-compare-table thead th{text-align:center}.sim-compare-table .compare-device{display:inline-flex;vertical-align:middle;width:32px;height:32px;margin:0 10px 0 0;align-items:center;justify-content:center}.compare-device svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sim-compare-table thead small{text-align:center}.sim-concept-bottom{justify-content:center}@media(max-width:700px){.sim-compare-table .compare-device{display:flex;width:28px;height:28px;margin:0 auto 7px}.sim-compare-table thead th{padding-top:15px;padding-bottom:15px}}

/* Distinguish new-service conversations from the existing-customer desk. */
.contact-actions{gap:0}.contact-new{display:flex;flex-direction:column;gap:12px}.contact .contact-group-title{margin:0 0 4px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em}.contact-new>small{display:block;font-size:11px;text-align:center;margin-top:3px}.contact-existing{margin-top:38px;padding-top:27px;border-top:1px solid rgba(255,255,255,.25)}.contact-existing .contact-group-title{color:#dfc27f}.contact .contact-existing-note{color:#bfcadc;font-size:11px;margin:6px 0 14px;line-height:1.8}.contact-actions .contact-existing>a.contact-general{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.4);border-left:3px solid #dfc27f;color:#fff;padding:17px 21px;font-size:13px}.contact-actions a{align-items:center;gap:15px;line-height:1.7}.contact-new>a:nth-of-type(1){background:#078f94;color:#fff;border:1px solid #078f94}.contact-new>a:nth-of-type(2){background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}.contact-actions a:focus-visible{outline:2px solid #dfc27f;outline-offset:4px}.contact-existing>a:hover{background:rgba(255,255,255,.12)}@media(max-width:600px){.contact-existing{margin-top:32px;padding-top:24px}.contact-new>a{padding:18px;font-size:13px}}
