/* ════════════════════════════════════
   出直し看護塾とはページ固有スタイル
════════════════════════════════════ */
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.story-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--r-lg); background: var(--gray-100); }
.story-text h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; color: var(--text); margin-bottom: 1.5rem; }
.story-text p { font-size: .95rem; color: var(--text-muted); line-height: 1.9; margin-bottom: 1.25rem; }
.story-highlight { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); border-radius: var(--r); padding: 1.25rem 1.5rem; margin-top: 1.5rem; border-left: 4px solid var(--teal); }
.story-highlight p { color: var(--teal); font-weight: 600; font-size: .95rem; line-height: 1.75; margin: 0; }
.lineup-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.lineup-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r-lg); padding: 2rem 1.5rem; text-align: center; transition: all .3s; }
.lineup-card:hover { border-color: var(--teal); box-shadow: var(--shadow); transform: translateY(-3px); }
.lineup-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; background: rgba(88,195,232,.1); }
.lineup-card h3 { font-size: 1rem; font-weight: 700; color: var(--text); margin-bottom: .5rem; }
.lineup-card p { font-size: .85rem; color: var(--text-muted); line-height: 1.75; }
.timeline { position: relative; padding-left: 2.5rem; max-width: 720px; margin: 0 auto; }
.timeline::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 0; width: 2px; background: var(--gray-200); }
.tl-item { position: relative; margin-bottom: 2.25rem; }
.tl-dot { position: absolute; left: -2.5rem; top: .35rem; width: 16px; height: 16px; border-radius: 50%; background: var(--white); border: 3px solid var(--gray-200); margin-left: -7px; transition: all .3s; }
.tl-item:hover .tl-dot { border-color: var(--teal); background: var(--teal); }
.tl-item.major .tl-dot { width: 20px; height: 20px; background: var(--teal); border-color: var(--teal); box-shadow: 0 0 0 4px rgba(88,195,232,.18); margin-left: -9px; margin-top: .2rem; }
.tl-year { font-size: .75rem; font-weight: 800; letter-spacing: .1em; color: var(--teal); margin-bottom: .2rem; }
.tl-title { font-size: 1rem; font-weight: 700; color: var(--text); margin-bottom: .3rem; }
.tl-body { font-size: .875rem; color: var(--text-muted); line-height: 1.75; }

@media (max-width: 900px) {
  .story-grid { grid-template-columns: 1fr; gap: 2rem; }
  .lineup-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .lineup-grid { grid-template-columns: 1fr; }
}
