body.contact_form,
body.contact_confirm {
  font-size: 1.6rem;
  /* ContactForm */
  .pages h2 {
    text-align: center;
    font-size: 3.5em;
    font-family: "Tourney", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    margin-bottom: 0.7em;
    color: #0054a6;
  }
  .pages h2 + p {
    text-align: center;
    margin-bottom: 3em;
  }
  .cnt_form {
    width: 92%;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 4%;
  }
  .cnt_form dt span {
    color: #ff0000;
    display: inline-block;
    margin-left: 5px;
    font-size: 0.8em;
  }
  .cnt_form dd {
    margin: 0.75em 0 1.5em;
  }
  .cnt_form input[type="text"],
  .cnt_form input[type="tel"],
  .cnt_form input[type="email"],
  .cnt_form textarea {
    width: 100%;
    border: solid 1px #888888;
    padding: 0.5em;
    border-radius: 3px;
    box-sizing: border-box;
  }
  .cnt_form .privacy {
    background: #eee;
    padding: 1.5em;
    font-size: 0.8em;
    line-height: 2;
    font-weight: 400;
    overflow-y: scroll;
    height: 150px;
  }
  .cnt_form .privacy ol {
    padding-left: 1.5em;
  }
  .cnt_form .check {
    margin-top: 1.5em;
    margin-bottom: 3em;
  }
  .cnt_form .check span {
    margin: 0;
  }
  .cnt_form .check input[type="checkbox"] {
    width: 15px;
    height: 15px;
    border: solid 1px #888888;
  }
  .cnt_form input[type="submit"],
  .cnt_form input[type="button"] {
    border: 0;
    width: 180px;
    background: #0054a6;
    padding: 1em 0.5em;
    color: #fff;
    font-size: 1.2em;
    margin: 0.5rem;
  }

  @media screen and (max-width: 1100px) {
    .msg_cont div img:nth-child(3) {
      top: 45%;
    }
  }

  @media screen and (max-width: 768px) {
    h2 {
      font-size: 1em;
      line-height: 1.2;
      margin-bottom: 2.5em;
    }
    h2 span {
      font-size: 2.5em;
    }
    .cont {
      width: 92%;
      padding: 2em 4% 4em;
    }
    .cnt_wrap {
      width: 90%;
      padding: 0;
    }
    .pages {
      padding-top: 70px;
      padding-bottom: 4em;
    }

    .mv_main {
      aspect-ratio: inherit;
      height: 70vw;
    }
    .mv_main .copy {
      font-size: 4.5vw;
    }
    .mv_main .copy span:nth-child(2) {
      margin-top: 7vw;
    }

    /* Message */
    .msg_cont {
      display: block;
    }
    .msg_cont p {
      width: 100%;
      font-size: 0.9em;
      line-height: 1.6;
    }
    .msg_cont p span {
      font-size: 0.85em;
    }
    .msg_cont div {
      width: 80%;
      margin: 2em auto;
      height: 75vw;
    }
    .msg_cont div img:nth-child(3) {
      left: 40%;
      top: 50%;
    }
    .message .rigaku span {
      font-size: 0.9em;
    }

    /* Contact */
    .contact .cnt_cont {
      display: block;
      padding: 2em;
    }
    .contact .cnt_cont div {
      margin-bottom: 1.5em;
    }
    .contact .cnt_cont div h3 {
      font-size: 2.5em;
    }
    .contact .cnt_cont div p {
      font-size: 0.9em;
    }
    .contact .cnt_cont a {
      display: block;
      width: 170px;
      margin: 0 auto;
    }
    /* SAGroup */
    .sagroup .sag_cont {
      display: block;
      padding-bottom: 3em;
    }
    .sagroup .sag_cont img {
      display: block;
      width: 40%;
      max-width: 200px;
      margin: 0 auto 1em;
    }
    .sagroup .sag_cont div {
      width: 90%;
      margin: 0 auto;
    }
    .sagroup .sag_cont div p {
      font-size: 0.9em;
      line-height: 1.6;
    }
    .sagroup .sag_cont div a {
      width: 150px;
      display: block;
      margin: 1em auto 0;
    }

    /* ContactForm */
    .pages h2 {
      font-size: 2.5em;
    }

    /* Footer */
    footer {
      padding: 1em;
    }
    footer .foot_cont {
      display: block;
      margin-bottom: 1em;
    }
  }

  @media screen and (max-width: 500px) {
    .msg_cont div {
      width: 100%;
      margin: 2em auto;
      height: 75vw;
    }
    .msg_cont div img {
      border-radius: 1em;
    }
    .message .rigaku {
      padding: 1em;
      width: 100%;
      box-sizing: border-box;
    }
    .message .rigaku img {
      width: 35%;
      margin-right: 1em;
    }
    .message .rigaku span {
      font-size: 0.8em;
    }
    .company table {
      font-size: 0.8em;
    }
    .company table th,
    .company table td {
      padding: 0.5em 1em;
    }
    .company table th {
      width: 80px;
    }
  }
}

body.contact_confirm {
  dt {
    color: #666;
  }
  dd {
    font-weight: bold;
  }
}
