.contact .keyvisual {
  width: 100%;
  height: 15.2rem;
  background-image: url("../img/contact/contact_visual_sp.jpg");
  background-size: cover; }
  @media only screen and (min-width: 751px) {
    .contact .keyvisual {
      height: 26rem;
      background-image: url("../img/contact/contact_visual_pc.jpg"); } }
.contact .form {
  background-color: #f3f0eb;
  padding: 3.8rem 0; }
  @media only screen and (min-width: 751px) {
    .contact .form {
      padding: 7.3rem 0; } }
.contact .form-inner {
  width: 33.7rem;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 2rem;
  padding: 4rem 2.4rem 5rem; }
  @media only screen and (min-width: 751px) {
    .contact .form-inner {
      width: 91.6rem;
      margin: 0 auto;
      background-color: #fff;
      border-radius: 2rem;
      padding: 4rem 2.4rem 5rem; } }
.contact .form-title {
  width: 29.7rem;
  margin: 0 auto; }
  @media only screen and (min-width: 751px) {
    .contact .form-title {
      width: 36rem; } }
.contact .form-lead {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 2.5rem auto 0;
  text-align: center;
  line-height: 1.4; }
  @media only screen and (min-width: 751px) {
    .contact .form-lead {
      font-size: 1.8rem;
      margin: 2.2rem auto 0; } }
.contact .formTable {
  width: 29.8rem;
  margin: 2.2rem auto 0; }
  @media only screen and (min-width: 751px) {
    .contact .formTable {
      width: 72.3rem;
      margin: 3.2rem auto 0; } }
  .contact .formTable th, .contact .formTable td {
    display: block;
    text-align: left;
    font-size: 1.6rem; }
    @media only screen and (min-width: 751px) {
      .contact .formTable th, .contact .formTable td {
        display: table-cell; } }
  .contact .formTable th {
    padding-top: 1.5rem;
    border-top: 1px dotted #989898; }
    @media only screen and (min-width: 751px) {
      .contact .formTable th {
        width: 21.7rem;
        vertical-align: top; } }
  @media only screen and (min-width: 751px) {
    .contact .formTable td {
      width: 50rem;
      padding-top: 1rem;
      border-top: 1px dotted #989898; } }
.contact .input-text {
  width: 90%;
  margin: 1rem auto 1.5rem; }
.contact .input-textarea {
  width: 90%;
  height: 8em;
  margin: 1rem auto 1.5rem; }
.contact .btn {
  text-align: center; }
.contact .required {
  display: inline-block;
  font-size: 1.2rem;
  color: #fff;
  background-color: #bf9a1a;
  line-height: 1;
  padding: 0.2em 0.25em;
  margin-left: 0.25em; }
.contact .thanks {
  background-color: #f3f0eb;
  padding: 3.8rem 0; }
  @media only screen and (min-width: 751px) {
    .contact .thanks {
      padding: 7.3rem 0; } }
.contact .thanks-inner {
  width: 33.7rem;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 2rem;
  padding: 4rem 2.4rem 5rem;
  font-size: 1.6rem;
  line-height: 1.5; }
  @media only screen and (min-width: 751px) {
    .contact .thanks-inner {
      width: 91.6rem;
      margin: 0 auto;
      background-color: #fff;
      border-radius: 2rem;
      padding: 4rem 2.4rem 5rem; } }
  .contact .thanks-inner h3 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1em; }
  .contact .thanks-inner .adress {
    margin-top: 1em; }
