@media (max-width: 760px) {
  .svc__hero { padding-block: 24px 30px; }
  .svc__hero .svc__hero-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .svc__hero-text { min-width: 0; }
  .svc__hero .svc__hero-visual { width: clamp(142px, 48vw, 200px); max-width: 100%; }
  .svc__hero .svc__hero-img--full { width: 100%; height: auto; }
  .svc__hero .svc__title { font-size: clamp(25px, 7.1vw, 38px); line-height: 1.04; margin-bottom: 16px; text-wrap: balance; }
  main :is(h1, h2, h3, .svc__crumb) { hyphens: manual; overflow-wrap: anywhere; }
  .svc__hero .svc__lead { margin-bottom: 18px; }
  main .growth-section { padding-block: 20px; }
  main .growth-section h2 { margin-bottom: 16px; }
  .case-band, .case-policy, .case-support, .case-card, .case-work article { padding: 18px; }
  .case-policy h2 { font-size: clamp(20px, 5.6vw, 26px); }
  .case-cards { gap: 14px; }
  .case-card img { height: auto; aspect-ratio: 2 / 1; }
  .case-filter { gap: 8px; margin-block: 16px; }
  .case-filter button { padding: 8px 12px; min-height: 44px; }
  .case-flow li { display: grid; grid-template-columns: 2ch minmax(0, 1fr); align-items: start; gap: 12px; padding: 14px; }
  .case-flow li::before { font-size: 1.25rem; margin: 0; line-height: inherit; }
}
