.subpageArea01 {
  padding-top: 0;
}

.subpageArea01 .container {
  display: block;
}

.subpageTitle01 {
  background-image: url("../images/bg_index01.jpg");
}

.container-contact .formTable01 .reqired {
  position: relative;
  top: unset;
  transform: none;
  right: 0;
}
.container-contact .textarea01 input {
  margin-bottom: 9px;
}

@media screen and (max-width: 500px) {
  .subpageTitle01 {
    background-position: 55% 0;
  }
}

.subpageTitle01 span {
  width: 150px;
  height: 55px;
}

@media screen and (max-width: 767px) {
  .subpageTitle01 span {
    width: 110px;
    height: 32px;
  }
}

.registerText01 {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .registerText01 {
    margin-bottom: 35px;
  }
}

.formArea01 .btn01 {
  max-width: 320px;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .formArea01 .btn01 {
    margin-top: 30px;
  }
}

.formArea01 .btn01 input {
  font-size: 16px;
}

@media screen and (max-width: 500px) {
  .formArea01 .btn01 input {
    font-size: 14px;
  }
}

.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: 769px) {
  .formTable01 > tbody > tr > th {
    width: 335px;
    padding-right: 15px;
  }
}

@media print, screen and (min-width: 769px) {
  .formTable01 > tbody > tr > th.textarea01 {
    padding: 15px;
  }
}

@media print, screen and (min-width: 769px) {
  .formTable01 > tbody > tr > td {
    padding-left: 20px;
  }
}

@media screen and (max-width: 500px) {
  .formTable01 > tbody textarea {
    height: 180px;
  }
}

@media print, screen and (min-width: 769px) {
  .formTable01 .textarea01 {
    padding: 15px 20px;
  }
}

.formTable01 .textarea01 p {
  line-height: 0;
}

@media print, screen and (min-width: 769px) {
  .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;
  }
}

@media print, screen and (min-width: 769px) {
  .formTable01 .selectBox01 {
    width: 404px;
  }
}

@media print, screen and (min-width: 769px) {
  .formTable01 .formTextBox01 {
    margin-top: 10px;
  }
}

@media print, screen and (min-width: 769px) {
  .formTable01 .formTextBox02 {
    margin-bottom: 10px;
  }
}

.formTable01 .formImage01 {
  width: 336px;
  margin-top: 10px;
  line-height: 0;
}

@media print, screen and (min-width: 769px) {
  .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: 769px) {
  .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: -webkit-box;
    display: -ms-flexbox;
    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;
  }
}
