@charset "utf-8";
/* CSS Document */
.contact .main_block {
  width: 100%;
  height: 100%;
  padding: 200px 0 200px;
  margin: 100px auto 200px;
  position: relative;
}

@media screen and (max-width: 1050px) {
  .contact .main_block {
    margin-top: 150px;
  }
}

@media screen and (max-width: 592px) {
  .contact .main_block {
    padding: 120px 0;
    margin-bottom: 100px;
  }
}


.contact .main_block::before {
  content: '';
  width: 100%;
  height: 10%;
  background-image: image-set(url("../images/contact/contact_img.png") 1x,url("../images/contact/contact_img@2x.png") 2x);
  background-image : -webkit-image-set(url("../images/contact/contact_img.png") 1x,url("../images/contact/contact_img@2x.png") 2x);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top:0;
  left: 0%;
}

.contact .main_block::after {
  content: '';
  width: 100%;
  height: 10%;
  background-image: image-set(url("../images/contact/contact_img.png") 1x,url("../images/contact/contact_img@2x.png") 2x);
  background-image : -webkit-image-set(url("../images/contact/contact_img.png") 1x,url("..//images/contact/contact_img@2x.png") 2x);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -10%;
  left: 0%;
}


.contact .mblock_text {
  text-align: left;
  padding: 0 20px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .contact .mblock_text {
    margin-bottom: 20px;
  }
}

.contact_img {
  width: 100%;
  max-width: 300px;
  position: absolute;
  top: 5%;
  left: 15%;
  opacity: .5;
}

@media screen and (max-width: 840px) {
    .contact_img {
    max-width: 280px;
    position: absolute;
    top: 5%;
    left: 5%;
  }
}

@media screen and (max-width: 592px) {
    .contact_img {
    max-width: 180px;
    position: absolute;
    top: 3%;
    left: 5%;
  }
}

@media screen and (max-width: 592px) {
    .contact_img {
    top: 1%;
    left: 2%;
  }
}

.contact_form {
  width: 100%;
  max-width: 800px;
  padding: 0 40px;
  margin:  auto;
}

.form_parts {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 790px) {
  .form_parts {
    flex-direction: column;
    row-gap: 15px;
  }
}

.form_parts:not(:first-child) {
  margin-top: 30px;
}

.form_parts_label {
 flex-shrink: 0;
 display: flex;
 align-items: center;
}

.required {
  font-size: 12px;
  background: #333;
  color: #fff;
  padding: 3px 10px;
  border-radius: 5px;
  margin-left: 10px;
}

.form_parts_input {
  width: 100%;
  max-width: 500px;
}

@media screen and (max-width: 790px) {
  .form_parts_input {
    max-width: 100%;
  }
}

.inquiry_list {
  display: flex;
  column-gap: 20px;
}

@media screen and (max-width: 430px) {
  .inquiry_list {
    flex-direction: column;
    row-gap: 15px;
  }
}

.f_error {
  width: 100%;
  padding-left: 220px;
  color: #7B0103;
}

@media screen and (max-width: 790px) {
  .f_error {
    padding-left: 0;
  }
}

.privacy_error {
  padding: 0;
}


/*privacy poricy*/
.form_privacy {
  max-width: 600px;
  height: 200px;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 3px;
  overflow: auto;
  margin: 50px auto 0;
}

@media screen and (max-width: 790px) {
  .form_privacy {
    margin-top: 30px;
  }
}

.form_privacy h2{
  font-size: 18px;
  margin-bottom: 20px;
}
.form_privacy h3{
  font-size: 18px;
  margin: 20px 0 15px;
}
.form_privacy ol{
  list-style: decimal;
  padding-left: 1em;
}
.form_privacy li{
  display: list-item;
  margin-top: 10px;
}
.form_privacy dl{
  margin-top: 10px;
}
.form_privacy dl > div {
  display: flex;
}
.form_privacy dt{
  flex-shrink: 0;
}
.form_privacy dt::after{
  content: '：'
}
.form_privacy-check{
  text-align: center;
  margin-top: 30px;
}
input.form_send{
  width: 100%;
  padding: 13px;
  font-weight: bold;
  background: #333;
  color: #fff;
  margin-top: 40px;
  border: none;
  border-radius: 10px;
  transition: background-color .3s;
}

@media (hover: hover) and (pointer: fine) {
  input.form_send:hover {
    background: #8C8C8C;
    color: #333;
  }
}

.form_privacy_check {
  margin-top: 15px;
  text-align: center
}

  .form_privacy h2,
  .form_privacy h3{
    font-size: 18px;
  }
  .form_privacy-check{
    font-size: 16px;
  }


/*確認画面*/
.check_list dt {
  font-size: 18px;
  font-weight: bold;
  padding: 0 0  10px 10px;;
  position: relative;
}

.check_list dt::before {
  content: '';
  width: 5px;
  height: 30px;
  background: #676767;
  position: absolute;
  inset: 0;
}

.check_list dd {
  padding: 0 0 30px 10px;
}

.check_btn_list {
  display: flex;
  justify-content: space-between;
}

.back_btn {
  width: 40%;
  display: grid;
  place-items: center;
  background: #333;
}

.back_btn a {
  color: #fff;
  cursor: pointer;
}

.send_btn {
  width: 40%;
  border: none;
  background: transparent;
  color: #fff;
}

input[type="submit"] {
  border: none;
  background: #333;
  cursor: pointer;
}




/*完了画面*/
.thanks {
  max-width: 600px;
  margin: 100px auto;
  text-align: center;
}

.thanks .main_block .mblock_text{
  text-align: center;
}

.thanks a {
  color : inherit;
  text-align: center;
  transition: .3s;
}

@media (hover:hover) and (pointer:fine) {
  .thanks a:hover {
    opacity: .5;
  }
}

