/* 色は既存フォームに合わせる: #00a29a = 送信ボタンの hover 色、#f39025 = 送信ボタンの地色 */
.form .form_step_progress {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  counter-reset: none;
}

.form .form_step_progress li {
  flex: 1;
  position: relative;
  text-align: center;
  color: #999;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.4;
}

/* 丸の中心(高さ32pxの半分=16px)を結ぶ線。丸の幅と同じだけ左右をあけて重なりを避ける */
.form .form_step_progress li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 16px;
  left: calc(-50% + 20px);
  right: calc(50% + 20px);
  height: 2px;
  background: #ddd;
}

.form .form_step_progress li.is-current::before,
.form .form_step_progress li.is-done::before {
  background: #00a29a;
}

.form .form_step_progress .form_step_num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  border-radius: 50%;
  background: #ddd;
  color: #fff;
  font-size: 1.5rem;
}

.form .form_step_progress li.is-current,
.form .form_step_progress li.is-done {
  color: #00a29a;
}

.form .form_step_progress li.is-current .form_step_num,
.form .form_step_progress li.is-done .form_step_num {
  background: #00a29a;
}

.form .form_step_progress li.is-clickable .form_step_num {
  cursor: pointer;
}

.form .form_step_progress li.is-clickable .form_step_num:hover {
  opacity: 0.7;
}

.form .form_step_nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}

/* 「次へ進む」は送信ボタン(#contact_2block .container #btn_submit)と同じ形・大きさにそろえる */
.form .form_step_next {
  width: 80%;
  padding: 10px 0;
  border: 0;
  border-radius: 60px;
  background: #f39025;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  cursor: pointer;
  transition: 0.3s;
}

.form .form_step_next:hover {
  background: #00a29a;
}

.form .form_step_back {
  padding: 4px 8px;
  border: 0;
  background: none;
  color: #666;
  font-size: 1.4rem;
  text-decoration: underline;
  cursor: pointer;
}

/* 600px 以下は送信ボタンも横幅いっぱいになる(style.css の同じ区切り) */
@media screen and (max-width: 600px) {
  .form .form_step_next {
    width: 100%;
  }
}
