main {
  padding-bottom: 214px;
}
main .main_heading .visual {
  margin-top: 100px;
  width: 100%;
  background: url("../img/contact/contact_mv.png") right center/cover no-repeat;
  min-height: 713px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 50px 0;
}
main .main_heading dl {
  width: 100%;
  max-width: 1060px;
  padding: 0 6.8027210884%;
  text-align: left;
}
main .main_heading dt {
  font-size: 50px;
}
main .main_heading dd {
  font-size: 33px;
  line-height: 2.5454545455;
  margin-top: 60px;
}
main .sec01 {
  margin-top: 113px;
  text-align: center;
}
main .sec01 a {
  font-size: 60px;
  font-weight: 700;
  margin-top: 60px;
  display: inline-block;
}
main .sec01 a span {
  font-size: 33px;
}
main .sec01 p {
  font-size: 22px;
}
main .sec02 {
  margin-top: 83px;
}
main h2 {
  font-size: 36px;
  color: #fff;
  text-align: center;
  padding: 13px;
  background: -ms-linear-gradient(0deg, rgb(0, 104, 55) 0%, rgb(24, 82, 55) 55.46%, rgb(38, 69, 55) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#006837', endColorstr='#264537' ,GradientType=0)";
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 104, 55)), color-stop(55.46%, rgb(24, 82, 55)), to(rgb(38, 69, 55)));
  background: linear-gradient(90deg, rgb(0, 104, 55) 0%, rgb(24, 82, 55) 55.46%, rgb(38, 69, 55) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#006837",endColorstr="#264537" , GradientType=1);
}
main .form_explan {
  font-size: 22px;
  line-height: 2.7272727273;
  letter-spacing: 2.2px;
  color: #4D4D4D;
  margin-top: 56px;
}
main .form-container {
  max-width: 100%;
  margin: 90px auto 0;
}
main .form-group + .form-group {
  margin-top: 48px;
}
main .form-group label,
main .form-group span {
  display: block;
  font-weight: 700;
  font-size: 23px;
  padding: 0 16px;
}
main .form-group label {
  margin-bottom: 10px;
}
main .form-group span {
  display: inline-block;
}
main .form-group input,
main .form-group textarea,
main .form-group select {
  width: 100%;
  padding: 16px;
  background: #F7F9F7;
  font-size: 23px;
  border: none;
}
main .form-group input[type=radio] {
  width: auto;
  accent-color: #264537;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  margin: 0 6px 2px 0;
}
main .form-group .radio-label {
  display: inline-block;
  margin-right: 15px;
}
main .form-group textarea {
  resize: none;
  height: 342px;
}
main input + input {
  margin-top: 8px;
}
main .submit-button {
  background: -ms-linear-gradient(0deg, rgb(0, 104, 55) 0%, rgb(24, 82, 55) 55.46%, rgb(38, 69, 55) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#006837', endColorstr='#264537' ,GradientType=0)";
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 104, 55)), color-stop(55.46%, rgb(24, 82, 55)), to(rgb(38, 69, 55)));
  background: linear-gradient(90deg, rgb(0, 104, 55) 0%, rgb(24, 82, 55) 55.46%, rgb(38, 69, 55) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#006837",endColorstr="#264537" , GradientType=1);
  max-width: 1050px;
  color: white;
  border: none;
  padding: 12px 20px 13px;
  margin: 126px auto 0;
  font-size: 25px;
  letter-spacing: 5px;
  cursor: pointer;
  text-align: center;
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1;
}
main .submit-button:hover {
  opacity: 0.7;
}
main .form-group .required {
  color: red;
  font-size: 0.9em;
  margin-left: 5px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  main {
    padding-bottom: 22.6666666667vw;
  }
  main .main_heading {
    background: url("../img/contact/contact_mv-sp.png") center center/cover no-repeat;
    padding: 0;
  }
  main .main_heading p {
    font-size: 4.4vw;
    line-height: 2.5454545455;
    margin-top: 4vw;
  }
  main .sec01 {
    margin-top: 14.1333333333vw;
  }
  main .sec01 a {
    font-size: 8vw;
    margin-top: 6.6666666667vw;
  }
  main .sec01 a span {
    font-size: 4.4vw;
  }
  main .sec01 p {
    font-size: 3.4666666667vw;
  }
  main .sec02 {
    margin-top: 16vw;
  }
  main h2 {
    font-size: 4.2666666667vw;
    padding: 1.3333333333vw 0 1.4666666667vw;
  }
  main .form_explan {
    font-size: 3.4666666667vw;
    line-height: 2.3076923077;
    letter-spacing: 0.3466666667vw;
    margin-top: 10.1333333333vw;
  }
  main .form-container {
    margin: 8.6666666667vw auto 0;
  }
  main .form-group + .form-group {
    margin-top: 6.6666666667vw;
  }
  main .form-group label,
  main .form-group span {
    font-size: 3.0666666667vw;
    padding: 0 2.1333333333vw;
  }
  main .form-group label {
    margin-bottom: 1.3333333333vw;
  }
  main .form-group input,
  main .form-group textarea,
  main .form-group select {
    padding: 2.1333333333vw;
    font-size: 3.0666666667vw;
  }
  main .form-group input[type=radio] {
    margin: 0 0.8vw 0.2666666667vw 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  main .form-group .radio-label {
    margin-right: 2vw;
  }
  main .form-group textarea {
    height: 45.6vw;
  }
  main input + input {
    margin-top: 1.0666666667vw;
  }
  main .submit-button {
    max-width: 100%;
    padding: 1.4666666667vw 2.6666666667vw 1.6vw;
    margin: 12.2666666667vw auto 0;
    font-size: 4.2666666667vw;
  }
  main .submit-button:hover {
    opacity: 1;
  }
}