.flow-chart {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(12 * var(--index-unit));
  margin-top: calc(24 * var(--index-unit));
  padding: calc(24 * var(--index-unit));
  border-radius: calc(8 * var(--index-unit));
  background: #f6f8f7;
}

.flow-node {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(64 * var(--index-unit));
  padding: calc(8 * var(--index-unit)) calc(20 * var(--index-unit));
  border: calc(3 * var(--index-unit)) solid #d9a63b;
  border-radius: calc(4 * var(--index-unit));
  font-size: calc(24 * var(--index-unit));
  line-height: 1.3;
  color: #444;
  text-align: center;
  background: #fff;
}

.node-start,
.node-mid {
  align-self: center;
  min-width: 60%;
  border-color: #009354;
  color: #009354;
}

.flow-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(16 * var(--index-unit));
}

.flow-row-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.flow-arrow {
  align-self: center;
  width: calc(3 * var(--index-unit));
  height: calc(28 * var(--index-unit));
  background: #d9a63b;
  position: relative;
}

.flow-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(-6 * var(--index-unit));
  width: calc(12 * var(--index-unit));
  height: calc(12 * var(--index-unit));
  margin-left: calc(-6 * var(--index-unit));
  border-right: calc(3 * var(--index-unit)) solid #d9a63b;
  border-bottom: calc(3 * var(--index-unit)) solid #d9a63b;
  transform: rotate(45deg);
}
