/* Keep the illustration stage consistent when the three cards narrow. */
.strategy-step .strategy-visual {
  --strategy-art-size: 208px;
  --strategy-art-overlap: 66px;
  width: 100%;
  height: var(--strategy-art-size);
  flex: 0 0 auto;
  flex-direction: row;
  gap: 0;
  margin: 0;
  min-width: 0;
}
.strategy-step .strategy-visual img {
  width: min(var(--strategy-art-size), 100%);
  height: 100%;
  max-width: 100%;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0;
  object-fit: contain;
}
.strategy-step .strategy-visual.is-double img {
  width: min(var(--strategy-art-size), calc((100% + var(--strategy-art-overlap)) / 2));
  max-width: none;
}
.strategy-step .strategy-visual.is-double img + img {
  margin-left: calc(-1 * var(--strategy-art-overlap));
}
@media (max-width: 700px) {
  .strategy-step {
    grid-template-columns: 160px minmax(0, 1fr);
  }
  .strategy-step .strategy-visual {
    --strategy-art-size: 160px;
    --strategy-art-overlap: 46px;
    width: 160px;
  }
  .strategy-info { min-width: 0; }
}
@media (max-width: 480px) {
  .strategy-step {
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 12px;
  }
  .strategy-step .strategy-visual {
    --strategy-art-size: 116px;
    --strategy-art-overlap: 32px;
    width: 116px;
  }
  .strategy-step h3 { font-size: 17px; white-space: normal; }
}
