@charset "UTF-8";
.contact {
  /*キービジュアル イメージ部分*/
  /*キービジュアル テキスト部分*/ }
  .contact .keyvisual-image {
    position: absolute;
    top: 14rem;
    left: 33rem;
    width: 36.6rem;
    z-index: +1; }
    @media only screen and (min-width: 751px) {
      .contact .keyvisual-image {
        top: 12rem;
        left: 70rem;
        width: 44rem; } }
  .contact .keyvisual-title-second {
    position: absolute;
    top: 19.5rem;
    left: 1rem; }
    @media only screen and (min-width: 751px) {
      .contact .keyvisual-title-second {
        top: 15rem;
        left: 4.5rem;
        width: 32.1rem; } }
    .contact .keyvisual-title-second-shoulder {
      display: block;
      width: 15rem; }
      @media only screen and (min-width: 751px) {
        .contact .keyvisual-title-second-shoulder {
          width: 25rem; } }
  .contact .keyvisual-title-second-shoulder {
    display: block;
    width: 11.9rem; }
    @media only screen and (min-width: 751px) {
      .contact .keyvisual-title-second-shoulder {
        width: 13.2rem; } }
  .contact .keyvisual-title-text {
    width: 27rem;
    margin: 1.5rem auto 0 0; }
    @media only screen and (min-width: 751px) {
      .contact .keyvisual-title-text {
        width: 33.7rem;
        margin: 4.4rem auto 0 0; } }
  .contact .contact-wrap {
    width: 69rem;
    margin: 0 auto;
    padding: 1rem 0; }
    @media only screen and (min-width: 751px) {
      .contact .contact-wrap {
        width: 108rem; } }
  .contact .contact-subtitle {
    font-size: 3.7rem;
    font-weight: 600;
    color: #4f87bf; }
    @media only screen and (min-width: 751px) {
      .contact .contact-subtitle {
        font-size: 4.2rem; } }
  .contact p.thanks {
    margin-top: 2em;
    font-size: 2.4rem;
    line-height: 1.7; }
    @media only screen and (min-width: 751px) {
      .contact p.thanks {
        font-size: 2.2rem; } }
  .contact .contact-note {
    font-size: 2.4rem;
    font-weight: 600;
    margin-top: 3.6rem; }
    @media only screen and (min-width: 751px) {
      .contact .contact-note {
        font-size: 2.2rem;
        margin-top: 4rem; } }
  .contact .required {
    color: #ff0000; }
  .contact .contact-lead {
    font-size: 2.2rem;
    line-height: 1.75;
    margin-top: 2.2rem; }
  .contact .input-block {
    width: 69rem;
    margin: 7rem auto 0;
    background-color: #fff;
    border-radius: 5rem;
    padding: 5rem 4.5rem;
    font-size: 2.4rem; }
    @media only screen and (min-width: 751px) {
      .contact .input-block {
        width: 108rem;
        margin: 7rem auto 0;
        border-radius: 5rem;
        padding: 5.8rem 5rem;
        font-size: 2rem; } }
    .contact .input-block dt {
      font-weight: 600; }
    .contact .input-block dd {
      margin-top: 2rem; }
      .contact .input-block dd.halftype {
        margin-top: 1rem; }
      .contact .input-block dd .type {
        padding-top: 0.25rem;
        font-size: 90%;
        text-align: right; }
    .contact .input-block dd + dt {
      margin-top: 3rem; }
    .contact .input-block .radio-list {
      display: flex;
      flex-wrap: wrap; }
      .contact .input-block .radio-list li {
        width: 100%;
        margin-bottom: 1.25rem; }
        @media only screen and (min-width: 751px) {
          .contact .input-block .radio-list li {
            width: 46rem; } }
    .contact .input-block .input-text {
      width: 100%;
      font-size: 2.6rem; }
    .contact .input-block .radio-blue {
      accent-color: #4f87bf;
      block-size: 2.5rem;
      inline-size: 2.5rem; }
      @media only screen and (min-width: 751px) {
        .contact .input-block .radio-blue {
          block-size: 1.75rem;
          inline-size: 1.75rem; } }
    .contact .input-block textarea {
      width: 100%;
      min-height: 7em; }
    .contact .input-block .conf-btn {
      width: 40rem;
      margin: 4rem auto 0; }
      @media only screen and (min-width: 751px) {
        .contact .input-block .conf-btn {
          width: 33rem;
          margin: 4rem auto 0; } }
    .contact .input-block .form-btn-submit {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.5rem;
      font-weight: 600;
      color: #fff;
      text-decoration: none;
      height: 7.2rem;
      padding: 0 3rem 0 0;
      border: none;
      border-radius: 3.5rem;
      background-color: #4f87bf;
      background-image: url("../img/arrow_white.svg");
      background-size: 4.3rem auto;
      background-position: right 2rem center;
      background-repeat: no-repeat; }
      @media only screen and (min-width: 751px) {
        .contact .input-block .form-btn-submit {
          padding: 0 4rem 0 2rem;
          border-radius: 3.5rem;
          background-size: 3.5rem auto;
          background-position: right 1.5rem center; } }
      .contact .input-block .form-btn-submit.size-m {
        width: 40rem;
        height: 7.2rem;
        border-radius: 3.5rem;
        background-size: 4.3rem auto; }
        @media only screen and (min-width: 751px) {
          .contact .input-block .form-btn-submit.size-m {
            width: 33rem;
            border-radius: 3.5rem;
            background-size: 3.5rem auto;
            background-position: right 1.5rem center; } }
      .contact .input-block .form-btn-submit:hover {
        cursor: pointer;
        opacity: 0.8; }
    .contact .input-block .reset-btn {
      margin: 3rem auto 0;
      text-align: center; }
      .contact .input-block .reset-btn .form-btn-reset {
        color: #4d4d4d;
        font-size: 2.4rem;
        font-weight: 600;
        border: none;
        outline: none;
        padding: 0;
        margin: 0;
        background-color: transparent;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: pointer; }
    .contact .input-block .priv-txt {
      margin: 4rem auto 0;
      line-height: 1.4; }
  .contact #formWrap {
    width: 70rem;
    padding: 7rem 3rem 10rem;
    font-size: 2.6rem;
    text-align: left;
    line-height: 1.8;
    margin: 0 auto; }
    @media only screen and (min-width: 751px) {
      .contact #formWrap {
        width: 86rem;
        padding: 15rem 0 10rem;
        font-size: 2.2rem;
        line-height: 1.8; } }
    .contact #formWrap h3 {
      font-size: 3.2rem;
      margin-bottom: 1em;
      color: #4f87bf; }
      @media only screen and (min-width: 751px) {
        .contact #formWrap h3 {
          font-size: 2.8rem; } }
    .contact #formWrap h4 {
      margin-bottom: 1.5em; }
    .contact #formWrap .formTable {
      margin: 2em auto; }
      .contact #formWrap .formTable th, .contact #formWrap .formTable td {
        text-align: left;
        line-height: 1.3;
        padding: 7px;
        border-bottom: 1px dotted #333; }
      .contact #formWrap .formTable th {
        width: 6em; }
        @media only screen and (min-width: 751px) {
          .contact #formWrap .formTable th {
            width: 10em; } }
