@charset "UTF-8";
/* 2026-10-16 Cats Security SIM LP専用CSS。旧SIM CSSの上書きや共有CSS変更なし。 */
:root{--navy:#071d3c;--navy2:#0b315f;--blue:#1269b8;--bright:#16a0ed;--ink:#173050;--muted:#546c87;--line:#d9e5f1;--soft:#f2f7fc;--white:#fff;--red:#a93242;--cyan:#d8f2ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.78 "Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}a{color:inherit}img,svg{max-width:100%}.container{width:min(1140px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:5px;z-index:99}.skip-link:focus{left:12px;background:#fff;padding:8px}.site-header{background:#fff;border-bottom:1px solid #dce8f4}.header-inner{max-width:1200px;margin:auto;min-height:76px;padding:12px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:baseline;gap:10px;color:var(--navy)}.brand-mark{font-size:33px;font-weight:900;line-height:1;letter-spacing:-2px}.brand-caption{font-weight:800;font-size:14px}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:7px 21px}.site-nav a{text-decoration:none;font-size:13px;font-weight:750;padding:8px 0}.site-nav a:hover,.site-nav a:focus-visible{color:var(--blue)}.site-nav .nav-cta{padding:8px 15px;background:var(--navy2);color:#fff;border-radius:6px}.trust-bar{background:var(--navy);color:#dcecff;font-size:12px}.trust-bar .container{display:flex;align-items:center;gap:15px;padding-block:9px}.trust-bar strong{font-size:11px;letter-spacing:1.5px;color:#8ddbff}.hero{background:radial-gradient(circle at 79% 15%,#2563a3 0,#0e2c59 41%,#061b36 80%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:58px;padding-block:70px 75px}.eyebrow,.section-label{margin:0 0 17px;font-weight:850;font-size:12px;letter-spacing:2px;color:#65c9ff}.hero h1{font-size:clamp(33px,4.2vw,57px);line-height:1.33;letter-spacing:-.04em;margin:0 0 21px;font-weight:900}.hero h1 em{font-style:normal;color:#70d8ff}.hero-lead{font-size:clamp(16px,1.55vw,19px);line-height:1.9;margin:0 0 14px}.hero-lead strong{color:#c6eaff}.hero-note{font-size:14px;color:#cfdded;margin-bottom:27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;border-radius:7px;padding:13px 22px;font-weight:850;text-decoration:none;line-height:1.5;border:1px solid transparent;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button.primary{background:#1a9fe5;color:#fff}.button.outline{color:#fff;border-color:#7cabc9;background:#ffffff0b}.hero-focus{border:1px solid #75bbf38a;border-radius:18px;padding:27px 30px 14px;background:linear-gradient(135deg,#07539a99,#071b36);box-shadow:0 25px 50px #0002;position:relative;overflow:hidden}.focus-top{display:flex;align-items:center;justify-content:space-between;color:#bee9ff;font-size:11px;font-weight:800;letter-spacing:1px}.focus-icon{border-radius:6px;border:1px solid #71d2ff;background:#0b396e;padding:5px 9px}.focus-title{font-size:clamp(50px,6vw,91px);line-height:1.13;font-weight:950;letter-spacing:-.07em;margin:8px 0 4px}.focus-title span{color:#65caff}.focus-sub{font-size:18px;line-height:1.5;font-weight:700;color:#e8f6ff}.focus-tags{display:flex;flex-wrap:wrap;gap:8px}.focus-tags span{border:1px solid #6d9bb4;border-radius:40px;padding:2px 10px;font-size:11px}.focus-visual{margin:18px 0 16px;display:flex;gap:9px;height:95px;align-items:end;justify-content:center;perspective:300px}.focus-visual span{display:block;height:100%;width:47px;border:2px solid #75bcf8;border-radius:4px;background:repeating-linear-gradient(0deg,#0a2e57 0 9px,#3c8ac9 9px 11px,#0b274f 11px 18px);box-shadow:inset 0 0 0 4px #0a2b50,8px 9px 10px #0006}.focus-visual span:nth-child(2),.focus-visual span:nth-child(4){height:83%}.focus-foot{font-size:11px;letter-spacing:1.1px;color:#addbff;text-align:center;margin:0}.section{padding:74px 0}.section-heading{max-width:810px;margin:0 auto 34px;text-align:center}.section-label{color:#0877c4}.section h2{font-size:clamp(25px,3vw,36px);line-height:1.42;letter-spacing:-.03em;margin:0 0 17px;font-weight:900}.section-heading>p:last-child{margin:0;color:var(--muted)}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.intro-grid p{margin:0 0 15px}.intro-grid>div:nth-child(2){color:#344c65}.compare-section{background:var(--soft)}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.comparison-card{border:1px solid #dce6f1;background:white;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px #133b6810}.comparison-card.exposed{border-color:#f1d5d9}.comparison-card.protected{border-color:#9ac9e7}.card-band{padding:9px 24px;color:#fff;font-size:13px;font-weight:900;background:#6e8194}.protected .card-band{background:#146fb3}.comparison-card h3{margin:24px 24px 9px;font-size:22px;line-height:1.4}.comparison-card .card-lead{margin:0 24px 24px;color:#4e637d;font-size:14px}.public-diagram,.cats-mini-diagram{margin:0 18px;min-height:260px;border-radius:10px;border:1px solid #e4e9ef;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:4px;background:#f8fafc;padding:18px 7px 84px;position:relative}.cats-mini-diagram{background:#eff8ff;border-color:#d5e7f5}.diagram-node{width:27%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:80px;padding:8px 3px;border:1px solid #aebdce;border-radius:8px;background:#fff;font-size:12px;line-height:1.45}.diagram-node strong{font-size:12px}.diagram-node small{color:#59718c;font-size:10px}.diagram-arrow{flex:0 0 auto;font-weight:900;color:#6385a7;font-size:19px}.node-internet{background:#e4f2ff;border-color:#79b3e2}.node-public{border-color:#d47b89;background:#fff1f3}.node-docomo{background:#edf3ff;border-color:#76a3d2}.node-gate{background:#e4f9ff;border-color:#68b4d1}.node-idc{background:#063d73;color:#fff;border-color:#063d73}.node-idc small{color:#d3ebff}.cats-mini-diagram .diagram-node{width:21%}.cats-mini-diagram .diagram-node strong{font-size:11px}.cats-mini-diagram .diagram-arrow{font-size:15px}.attacker{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;color:#ad3145;line-height:1.35;white-space:nowrap}.attacker strong{font-size:13px}.attacker small{font-size:10px}.attacker-line{font-size:30px;line-height:1;color:#d34d60}.risk-list,.benefit-list{margin:21px 24px 0;border-radius:8px;padding:13px 18px;background:#fff0f2}.benefit-list{background:#eff8ff}.risk-list h4,.benefit-list h4{margin:0 0 7px;color:#932d40}.benefit-list h4{color:#075e9d}.risk-list ul,.benefit-list ul{margin:0;padding-left:19px;font-size:14px}.risk-list li,.benefit-list li{margin:7px 0}.card-caution{margin:auto 24px 0;padding:20px 0 24px;color:#64778c;font-size:12px;line-height:1.7}.network-section{background:#fff}.network-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:19px;align-items:stretch}.network-main{border:1px solid #cddfea;border-radius:13px;background:#f6faff;padding:23px;display:flex;flex-direction:column}.devices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.device{min-width:0;border:1px solid #b6cee5;border-radius:9px;background:#fff;padding:13px 8px;display:flex;flex-direction:column;align-items:center;text-align:center}.device-symbol{font-size:29px;color:#1678bf;line-height:1.4}.device strong{font-size:14px}.device small{color:#47617c;font-size:11px}.down-connector{text-align:center;color:#1377b7;font-size:28px;line-height:1.2}.service-boundary{border-radius:10px;border:2px solid #4597cc;background:#e9f5ff;padding:13px}.boundary-title{text-align:center;font-size:14px;font-weight:900;color:#055b9d;margin-bottom:11px}.service-flow{display:flex;align-items:center;justify-content:center;gap:13px}.flow-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:94px;border-radius:8px;background:#fff;border:1px solid #a2c1dd;text-align:center;padding:9px;line-height:1.5}.flow-box strong{font-size:17px}.flow-box b{font-size:15px}.flow-box span{font-size:11px;color:#527492}.flow-box.firewall{background:#063c70;color:#fff;border-color:#063c70}.flow-box.firewall span{color:#e1f3ff}.flow-arrow{font-size:24px;font-weight:900;color:#087ac2}.routing{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:19px}.route{min-width:0;border:1px solid #83adcb;border-radius:9px;background:#fff;padding:13px 13px;position:relative}.route:before{content:'\2193';display:block;text-align:center;color:#1280bc;font-size:22px;font-weight:900;line-height:1}.route-type{display:block;font-size:11px;font-weight:800;color:#156aa1;margin-bottom:6px}.route strong{display:block;font-size:16px}.route small{display:block;color:#53708a;font-size:11px}.route-internet{border-style:dashed;border-color:#8faac0}.route-internet:before{color:#748da2}.route-private{background:#dff2ff;border-color:#77b0da}.network-destinations{display:flex;flex-direction:column;gap:11px}.dest-title{margin:0;font-size:14px;font-weight:900}.destination{border:1px solid #c2d6e8;border-radius:12px;padding:16px 18px;background:#fff}.destination-primary{background:linear-gradient(138deg,#06407c,#09234c);color:#fff;border-color:#0b4782;flex:1;display:flex;flex-direction:column;justify-content:center;padding:23px}.dest-kicker{font-size:11px;color:#ade6ff;font-weight:900}.destination-primary h3{font-size:clamp(36px,4vw,60px);line-height:1.2;letter-spacing:-.05em;margin:8px 0}.destination-primary h3 em{font-style:normal;color:#67c5ff}.destination-primary p{margin:0 0 10px;font-weight:850}.destination-primary .dest-sub{font-weight:400;color:#cce0f2;font-size:14px}.destination-primary a{color:#fff;text-underline-offset:4px;font-weight:800;margin-top:8px}.destination-other{display:flex;flex-direction:column;gap:2px}.destination-other strong{font-size:16px}.destination-other small{font-size:12px;color:#57718a}.network-caption{font-size:12px;color:#597086;margin:20px 4px 0}.idc-section{background:linear-gradient(135deg,#061c3d,#0d4380);color:#fff}.idc-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.idc-grid .section-label{color:#86d5ff}.idc-grid .idc-copy{color:#d7e6f7;max-width:650px;margin-bottom:28px}.idc-cards{display:grid;gap:14px}.idc-card{display:grid;grid-template-columns:auto 1fr;gap:0 12px;padding:22px;border:1px solid #4c84ac;border-radius:10px;background:#ffffff0b}.idc-card span{grid-row:span 2;color:#74ceff;font-weight:900;font-size:13px}.idc-card strong{font-size:21px}.idc-card small{color:#c5ddf0}.strengths{background:#fff}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.strength-grid article{border:1px solid #d8e7f4;padding:24px;border-radius:9px}.strength-grid article>span{font-size:13px;color:#1680c7;font-weight:900}.strength-grid h3{font-size:18px;line-height:1.4;margin:10px 0}.strength-grid p{font-size:14px;color:#506a83;margin:0}.limits{background:#edf4fa;padding-block:40px}.limits-inner{border-left:4px solid #6096ba;padding-left:20px}.limits h2{font-size:20px;margin:0 0 9px}.limits p{margin:0 0 8px;font-size:14px;color:#445f79}.contact-section{background:#e8f7ff;padding:54px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-inner h2{font-size:clamp(25px,3vw,34px);line-height:1.45;margin:0 0 10px}.contact-inner p:not(.section-label){font-size:14px;max-width:650px;margin:0}.contact-button{background:var(--navy);color:#fff;white-space:nowrap}.site-footer{background:#061b35;color:#deeaf7;padding:30px 0}.footer-inner{display:flex;align-items:center;gap:25px;justify-content:space-between}.footer-inner strong{font-size:18px}.footer-inner p,.footer-inner small{color:#a3c0d9;font-size:12px;margin:0}.footer-inner nav{display:flex;flex-wrap:wrap;gap:15px}.footer-inner nav a{font-size:13px;text-decoration:none}
@media(max-width:1000px){.hero-grid{gap:25px}.hero-focus{padding:22px}.network-layout{grid-template-columns:1fr}.network-destinations{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:stretch}.network-destinations .dest-title{grid-column:1/-1}.destination-primary{padding:18px}.destination-primary h3{font-size:44px}.comparison-card h3{font-size:19px}.public-diagram,.cats-mini-diagram{margin:0 10px}}
@media(max-width:900px){.container{width:min(100% - 32px,1140px)}.header-inner{padding:12px 16px;flex-direction:column;gap:9px;align-items:stretch}.brand{justify-content:center}.site-nav{justify-content:center;gap:2px 17px}.site-nav a{font-size:12px}.hero-grid{grid-template-columns:1fr;padding-block:47px}.hero-focus{max-width:460px;width:100%;margin:0 auto}.intro-grid,.compare-grid,.idc-grid{grid-template-columns:1fr;gap:21px}.network-destinations{grid-template-columns:1fr 1fr}.network-destinations .dest-title{grid-column:1/-1}.destination-primary{grid-column:1/-1}.section{padding:53px 0}.strength-grid{grid-template-columns:1fr;gap:12px}.contact-inner{align-items:flex-start;flex-direction:column}.footer-inner{flex-direction:column;align-items:flex-start}.public-diagram,.cats-mini-diagram{margin:0 18px}.diagram-node{width:26%}}
@media(max-width:450px){body{font-size:15px}.header-inner{min-height:0}.brand-mark{font-size:29px}.brand-caption{font-size:12px}.site-nav{gap:3px 12px}.site-nav a{font-size:11px}.trust-bar .container{font-size:10px;gap:8px}.hero h1{font-size:35px}.hero-lead{font-size:16px}.hero-actions .button{width:100%}.focus-title{font-size:70px}.comparison-card h3{margin:17px 16px 8px;font-size:19px}.comparison-card .card-lead{margin:0 16px 16px}.risk-list,.benefit-list{margin:17px 14px 0;padding:12px}.card-caution{margin:0 16px;padding:15px 0}.public-diagram,.cats-mini-diagram{margin:0 10px;min-height:240px;padding:10px 5px 70px;gap:3px}.diagram-node,.cats-mini-diagram .diagram-node{min-height:76px;padding:7px 2px}.diagram-node strong,.cats-mini-diagram .diagram-node strong{font-size:10px;overflow-wrap:anywhere}.diagram-node small{font-size:9px}.diagram-arrow,.cats-mini-diagram .diagram-arrow{font-size:13px}.cats-mini-diagram .diagram-node{width:20%}.attacker strong{font-size:11px}.attacker small{font-size:9px}.network-main{padding:13px}.devices{gap:5px}.device{padding:8px 3px}.device strong{font-size:11px}.device small{font-size:9px;overflow-wrap:anywhere}.device-symbol{font-size:26px}.flow-box strong{font-size:14px}.flow-box b{font-size:12px}.flow-box span{font-size:9px}.service-flow{gap:5px}.flow-arrow{font-size:16px}.boundary-title{font-size:12px}.routing{grid-template-columns:1fr;gap:8px}.network-destinations{grid-template-columns:1fr}.destination-primary{grid-column:auto}.idc-card{padding:15px}.section h2{font-size:25px}.contact-inner h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* 2026-10-16 実ブラウザ確認: スマートフォンでは比較図を縦方向に展開して文字を読みやすくする。 */
@media(max-width:450px){
  .public-diagram,.cats-mini-diagram{min-height:0;flex-direction:column;flex-wrap:nowrap;padding:15px 12px 23px;gap:6px}
  .public-diagram{padding-bottom:115px}
  .public-diagram .diagram-node,.cats-mini-diagram .diagram-node{width:100%;min-height:54px;padding:9px 8px}
  .diagram-node strong,.cats-mini-diagram .diagram-node strong{font-size:13px}
  .diagram-node small{font-size:10px}
  .public-diagram .diagram-arrow,.cats-mini-diagram .diagram-arrow{transform:rotate(90deg);font-size:20px;line-height:1}
  .attacker{bottom:10px}
}

/* 2026-10-16 21:46: コピー修正と、FortiGateからInternetへのポリシー分岐を視覚化。 */
.hero-pretitle{font-size:clamp(24px,3.3vw,43px)}
.cats-mini-diagram{padding-bottom:19px}
.policy-branch{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;gap:1px;margin:7px 9px 0;padding:10px 13px;border-radius:9px;border:1px dashed #2680bf;background:#fff;text-align:center;line-height:1.45}
.policy-branch span{font-size:11px;color:#356b92;font-weight:700}
.policy-branch strong{font-size:14px;color:#075c99}
.policy-branch small{font-size:11px;color:#49657d}
@media(max-width:450px){.hero-pretitle{font-size:24px}.cats-mini-diagram{padding:15px 12px 18px}.policy-branch{flex:0 0 auto;width:100%;margin:10px 0 0}}

/* スマートフォンで見出し末尾「ん。」だけが孤立しないようにする。 */
.mobile-break{display:none}
@media(max-width:450px){.mobile-break{display:inline}}

/* 2026-10-16 22時台: お父さん合意仕様。トップのIDCラック図をSIM通信全体構成図に変更。
   従来ページ共有CSSは変更せず、この専用CSS末尾で追加する。 */
.hero-grid{grid-template-columns:.94fr 1.06fr;gap:31px;padding-block:48px 56px}
.hero-focus{padding:20px 20px 16px;background:linear-gradient(145deg,#075498,#062e58 50%,#071d3d);overflow:visible}
.focus-top{gap:8px;color:#e1f5ff;line-height:1.5;font-size:12px;letter-spacing:0}
.focus-top strong{font-size:14px;line-height:1.5}
.focus-icon{font-size:11px;white-space:nowrap}
.hero-sim-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:18px}
.hero-sim-devices div{background:#eaf7ff;color:#07355e;border:1px solid #a9d4fb;border-radius:8px;padding:8px 2px;text-align:center;font-size:12px;font-weight:900;min-width:0}
.hero-sim-devices small{display:block;color:#276891;font-size:10px;font-weight:700}
.hero-flow-down{text-align:center;color:#8cdbff;font-size:14px;height:22px;line-height:22px}
.hero-network-step{border:1px solid #6dbbea;border-radius:8px;background:#e8f4ff;color:#063b70;padding:7px 12px;text-align:center}
.hero-network-step strong{display:block;font-size:16px;line-height:1.3}
.hero-network-step span{display:block;font-size:11px;line-height:1.5}
.hero-gate{background:#0a6aab;color:white;border-color:#8bd8ff}
.hero-split-label{display:flex;justify-content:space-between;gap:6px;align-items:center;color:#d4eeff;font-size:11px;font-weight:750;padding:8px 4px 3px}
.hero-split-label span{color:#80d6ff;font-size:13px}
.hero-routes{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;align-items:stretch}
.hero-private-route,.hero-internet-route{border:1px solid #73bfea;border-radius:9px;text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0;padding:8px 7px 10px;background:#053c70}
.hero-internet-route{background:#153e5f;border-style:dashed}
.route-badge{font-weight:850;font-size:10px;line-height:1.45;color:#e9f8ff;padding:1px 5px;border-radius:8px;background:#ffffff1c;margin-bottom:5px}
.hero-private-route>strong,.hero-internet-route>strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.hero-private-route>small,.hero-internet-route>small{font-size:10px;color:#d1e9fd;line-height:1.5}
.hero-inline-arrow{font-size:15px;color:#abe8ff;line-height:1.1;margin:4px}
.hero-private-destinations{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}
.hero-private-destinations b{background:#ebf7ff;color:#074679;padding:6px 3px;font-size:11px;line-height:1.3;border-radius:5px;overflow-wrap:anywhere}
.hero-private-destinations b:first-child{background:#96e2ff;color:#042d57}
.hero-aws-note{font-size:10px;color:#c4e4f7;text-align:center;margin:10px 0 0;line-height:1.5}
/* 詳細なネットワーク全体図: フレッツ・VPN ワイドの後に各業務サーバーを置く。 */
.network-map{background:#f3f8ff;border:1px solid #c9e0f4;border-radius:16px;padding:23px;max-width:1050px;margin:0 auto}
.network-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:730px;margin:auto}
.network-devices>div{background:white;border:1px solid #a6c8e6;padding:11px;border-radius:8px;text-align:center;color:#074f82;font-size:16px;font-weight:900}
.network-devices small{display:block;color:#516d88;font-size:12px;font-weight:500}
.network-arrow{text-align:center;color:#137fba;font-size:20px;line-height:1.2;margin:6px 0}
.network-core{border:2px solid #418fca;background:#e2f2ff;border-radius:11px;padding:15px;max-width:760px;margin:auto}
.network-core>p{text-align:center;color:#045991;font-weight:900;font-size:15px;line-height:1.5;margin:0 0 10px}
.network-core-row{display:flex;align-items:stretch;justify-content:center;gap:13px}
.network-core-row>span{align-self:center;color:#1272b1;font-size:26px;font-weight:900}
.network-docomo,.network-fortigate{background:white;border:1px solid #a7c9e9;border-radius:9px;padding:12px;display:flex;flex:1;flex-direction:column;justify-content:center;text-align:center}
.network-docomo strong,.network-fortigate strong{font-size:17px;line-height:1.45}
.network-docomo small,.network-fortigate small{font-size:12px;color:#5f7690}
.network-fortigate{background:#0c4f8b;color:white}
.network-fortigate small{color:#dbf2ff}
.network-branches{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;align-items:stretch}
.network-business,.network-web{min-width:0;border:1px solid #8dbde2;border-radius:12px;background:white;padding:15px;display:flex;flex-direction:column;align-items:stretch;gap:7px}
.network-web{border-style:dashed;background:#e7f5ff;justify-content:center;text-align:center;gap:8px}
.network-tag{display:block;color:#1671af;font-size:12px;font-weight:800;text-align:center}
.network-vpn{background:#dcefff;border-radius:9px;text-align:center;border:1px solid #8cbce0;padding:8px}
.network-vpn strong,.network-web>strong{display:block;font-size:18px;color:#074b86;line-height:1.45}
.network-vpn small,.network-web small{display:block;font-size:12px;color:#4b6985}
.network-business .network-arrow{margin:0;font-size:17px}
.network-servers{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.network-idc,.network-customer{border-radius:9px;padding:13px 8px;background:#073968;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center}
.network-customer{background:#fff;color:#084779;border:1px solid #91b9d9}
.network-idc b,.network-customer b{font-size:18px;line-height:1.4}
.network-idc small,.network-customer small{font-size:11px;line-height:1.5;opacity:.9}
.network-cloud-note{border-top:1px solid #bed7ed;font-size:12px;color:#476781;margin:16px 0 0;padding-top:9px}
.network-cloud-note strong{color:#225e89}
@media(max-width:1000px){.hero-grid{grid-template-columns:1fr;gap:22px}.hero-focus{max-width:640px}.hero .eyebrow{line-height:1.6}}
@media(min-width:901px) and (max-width:1000px){.hero-grid{grid-template-columns:.9fr 1.1fr}.hero-focus{max-width:none}.hero h1{font-size:38px}}
@media(max-width:700px){.network-branches{grid-template-columns:1fr;gap:12px}.network-map{padding:15px}.network-web{min-height:103px}.network-devices{gap:6px}.network-devices>div{font-size:12px;padding:8px 3px}.network-devices small{font-size:10px}.network-core-row{gap:5px}.network-core-row>span{font-size:17px}.network-docomo,.network-fortigate{padding:8px 4px}.network-docomo strong,.network-fortigate strong{font-size:13px}.network-docomo small,.network-fortigate small{font-size:10px}.network-core{padding:10px 7px}}
@media(max-width:450px){.hero-grid{padding-block:40px}.hero-focus{padding:12px}.focus-top strong{font-size:11px}.focus-icon{font-size:10px;padding:4px 6px}.hero-sim-devices div{font-size:10px;padding:7px 2px}.hero-sim-devices small{font-size:9px}.hero-network-step strong{font-size:14px}.hero-network-step span{font-size:10px}.hero-private-route>strong,.hero-internet-route>strong{font-size:12px}.hero-private-destinations b{font-size:10px}.network-servers{grid-template-columns:1fr 1fr}.network-map{padding:12px}.network-core>p{font-size:12px}}
/* PCでHero先頭句「を、」のみ改行されないようにする。スマホは既存の24pxを継続。 */
@media(min-width:451px){.hero-pretitle{font-size:clamp(22px,2.15vw,31px)}}

/* 2026-10-16 22:47: 「インターネットにさらさない。」の途中で改行しない。
   ヒーロー左列に収まる文字寸法を画面幅で変え、強制改行をなくす。 */
.hero h1 em{display:inline-block;white-space:nowrap;font-size:clamp(26px,2.5vw,36px);letter-spacing:-.045em}
@media(max-width:700px){.hero h1 em{font-size:clamp(19px,6vw,31px)}}
/* FortiGateの分岐矢印は、業務接続先とInternet接続先の各カードの中央に置く。
   接続の意味を伝えるため、矢印とカードを同じgrid比率で揃える。 */
.hero-split-label{display:block;text-align:center;padding:8px 4px 1px}
.hero-branch-arrows{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;color:#8cdbff;text-align:center;font-size:14px;line-height:1.15;padding:1px 0 5px}
.hero-branch-arrows span{display:block;min-width:0}
