@charset "utf-8";

/* ==========================================================================
   CONTACT
========================================================================== */

/* ------------------------ contact-form ------------------------ */
.content-wrap {
   padding-top: 55px;
   margin-top: 65px;
}

.content-wrap .inner {
   width: 990px;
}

.content-wrap h2 {
   font-size: 17px;
   line-height: 1.8;
   letter-spacing: 0.2em;

   text-align: center;
}

.content-wrap h2 span {
   font-size: 14px;
   line-height: 2;
   letter-spacing: 0.2em;

   color: #4C4B4C;
}

.contact-step {
   margin-top: 50px;
   position: relative;
}
.contact-step:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-bottom: 2px solid #eee;
    z-index: -1;
}

.contact-step ul li {
   display: inline-block;
/*   width: 33%;*/
   width: calc(100% / 2 - 10px);
   letter-spacing: normal;
   vertical-align: top;
   text-align: center;
   position: relative;
}
.contact-step ul li:not(:last-child):after {
  content: "";
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  border-top: 0.75px solid;
  border-right: 0.75px solid;
  top: 50%;
  right: -4px;
  margin-top: -4px;
  color: #000000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.contact-step ul li span {
   font-size: 15px;
   line-height: 2;
   letter-spacing: 0.2em;

   display: inline-block;
   padding: 10px 0;
   color: #959696;
   border-bottom: 3px solid transparent;
}

.contact-step ul li.current span {
  color: #000000;
  border-color: #000000;
}

.contact-form-wrap {
   margin-top: 30px;
}

.contact-form-wrap h3 {
   font-size: 17px;
   line-height: 1.8;
   letter-spacing: 0.2em;
}

.contact-form-item {
   margin-top: 33px;
}
.contact-form-item form#mailformpro dl dt,
.contact-form-item form#mailformpro dl dd {
    border-top: solid 1px #959696;
 }
.contact-form-item form#mailformpro dl dt {
   font-size: 15px;
   font-weight: 400;
   letter-spacing: 0.2em;
   line-height: 1.25;
   padding: 29px 0 29px;
   text-align: left;

   width: 200px;
}
.contact-form-item form#mailformpro dl dd {
   padding: 22px 0 22px 230px;
}

.contact-form-item form#mailformpro dl dd input[type=text],
.contact-form-item form#mailformpro dl dd input[type=email],
.contact-form-item form#mailformpro dl dd input[type=tel],
.contact-form-item form#mailformpro dl dd select,
.contact-form-item form#mailformpro dl dd textarea {
   font-size: 14px;
   line-height: 2.2;
   letter-spacing: 0.1em;

   padding: 0 15px;
   border: 1px solid #959696;

   box-shadow: none;
   border-radius: 0;
}
.contact-form-item form#mailformpro dl dd input[type=text],
.contact-form-item form#mailformpro dl dd input[type=email],
.contact-form-item form#mailformpro dl dd input[type=tel] {
   width: 470px;
}

.contact-form-item form#mailformpro dl dd textarea {
   width: 730px !important;
   height: 145px !important;
}

.contact-form-item form#mailformpro dl.zip dd {
   font-size: 14px;

}
.contact-form-item form#mailformpro dl.zip dd input[type=text] {
   width: 235px;
   margin-left: 15px;
}

.contact-form-item form#mailformpro dl dd select {
   width: 235px;
   height: 35px;
   cursor: pointer;
}

.contact-form-item form#mailformpro dl.radio dd .input-item {
   display: inline-flex;
   font-size: 14px;
   line-height: 2;
   letter-spacing: 0.1em;

   padding: 0 15px 0;

   border: 1px solid #959696;
}

.contact-form-item form#mailformpro dl.radio dd .input-item input {
   margin-right: 10px;
}
.contact-form-item form#mailformpro dl.radio label {
   display: inline-flex;
   align-items: center;

   cursor: pointer;

   border: 0;
}
.contact-form-item form#mailformpro dl.radio label.mfp_checked {
   background-color: initial;
   box-shadow: none;
}
.contact-form-item form#mailformpro dl.file dd li + li {
   margin-top: 10px;
}
.contact-form-item form#mailformpro dl dd input[type='file'] {
   cursor: pointer;
   padding-right: 0.5rem;
   width: 24rem;

   background: initial;
   box-shadow: none;
   border: 0;
   border-radius: 0;
}

.contact-form-item form#mailformpro dl dd input[type=file]::file-selector-button,
.contact-form-item form#mailformpro dl dd input[type=file]::-webkit-file-upload-button {
   border: 1px solid #959696;
   background-color: #E7E7E7;
   color: #000000;
   cursor: pointer;
   width: 165px;
   margin-right: 1rem;
   font-size: 14px;
   font-weight: 400px;
   line-height: 2;
   border-radius: 0;
}

.contact-form-item form#mailformpro .agree-wrap dl dt {
   font-size: 13px;
   font-weight: 400;
   line-height: 2.4;
   letter-spacing: 0.2em;
   width: 100%;
   padding: 22px 0 10px;
}
.contact-form-item form#mailformpro .agree-wrap dl dd {
   border-top: 0;
   width: auto;
}
.contact-form-item form#mailformpro .agree-wrap dl dd .agree-text {
   font-size: 13px;
   font-weight: 400;
   letter-spacing: 0.1em;
   line-height: 1.5;
   max-width: 730px;
   width: auto;
   height: 165px;
   padding: 5px 15px;
   overflow-y: scroll;
   border: 1px solid #959696;
   margin-top: 15px;
}

.contact-form-item form#mailformpro .agree-wrap dl.agree-check dd label {
   font-size: 14px;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.1em;
   border: 1px solid #959696;
   border-radius: 0;
   display: inline-flex;
   align-items: center;

   width: 470px;
   padding: 8px 15px;
   cursor: pointer;
}
.contact-form-item form#mailformpro .agree-wrap dl.agree-check dd label.mfp_checked {
   background-color: initial;
   box-shadow: none;
}
.contact-form-item form#mailformpro .agree-wrap dl.agree-check dd label input {
   margin-right: 8px;
}

.contact-form-item form#mailformpro .contact_btn button {
   width: 280px;
   height: 48px;
   border: 0;
   border-radius: 2.5rem;
   background: #000000;

   display: block;
   margin: 50px auto 0;
   cursor: pointer;

   text-shadow: none;
}
.contact-form-item form#mailformpro .contact_btn button:hover {
   box-shadow: none;
}
.contact-form-item form#mailformpro .contact_btn button span {
   font-size: 14px;
   line-height: 2.2;
   letter-spacing: 0.18em;
   color: #ffffff;

}

@media screen and (max-width: 800px) {
   .content-wrap {
      padding-top: 14.133vw;
      margin-top: 16vw;
   }

   .content-wrap .inner {
      width: 89.333vw;
   }

   .content-wrap h2 {
      font-size: 4.533vw;
   }

   .content-wrap h2 span {
      font-size: 3.733vw;
   }

   .contact-form-wrap {
      margin-top: 12vw;
   }

   .contact-form-wrap h3 {
      font-size: 4.533vw;
   }
   .contact-form-wrap .lead-text {
      font-size: 3.467vw;
      line-height: 1.8;
      letter-spacing: 0.2em;
      margin-top: 2.667vw;
   }
   .contact-form-item {
      margin-top: 4vw;
   }
   .contact-form-item form#mailformpro dl dt,
   .contact-form-item form#mailformpro dl dd {
       border-top: 0;
    }
   .contact-form-item form#mailformpro dl dt {
      font-size: 4vw;
      padding: 2.667vw 5.333vw;

       width: auto;
       margin: 0 -5.333vw;
       background: #E1E1E1;
   }
   .contact-form-item form#mailformpro dl dd {
      padding: 5.333vw 0;
   }
   .contact-form-item form#mailformpro dl dd input[type=text],
   .contact-form-item form#mailformpro dl dd input[type=email],
   .contact-form-item form#mailformpro dl dd input[type=tel],
   .contact-form-item form#mailformpro dl dd select,
   .contact-form-item form#mailformpro dl dd textarea {
      font-size: 3.733vw;
      padding: 0 4vw;
   }
   .contact-form-item form#mailformpro dl dd input[type=text],
   .contact-form-item form#mailformpro dl dd input[type=email],
   .contact-form-item form#mailformpro dl dd input[type=tel] {
      width: 90%;
   }

   .contact-form-item form#mailformpro dl dd textarea {
      width: 90% !important;
      height: 38.667vw !important;
   }
   .contact-form-item form#mailformpro dl.zip dd {
      font-size: 3.733vw;
   }
   .contact-form-item form#mailformpro dl.zip dd input[type=text] {
      width: 62.667vw;
      margin-left: 4vw;
   }
   .contact-form-item form#mailformpro dl dd select {
      width: 62.667vw;
      height: 9.333vw;
   }

   .contact-form-item form#mailformpro dl.radio dd .input-item {
      display: block;
      font-size: 3.733vw;

      padding: 0 4vw 0;
   }
   .contact-form-item form#mailformpro dl.radio dd .input-item input {
      margin-right: 2.667vw;
   }
   .contact-form-item form#mailformpro dl.file dd li + li {
      margin-top: 2.667vw;
   }
   .contact-form-item form#mailformpro dl dd input[type='file'] {
      padding-right: 0;
      width: 100%;
   }
   .contact-form-item form#mailformpro dl dd input[type=file]::file-selector-button,
   .contact-form-item form#mailformpro dl dd input[type=file]::-webkit-file-upload-button {
      width: 44vw;
      margin-right: 1rem;
      font-size: 3.733vw;
   }
   .contact-form-item form#mailformpro .agree-wrap dl dt {
      font-size: 3.467vw;
      line-height: 1.6;
      background: initial;
     padding: 2.667vw 5.333vw;
   }
   .contact-form-item form#mailformpro .agree-wrap dl dd {
      padding-top: 0;
      padding-bottom: 0;
   }
   .contact-form-item form#mailformpro .agree-wrap dl dd .agree-text {
      font-size: 3.467vw;
      max-width: none;
      width: auto;
      height: 76vw;
      padding: 2.667vw 4.8vw;
      margin-top: 2.667vw;
   }
   .contact-form-item form#mailformpro .agree-wrap dl.agree-check {
      margin-top: 9.333vw;
   }
   .contact-form-item form#mailformpro .agree-wrap dl.agree-check dd {
      padding-top: 2.667vw;
   }
   .contact-form-item form#mailformpro .agree-wrap dl.agree-check dd label {
      font-size: 3.733vw;

      width: 78vw;
      padding: 2.667vw 5.333vw;
   }
   .contact-form-item form#mailformpro .agree-wrap dl.agree-check dd label input {
      margin-right: 2.133vw;
   }
   .contact-form-item form#mailformpro .contact_btn button {
      width: 74.667vw;
      height: 12.8vw;

      margin: 13.333vw auto 0;
   }
   .contact-form-item form#mailformpro .contact_btn button span {
      font-size: 3.733vw;
   }
}
/* ------------------------ check-page ------------------------ */
#mfp_phase_confirm_inner .check_lead {
   font-size: 13px;
   font-weight: 400;
   line-height: 2.4;
   letter-spacing: 0.2em;
}
#mfp_phase_confirm_inner table {
   margin-top: 10px;
   border-bottom: solid 1px #959696;
}
#mfp_phase_confirm_inner table#mfp_confirm_table tr th {
   width: 240px;

   font-size: 15px;
   font-weight: 400;
   line-height: 2.1;
   letter-spacing: 0.2em;
   vertical-align: top;
}
#mfp_phase_confirm_inner table#mfp_confirm_table tr td {
   font-size: 14px;
   font-weight: 400;
   line-height: 2.2;
   letter-spacing: 0.1em;
}
#mfp_phase_confirm_inner table#mfp_confirm_table tr th,
#mfp_phase_confirm_inner table#mfp_confirm_table tr td {
   border-top: solid 1px #959696;
   padding: 25px 0 20px;
}
#mfp_phase_confirm_inner table#mfp_confirm_table tr.mfp_colored {
   background: initial;
}
#mfp_phase_confirm_inner div.mfp_buttons {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;

    margin-top: 40px;
}

#mfp_phase_confirm_inner div.mfp_buttons button {
   width: 280px;
   height: 48px;
   border: 0;
   border-radius: 2.5rem;
   background: #000000;

   display: block;
   cursor: pointer;

   text-shadow: none;

   font-size: 14px;
   font-weight: 400;
   line-height: 2.2;
   letter-spacing: 0.18em;
}
#mfp_phase_confirm_inner div.mfp_buttons button:hover {
   box-shadow: none;
}
#mfp_phase_confirm_inner div.mfp_buttons button#mfp_button_cancel {
   border: 1px solid #000;
   background: #fff;
   color: #000;
}
#mfp_phase_confirm_inner div.mfp_buttons button#mfp_button_send {
   border: 1px solid #fff;
   background: #000;
   color: #fff;
}
#th_mfp_element_17,
#td_mfp_element_17 {
   display: none;
}
@media screen and (max-width: 800px) {
   #mfp_phase_confirm_inner .check_lead {
      font-size: 3.467vw;
   }
   #mfp_phase_confirm_inner table {
      margin-top: 4vw;
      border-bottom: 0;
   }
   #mfp_phase_confirm_inner table#mfp_confirm_table tr {
      display: flex;
      flex-direction: column;
   }
   #mfp_phase_confirm_inner table#mfp_confirm_table tr th {
      width: auto;

      font-size: 4vw;
      background: #E1E1E1;

   }
   #mfp_phase_confirm_inner table#mfp_confirm_table tr td {
      font-size: 3.733vw;
   }
   #mfp_phase_confirm_inner table#mfp_confirm_table tr th,
   #mfp_phase_confirm_inner table#mfp_confirm_table tr td {
      border-top: 0;
      padding: 2.667vw 5.333vw;
      margin: 0 -5.333vw;
   }
   #mfp_phase_confirm_inner table#mfp_confirm_table tr td {
      padding: 6.667vw 9.333vw 15.467vw;
   }
   #mfp_phase_confirm_inner div.mfp_buttons {
       flex-direction: column-reverse;

       margin-top: 16vw;
   }

   #mfp_phase_confirm_inner div.mfp_buttons button {
      width: 74.667vw;
      height: 12.8vw;

      margin: 0 auto;

      font-size: 3.733vw;
   }
}
/* ------------------------ thanks-page ------------------------ */
.contact-form-wrap .mfp_thanks {
   margin: 35px 0 40px;
   padding: 65px 0;
   border-top: 0.5px solid #959696;
   border-bottom: 0.5px solid #959696;
}
.contact-form-wrap .mfp_thanks .corpo-img {
   width: 260px;
   margin: 0 auto;
}
.contact-form-wrap .mfp_thanks .thanks-msg {
   margin-top: 40px;
}
.contact-form-wrap .mfp_thanks .thanks-msg p {
   font-size: 14px;
   font-weight: 400;
   line-height: 2.2;
   letter-spacing: 0.1em;

   text-align: center;
}
.contact-form-wrap .top-btn {
   background: #000;
   width: 280px;
   height: 48px;
   border-radius: 50px;
   margin: 0 auto;
}
.contact-form-wrap .top-btn a {
   font-size: 14px;
   font-weight: 400;
   line-height: 2.2;
   letter-spacing: 0.18em;
   color: #fff;
   text-align: center;

   width: 100%;
   height: 100%;

   display: flex;
   align-items: center;
   justify-content: center;
}

@media screen and (max-width: 750px) {
   .contact-form-wrap .mfp_thanks {
      margin: 18vw 0 13.867vw;
      padding: 0;
      border-top: 0;
      border-bottom: 0;
   }
   .contact-form-wrap .mfp_thanks .corpo-img {
      width: 69.333vw;
      margin: 0 auto;
   }
   .contact-form-wrap .mfp_thanks .thanks-msg {
      margin-top: 9.333vw;
   }
   .contact-form-wrap .mfp_thanks .thanks-msg p {
      font-size: 3.733vw;

      text-align: left;
   }
   .contact-form-wrap .top-btn {
      width: 74.667vw;
      height: 12.8vw;
      border-radius: 13.333vw;
   }
   .contact-form-wrap .top-btn a {
      font-size: 3.733vw;
   }
}