/*---------------------------------------------------
*
* CONTACT
*
----------------------------------------------------*/
.pageTtl{
  padding: 100px 0 50px;
  font-size: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
}
.formBox{
  margin: 0 auto 50px;
  max-width: 800px;
}
.formBox .noteList {
  margin: 0 0 20px;
  padding: 15px 25px;
  line-height: 1.8;
  background: #ebe7de;
  border: 1px solid #b3ad9e;
}
.formBox .noteList .tel{
  margin: 10px 0 0;
  font-weight: bold;
}
.formBox .noteList .tel .call{
  font-size: 20px;
  color: #dc6868;
  cursor: default;
}

.formBox .confirm{
  margin: 0 auto 50px;
  text-align: center;
}

.formBox .confirm .red{
  color: #d64141;
}

.formBox .confirm a{
  color: inherit;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* mailformpro
--------------------------------------------------- */
#mailformpro{

}
#mailformpro table{
  margin: 0 0 50px;
  width: 100%;
  table-layout: fixed;
}
#mailformpro th,
#mailformpro td{
  padding: 15px 15px;
  border: 1px solid #b3ad9e;
}
#mailformpro td textarea{
  width: 100%;
  margin: 0 0 20px;
}
#mailformpro td .note{
  font-size: 13px;
}
#mailformpro td .note-youbou{
  margin-bottom: 15px;
}
#mailformpro th{
  width: 220px;
  padding-right: 20px;
  text-align: left;
  background: #ebe7de;
}
#mailformpro .size-small{
  width: 150px;
}
#mailformpro .size-medium{
  width: 250px;
}
#mailformpro .size-long{
  width: 100%;
}
.mfp_element_all{
  max-width: 100%;
}
.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password{
  font-size: 14px;
  padding: 6px 10px;
  color:#544236;
  background: #fff;
  border: solid 1px #b3ad9e;
  box-shadow: none;
}
.mfp_element_text:disabled{
  opacity: 0.4;
}
.problem {
  background-color: #ffe0e0;
  border: 1px solid #fdc5c5;
}
.must{
  padding: 5px 8px;
  display: inline-block;
  float: none;
  border: none;
  background-image: none;
  background: #dc6868;
  text-shadow: none;
}
div.mfp_err{
  color: #e04f4f;
  font-size: 13px;
}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev{
  padding: 5px 40px 5px 30px;
  background: url(../../common/img/btn_line.jpg) 12px center repeat-y #A38B6F;
  color: #fff;
  text-shadow: none;
  border-radius: 0;
  border:none;
}
.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover{
  background: url(../../common/img/btn_line.jpg) 12px center repeat-y #544236;
  box-shadow: none;
}
form#mailformpro label.mfp_not_checked{
  padding: 0;
  border: none;
  font-weight: bold;
}
form#mailformpro label.mfp_checked{
  padding: 0;
  border: none;
  box-shadow: none;
  background: transparent;
  font-weight: bold;
}
/* confirm */
div#mfp_phase_confirm div#mfp_phase_confirm_inner{
  margin: 0 auto;
  max-width: 800px;
}
div#mfp_phase_confirm h4{
  margin: 0 0 20px;
  padding: 10px;
  background: #544236;
  font-size: 20px;
  font-weight: normal;
  color: #fff;
}
table#mfp_confirm_table{
  margin: 0 0 50px;
}
table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td{
  padding: 15px 15px;
  border: 1px solid #ccc6b8;
  font-size: 14px;
}
table#mfp_confirm_table tr th{
  width: 220px;
  padding-right: 20px;
  text-align: left;
  background: #ebe7de;
}
table#mfp_confirm_table tr.mfp_achroma,
table#mfp_confirm_table tr.mfp_colored{
  background: none;
}

/* button */
.btnWrap {
  text-align: center;
}
.btnWrap button,
.mfp_buttons button{
  width: 200px;
  transition: 0.1s;
  position: relative;
}
.btnWrap button:after,
.mfp_buttons button:after{
  content: "";
  display: inline-block;
  background: url(../../common/img/btn_arrow.png);
  width: 26px;
  height: 26px;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 10px;
  margin: auto;
}
.mfp_buttons button+button{
  margin-left: 15px;
}


/* ラベルリスト */
form#mailformpro .labelList{
  margin: 0 0 10px;
  display: flex;
  gap: 1em 1.2em;
  flex-wrap: wrap;
  align-items: center;
}
form#mailformpro .labelListItem{
  gap: 0.5em;
  display: flex;
  align-items: center;
}
form#mailformpro .txtInput{
  display: flex;
  align-items: center;
  gap: 0.5em;
}

/* 住所 */
form#mailformpro .address{
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
form#mailformpro .addressItem{
  display: flex;
  gap: 1em;
}
form#mailformpro .addressTtl{
  border: none;
  font-size: inherit;
  padding: 0;
  float: none;
  width: 100%;
  max-width: 70px;
  text-align: left;
  align-self: center;
}
form#mailformpro .addressInput{
  border: none;
  padding: 0;
}

/*---------------------------------------------------
*
* THANKS
*
----------------------------------------------------*/
.thanksBox{
  margin: 0 0 100px;
}
.thanksBox p{
  text-align: center;
}
.thanksBox .btnWrap{
  margin: 50px 0 0;
}
.thanksBox .btnWrap a{
  padding: 10px 60px 10px 30px;
  display: inline-block;
}