@charset "UTF-8";

#contact {
  .contact_wrapper {
    background-color: #f5f5f5;
    margin-bottom: 0px !important;
  }

  .contact_inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 100px 0 200px;
  }

  ol.step {
    display: flex;
    margin: 100px 0;
    gap: 150px;
    justify-content: center;
  }

  .step li {
    text-align: center;
    position: relative;
  }

  .step li.active {}

  .step li span {}

  .step li span:nth-of-type(1) {
    width: 46px;
    height: 46px;
    display: grid;
    background: #c6c6c6;
    color: #fff;
    place-content: center;
    border-radius: 50%;
    font-size: 2.0rem;
    font-weight: 600;
  }

  .step li span:nth-of-type(2) {
    color: #c6c6c6;
    font-weight: 600;
    font-size: 1.8rem;
    margin-top: 0.5em;
    display: block;
  }

  .step li:nth-of-type(2)::before {
    content: "";
    display: flex;
    width: 150px;
    height: 1px;
    background: #c6c6c6;
    align-items: center;
    position: absolute;
    top: 23px;
    left: -150px;
  }

  .step li:nth-of-type(3)::before {
    content: "";
    display: flex;
    width: 150px;
    height: 1px;
    background: #c6c6c6;
    align-items: center;
    position: absolute;
    top: 23px;
    left: -150px;
  }

  .step li.active span:nth-of-type(1) {
    background: #009375;
  }

  .step li.active span:nth-of-type(2) {
    color: #009375;
    /* margin-top: 1em; */
    /* display: block; */
  }

  form {}

  form dl {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  form dl+dl {
    margin-top: 50px;
  }

  form dt {
    font-size: 1.8rem;
    font-weight: 600;
  }

  form dt span {
    color: #c73a45;
  }

  form dd {
    /* background: #ddd; */
    display: flex;
    gap: 20px;
    align-items: center;
  }

  form dd button {
    background: #808080;
    color: #fff;
    font-weight: 600;
    font-size: 1.8rem;
    border-radius: 10px;
    width: 200px;
    padding: 18px 1em;
    text-align: center;
  }

  form dd input {
    background: #e6e6e6;
    width: 100%;
    padding: 18px 1em;
    border-radius: 10px;
  }

  form dd input.max200 {
    max-width: 200px;
  }

  form dd input::placeholder {
    color: #999;
    opacity: 1;
    /* Firefoxのデフォルト透明度をリセット */
  }

  form dd textarea {
    background: #e6e6e6;
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    height: 400px;
  }

  form dd textarea::placeholder {
    color: #999;
    opacity: 1;
  }

  .submit_wrapper {
    margin-top: 70px;
  }

  .contact_link_btn {
    max-width: 400px;
    margin: 0px auto 0;
  }

  .contact_link_btn button {
    padding: 1em;
    position: relative;
    text-align: center;
    background: #008a75;
    clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
    color: #008a75;
    isolation: isolate;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .contact_link_btn button::before {
    content: "";
    position: absolute;
    inset: 1px;
    background: #f5f5f5;
    clip-path: polygon(13px 0, calc(100% - 13px) 0, 100% 13px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 13px 100%, 0 calc(100% - 13px), 0 13px);
    z-index: -1;
  }

  .contact_link_btn button::after {
    position: relative;
    z-index: 1;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: bottom;
    content: "";
    background-image: url(../img/rightarrow_green.webp);
    width: 1em;
    height: 1em;
    margin-left: 1em;
  }


  /* 確認画面のみに適用 */
  .mw_wp_form_confirm form dd {
    width: 100%;
    padding: 18px 1em;
    border-radius: 0;
    border-bottom: solid 1px #3e3e3e;
  }

  .mw_wp_form_confirm dd>br {
    display: none;
  }

  .mw_wp_form_confirm .contact_link_btn {
    max-width: 400px;
    margin: 0px auto 0;
    display: flex;
    gap: 2em;
    max-width: 100%;
  }

  .mw_wp_form_confirm .contact_link_btn>br {
    display: none;
  }

  .mw_wp_form_confirm .contact_link_btn button:nth-of-type(1) {
    padding: 1em;
    position: relative;
    text-align: center;
    background: #3e3e3e;
    clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
    color: #3e3e3e;
    isolation: isolate;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .mw_wp_form_confirm .contact_link_btn button:nth-of-type(1)::after {
    position: relative;
    z-index: 1;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: bottom;
    content: "";
    background-image: url(../img/rightarrow_gray.webp);
    width: 1em;
    height: 1em;
    margin-left: 1em;
  }



  @media screen and (max-width: 768px) {
    .contact_inner {
      width: 86%;
      padding: 50px 0 100px;
    }

    ol.step {
      gap: 115px;
      margin: 0 auto 50px;
    }

    .step li span:nth-of-type(1) {
      width: 30px;
      height: 30px;
    }

    .step li:nth-of-type(2)::before {
      width: 120px;
      left: -120px;
      top: 14px;
    }

    .step li:nth-of-type(3)::before {
      width: 120px;
      left: -120px;
      top: 14px;
    }


  }

  /* 完了画面のスタイル */
  .complete_message {
    text-align: center;
    margin: 80px 0 60px;
  }

  .complete_message h3 {
    font-size: 3.2rem;
    font-weight: 600;
    color: #009375;
    margin-bottom: 30px;
  }

  .complete_message p {
    font-size: 1.6rem;
    line-height: 1.8;
    color: #3e3e3e;
  }

  .complete_link {
    max-width: 400px;
    margin: 0 auto;
  }

  .top_link_btn {
    padding: 1em;
    position: relative;
    text-align: center;
    background: #008a75;
    clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
    color: #008a75;
    isolation: isolate;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-decoration: none;
  }

  .top_link_btn::before {
    content: "";
    position: absolute;
    inset: 1px;
    background: #f5f5f5;
    clip-path: polygon(13px 0, calc(100% - 13px) 0, 100% 13px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 13px 100%, 0 calc(100% - 13px), 0 13px);
    z-index: -1;
  }

  .top_link_btn::after {
    position: relative;
    z-index: 1;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: bottom;
    content: "";
    background-image: url(../img/rightarrow_green.webp);
    width: 1em;
    height: 1em;
    margin-left: 1em;
  }

  @media screen and (max-width: 768px) {
    .complete_message {
      margin: 50px 0 40px;
    }

    .complete_message h3 {
      font-size: 2.4rem;
      margin-bottom: 20px;
    }

    .complete_message p {
      font-size: 1.4rem;
    }
  }
}