.flow-section {
  max-width: 1160px;
  margin: calc(var(--s-home) * 1.5) auto 0;
}

.flow-intro { max-width: 680px; }
.flow-intro h2 {
  color: var(--text);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.flow-intro p {
  margin-top: 18px;
  color: var(--text-2);
  font-size: var(--t-body);
  line-height: 1.72;
}

.table-scroll { margin-top: var(--s-checkin); overflow-x: auto; }
.table-scroll:focus-visible { outline: 1px solid var(--text-2); outline-offset: 8px; }
.flow-table {
  width: 100%;
  min-width: 980px;
  border-collapse: separate;
  border-spacing: 0 28px;
  text-align: left;
}
.flow-table th,
.flow-table td { padding-right: 28px; vertical-align: top; }
.flow-table thead th {
  color: var(--text-3);
  font-size: var(--t-micro);
  font-weight: 500;
}
.flow-table tbody th {
  width: 15%;
  color: var(--text);
  font-size: var(--t-body);
  font-weight: 600;
}
.flow-table td {
  color: var(--text-2);
  font-size: 15px;
  line-height: 1.58;
}
.flow-table th:nth-child(2) { width: 25%; }
.flow-table th:nth-child(3) { width: 23%; }
.flow-table th:nth-child(4) { width: 22%; }
.flow-table th:last-child,
.flow-table td:last-child { width: 15%; padding-right: 0; }

@media (max-width: 760px) {
  .flow-section { margin-top: var(--s-home); }
  .table-scroll { overflow: visible; }
  .flow-table { min-width: 0; border-spacing: 0; }
  .flow-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .flow-table,
  .flow-table tbody,
  .flow-table tr,
  .flow-table th,
  .flow-table td { display: block; width: 100%; }
  .flow-table tbody th,
  .flow-table tbody td,
  .flow-table tbody td:last-child { width: 100%; }
  .flow-table tr + tr { margin-top: var(--s-checkin); }
  .flow-table tbody th { margin-bottom: 12px; padding: 0; font-size: 20px; }
  .flow-table td { padding: 0; }
  .flow-table td + td { margin-top: 14px; }
  .flow-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    color: var(--text-3);
    font-size: var(--t-micro);
  }
}
