@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Zen+Maru+Gothic:wght@500;700&Libre+Baskerville:wght@700&display=swap");
.ttlArea::before {
  background: url(../img/flow/ttlbg.jpg) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .ttlArea {
    background: url(../img/flow/ttlbg.jpg) right center/cover no-repeat;
  }
}

.secFlow {
  padding: 51px 0 45px;
  margin: 47px 0 110px;
  background-color: #fff;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .secFlow {
    padding: 95px 0 30px;
    margin: 63px 0 110px;
    border-radius: 60px;
  }
}
.secFlow__list {
  display: grid;
  counter-reset: flow_list 0;
}
.secFlow__list .listItem {
  padding: 4px 0 58px 55px;
  position: relative;
}
.secFlow__list .listItem:not(:last-child)::before {
  content: "";
  width: 4px;
  height: calc(100% - 43px);
  background: linear-gradient(180deg, #81BDDB 41%, #FAA49B 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 20px;
}
.secFlow__list .listItem::after {
  counter-increment: flow_list 1;
  content: counter(flow_list);
  width: 43px;
  height: 43px;
  background: url(../img/flow/flow_number.svg) center/contain no-repeat;
  color: #81BDDB;
  font-size: 25px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
}
.secFlow__list .listItem__txtWrap {
  width: 100%;
}
.secFlow__list .listItem__txtWrap .ttl {
  margin-bottom: 12px;
  color: #81BDDB;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}
.secFlow__list .listItem__txtWrap .txt {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.9;
}
.secFlow__list .listItem__img {
  width: 100%;
}
.secFlow__list .listItem__img img {
  width: 100%;
  border-radius: 20px;
  display: block;
}
@media screen and (min-width: 768px) {
  .secFlow__list .listItem {
    padding: 8px 0 70px 60px;
    display: flex;
    grid-gap: 50px;
  }
  .secFlow__list .listItem:not(:last-child)::before {
    bottom: -4px;
  }
  .secFlow__list .listItem::after {
    top: 4px;
  }
  .secFlow__list .listItem__img {
    width: 47%;
    max-width: 480px;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 1024px) {
  .secFlow__list .listItem {
    grid-gap: 50px;
  }
  .secFlow__list .listItem__txtWrap .ttl {
    margin-bottom: 38px;
    font-size: 26px;
  }
  .secFlow__list .listItem__txtWrap .txt {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 2;
  }
}