/*----------------------------------------------------------------------------
******************************************************************************
** contact
******************************************************************************
----------------------------------------------------------------------------*/
.contact, .confirm, .thanks {
  background-color: #eef0f3;
  padding: 68px 0 175px 0;
  margin-top: 0;
}
.contact .header_txt, .confirm .header_txt, .thanks .header_txt {
  font-size: 14px;
  text-align: center;
  margin-bottom: 35px;
  line-height: 1.8;
  letter-spacing: 0.15em;
}
.contact .header_tel, .confirm .header_tel, .thanks .header_tel {
  max-width: 420px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  margin: 0 auto;
}

#inquiry_box {
  max-width: 1252px;
  margin: 0 auto;
  background-color: #fff;
  padding: 55px 76px 125px;
}
#inquiry_box > p {
  letter-spacing: 0.15em;
  text-align: center;
}
#inquiry_box > p:first-child {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 20px;
}
#inquiry_box > p:nth-child(2) {
  font-size: 14px;
  margin-bottom: 60px;
  font-weight: 500;
}
#inquiry_form span.required {
  color: #e60012;
  margin-left: 5px;
  font-size: 16px;
  margin-left: 5px;
}
#inquiry_prv_txt {
  width: 100%;
  letter-spacing: 0.125em;
  font-weight: 500;
  margin-bottom: 25px;
}
#inquiry_prv_error {
  text-align: center;
  padding-bottom: 50px;
}
#inquiry_prv_box {
  border: 1px solid #231815;
  padding: 45px;
  height: 200px;
  box-sizing: border-box;
  overflow-y: scroll;
}
#inquiry_prv_box_ttl {
  font-size: 14px;
  letter-spacing: 0.15em;
  text-align: center;
  margin-bottom: 15px;
  background: url(../images/contact/privacy_ttl_en.svg) no-repeat center top;
  background-size: 236px 24px;
  padding-top: 35px;
}
#inquiry_prv_box_lead {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 30px;
}
#inquiry_prv_box_ttl02 {
  font-size: 14px;
  margin-bottom: 5px;
  letter-spacing: 0.15em;
  line-height: 1.7;
  margin-left: -0.5em;
  font-weight: 500;
}
#inquiry_prv_box_txt {
  font-size: 12px;
  letter-spacing: 0.15em;
  line-height: 1.7;
  margin-bottom: 20px;
}
#inquiry_prv_name {
  border-bottom: 1px solid #231815;
  max-width: 450px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px 20px 15px;
  box-sizing: border-box;
}
#inquiry_prv_name_ttl {
  margin-bottom: 15px;
  position: relative;
  text-align: center;
}
#inquiry_prv_name_ttl span {
  background: #fff;
  padding: 0 20px;
  position: relative;
  z-index: 5;
  font-size: 14px;
  letter-spacing: 0.1em;
}
#inquiry_prv_name_ttl:before {
  content: "";
  display: block;
  border-top: solid 1px #231815;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  z-index: 1;
}
#inquiry_prv_name_tbl {
  width: 90%;
  margin: 0 auto;
  font-size: 12px;
}
#inquiry_prv_name_tbl th {
  width: 140px;
  font-weight: 400;
  padding: 5px 0;
}
#inquiry_prv_name_tbl td {
  width: calc(100% - 155px);
  padding: 5px 0;
}
#inquiry_prv_name_tbl td a {
  text-decoration: none;
  color: #231815;
}

/*.privacy #inquiry_prv_box {
	max-width: 1252px;
	margin: 0 auto;
	padding: 55px 76px 125px;
	overflow: visible;
	height: auto;
}*/
.send_btn_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
}
.send_btn_flex input[type="submit"], .send_btn_flex input[type="button"] {
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #fff;
  transition: 0.3s;
  cursor: pointer;
  height: 72px;
  border: none;
  width: 100%;
}
.send_btn_send {
  width: 358px;
}
.send_btn_send input {
  background-color: #000;
}

.mw_wp_form_confirm .check_flex {
  background: none;
  padding: 0;
}
.mw_wp_form_confirm .send_btn_back {
  margin-right: 30px;
  width: 150px;
}
.mw_wp_form_confirm .send_btn_back input {
  background-color: #aaa;
  width: 150px;
}

/* form contents */
#form_outline {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#form_outline div, #form_outline input, #form_outline textarea, #form_outline label {
  appearance: none;
}
#form_outline input {
  line-height: 1;
}
#form_outline input, #form_outline textarea {
  background-color: #F6F7F8;
  border: 1px solid #E9ECEF;
  border-radius: 3px;
  outline: none;
  font-size: 16px;
  box-sizing: border-box;
}
#form_outline input:hover, #form_outline input:focus, #form_outline textarea:hover, #form_outline textarea:focus {
  background-color: #FFFFFF;
  border: 1px solid #879098;
}
#form_outline input:hover.required, #form_outline input:focus.required, #form_outline textarea:hover.required, #form_outline textarea:focus.required {
  border-color: #EB9E9B;
}
#form_outline > dl {
  width: 35%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
#form_outline > dl dt {
  width: 50%;
}
#form_outline > dl dd {
  width: 50%;
  position: relative;
}
#form_outline > dl dd input {
  padding: 8px;
  width: 100%;
}
#form_outline > div:nth-of-type(1) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  width: 58%;
}
#form_outline > div:nth-of-type(1) > p {
  width: 18%;
  margin-bottom: 20px;
}
#form_outline > div:nth-of-type(1) > div.checkbox {
  width: 82%;
  margin-bottom: 20px;
  position: relative;
  background-color: #F6F7F8;
  padding-left: 8px;
}
#form_outline > div:nth-of-type(2) {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin-bottom: 30px;
  margin-top: 10px;
  position: relative;
}
#form_outline > div:nth-of-type(2) span.error {
  left: calc(20% - 17px);
}
#form_outline > div:nth-of-type(2) label {
  width: 15%;
  margin-top: 10px;
  display: block;
}
#form_outline > div:nth-of-type(2) textarea {
  width: 82.5%;
  height: 20vh;
  max-height: 200px;
  padding: 10px;
}

/* error check */
#form_outline span.error, #accept span.error {
  position: absolute;
  top: -15px;
  left: 5px;
  background-color: #c72d27;
  display: inline-block;
  width: 100px;
  text-align: center;
  font-size: 10px;
  padding: 2px 4px;
  color: #FFFFFF;
  border-radius: 3px;
  margin-bottom: 20px;
}

#form_outline .error_check input, #form_outline .error_check textarea, #accept .error_check input, #accept .error_check textarea {
  border-color: #c72d27;
  background-color: #F8E1E0;
}

#accept.error_check .mwform-checkbox-field-text span, #form_outline .error_check .mwform-checkbox-field-text span {
  border-color: #c72d27;
  background-color: #F8E1E0;
}

div.checkbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
div.checkbox > span {
  margin-left: 0 !important;
}
div.checkbox > span:nth-child(3n+1) {
  width: 32%;
}
div.checkbox > span:nth-child(3n+2) {
  width: 38%;
}
div.checkbox > span:nth-child(3n+3) {
  width: 30%;
}
div.checkbox:last-child > span {
  width: auto;
}
div.checkbox:last-child > span:last-child {
  width: 35%;
}
div.checkbox .mwform-checkbox-field-text {
  white-space: nowrap;
  display: inline-block;
  color: #000;
  cursor: pointer;
  position: relative;
  margin-bottom: 10px;
  margin-top: 10px;
  margin-right: 30px;
}
div.checkbox .mwform-checkbox-field-text span {
  display: inline-block;
  position: relative;
  background-color: #F6F7F8;
  width: 19px;
  height: 19px;
  transform-origin: center;
  border: 2px solid #A8B1B9;
  border-radius: 50%;
  vertical-align: -5px;
  margin-right: 10px;
  transition: background-color 150ms 200ms, transform 350ms cubic-bezier(0.78, -1.22, 0.17, 1.89);
}
div.checkbox .mwform-checkbox-field-text span:before {
  content: "";
  width: 0px;
  height: 1.5px;
  border-radius: 2px;
  background: #5E666D;
  position: absolute;
  transform: rotate(45deg);
  top: 8px;
  left: 4px;
  transition: width 50ms ease 50ms;
  transform-origin: 0% 0%;
}
div.checkbox .mwform-checkbox-field-text span:after {
  content: "";
  width: 0;
  height: 1.5px;
  border-radius: 2px;
  background: #5E666D;
  position: absolute;
  transform: rotate(305deg);
  top: 12px;
  left: 5px;
  transition: width 50ms ease;
  transform-origin: 0% 0%;
}
.checkbox.required .mwform-checkbox-field-text span:before {
  background: #EB9E9B;
}

.checkbox.required .mwform-checkbox-field-text span:after {
  background: #EB9E9B;
}
div.checkbox .mwform-checkbox-field-text:hover span {
  border-color: #5E666D;
  background-color: #FFFFFF;
  transition: all 150ms ease;
  transform: scale(1.2);
}
div.checkbox .mwform-checkbox-field-text:hover span:before {
  width: 5px;
  transition: width 100ms ease;
}
div.checkbox .mwform-checkbox-field-text:hover span:after {
  width: 10px;
  transition: width 150ms ease 100ms;
}
.checkbox.required .mwform-checkbox-field-text:hover span {
  border-color: #EB9E9B;
}
div.checkbox input[type="checkbox"] {
  display: none;
}
div.checkbox input[type="checkbox"]:checked + .mwform-checkbox-field-text {
  /*&:hover { // copy the states for onMouseOver to avoid flickering
  	span {
  		background-color: #fff;
  		transform: scale(1.25); // enlarge the box
  		&:after {
  			width: 10px;
  			background: #c72d27;
  			transition: width 150ms ease 100ms; // enlarge the tick
  		}
  		&:before {
  			width: 5px;
  			background: #c72d27;
  			transition: width 150ms ease 100ms; // enlarge the tick
  			}
  		}
  	}*/
}
div.checkbox input[type="checkbox"]:checked + .mwform-checkbox-field-text span {
  background-color: #c72d27 !important;
  transition: background 150ms ease 100ms;
  border-color: #c72d27 !important;
  transform: scale(1.2);
}
div.checkbox input[type="checkbox"]:checked + .mwform-checkbox-field-text span:after {
  width: 10px;
  background: #ffffff;
  transition: width 150ms ease 100ms;
}
div.checkbox input[type="checkbox"]:checked + .mwform-checkbox-field-text span:before {
  width: 5px;
  background: #ffffff;
  transition: width 150ms ease 100ms;
}

#accept {
  margin-top: 50px;
  position: relative;
  display: block;
}
#accept .mwform-checkbox-field {
  display: block;
  max-width: 400px;
  width: 100%;
  margin: 0 auto !important;
  text-align: center;
}
#accept .mwform-checkbox-field-text {
  margin-right: 0;
}
#accept span.error {
  position: absolute;
  top: -15px;
  left: 360px;
}

/* preview */
.mw_wp_form_preview {
  /* form contents */
}
.mw_wp_form_preview #accept, .mw_wp_form_preview #inquiry_prv_txt, .mw_wp_form_preview #inquiry_prv_box {
  display: none !important;
}
.mw_wp_form_preview #form_outline {
  display: flex;
  width: 80%;
  margin: 0 auto;
  align-items: flex-start;
}
.mw_wp_form_preview #form_outline > dl {
  display: block;
  width: 45%;
}
.mw_wp_form_preview #form_outline > dl dt {
  width: 100%;
  background-color: #E1E1E1;
  padding: 10px;
  margin: 0 -10px 10px;
}
.mw_wp_form_preview #form_outline > dl dd {
  width: 100%;
  margin: 0 0 20px;
}
.mw_wp_form_preview #form_outline > div:nth-of-type(1) {
  display: block;
  width: 45%;
}
.mw_wp_form_preview #form_outline > div:nth-of-type(1) > p {
  width: 100%;
  background-color: #E1E1E1;
  padding: 10px;
  margin: 0 -10px 10px;
}
.mw_wp_form_preview #form_outline > div:nth-of-type(1) > div.checkbox {
  width: 100%;
  margin: 0 0 20px;
  background-color: #FFFFFF;
}
.mw_wp_form_preview #form_outline > div:nth-of-type(2) {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  margin-top: 10px;
  position: relative;
}
.mw_wp_form_preview #form_outline > div:nth-of-type(2) label {
  width: 100%;
  margin-top: 10px;
  background-color: #E1E1E1;
  padding: 10px;
  margin: 20px -10px 10px;
}

/* */
@media screen and (max-width: 600px) {
  /* breakpoint */
  .contact, .confirm, .thanks {
    padding: 5.7142857143rem 1.2142857143rem 0;
  }
  .contact .header_txt, .confirm .header_txt, .thanks .header_txt {
    padding: 0 1.4285714286rem;
  }

  #inquiry_box {
    padding: 3rem 1.5rem;
  }
  #inquiry_box > p:first-child {
    margin-bottom: 1rem;
  }
  #inquiry_box > p:nth-child(2) {
    margin-bottom: 2rem;
  }
  #inquiry_lead {
    font-size: 1.2rem;
    margin: 2rem 1rem 3rem;
  }
  #inquiry_form {
    margin-bottom: 0 !important;
  }
  #inquiry_form span.required {
    font-size: 0.8571428571rem;
    white-space: nowrap;
  }
  #inquiry_prv_txt {
    margin-bottom: 1.7142857143rem;
  }
  #inquiry_prv_error {
    padding-bottom: 3.5714285714rem;
  }
  #inquiry_prv_box {
    padding: 1.0714285714rem;
  }
  #inquiry_prv_box_ttl {
    background-size: 12.8571428571rem auto;
    font-size: 0.8571428571rem;
    padding-top: 2.1428571429rem;
  }
  #inquiry_prv_box_lead {
    font-size: 0.8571428571rem;
    margin-bottom: 1.7142857143rem;
    text-align: left;
  }
  #inquiry_prv_box_ttl02 {
    font-size: 1rem;
    margin-bottom: 0.4285714286rem;
  }
  #inquiry_prv_box_txt {
    font-size: 0.8571428571rem;
    margin-bottom: 0.8571428571rem;
    letter-spacing: 0;
  }
  #inquiry_prv_name {
    padding: 0;
  }
  #inquiry_prv_name_ttl {
    margin-bottom: 1.0714285714rem;
  }
  #inquiry_prv_name_ttl span {
    padding: 0 1.4285714286rem;
    font-size: 1rem;
  }
  #inquiry_prv_name_tbl {
    width: 90%;
    font-size: 0.8571428571rem;
    margin-bottom: 1.0714285714rem;
  }
  #inquiry_prv_name_tbl th {
    width: 100px;
    font-weight: 400;
    padding: 0.1428571429rem 0;
  }
  #inquiry_prv_name_tbl td {
    width: calc(100% - 115px);
    padding: 0.1428571429rem 0;
  }
  #inquiry_prv_name_tbl td a {
    text-decoration: none;
    color: #231815;
  }

  /*.privacy #inquiry_prv_box {
  	margin-top: 60px;
  	padding: 15px;
  }*/
  .send_btn_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2.8571428571rem;
    margin-bottom: 3.5714285714rem;
  }
  .send_btn_flex input[type="submit"], .send_btn_flex input[type="button"] {
    font-size: 1rem;
    height: 66px;
    border: none;
    width: 100%;
    border-radius: 40px;
  }
  .send_btn_send {
    width: 18.4285714286rem;
  }
  .send_btn_send input {
    background: url("../images/top/send_btn_arrow.svg") no-repeat right 20px center #231815;
  }

  /* form contents */
  #form_outline {
    display: block;
    font-size: 1rem;
  }
  #form_outline > dl {
    width: 100%;
    margin-bottom: 1.4285714286rem;
    display: block;
  }
  #form_outline > dl dt {
    width: 100%;
  }
  #form_outline > dl dd {
    width: 100%;
    margin-bottom: 1rem;
  }
  #form_outline > div:nth-of-type(1) {
    width: 100%;
    display: block;
    margin-bottom: 1rem;
  }
  #form_outline > div:nth-of-type(1) span.error {
    left: 8rem;
    top: -2rem;
    width: 100px !important;
  }
  #form_outline > div:nth-of-type(1) > p {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  #form_outline > div:nth-of-type(1) > div.checkbox {
    width: 100%;
    margin-bottom: 1rem;
  }
  #form_outline > div:nth-of-type(1) > div.checkbox > span {
    width: 48%;
  }
  #form_outline > div:nth-of-type(2) {
    display: block;
  }
  #form_outline > div:nth-of-type(2) span.error {
    left: 8rem;
    top: 0.5rem;
  }
  #form_outline > div:nth-of-type(2) label {
    width: 100%;
    margin-bottom: 1rem;
  }
  #form_outline > div:nth-of-type(2) textarea {
    width: 100%;
  }

  /* error check */
  #form_outline span.error, #accept span.error {
    top: -1.7rem;
    left: 13rem;
  }

  #accept {
    margin-top: 3rem;
  }
  #accept span.error {
    top: -20px;
    left: 40%;
    transformX: translate(-40%);
  }

  /* preview */
  .mw_wp_form_preview {
    /* form contents */
  }
  .mw_wp_form_preview #form_outline {
    display: block;
    width: 100%;
  }
  .mw_wp_form_preview #form_outline > dl {
    display: block;
    width: 100%;
  }
  .mw_wp_form_preview #form_outline > dl dt {
    margin: 0 0 10px;
  }
  .mw_wp_form_preview #form_outline > dl dd {
    margin: 0 0 20px 10px;
  }
  .mw_wp_form_preview #form_outline > div:nth-of-type(1) {
    width: 100%;
  }
  .mw_wp_form_preview #form_outline > div:nth-of-type(1) > p {
    margin: 0 0 10px;
  }
  .mw_wp_form_preview #form_outline > div:nth-of-type(1) > div.checkbox {
    margin: 0 0 20px;
  }
  .mw_wp_form_preview #form_outline > div:nth-of-type(2) {
    width: 100%;
    display: block;
    margin-bottom: 30px;
    margin-top: 10px;
    position: relative;
  }
  .mw_wp_form_preview #form_outline > div:nth-of-type(2) label {
    width: 100%;
    margin-top: 10px;
    background-color: #E1E1E1;
    padding: 10px;
    margin: 20px 0 10px;
  }

  /* breakpoint end */
}
