#contact .l-contents {
  padding: 13rem 0 11rem;
}
@media (max-width: 640px) {
  #contact .l-contents {
    padding: 5rem 0 4.5rem;
  }
}
#contact .heading-01 {
  padding-bottom: 6.5rem;
}
@media (max-width: 640px) {
  #contact .heading-01 {
    padding-bottom: 3.5rem;
  }
}
#contact .secContact .inner {
  max-width: 1140px;
}
#contact .formBox {
  background: #fff;
  padding: 9rem 9.5rem 13.5rem;
  margin-bottom: 6.5rem;
}
@media (max-width: 640px) {
  #contact .formBox {
    padding: 2rem 1.5rem 4rem;
    margin-bottom: 4rem;
  }
}
#contact .formBox__ttl {
  font-size: 2.3rem;
  font-weight: 500;
  text-align: center;
  padding-bottom: 2rem;
}
@media (max-width: 640px) {
  #contact .formBox__ttl {
    font-size: 1.6rem;
  }
}
#contact .formBox__lead {
  font-weight: 500;
  text-align: center;
  padding-bottom: 6rem;
}
@media (max-width: 640px) {
  #contact .formBox__lead {
    padding-bottom: 3rem;
  }
}
#contact .formBox__lead .red {
  font-size: 1.6rem;
}
@media (max-width: 640px) {
  #contact .formBox__lead .red {
    font-size: 1.2rem;
  }
}
#contact .red {
  color: #d60603;
}
#contact table {
  width: 100%;
}
@media (max-width: 640px) {
  #contact table {
    display: block;
    width: 100%;
  }
}
@media (max-width: 640px) {
  #contact table tbody {
    display: block;
    width: 100%;
  }
}
@media (max-width: 640px) {
  #contact table tr {
    display: block;
    width: 100%;
  }
}
#contact table th {
  width: 195px;
  text-align: left;
  vertical-align: top;
  font-size: 1.8rem;
  font-weight: 500;
  font-weight: bold;
  padding-top: 1.2rem;
}
@media (max-width: 640px) {
  #contact table th {
    display: block;
    width: 100%;
    padding-top: 0;
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
@media (max-width: 640px) {
  #contact table th.last {
    display: none;
  }
}
#contact table th .red {
  font-size: 1.2rem;
}
#contact table td {
  width: calc(100% - 195px);
  /* IE */
  /* Edge */
}
@media (max-width: 640px) {
  #contact table td {
    display: block;
    width: 100%;
  }
}
#contact table td input {
  box-sizing: border-box;
  outline: none;
  width: 100%;
  border: none;
  padding: 0 20px;
  height: 50px;
  background-color: #f5f5f5;
  margin-bottom: 40px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}
@media (max-width: 640px) {
  #contact table td input {
    height: 43px;
    margin-bottom: 2rem;
    padding: 0 15px;
  }
}
#contact table td textarea {
  box-sizing: border-box;
  outline: none;
  width: 100%;
  border: none;
  padding: 15px 20px;
  height: 200px;
  background-color: #f5f5f5;
  margin-bottom: 40px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}
@media (max-width: 640px) {
  #contact table td textarea {
    height: 110px;
    margin-bottom: 2rem;
    padding: 10px 15px;
  }
}
#contact table td input::-webkit-input-placeholder,
#contact table td textarea::-webkit-input-placeholder {
  color: #999;
}
@media (max-width: 640px) {
  #contact table td input::-webkit-input-placeholder,
#contact table td textarea::-webkit-input-placeholder {
    font-size: 1.4rem;
  }
}
#contact table td input:-moz-placeholder,
#contact table td textarea:-moz-placeholder {
  color: #999;
}
@media (max-width: 640px) {
  #contact table td input:-moz-placeholder,
#contact table td textarea:-moz-placeholder {
    font-size: 1.4rem;
  }
}
#contact table td input:-ms-input-placeholder,
#contact table td textarea:-ms-input-placeholder {
  color: #999;
}
@media (max-width: 640px) {
  #contact table td input:-ms-input-placeholder,
#contact table td textarea:-ms-input-placeholder {
    font-size: 1.4rem;
  }
}
#contact table td input::-ms-input-placeholder,
#contact table td textarea::-ms-input-placeholder {
  color: #999;
}
@media (max-width: 640px) {
  #contact table td input::-ms-input-placeholder,
#contact table td textarea::-ms-input-placeholder {
    font-size: 1.4rem;
  }
}
#contact table td select {
  width: 100%;
  height: 50px;
  background-color: #f5f5f5;
  margin-bottom: 1.8rem;
  padding-left: 2rem;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  background-image: url(../images/contact/icn_select@2x.png);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 9px;
}
@media (max-width: 640px) {
  #contact table td select {
    width: 100%;
    height: 43px;
    padding-left: 1rem;
  }
}
#contact .btn {
  text-align: center;
  padding-top: 3rem;
}
@media (max-width: 640px) {
  #contact .btn {
    padding-top: 1.5rem;
  }
}
#contact .btn input {
  width: 300px;
  height: 60px;
  line-height: 60px;
  color: #ffffff;
  background-color: #00b5b1;
  border-radius: 60px;
  font-size: 1.8rem;
  cursor: pointer;
  transition: all 0.2s;
}
@media (min-width: 960px) {
  #contact .btn input:hover {
    opacity: 0.7;
  }
}
@media (max-width: 640px) {
  #contact .btn input {
    font-size: 1.4rem;
    height: 52px;
    line-height: 52px;
    width: 268px;
  }
}


/* ------------------------------------------------------------ エラー画面 */
.note { padding: 170px 0 100px; }
.note h3 { font-size: 24px; line-height: 40px; text-align: center; letter-spacing: 1px; padding: 0 0 20px; font-family: 'Noto-Sans-JP-Bold'; }
.note .caution { font-size: 14px; line-height: 27px; text-align: center; border: solid 1px #000; padding: 15px 0; width: 700px; margin: 0 auto 60px;}
.note .alert span { display: block; font-size: 18px; text-align: center; padding: 0 0 20px; }
.note .btn { padding: 30px 0 0; text-align: center; }
.note .btn a { background: #eeeeee; display: inline-block; *display: inline; *zoom: 1; min-width: 300px; font-size: 16px; line-height: 60px; border-radius: 40px; margin-left: 15px; }

/* ------------------------------------------------------------ 確認画面 */
.note table { margin: 0 auto; width: 700px; }
.note table tr { border-bottom: 1px solid #d5d5d5; }
.note table tr:first-child { border-top: 1px solid #d5d5d5; }
.note table th { width: 200px; padding: 20px 0; text-align: left; }
.note table td { padding: 20px 0 25px 40px; font-size: 14px;}
.note input[type="submit"] { background: #c6001f; vertical-align: top; line-height: 60px; margin: 15px 0 0 15px; color: #fff; min-width: 300px; font-size: 15px;}
.note .btn { padding: 80px 0 10px;}

@media only screen and (max-width:640px){

/* ------------------------------------------------------------ エラー画面 */
	.note { padding: 100px 0; }
	.note h3 { font-size: 24px; text-align: center; letter-spacing: 1px; padding: 0 0 20px; }
	.note .caution { font-size: 13px; text-align: center; border: solid 1px #000; padding: 10px 5%; width: 90%; margin: 0 auto 40px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; line-height: 22px; }
	.note .alert span { display: block; font-size: 14px; text-align: center; padding: 0 0 20px; }
	.note .btn { padding: 30px 0 0; }
	.note .btn a { display: block; margin: auto; width: 240px; font-size: 14px; line-height: 60px; }

/* ------------------------------------------------------------ 確認画面 */
	.note table { margin: 0 auto; display: block; width: 100%; }
	.note table tbody,
	.note table tr { display: block; width: 100%; border: none; }
	.note table tr:first-child { border: none; }
	.note table th { display: block; width: 100%; padding: 12px 3%; background: #eeeeee; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;  }
	.note table td { display: block; width: 100%; font-size: 14px; padding: 10px 3% 25px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
	.note input[type="submit"] { vertical-align: top; line-height: 60px; margin: 10px auto 0; width: 240px; }

}