@charset "utf-8";

.main_visual > h2 {
 width: 19%;
 height: 7.3%;
 background: url(../../common/images/contact.svg) no-repeat 50% 50%;
 background-size: contain;
}

.content_ttl {
 display: flex;
 justify-content: flex-start;
 align-items: flex-start;
 margin: 0 auto 50px;
}
.content_ttl h2.page_title {
 flex: 0 0 107px;
 width: 107px;
 height: 22px;
 margin: 0;
 background: url(../../common/images/contact_red.svg) no-repeat 50% 50%;
 background-size: contain;
}
.content_ttl p {
 flex: 0 0 82%;
 margin: 0 0 0 auto;
}
.contents h3 {
 margin-bottom: 1em;
}
.contents h3 span {
 font-size: 80%;
 margin: 0 0 0 1em;
}

form#mailformpro {
 background-color: #f4f4f4;
 padding: 40px;
}
form#mailformpro dl dt {
 float: left;
 clear: both;
 width: 20%;
 text-align: right;
 margin: 0 1em 0 0;
 padding: 10px 0;
 font-family: inherit !important;
 font-size: inherit !important;
}
form#mailformpro dl dd {
 margin: 0;
 padding: 10px 0 10px 20%;
 text-align: left;
 font-family: inherit !important;
 font-size: inherit !important;
}
.mfp_achroma,
.mfp_colored {
 background-color: transparent;
}
.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
 border: solid 1px #ccc;
 border-radius: unset;
 box-shadow: none;
 padding: 3px 8px;
 margin: 2px;
 vertical-align: middle;
}
input[size="15"] {
 width: 42% !important;
}
input[size="40"],
#mailformpro textarea {
 width: 89% !important;
}
.mfp_buttons {
 text-align: center;
}
.mfp_buttons button {
 padding: 0.8em 3em;
 border-radius: 4px;
 font-weight: 500;
 font-family: inherit !important;
 font-size: inherit !important;
 line-height: 1;
 color: #fff;
 text-shadow: none;
 box-shadow: none;
 border: none;
 background: #e8390d;
 margin: 0 auto;
 cursor: pointer;
}
.mfp_buttons button:hover {
 background: #f98062;
 box-shadow: none;
}
span.must {
 display: inline;
 height: auto;
 background: none;
 border: none;
 text-shadow: none;
 box-shadow: none;
 border-radius: unset;
 padding: 0;
 float: none;
 color: #f00;
 margin-left: 0.4em;
 font-family: inherit !important;
 font-size: 90%;
 white-space: nowrap;
}
table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
 font-size: 18px;
 font-size: 1.8rem;
}

.thanks_message {
 text-align: center;
}
.thanks_message p {
 font-size: 2.1rem;
 margin-bottom: 1em;
}
.thanks_message p.logo {
 display: block;
 margin: 0 auto 9em;
 width: 15%;
}
.thanks_message p.logo img {
 display: block;
 margin: 0 auto;
 width: 60%;
}


/* For Mobile Style
-------------------------------------------------*/
@media only screen and (max-width: 768px){
 
 .main_visual {
  background: url(../images/mv-sp.jpg) no-repeat center center;
  background-size: cover;
 }
 .main_visual > h2 {
  width: 24.25%;
 }
 .content_ttl {
  display: block;
  margin: 0 auto 25px;
 }
 .main_inner h2.page_title{
  display: none;
 }
 .content_ttl p {
  flex: none;
  width: 100%;
  margin: 0 auto;
 }
 
 .contents {
  margin: 0 auto 50px;
 }
 .contents h3 {
  font-size: 3.6vw;
  margin-bottom: 1em;
 }
 form#mailformpro {
  padding: 20px;
 }
 form#mailformpro dl dt {
  display: block;
  float: none;
  width: 100%;
  height: auto;
  padding: 5px 0;
  text-align: left;
 }
 form#mailformpro dl dd {
  text-align: left;
  margin: 0 auto;
  padding: 0 0 5px;
 }
 input[size="15"] {
  width: 37% !important;
 }
 table#mfp_confirm_table tr th,
 table#mfp_confirm_table tr td {
  font-size: 18px;
  font-size: 3.23vw;
 }
 table#mfp_confirm_table tr th {
  white-space: nowrap;
  width: 35%;
 }
 .thanks_message p {
  font-size: 4.2vw;
  margin-bottom: 1em;
 }
 .thanks_message p.logo {
  margin: 0 auto 4.5em;
  width: 42%;
 }
 
 div.foot_visual > div:nth-of-type(4),
 div.foot_visual > div:nth-of-type(5) {
  display: none;
  flex: 0 0 0%;
  width: 0;
  margin: 0;
  padding: 0;
 }
}
 