/* スターゲート紹介ページ */
.stargate-provisional{font-size:.5em;white-space:nowrap;color:var(--muted)}
.stargate-tagline{font-size:clamp(20px,3vw,28px);font-weight:700;margin-bottom:16px}
.stargate-note{font-size:13px;color:var(--muted);margin:24px 0;max-width:860px}
.stargate-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.stargate-feature h3{font-size:22px;margin-top:0}
.stargate-feature dl{margin-top:20px}
.stargate-feature dl>div{padding:12px 0;border-top:1px solid var(--line)}
.stargate-feature dt{font-size:14px;font-weight:700}
.stargate-feature dd{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.stargate #features{scroll-margin-top:85px}
@media(max-width:700px){.stargate-features{grid-template-columns:1fr}.stargate .hero-cta .btn{width:100%}}
/* 異常検知・通知・隔離・復旧のフロー図 */
.sg-response{background:linear-gradient(160deg,#eff8ff,#f6f8fc)}
.sg-diagram{margin-top:32px}
.sg-log-source{max-width:720px;margin:auto;padding:20px;border:1px solid #cbddec;border-radius:14px;background:#fff;text-align:center}
.sg-log-source>span{display:inline-block;margin-right:10px;color:var(--accent2);font-size:24px;vertical-align:middle}
.sg-log-source strong{font-size:17px}
.sg-log-source small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.sg-feed{text-align:center;font-size:12px;font-weight:700;color:var(--accent2);padding:12px;line-height:1.6}
.sg-response-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;padding:0}
.sg-response-step{--step-color:#dc2626;position:relative;min-width:0;text-align:center;padding:22px 18px;border:1px solid var(--line);border-top:4px solid var(--step-color);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.sg-response-step:not(:last-child)::after{content:'';position:absolute;right:-29px;top:130px;width:28px;height:26px;background:linear-gradient(90deg,#38bdf8,#2563eb);clip-path:polygon(0 28%,55% 28%,55% 0,100% 50%,55% 100%,55% 72%,0 72%);z-index:2}
.sg-notify{--step-color:#ea580c}.sg-isolate{--step-color:#9333ea}.sg-recover{--step-color:#2563eb}
.sg-step-number{display:block;font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:.06em;font-weight:900;color:var(--step-color);margin-bottom:8px}
.sg-step-icon{display:grid;place-items:center;width:70px;height:70px;margin:16px auto;background:var(--bg2);border-radius:18px;color:var(--step-color)}
.sg-step-icon svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.sg-response-step h3{font-size:18px;line-height:1.6;margin-bottom:12px}
.sg-response-step p{font-size:13px;color:var(--muted)}
.sg-diagram figcaption{font-size:12px;color:var(--muted);margin-top:20px}
@media(max-width:1000px){
 .sg-response-steps{grid-template-columns:1fr;gap:30px;max-width:720px;margin:auto}
 .sg-response-step{padding:22px;text-align:center}
 .sg-step-icon{margin:16px auto}


 .sg-response-step:not(:last-child)::after{top:auto;right:calc(50% - 14px);bottom:-30px;transform:rotate(90deg)}
}
@media(max-width:420px){.sg-response-step{padding:18px}.sg-step-icon{width:50px;height:56px}.sg-step-icon svg{width:40px;height:40px}}
/* STEP画像：円形の縁を背景に溶け込ませる */
.sg-step-photo{width:min(100%,180px);aspect-ratio:1;margin:16px auto}
.sg-step-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;-webkit-mask-image:radial-gradient(circle closest-side,#000 65%,rgba(0,0,0,.9) 77%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 65%,rgba(0,0,0,.9) 77%,transparent 100%)}
.sg-step-icon{width:min(100%,180px);height:auto;aspect-ratio:1;background:transparent}
.sg-step-icon svg{width:70px;height:70px}
.sg-response-step:not(:last-child)::after{top:155px}
@media(max-width:1000px){.sg-response-step:not(:last-child)::after{top:auto}}
@media(max-width:420px){.sg-step-icon{width:min(100%,180px);height:auto}.sg-step-icon svg{width:70px;height:70px}}