@media (max-width: 600px) {
  .accounting-stage {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin: 40px 0 36px;
  }
  .accounting-stage .stage-num {
    font-size: 10px;
    line-height: 1.5;
    margin-bottom: 16px;
    color: #c5cfca;
  }
  .accounting-stage .receipt {
    width: 220px;
    max-width: 100%;
    padding: 24px 20px 32px;
    transform: none;
  }
  .accounting-stage .receipt > span:first-child { font-size: 11px; }
  .accounting-stage .receipt > strong { font-size: 24px; }
  .accounting-stage .receipt p { font-size: 10px; }
  .accounting-stage .receipt dl {
    font-size: 12px;
    padding-block: 12px;
    margin: 18px 0 14px;
  }
  .accounting-stage .receipt-end { font-size: 11px; gap: 8px; }
  .accounting-stage .receipt-end .icon { width: 14px; height: 14px; }
  .accounting-stage .transfer-lane { height: 124px; width: 100%; }
  .accounting-stage .transfer-line {
    top: 0;
    left: calc(50% - 1px);
    width: 2px;
    height: 124px;
    background: #789888;
  }
  .accounting-stage .transfer-line::after {
    content: '';
    position: absolute;
    left: -4px;
    bottom: 0;
    width: 10px;
    height: 10px;
    border-right: 2px solid #a9d8c0;
    border-bottom: 2px solid #a9d8c0;
    transform: rotate(45deg);
  }
  .accounting-stage .travelling-file {
    top: 0;
    left: calc(50% - 20px);
    width: 40px;
    height: 40px;
    opacity: 1;
    transform: translateY(42px);
    animation: transmit-mobile 5.5s ease-in-out infinite;
  }
  .accounting-stage .travelling-file .icon { width: 23px; height: 23px; }
  .accounting-stage .transfer-label {
    display: block;
    position: absolute;
    left: calc(50% + 34px);
    top: 50%;
    width: calc(50% - 34px);
    max-width: 140px;
    margin: 0;
    transform: translateY(-50%);
    color: #c5d6cd;
    font-size: 10px;
    line-height: 1.6;
    overflow-wrap: break-word;
  }
  .accounting-stage .mail-visual { padding: 0; gap: 14px; }
  .accounting-stage .mail-visual > .icon { width: 62px; height: 62px; }
  .accounting-stage .mail-visual > strong { font-size: 23px; }
  .accounting-stage .mail-visual > span { font-size: 11px; color: #c5cfca; }
  .accounting-bottom > span { font-size: 10px; line-height: 1.7; }
  .accounting-bottom .text-link { font-size: 11px; }
  .motion-paused .accounting-stage .travelling-file { animation: none; }
}

@keyframes transmit-mobile {
  0%, 8% { transform: translateY(0); opacity: 0; }
  16% { transform: translateY(0); opacity: 1; }
  70%, 86% { transform: translateY(80px); opacity: 1; }
  96%, 100% { transform: translateY(80px); opacity: 0; }
}

@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
  html:not(.motion-active) .accounting-stage .travelling-file { animation: none; }
}
