/* Discoveries Corporate Site — copilot-security-selfcheck (簡易診断ページ CSS)
 * 接頭辞 sc- ／ ボタン・アイコン・セクション等の共通部品は copilot-security.css（cs-）を併用 */

.sc-page{
  --sc-green:#2E9B4E; --sc-green-l:#E6F4EA;
  --sc-orange:#E8890C; --sc-orange-l:#FEF1DD;
  --sc-coral:#E8604C; --sc-coral-l:#FDECE9;
  --sc-blue:#0066CC; --sc-blue-l:#E8F0FD;
  --sc-gray:#5B6780; --sc-gray-l:#EEF0F4;
}
.sc-page [hidden]{display:none !important}

/* ── LP ── */
.sc-hero{padding:132px 0 72px;background:linear-gradient(180deg,#F3F7FF 0%,#FFFFFF 100%)}
.sc-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.sc-h1{font-family:var(--f-display);font-size:clamp(28px,3.8vw,44px);font-weight:800;line-height:1.4;letter-spacing:-.02em;color:var(--c-ink);margin-bottom:20px}
.sc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 28px}
.sc-chips li{font-size:13px;font-weight:700;color:var(--c-ink-2);background:#fff;border:1px solid var(--c-line);border-radius:9999px;padding:6px 14px}
.sc-visual{background:#fff;border:1px solid var(--c-line);border-radius:28px;padding:28px;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.sc-visual svg{display:block;width:100%;height:auto}

.sc-axes{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto}
.sc-axis{background:#fff;border:1px solid var(--c-line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px}
.sc-axis .cs-ico-wrap{width:52px;height:52px}
.sc-axis--A .cs-ico-wrap{background:var(--sc-coral-l);color:var(--sc-coral)}
.sc-axis--B .cs-ico-wrap{background:var(--sc-orange-l);color:var(--sc-orange)}
.sc-axis--C .cs-ico-wrap{background:var(--sc-blue-l);color:var(--sc-blue)}
.sc-axis-name{font-size:18px;font-weight:700;color:var(--c-ink)}
.sc-axis-desc{font-size:14px;line-height:1.8;color:var(--c-ink-2)}
.sc-explain{max-width:760px;margin:36px auto 0;text-align:center;font-size:15px;line-height:1.9;color:var(--c-ink-2)}
.sc-start2{margin-top:32px;text-align:center}
#sc-detail .cs-section{padding-top:88px}

/* ── Top（診断を最上部に配置） ── */
.sc-top{padding:92px 0 72px;background:linear-gradient(180deg,#F3F7FF 0%,#FFFFFF 100%)}
.sc-top-in{max-width:840px;margin:0 auto;padding:0 24px}
.sc-intro{text-align:center;margin-bottom:20px}
.sc-intro .cs-eyebrow{margin-bottom:8px}
.sc-intro .sc-h1{font-size:clamp(22px,2.8vw,32px);line-height:1.45;margin-bottom:10px}
.sc-top-lead{font-size:14.5px;line-height:1.8;color:var(--c-ink-2)}
.sc-intro .sc-chips{justify-content:center;margin:12px 0 0}
.sc-intro .sc-chips li{font-size:12px;padding:4px 12px}
.sc-panel{background:#fff;border:1px solid var(--c-line);border-radius:28px;padding:32px;box-shadow:0 8px 32px rgba(0,0,0,.10)}
#sc-result:not([hidden]){display:block}
.sc-top.is-result .sc-panel{background:transparent;border:0;box-shadow:none;padding:0}
.sc-top.is-result{padding-top:104px}
/* ── Quiz ── */
.sc-quiz-wrap{padding:112px 0 80px;min-height:80vh;background:linear-gradient(180deg,#F3F7FF 0%,#FFFFFF 60%)}
.sc-quiz-in{max-width:720px;margin:0 auto;padding:0 24px}
.sc-progress{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.sc-progress-track{flex:1;height:8px;border-radius:9999px;background:var(--c-bg-deep);overflow:hidden}
.sc-progress-bar{display:block;height:100%;width:0;border-radius:9999px;background:var(--c-grad);transition:width .3s var(--ease-apple)}
.sc-progress-text{font-family:var(--f-display);font-size:14px;font-weight:700;color:var(--c-ink-2);min-width:52px;text-align:right}
.sc-fieldset{border:0;padding:0;margin:0;min-width:0}
.sc-q-text{display:block;width:100%;font-size:clamp(19px,2.6vw,24px);font-weight:800;line-height:1.6;color:var(--c-ink);margin-bottom:10px;padding:0}
.sc-q-no{display:block;font-family:var(--f-display);font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--c-indigo);margin-bottom:6px}
.sc-q-hint{font-size:14px;line-height:1.8;color:var(--c-ink-3);margin-bottom:24px}
.sc-opts{display:flex;flex-direction:column;gap:12px}
.sc-opt{position:relative;display:block;cursor:pointer}
.sc-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.sc-opt-label{display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 20px;background:#fff;border:2px solid var(--c-line);border-radius:16px;font-size:16px;font-weight:700;color:var(--c-ink);transition:border-color .2s,background .2s,box-shadow .2s}
.sc-opt-label::before{content:"";width:22px;height:22px;border-radius:50%;border:2px solid var(--c-line);background:#fff;flex-shrink:0;transition:all .2s}
.sc-opt:hover .sc-opt-label{border-color:var(--c-indigo);background:var(--c-bg-alt)}
.sc-opt input:checked + .sc-opt-label{border-color:var(--c-indigo);background:var(--c-indigo-l)}
.sc-opt input:checked + .sc-opt-label::before{border-color:var(--c-indigo);background:radial-gradient(circle,var(--c-indigo) 0 45%,#fff 50%)}
.sc-opt input:focus-visible + .sc-opt-label{outline:3px solid #7B3FF2;outline-offset:2px}
.sc-back{margin-top:28px;background:none;border:0;padding:8px 4px;font:inherit;font-size:14px;font-weight:700;color:var(--c-ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.sc-back:hover{color:var(--c-indigo)}
.sc-back:focus-visible{outline:3px solid #7B3FF2;outline-offset:2px;border-radius:6px}

/* ── Result ── */
.sc-result-wrap{padding:112px 0 80px;background:linear-gradient(180deg,#F3F7FF 0%,#FFFFFF 40%)}
.sc-result-in{max-width:800px;margin:0 auto;padding:0 24px}
.sc-level{background:#fff;border:1px solid var(--c-line);border-left:6px solid var(--sc-gray);border-radius:24px;padding:32px;box-shadow:0 8px 32px rgba(0,0,0,.08);margin-bottom:40px}
.sc-level--green{border-left-color:var(--sc-green)}
.sc-level--orange{border-left-color:var(--sc-orange)}
.sc-level--coral{border-left-color:var(--sc-coral)}
.sc-level--gray{border-left-color:var(--sc-gray)}
.sc-badge{display:inline-block;font-size:13px;font-weight:800;color:#fff;padding:4px 16px;border-radius:9999px;margin-bottom:14px}
.sc-badge--green{background:var(--sc-green)}
.sc-badge--orange{background:var(--sc-orange)}
.sc-badge--coral{background:var(--sc-coral)}
.sc-badge--gray{background:#5B6780}
.sc-result-title{font-family:var(--f-display);font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.5;color:var(--c-ink);margin-bottom:12px}
.sc-result-title:focus{outline:none}
.sc-level-desc{font-size:15.5px;line-height:1.9;color:var(--c-ink-2)}
.sc-block{margin-bottom:44px}
.sc-block-h{font-family:var(--f-display);font-size:20px;font-weight:800;color:var(--c-ink);margin-bottom:20px}
.sc-bars{list-style:none;display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid var(--c-line);border-radius:20px;padding:24px}
.sc-bar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.sc-bar-name{font-size:15px;font-weight:700;color:var(--c-ink)}
.sc-bar-val{font-family:var(--f-display);font-size:18px;font-weight:800;color:var(--c-ink)}
.sc-judge{font-style:normal;font-family:var(--f-body);font-size:12px;font-weight:700;margin-left:10px;padding:2px 10px;border-radius:9999px;color:#fff}
.sc-judge--low{background:var(--sc-green)}
.sc-judge--mid{background:var(--sc-orange)}
.sc-judge--high{background:var(--sc-coral)}
.sc-bar-track{height:14px;border-radius:9999px;background:var(--c-bg-deep);overflow:hidden}
.sc-bar-fill{display:block;height:100%;border-radius:9999px;min-width:0}
.sc-bar-fill--low{background:var(--sc-green)}
.sc-bar-fill--mid{background:var(--sc-orange)}
.sc-bar-fill--high{background:var(--sc-coral)}
.sc-bars-note{margin-top:12px;font-size:13px;color:var(--c-ink-3)}
.sc-cards{list-style:none;display:flex;flex-direction:column;gap:16px}
.sc-card{background:#fff;border:1px solid var(--c-line);border-top:4px solid var(--sc-coral);border-radius:20px;padding:24px}
.sc-card--B{border-top-color:var(--sc-orange)}
.sc-card--C{border-top-color:var(--sc-blue)}
.sc-card-axis{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--c-ink-3);margin-bottom:6px}
.sc-card-head{font-size:18px;font-weight:800;line-height:1.6;color:var(--c-ink);margin-bottom:14px}
.sc-card-dl dt{font-size:12px;font-weight:800;color:var(--c-indigo);margin-top:12px}
.sc-card-dl dd{font-size:14.5px;line-height:1.85;color:var(--c-ink-2)}
.sc-card-todo{background:var(--c-bg-alt);border-radius:12px;padding:10px 14px;margin-top:4px}
.sc-card-case{margin-top:14px;text-align:right;font-size:11.5px;color:var(--c-ink-4)}

.sc-cta{display:flex;flex-direction:column;align-items:center;background:#fff;border:1.5px solid rgba(0,102,204,.3);border-radius:28px;padding:36px 28px;text-align:center;box-shadow:0 8px 32px rgba(0,102,204,.12);margin-bottom:28px}
.sc-cta-h{width:100%;font-size:clamp(18px,2.4vw,22px);font-weight:800;line-height:1.6;color:var(--c-ink);margin-bottom:22px}
.sc-cta-main{max-width:100%;text-align:center}
.sc-cta-cap,.sc-cta-sub{text-align:center}
.sc-cta-cap{margin-top:12px;font-size:13px;color:var(--c-ink-3)}
.sc-cta-sub{display:block;margin-top:20px;font-size:14.5px;font-weight:700;color:var(--c-indigo);text-decoration:underline;text-underline-offset:4px}
.sc-cta-sub:focus-visible{outline:3px solid #7B3FF2;outline-offset:3px}
.sc-disclaimer{font-size:12px;line-height:1.8;color:var(--c-ink-3)}
.sc-retry{margin-top:20px;text-align:center}
.sc-retry-btn{background:none;border:0;font:inherit;font-size:14px;font-weight:700;color:var(--c-ink-2);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px}
.sc-retry-btn:hover{color:var(--c-indigo)}

/* ── Contact（最下部に埋め込み） ── */
.sc-contact{padding:96px 0;background:var(--c-bg-alt);scroll-margin-top:72px}
.sc-contact-in{max-width:760px;margin:0 auto;padding:0 24px}
.sc-contact-frame{background:#fff;border:1px solid var(--c-line);border-radius:24px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.sc-contact-frame iframe{display:block;width:100%;height:760px;border:0}

@media (max-width:1023px){
  .sc-hero{padding:104px 0 56px}
  .sc-hero-grid{grid-template-columns:1fr}
  .sc-axes{grid-template-columns:1fr}
}
@media (max-width:640px){
  .sc-top{padding-top:84px}
  .sc-top-lead{display:none}
  .sc-intro .sc-h1{font-size:21px}
  .sc-panel{padding:22px 16px;border-radius:20px}
  .sc-quiz-wrap,.sc-result-wrap{padding-top:92px}
  .sc-level{padding:24px 20px}
  .sc-opt-label{min-height:64px}
  .sc-contact{padding:64px 0}
  .sc-contact-frame iframe{height:860px}
  .sc-hero .cs-btn,.sc-start2 .cs-btn,.sc-cta-main{width:100%}
}
@media (prefers-reduced-motion:reduce){.sc-progress-bar{transition:none}}

.sc-contact-note{margin-top:12px;font-size:13px;color:var(--c-ink-2);background:var(--c-indigo-l);border-radius:12px;padding:10px 14px;text-align:left}
