/* ========================================================================
   5-STEP CARDS - FORCE OVERRIDE (強制差し替え)
   既存アイコンを完全無効化し、新イラストを強制表示
   ======================================================================== */

/* --------------------------------------------------
   A. 既存アイコンを全部消す（強制）
   -------------------------------------------------- */
.stepCard img:not(.step-illust),
.stepCard svg,
.stepCard i,
.stepCard [class*="icon"]:not(.step-illustWrap),
.stepCard [class*="Icon"]:not(.step-illustWrap),
.stepCard .timeline-icon,
.stepCard .stepIcon,
.stepCard .step-icon {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* 背景画像で出ている場合も潰す */
.stepCard *:not(.step-illustWrap):not(.step-illust) {
  background-image: none !important;
}

/* 疑似要素で出ているアイコンも潰す */
.stepCard::before,
.stepCard::after,
.stepCard *::before,
.stepCard *::after {
  background-image: none !important;
  content: none !important;
}

/* --------------------------------------------------
   B. 新イラスト表示（強制）
   -------------------------------------------------- */
.step-illustWrap {
  width: 76px !important;
  height: 76px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  margin: 18px auto 8px !important;
  background: rgba(255,255,255,.75) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.10) !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 10 !important;
}

.step-illust {
  width: 56px !important;
  height: 56px !important;
  object-fit: contain !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* --------------------------------------------------
   C. レスポンシブ対応
   -------------------------------------------------- */
@media (max-width: 768px) {
  .step-illustWrap {
    width: 72px !important;
    height: 72px !important;
    margin: 16px auto 6px !important;
  }
  
  .step-illust {
    width: 52px !important;
    height: 52px !important;
  }
}

@media (max-width: 480px) {
  .step-illustWrap {
    width: 68px !important;
    height: 68px !important;
    margin: 14px auto 6px !important;
  }
  
  .step-illust {
    width: 48px !important;
    height: 48px !important;
  }
}
