/* ─────────────────────────────────────────────
   いわもと接骨院 — 痛み・けが（症状の選択欄）
   /diagnosis/treatment/ で使用。アイコン＋タイトル＋一行説明＋VIEW のカードグリッド。
   ───────────────────────────────────────────── */
.treat{ background: var(--bg-white); }
.treat .section-head h2{
  font-size: clamp(28px, 3.2vw, 44px);
  letter-spacing: .06em;
}
.treat__grid{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.treat-card{
  width: calc((100% - 60px) / 4);
  background-color: #fff;
  border-radius: var(--r-lg);
  padding: 36px 22px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 18px;
  border: 1px solid var(--line);
  text-align:center;
  transition:
    transform 1.2s cubic-bezier(.2,.7,.2,1),
    background-color 1.2s ease;
}
.treat-card:hover{
  transform: translateY(-4px);
  background-color: var(--y-100);
}
.treat-card__icon{
  width: 60px; height: 60px;
  border-radius: 50%;
  background: var(--y-50);
  color: var(--y-500);
  display:flex; align-items:center; justify-content:center;
  transition: background-color 1.2s ease, color 1.2s ease;
}
.treat-card:hover .treat-card__icon{
  background-color: var(--y-400);
  color: #fff;
}
.treat-card h3{
  font-family: var(--ff-disp);
  font-weight: 500;
  font-size: 16px;
  color: var(--y-900);
  margin: 0;
  letter-spacing: .06em;
  line-height: 1.55;
}
.treat-card__sub{
  font-size: 12px;
  color: var(--y-700);
  margin: 0;
  line-height: 1.7;
  flex: 1;
}
.treat-card__view{
  margin-top: 4px;
  padding-top: 16px;
  width: 100%;
  border-top: 1px solid var(--line-soft);
  font-family: var(--ff-disp);
  font-size: 11px;
  letter-spacing: .28em;
  color: var(--y-500);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: color 1s ease, gap 1s ease;
}
.treat-card__view .arr{
  font-size: 14px;
  transition: transform 1s ease;
}
.treat-card:hover .treat-card__view{
  color: var(--y-600);
  gap: 12px;
}
.treat-card:hover .treat-card__view .arr{
  transform: translateX(3px);
}

/* ── responsive ─────────────────────────────── */
@media (max-width: 1200px){
  .treat-card{ width: calc((100% - 40px) / 3); }
}
@media (max-width: 1080px){
  .treat__grid{ gap: 14px; }
  .treat-card{
    width: calc((100% - 28px) / 3) !important;
    padding: 28px 16px;
    gap: 14px;
    justify-content: center;
  }
  .treat-card h3{ font-size: 15px; line-height: 1.55; }
  .treat-card__sub{ display: block; font-size: 11px; line-height: 1.6;}
}
@media (max-width: 720px){
  .treat-card{
    width: calc((100% - 14px) / 2) !important;
    padding: 20px 10px;
    gap: 10px;
  }
  .treat-card__icon{ width: 50px; height: 50px; }
  .treat-card__icon svg{ width: 24px; height: 24px; }
  .treat-card h3{ font-size: 14px; }
  .treat-card__sub{ font-size: 11px; }
  .treat-card__view{ font-size: 10px; letter-spacing: .22em; }
}
@media (max-width: 480px){
  .treat-card{
    width: 100% !important;
    padding: 24px 18px;
    gap: 14px;
  }
  .treat-card h3{ font-size: 15px;}
  .treat-card__sub{ font-size: 12px;}
}
