@charset "UTF-8";
.flow_design02 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow_design02 ul {
  padding: 0;
  width: 880px;
}

.flow_design02 li {
  list-style-type: none;
}

.flow_design02 dd {
  margin-left: 0;
      padding: 0 1em;
}

.flow02 > li {
  padding: 50px 10px;;
}

.flow02 > li:not(:last-child) {
  border-bottom: 3px solid #7bbe35;
  position: relative;
}

.flow02 > li:not(:last-child)::before,
.flow02 > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow02 > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: #7bbe35;
}

.flow02 > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}

.flow02 > li dl {
  margin: 0;
}

.flow02 > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  border-bottom: 2px dotted #878787;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  display: flex;
}

.flow02 > li dl dt .icon02 {
  font-size: 0.6em;
  color: #fff;
  background: #7bbe35;
  padding: 5px 10px;
  display: inline-block;
    margin-right: 1em;
}
h3{
    font-size: 160%;
    font-weight: bold;
    text-align: center;
}

/* 画像を追加 */


/* 画像 + テキストの2カラム */
.flow02 > li{
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

/* 左の画像 */
.flow02__img{
flex: 0 0 260px;
    max-width: 260px;
  margin: 0;
}
.flow02__img img{
  width: 100%;
  height: auto;
  display: block;
}

/* 右のテキスト（dl） */
.flow02 > li dl{
  flex: 1;
  min-width: 0;
}

/* dtの表示（今の flex を活かしつつ詰まり防止） */
.flow02 > li dl dt{
  align-items: center;
  gap: 0.1em;
  flex-wrap: wrap;
}

/* スマホ：縦積み + ▽位置を中央へ */
@media (max-width: 768px){
  .flow_design02 ul{
    width: 100%;
  }

  .flow02 > li{
    flex-direction: column;
    gap: 12px;
  }

  .flow02__img{
    flex-basis: auto;
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
  }

  .flow02 > li:not(:last-child)::before,
  .flow02 > li:not(:last-child)::after{
    left: 50%;
  }
}
