.flow .first-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 48px;
  margin-bottom: 56px;
}

@media screen and (max-width: 959px) {
  .flow .first-unit {
    gap: 24px;
  }
}

@media screen and (max-width: 767px) {
  .flow .first-unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
  }
}

.flow .first-unit__vsl {
  max-width: 240px;
  min-width: 226px;
}

@media screen and (max-width: 767px) {
  .flow .first-unit__vsl {
    width: auto;
  }
}

.flow .flow-chart {
  position: relative;
}

.flow .flow-chart::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 12px;
  height: 100%;
  background: rgba(119, 99, 88, 0.1);
}

@media screen and (max-width: 519px) {
  .flow .flow-chart::before {
    left: 20px;
  }
}

.flow .flow-chart__step {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .flow .flow-chart__step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.flow .flow-chart__step:not(:last-of-type) {
  padding-bottom: 48px;
  margin-bottom: 28px;
}

@media screen and (max-width: 767px) {
  .flow .flow-chart__step:not(:last-of-type) {
    padding-bottom: 32px;
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 519px) {
  .flow .flow-chart__step:not(:last-of-type) {
    padding-bottom: 24px;
    margin-bottom: 18px;
  }
}

.flow .flow-chart__step:not(:last-of-type)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% - 86px);
  border-bottom: 1px dotted #776358;
}

@media screen and (max-width: 959px) {
  .flow .flow-chart__step:not(:last-of-type)::after {
    width: calc(100% - 64px);
  }
}

.flow .flow-chart__step:last-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 12px;
  height: 100%;
  background: #FEFCF9;
}

@media screen and (max-width: 519px) {
  .flow .flow-chart__step:last-of-type::before {
    left: 20px;
  }
}

.flow .flow-chart__step .flow-chart-dtl {
  position: relative;
  padding-left: 86px;
}

@media screen and (max-width: 959px) {
  .flow .flow-chart__step .flow-chart-dtl {
    padding-left: 64px;
  }
}

@media screen and (max-width: 519px) {
  .flow .flow-chart__step .flow-chart-dtl {
    padding-left: 60px;
  }
}

.flow .flow-chart__step .flow-chart-dtl .flow-num {
  position: absolute;
  top: 0;
  left: 0;
  padding: 12px;
  font-size: 2.2rem;
  color: #ffffff;
  background: #776358;
  clip-path: polygon(0 0, 80% 0%, 100% 20%, 100% 100%, 20% 100%, 0 80%);
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 959px) {
  .flow .flow-chart__step .flow-chart-dtl .flow-num {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 519px) {
  .flow .flow-chart__step .flow-chart-dtl .flow-num {
    padding: 9px;
  }
}

.flow .flow-chart__step .flow-chart-dtl .flow-num span {
  display: block;
  font-size: 1.4rem;
}

@media screen and (max-width: 959px) {
  .flow .flow-chart__step .flow-chart-dtl .flow-num span {
    font-size: 1.2rem;
  }
}

.flow .flow-chart__step .flow-chart-dtl__ttl {
  color: #776358;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width: 959px) {
  .flow .flow-chart__step .flow-chart-dtl__ttl {
    font-size: 2rem;
    margin-bottom: 12px;
  }
}

@media screen and (max-width: 519px) {
  .flow .flow-chart__step .flow-chart-dtl__ttl {
    font-size: 1.8rem;
    margin-bottom: 6px;
  }
}

.flow .flow-chart__step .flow-chart-vsl {
  min-width: 270px;
}

@media screen and (max-width: 959px) {
  .flow .flow-chart__step .flow-chart-vsl {
    min-width: 240px;
  }
}

@media screen and (max-width: 767px) {
  .flow .flow-chart__step .flow-chart-vsl {
    min-width: auto;
    max-width: 370px;
    width: 100%;
    margin-inline: auto;
    padding-left: 64px;
  }
}

/*# sourceMappingURL=../../maps/pages/flow.css.map */
