.page-template-flow .swiper-button-next.swiper-button-disabled,
.page-template-flow .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}
.page-template-flow .swiper-button-next,
.page-template-flow .swiper-button-prev {
  color: var(--main);
}
.page-template-flow #content.l-content,
.page-template-flow #content.l-container {
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.flow-box {
  margin-left: 10%;
  margin-bottom: 16px;
}
.flow-item {
  height: auto !important;
  display: flex !important;
  flex-direction: column;
  padding-right: 40px;
}
.flow-item::before {
  content: "";
  display: block;
  width: calc(100% + 40px);
  height: 1px;
  background-color: var(--sub);
  position: relative;
  top: 16px;
  left: -40px;
}
.flow-title {
  color: var(--main);
  font-size: 18px;
  font-weight: 700;
  flex-grow: 1;
}
.flow-item img {
  content: "";
  display: block;
  aspect-ratio: 352/ 244;
  background-repeat: no-repeat;
  background-size: cover;
  border: 2px solid var(--main);
  margin-top: 16px;
}
.flow-title mark {
  display: block;
  width: max-content;
  background-color: var(--sub);
  color: var(--white);
  font-size: 16px;
  line-height: 1;
  border-radius: 2px;
  padding: 6px 16px;
  margin-bottom: 8px;
  position: relative;
}
.flow-note {
  color: var(--sub);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: right;
  padding-right: 8px;
}
.page-template-flow .section-banner { padding-top: 0;}

@media (max-width: 959px) {
  .flow-item { padding-right: 5vw;}
  .flow-item::before {
    width: calc(100% + 5vw);
    left: -5vw;
  }
  .flow-title { font-size: min(4vw, 16px);}
}