.medical-nav {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.medical-nav a {
  padding: 8px 20px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--text);
  background: white;
  transition: all .2s;
}
.medical-nav a:hover {
  background: var(--primary-light);
  border-color: var(--primary);
  color: var(--primary-dark);
}

/* 共通レイアウト */
.med-content { max-width: 860px; margin: 0 auto; }
.med-content > p.lead { font-size: var(--fs-base); line-height: 1.95; color: var(--text); margin-bottom: 24px; }
.med-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
@media (max-width: 700px) { .med-cols { grid-template-columns: 1fr; } }
.med-card { background: var(--primary-light); border-radius: 12px; padding: 20px 24px; }
.section-alt .med-card { background: #ffffff; }
.med-card h3 { color: var(--primary-dark); margin: 0 0 12px; padding-left: 10px; border-left: 3px solid var(--primary); line-height: 1.5; }
.med-card ul { margin: 0 0 0 22px; padding: 0; }
.med-card li { list-style: disc; font-size: var(--fs-base); line-height: 1.85; margin-bottom: 4px; color: var(--text); }
.med-card.cols-2 ul { columns: 2; column-gap: 20px; }
@media (max-width: 600px) { .med-card.cols-2 ul { columns: 1; } }
.med-card p { font-size: var(--fs-base); line-height: 1.85; color: var(--text); margin: 0; }
.med-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-top: 16px; }
.med-flow-step { background: var(--primary-light); border-radius: 10px; padding: 14px 12px; text-align: center; }
.section-alt .med-flow-step { background: #ffffff; }
.med-flow-step .num { display:inline-block;width:26px;height:26px;background:var(--primary);color:white;border-radius:50%;font-size: var(--fs-sm);line-height:26px;font-weight:700;margin-bottom:6px; }
.med-flow-step .ttl { font-size: var(--fs-sm); font-weight: 700; color: var(--text); }
.med-flow-step .desc { font-size: var(--fs-sm); color: var(--text-light); margin-top: 4px; line-height: 1.55; }
.med-sub-h { color: var(--primary-dark); margin: 32px 0 12px; padding-left: 12px; border-left: 4px solid var(--primary); }
.med-note { margin-top: 14px; font-size: var(--fs-sm); color: var(--text-light); line-height: 1.85; }
.med-note strong { color: var(--text); }
.vaccine-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.vaccine-table thead th { background: var(--primary); color: white; padding: 12px 14px; text-align: left; font-size: var(--fs-sm); }
.vaccine-table thead th:first-child { border-radius: 8px 0 0 0; }
.vaccine-table thead th:last-child { border-radius: 0 8px 0 0; }
.vaccine-table td { padding: 12px 14px; font-size: var(--fs-sm); border-bottom: 1px solid var(--border); }
.vaccine-table td:first-child { font-weight: 700; }
.vaccine-table tbody tr { background: #ffffff; }
.vaccine-table tbody tr:nth-child(even) { background: var(--primary-pale); }
.section-alt .vaccine-table tbody tr { background: #ffffff; }
.section-alt .vaccine-table tbody tr:nth-child(even) { background: var(--primary-pale); }
.bring-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 0; border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm);
}
.bring-icon {
  width: 32px; height: 32px; flex-shrink: 0;
  background: var(--primary-light); border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
}
.bring-icon svg { width: 18px; height: 18px; fill: var(--primary); }
