.subTitleArea {
  background: url("../common/images/line_common01.svg") repeat-x bottom, url("../images/bg_index01.jpg") no-repeat 50% 50%/cover;
}

.contactArea01 {
  padding: 80px 0 120px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .contactArea01 {
    padding: 40px 0 60px;
  }
}
.contactArea01 .contactText01 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .contactArea01 .contactText01 {
    text-align: left;
    margin-bottom: 35px;
  }
}
.contactArea01 .contactText01 p:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .contactArea01 .contactText01 p:not(:last-child) {
    margin-bottom: 15px;
  }
}

.formArea01 .generalBtn {
  max-width: 320px;
  margin: 50px auto 30px;
}
@media screen and (max-width: 767px) {
  .formArea01 .generalBtn {
    margin-top: 30px;
  }
}
.formArea01 .linkText01 {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .formArea01 .linkText01 {
    margin-top: 40px;
    line-height: 1.8;
  }
}
.formArea01 .linkText01 a {
  text-decoration: underline;
}
.formArea01:not(.formArea02) .btn01 input {
  background-image: none;
}

.formTable01 {
  border: 1px solid #c6c6c6;
}
.formTable01 > tbody > tr > th {
  background: #f7f7f7;
}
@media print, screen and (min-width: 768px) {
  .formTable01 > tbody > tr > th {
    width: 335px;
    padding-right: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .formTable01 > tbody > tr > th.textarea01 {
    padding: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .formTable01 > tbody > tr > td {
    padding-left: 20px;
  }
}
@media screen and (max-width: 500px) {
  .formTable01 > tbody textarea {
    height: 180px;
  }
}
@media print, screen and (min-width: 768px) {
  .formTable01 .textarea01 {
    padding: 15px 20px;
  }
}
.formTable01 .textarea01 p {
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .formTable01 input[type=text]:not(.yearTextbox):not(.birthdayTextbox), .formTable01 input[type=email]:not(.yearTextbox):not(.birthdayTextbox), .formTable01 input[type=password]:not(.yearTextbox):not(.birthdayTextbox) {
    width: 404px;
  }
}
.formTable01 input[type=text], .formTable01 input[type=tel], .formTable01 input[type=email] {
  border-radius: 0;
}
@media print, screen and (min-width: 768px) {
  .formTable01 .selectBox01 {
    width: 404px;
  }
}
@media print, screen and (min-width: 768px) {
  .formTable01 .formTextBox01 {
    margin-top: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .formTable01 .formTextBox02 {
    margin-bottom: 10px;
  }
}
.formTable01 .formImage01 {
  width: 336px;
  margin-top: 10px;
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .formTable01 .formImage01 {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .formTable01 .formImage01 {
    width: 100%;
  }
}
.formTable01 .formText01 {
  margin-bottom: 5px;
}
@media print, screen and (min-width: 768px) {
  .formTable01 .formText01 {
    margin-top: 10px;
  }
}

.compTextArea01 {
  max-width: 800px;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .compTextArea01 {
    padding: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .btnArea01 {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .btnArea01 {
    margin-top: 25px;
  }
}
.btnArea01 li {
  width: 280px;
  margin: 30px 0 0;
}
@media screen and (max-width: 767px) {
  .btnArea01 li {
    margin-top: 15px;
  }
}
@media screen and (max-width: 400px) {
  .btnArea01 li {
    margin: 15px auto 0;
  }
}
@media print, screen and (min-width: 768px) {
  .btnArea01 li:first-child {
    margin-right: 15px;
  }
}

.thanksArea01 h3 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .thanksArea01 h3 {
    font-size: 1.8rem;
  }
}