@charset "utf-8";

/* PC */
/* ---------- inquiry ---------- */
form#mailformpro { padding: 0!important; }
div#mfp_overlay_inner {
  padding: 40px!important;
  width: auto!important;
  max-width: 940px!important;
}
div#mfp_overlay_inner h4,
div#mfp_phase_confirm h4 {
  padding: 0 0 1em 0!important;
  font-size: 24rem!important;
  line-height: 1!important;
  text-align: center!important;
}
div#mfp_overlay_inner h4:before,
div#mfp_phase_confirm h4:before { display: none; }
div.mfp_err { font-size: 16rem; }

.inquiry table {
  width: 100%;
  margin: 6.25vw 0;
  border-bottom: 1px solid rgba(49,44,42,.1);
}
.inquiry th,
.inquiry td {
  vertical-align: middle;
  border: none;
  border-top: 1px solid rgba(49,44,42,.1);
  padding: 2em;
  background: none;
}
.inquiry th {
  width: 30%;
  font-weight: bold;
  text-align: left;
}
.inquiry td { width: 70%; }
.inquiry td p {
  margin-top: .5em;
  text-align: left;
}
.inquiry .w25 { width: 25%; }
.inquiry .w50 { width: 50%; }
.inquiry .w75 { width: 75%; }
.inquiry .w100 { width: 100%; }
.inquiry .mb15 { margin-bottom: 15px; }
.inquiry .require {
  margin-left: 5px;
  padding: 3px 8px;
  color: #fff;
  font-size: 12rem;
  background-color: #c00;
  border-radius: 3px;
}
.inquiry input[type="text"],
.inquiry input[type="email"],
.inquiry input[type="tel"] { font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Noto Sans Japanese", sans-serif!important; }
.inquiry textarea {
  width: 100%;
  height: 10em;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Noto Sans Japanese", sans-serif!important;
}
.inquiry .btn {
/*  min-width: 270px;*/
}
.mfp_buttons {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  font-size: 0;
}
.mfp_element_button {
  display: block;
  position: relative;
  width: 40%;
/*  min-width: 270px;*/
  padding: 18px 60px;
  font-size: 16rem;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background: #272520;
  overflow: hidden;
  cursor: pointer;
}
#mfp_button_send { background: #272520; }
#mfp_button_cancel {
  margin: 0 0 0 10px;
  color: #272520;
  border: 1px solid rgba(39,37,32,.4);
  background: transparent;
}

/* layout_form */
.layout_form .inner {
  width: calc(100% - 37.5vw);
  margin: 0 18.75vw;
  padding: 6.25vw 0;
}

/* タブレット横 */
@media screen and (max-width: 1180px) {
  /* layout_form */
  .layout_form .inner {
    width: calc(100% - 25vw);
    margin: 0 12.5vw;
    padding: 6.25vw 0;
  }
}

/* タブレット縦 */
@media screen and (max-width: 820px) {
  div.mfp_err { font-size: 12rem; }
  .inquiry col:first-child { width: 100%; }
  .inquiry col:nth-child(n+2) { width: 0%; }
  .inquiry table { margin: 6.25vw auto; }
  .inquiry th,
  .inquiry td {
    display: block;
    width: 100%;
  }
  .inquiry th {
    font-weight: bold;
    padding: 1em 2em;
  }
  .inquiry th .require { font-weight: normal; }
  .inquiry td {
    padding: 0 2em 1em 2em;
    border-top: none;
  }
  .inquiry input[type="text"],
  .inquiry input[type="email"],
  .inquiry input[type="tel"] { width: 100%; }
  .mfp_buttons { display: block; }
  .mfp_element_button {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    font-size: 14rem;
  }
  #mfp_button_cancel { margin: 10px auto 0 auto; }
}

/* スマホ縦 */
@media screen and (max-width: 430px) {
  div#mfp_overlay_inner { padding: 6.25vw 6.25vw!important; }
  .inquiry .text_wrap p { padding: 0 6.25vw; }

  /* layout_form */
  .layout_form .inner {
    width: 100%;
    margin: 0;
  }
}

/* contact form */
.wpcf7-submit {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 240px;
  padding: 1.25em 3em;
  font-size: 16rem;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, .25);
  transition: all .25s cubic-bezier(.215,.61,.355,1);
  background: none;
}
.wpcf7-not-valid-tip {
  display: block;
  padding: .5em 0 0 0;
  color: #c00;
}
.wpcf7-response-output {
  text-align: center;
  color: #c00;
}
.screen-reader-response { display: none; }