/* ステップナビゲーション
-----------------------------------------*/
input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="password"], 
input[type="search"], textarea {
  margin-top: 0em;
}
.contact__stepnav {
  width: 94vw;
  margin-left: 8px;
  margin-right: 8px;
  margin-bottom: 50px;
}
.contact__stepnav ol {
  margin: 40px 0 0 0;
  display: table;
  width: 100%;
  box-sizing: border-box;
  height: 60px;
}
.contact__stepnav ol li {
  position: relative;
  display: table-cell;
  box-sizing: border-box;
  padding-left: 40px;
  text-align: center;
  vertical-align: middle;
  color: #898989;
  font-size: 12px;
  background-color: #f9f9f9;
  font-weight: bold;
}
.contact__stepnav ol li:first-child {
  padding-left: 0;
}
.contact__stepnav ol li:nth-child(2) {
  background-color: #EDEDED;
}
.contact__stepnav ol li:nth-child(3) {
  background-color: #E2E2E2;
}
.contact__stepnav ol:nth-child(2) li:nth-child(1) {
  background-color: #dddddd;
}
.contact__stepnav ol:nth-child(2) li:nth-child(2) {
  background-color: #d5d5d5;
}
.contact__stepnav ol:nth-child(2) li:nth-child(3) {
  background-color: #cccbcb;
}

.contact__stepnav ol li .contact__step_icon {
  flex-shrink: 0;
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #898989;
  text-align: center;
  line-height: 22px;
  margin-right: 5px;
  color: #FFFFFF;
}
.contact__stepnav ol li.current .contact__step_icon {
  background-color: #e63037;
}

@media screen and (min-width: 768px) {
  .contact__stepnav {
    margin: 53px auto 69px;
    max-width: 1000px;
  }
  .contact__stepnav ol {
    height: 72px;
  }
  .contact__stepnav ol li {
    font-size: 19px;
  }
  .contact__stepnav ol li:nth-child(4) {
    background-color: #dddddd;
  }
  .contact__stepnav ol li:nth-child(5) {
    background-color: #d5d5d5;
  }
  .contact__stepnav ol li:nth-child(6) {
    background-color: #cccbcb;
  }
  .contact__stepnav ol li .contact__step_icon {
    width: 34px;
    height: 34px;
    line-height: 34px;
  }
}
.contact__stepnav ol li.current {
  background-color: #ffeded !important;
  color: #e63037;
}

.contact__stepnav ol li:before {
  content: "";
  position: absolute;
  top: -1px;
  right: -23.5px;
  bottom: 0;
  width: 0;
  height: 0;
  border-top: 29px solid transparent;
  border-bottom: 19px solid transparent;
  border-left: 23.5px solid #cccccc;
  z-index: 1;
}
.contact__stepnav ol:nth-child(2) li:nth-child(3):before,
.contact__stepnav ol li:nth-child(3):before {
  display: none;
}
.contact__stepnav ol li:after {
  content: "";
  position: absolute;
  top: -1px;
  right: -23.5px;
  bottom: 0;
  width: 0;
  height: 0;
  border-top: 29px solid transparent;
  border-bottom: 32px solid transparent;
  border-left: 23.5px solid #f9f9f9;
  z-index: 1;
}
.contact__stepnav ol li:nth-child(2):before,
.contact__stepnav ol li:nth-child(2):after {
  border-left-color: #EDEDED;
}
.contact__stepnav ol li:nth-child(3):before,
.contact__stepnav ol li:nth-child(3):after {
  border-left-color: #E2E2E2;
}
.contact__stepnav ol:nth-child(2) li:nth-child(1):before,
.contact__stepnav ol:nth-child(2) li:nth-child(1):after {
  border-left-color: #dddddd;
}
.contact__stepnav ol:nth-child(2) li:nth-child(2):before,
.contact__stepnav ol:nth-child(2) li:nth-child(2):after {
  border-left-color: #d5d5d5;
}
.contact__stepnav ol li:last-child:after {
  display: none;
}
.contact__stepnav ol li.current {
  border-top: solid 1px #ffeded;
  border-bottom: solid 1px #ffeded;
}
.contact__stepnav ol li.current:before,
.contact__stepnav ol li.current:after {
  border-left-color: #ffeded !important;
}

.input_description {
  width: 75vw;
  margin-bottom: 100px !important;
}
span.wpcf7-form-control.wpcf7-checkbox.check {
  display: grid;
  grid-template-columns: 100%;
  font-size: 16px;
  grid-row-gap: 21px;
}


@media screen and (min-width: 768px) {
  .contact__stepnav ol li:before {
    right: -36px;
    border-top: 36px solid transparent;
    border-bottom: 36px solid transparent;
    border-left: 36px solid #cccccc;
  }
  .contact__stepnav ol li:after {
    right: -36px;
    border-top: 36px solid transparent;
    border-bottom: 36px solid transparent;
    border-left: 36px solid #f9f9f9;
  }
  .contact__stepnav ol li:nth-child(2):before,
  .contact__stepnav ol li:nth-child(2):after {
    border-left: 36px solid #EDEDED;
  }
  .contact__stepnav ol li:nth-child(3):before,
  .contact__stepnav ol li:nth-child(3):after {
    border-left: 36px solid #E2E2E2;
  }
  .contact__stepnav ol li.current:after {
    border-left: 36px solid #ffeded;
  }
  .input_description {
    width: 75vw;
    margin-bottom: -25px !important;
  }

  span.wpcf7-form-control.wpcf7-checkbox.check {
    grid-template-columns: 30% 28% 55%;

  }
}

.contact__background {
  position: relative;
  height: 17px;
}
.contact__background img {
  position: absolute;
  width: 23vw;
  top: -1vw;
  right: 11vw;
  z-index: -1;
}


/* お問い合わせ 完了画面のレイアウト補正 2026/1/23 */
.contact_result_wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px 80px;
}
