@charset "UTF-8";
/* --------------------------------------------
   問い合わせ
-------------------------------------------- */
div#mfp_hidden {
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
}
div#mfp_hidden input {
  margin: 10px;
}
#mailformpro table {
  max-width: 960px;
  line-height: 1.5;
  margin: 0 auto;
}
#mailformpro table th, #mailformpro table td {
  padding: 10px 20px;
  border: #d9d9d9 1px solid !important;
}
#mailformpro table th {
  background: #fafafa !important;
  color: inherit !important;
  text-align: left;
}
#mailformpro table td {
  background: #fff !important;
}
#mailformpro .must, #mailformpro .any {
  background: #e95464;
  color: #fff;
  font-size: 10px;
  float: right;
  display: inline-block;
  vertical-align: middle;
  padding: 4px 10px;
}
#mailformpro .any {
  background: #e5e5e5;
  color: #888;
}
#mailformpro label {
  display: inline-block;
  padding: 5px;
  border-radius: 3px;
}
/* 確認画面 */
table#mfp_confirm_table {
  margin-bottom: 40px;
}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
  text-align: left;
  padding: 10px;
}
table#mfp_confirm_table tr th {
  white-space: nowrap;
}
#mfp_phase_confirm {
  clear: both;
}
div#mfp_overlay {
  display: none;
  position: absolute;
  z-index: 10001;
}
div#mfp_overlay_inner {
  width: 800px;
  max-width: 90%;
  background: #fff;
  padding: 40px;
  margin: 0px auto;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #000;
}
div#mfp_overlay h4 {
  color: #222;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
div#mfp_overlay_background {
  background: #000;
  display: none;
  position: absolute;
  z-index: 10000;
}
div#mfp_loading_screen {
  background: #000;
  display: none;
  position: absolute;
  z-index: 20000;
  opacity: 0.8;
}
div#mfp_loading {
  width: 40px;
  height: 40px;
  background: url(images/mfp_loading.gif);
 display: none;
  position: absolute;
  z-index: 20001;
}
/* ボタン */
.mfp_buttons {
  clear: both;
  text-align: center;
}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button {
  width: 25%;
  background: #222;
  color: #fff;
  font-size: inherit;
  font-family: inherit;
  padding: 1em 0;
  border: none;
  border-radius: 0;
}
.mfp_element_submit, #mfp_button_send {
  font-weight: bold;
}
#mfp_button_cancel {
  background: #f5f5f5;
  color: #ccc;
  margin-left: 2%;
}
/* 項目 */
.mfp_element_all:focus {
  outline: none;
}
#mailformpro .mfp_element_text, #mailformpro .mfp_element_email, #mailformpro .mfp_element_tel, #mailformpro .mfp_element_url, #mailformpro .mfp_element_textarea {
  width: 98%;
  padding: 10px;
  margin: 5px 1%;
}
#mailformpro .mfp_element_text[name="郵便番号"] {
  max-width: 150px;
}
#mailformpro .mfp_element_textarea {
  min-height: 150px;
}
/* チェックボックス */
#mailformpro input[type="checkbox"] {
  display: none;
}
#mailformpro input[type="checkbox"] ~ span {
  display: inline-block;
  padding-left: 20px;
  position: relative;
}
#mailformpro input[type="checkbox"] ~ span::before,
#mailformpro input[type="checkbox"] ~ span::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: 0.3s;
}
#mailformpro input[type="checkbox"] ~ span::before {
  width: 15px;
  height: 15px;
  content: '';
  background: #f5f5f5;
  border: #ddd 1px solid;
}
#mailformpro input[type="checkbox"] ~ span::after {
  width: 7px;
  height: 14px;
  border-bottom: #58b2dc 3px solid;
  border-right: #58b2dc 3px solid;
  -webkit-transform: translate(5px, -10px) rotate(40deg) scale(0);
  transform: translate(5px, -10px) rotate(40deg) scale(0);
}
#mailformpro input[type="checkbox"]:checked ~ span::before {
  border-color: #58b2dc;
}
#mailformpro input[type="checkbox"]:checked ~ span::after {
  -webkit-transform: translate(5px, -10px) rotate(40deg) scale(1);
  transform: translate(5px, -10px) rotate(40deg) scale(1);

}
/* ラジオボタン */
#mailformpro input[type="radio"] {
  position: absolute;
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#mailformpro label[for^="radio"] {
  padding-left: 25px;
  margin-right: 20px;
  position: relative;
  cursor: pointer;
}
#mailformpro label[for^="radio"]::before,
#mailformpro label[for^="radio"]::after {
  content: '';
  background: #f5f5f5;
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: 0.3s;
}
#mailformpro label[for^="radio"]::before {
  width: 20px;
  height: 20px;
  border: #ddd 1px solid;
}
#mailformpro label[for^="radio"]:after {
  width: 12px;
  height: 12px;
  background: #58b2dc;
  left: 4px;
  opacity: 0;
}
#mailformpro label[for^="radio"].mfp_checked::before {
  border-color: #58b2d;
}
#mailformpro label[for^="radio"].mfp_checked::after {
  opacity: 1;
}
/* その他 */
div.mfp_ok {
  background: #0f9e3f;
  color: #fff;
   font-size: 10px;
  display: none;
  border-radius: 5px;
  line-height: 1.5em;
  padding: 0 5px;
  margin: 0 2px;
  border: #0f9e3f 1px solid;
}
div.mfp_err {
  color: #f00;
  font-size: 12px;
  line-height: normal;
  background: url(images/mfp_error.gif) no-repeat left center / 12px auto;
  display: none;
  padding-left: 15px;
  margin-top: 5px;
  clear: both;
}
.mfp_parent_error {
  border: #f00 2px solid;
}
.problem {
  background: #fcc;
}
div#mfp_error {
  background: #fee;
  padding: 10px;
  display: none;
  border: #f00 1px solid;
}
div#mfp_error p {
  font-size: 14px;
  text-align: center;
  padding: 0;
  margin: 0;
}
div#mfp_error p strong {
  color: #f00;
  font-weight: bold;
}
div#mfp_warning {
  background: #fee;
  display: none;
  padding: 10px;
  border: #f00 1px  solid;
}
div#mfp_warning p {
  text-align: center;
  padding: 0;
  margin: 0;
}
div#mfp_warning p strong {
  color: #f00;
}
button.mfp_next, button.mfp_prev {
  padding: 5px 10px;
  margin: 10px;
}
button.mfp_next {
  float: right;
}
button.mfp_prev {
  float: left;
}
ul#mfp_phase_stat {
  padding: 10px;
}
ul#mfp_phase_stat li {
  font-size: 14px;
  float: left;
  padding: 8px 15px;
  margin: 5px;
  border-radius: 3px;
}
ul#mfp_phase_stat li.mfp_phase_arrow {
  padding: 8px 5px;
  box-shadow: none;
}
ul#mfp_phase_stat li.mfp_active_phase {
  background: #e8eef9;
  box-shadow: 0px 0px 5px #000;
}
ul#mfp_phase_stat li.mfp_inactive_phase {
  background: #ccc;
  color: #666;
  box-shadow: 0px 0px 5px #ccc;
}
div.prefcodeWrapper {
  position: relative;
}
div.prefcodeResult {
  background: #fff;
  display: none;
  padding: 5px;
  border: #ccc 1px solid;
  box-shadow: 0px 0px 5px #ccc;
  position: absolute;
  top: 0;
  left: 0;
}
div.prefcodeResult div {
  cursor: pointer;
}
div.prefcodeResult div:hover {
  background: #c9ebfb;
}
div.prefcodeResult div.prefcodeNext {
  background: #eee;
  text-align: center;
}
div.prefLoading {
  background: url(images/mfp_zip_loading.gif) no-repeat center center;
  padding: 60px 100px;
}
.hidefield {
  height: 0;
  overflow: hidden;
}
.showfield {
  height: auto;
  overflow: visible;
}
@media screen and (max-width: 560px) {
  #mailformpro table th, #mailformpro table td {
    display: block;
    border-top: none !important;
  }
  #mailformpro table th {
    white-space: normal;
  }
  #mailformpro table tr:first-child th {
    border-top: #d9d9d9 1px solid !important;
  }
  #mailformpro .must, #mailformpro .any {
    float: none;
    padding: 2px 10px;
    margin-right: 10px;
  }
  /* 確認画面 */
  table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
    display: block;
    border-top: none;
    white-space: normal;
  }
  table#mfp_confirm_table tr th {
    width: auto;
  }
  table#mfp_confirm_table tr:first-child th {
    border-top: #ddd 1px solid;
  }
  div#mfp_overlay_inner {
    padding: 20px;
    margin: 0px auto;
  }
  /* 項目 */
  .mfp_element_textarea {
    min-height: 100px;
  }
  /* ボタン */
  .mfp_element_submit {
    width: 80%;
  }
  .mfp_element_reset, .mfp_element_button {
    width: 45%;
  }
}