/* P123: 危険予知トレーニングのトップ兼問題一覧（style.css の色にそろえる：紺 #0d2a6c・琥珀 #edb23a・背景 #f4f6fb）。担当は高橋先生（危険予測・安全確認） */
.hz-top-page main{padding-bottom:28px}
.hz-backnav{margin:14px 2px 10px;font-size:14px}
.hz-backnav a{color:#173361;font-weight:700;text-decoration:none}
.hz-backnav a:hover{text-decoration:underline}
.hz-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0;background:#0b2253;color:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px #0b22532e}
.hz-hero-text{padding:38px 34px 34px;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0}
.hz-eyebrow{margin:0;color:#ffd166;font-weight:800;font-size:14px;letter-spacing:.06em}
.hz-hero h1{margin:0;font-size:clamp(30px,4.6vw,46px);line-height:1.15;font-weight:900;letter-spacing:.02em;text-wrap:balance}
.hz-lead{margin:0;font-size:16px;line-height:1.85;color:#dfe8fb;max-width:36em}
.hz-lead b{color:#fff}
.hz-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.hz-hero-actions .btn{text-decoration:none;display:inline-block}
.hz-cta.btn.primary{background:#edb23a;color:#1b1503;font-size:16px;padding:13px 22px}
.hz-hero-actions .btn.ghost{background:transparent;color:#fff;border-color:#8ea6d4;font-size:15px;padding:12px 20px}
.hz-hero-photo{position:relative;margin:0;min-height:340px;background:#bfe0fb}
.hz-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.hz-photo-tag{position:absolute;left:12px;bottom:12px;background:#0b2253d9;color:#fff;font-size:12px;font-weight:800;border-radius:20px;padding:4px 12px}
.hz-hero-quote{margin:4px 0 0;padding:10px 14px;border-left:4px solid #edb23a;background:#ffffff12;border-radius:0 8px 8px 0;max-width:36em}
.hz-hero-quote p{margin:0;font-size:15px;font-weight:800;line-height:1.6;color:#fff}
.hz-hero-quote cite{display:block;margin-top:4px;font-style:normal;font-size:12px;color:#9cc8ff;font-weight:700}
.hz-section-title{font-size:22px;color:#0c2857;margin:30px 2px 12px;font-weight:900}
.hz-step-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hz-step-list li{background:#fff;border-radius:12px;padding:16px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 2px 12px #1d32640f;min-width:0}
.hz-step-num{flex:none;width:32px;height:32px;border-radius:50%;background:#0d2a6c;color:#fff;font-weight:900;display:grid;place-items:center}
.hz-step-list b{display:block;color:#0c2857;font-size:16px;margin-bottom:4px}
.hz-step-list p{margin:0;font-size:13px;color:#4e5f7c;line-height:1.65}
.hz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.hz-card{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;text-decoration:none;color:#11264d;border:1px solid #d5e0f0;transition:border-color .15s,transform .15s,box-shadow .15s}
.hz-card:hover{border-color:#1e6eae;transform:translateY(-2px);box-shadow:0 8px 20px #1d326422}
.hz-card:focus-visible{outline:3px solid #4798ff;outline-offset:3px}
.hz-card-photo{display:block;aspect-ratio:16/9;background:#e9eef7;overflow:hidden}
.hz-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hz-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.hz-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.hz-badge{font-size:12px;font-weight:800;border-radius:20px;padding:3px 10px;border:1px solid transparent}
.hz-badge.is-new{background:#eef1f6;color:#5b6675;border-color:#dce1e8}
.hz-badge.is-try{background:#fff4e0;color:#8a5a00;border-color:#f3d39a}
.hz-badge.is-clear{background:#e8f7ec;color:#187a40;border-color:#b9e6c7}
.hz-card-num{align-self:flex-start;background:#3a3b9d;color:#fff;font-weight:900;font-size:13px;border-radius:7px;padding:3px 10px}
.hz-card-title{font-size:18px;font-weight:850;line-height:1.4}
.hz-card-tags{display:flex;gap:6px;flex-wrap:wrap}
.hz-card-tags span{font-size:12px;background:#eef3fb;color:#3c5079;border-radius:20px;padding:2px 10px}
.hz-card-go{margin-top:auto;align-self:flex-end;color:#0d2a6c;font-weight:800;font-size:14px}
.hz-empty{background:#fff;border-radius:12px;padding:18px;color:#4e5f7c}
.hz-teacher{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;margin-top:30px;background:#fff;border-radius:14px;padding:22px;border:2px solid #2f6fd0;box-shadow:0 2px 12px #1d32640f}
.hz-teacher-photo{width:96px;height:96px;border-radius:50%;object-fit:cover}
.hz-teacher-role{margin:0;color:#1f5fbf;font-weight:800;font-size:13px}
.hz-teacher h2{margin:2px 0 2px;font-size:24px;color:#0c2857}
.hz-teacher-catch{margin:0 0 10px;color:#4e5f7c;font-size:14px;font-style:italic}
.hz-teacher dl{margin:0;display:grid;gap:6px}
.hz-teacher dl div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:10px;font-size:14px;border-top:1px solid #edf1f7;padding-top:6px}
.hz-teacher dt{color:#6d7d97;font-weight:700}
.hz-teacher dd{margin:0;color:#1d2944}
.hz-teacher-note{margin:12px 0 0;font-size:12px;color:#6d7d97}
@media (max-width:860px){
  .hz-hero{grid-template-columns:1fr}
  .hz-hero-photo{order:-1;min-height:0;aspect-ratio:1/1;max-height:440px}
  .hz-hero-photo img{object-position:50% 20%}
  .hz-hero-text{padding:24px 20px 26px}
  .hz-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .hz-step-list{grid-template-columns:1fr}
  .hz-teacher{grid-template-columns:1fr;padding:18px}
  .hz-teacher dl div{grid-template-columns:1fr;gap:2px}
  .hz-lead{font-size:15px}
  .header-detail{display:none}
}
@media (prefers-reduced-motion:reduce){.hz-card{transition:none}.hz-card:hover{transform:none}}
