.company {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: calc(var(--vw) * 120) 0 calc(var(--vw) * 80);
  @media screen and (min-width: 769px) {
    padding: calc(var(--vw) * 185) 0 0;
  }
}
:where(.company) {
  .company__title-wrap {
    display: flex;
    flex-direction: column;
    color: #A39683;
    margin-bottom: calc(var(--vw) * 33);
    @media screen and (min-width: 769px) {
      align-items: center;
      margin-bottom: calc(var(--vw) * 52);
    }
  }
  .company__title {
    font-size: calc(var(--rem) * 20);
    letter-spacing: 3px;
  }
  .company__title-en {
    font-size: calc(var(--rem) * 12);
    letter-spacing: 1.8px;
    margin-bottom: calc(var(--vw) * 12);
  }
  .company__text {
    @media screen and (max-width: 768px) {
      padding: 0 calc(var(--vw) * 25);
      font-size: calc(var(--rem) * 13);
      letter-spacing: 1.3px;
      line-height: 35px;
      margin-bottom: calc(var(--vw) * 80);
    }
    @media screen and (min-width: 769px) {
      text-align: center;
      font-size: calc(var(--rem) * 16);
      letter-spacing: 1.6px;
      line-height: 45px;
      margin-bottom: calc(var(--vw) * 99);
    }
  }
  .company__message {
    display: flex;
    justify-content: center;
    color: #FFFFFF;
    width: 100vw;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    @media screen and (max-width: 768px) {
      background-image: url("../../images/company/image_message-sp.webp");
      padding: calc(var(--vw) * 77) calc(var(--vw) * 19) calc(var(--vw) * 126) calc(var(--vw) * 30);
      flex-direction: column;
      gap: calc(var(--vw) * 68);
    }
    @media screen and (min-width: 769px) {
      gap: calc(var(--vw) * 313);
      padding: calc(var(--vw) * 170) 0 calc(var(--vw) * 156);
      background-image: url("../../images/company/image_message.webp");
    }
  }
  .company__message-title-wrap {
    display: flex;
    flex-direction: column;
    gap: calc(var(--vw) * 12);
    @media screen and (min-width: 769px) {
      gap: calc(var(--vw) * 26);
    }
  }
  .company__message-title-en {
    font-size: calc(var(--rem) * 12);
    letter-spacing: 1.8px;
  }
  .company__message-title {
    font-size: calc(var(--rem) * 20);
    letter-spacing: 3px;
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 30);
      letter-spacing: 4.5px;
    }
  }
  .company__message-text {
    font-size: calc(var(--rem) * 13);
    letter-spacing: 1.3px;
    line-height: 35px;
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 15);
      letter-spacing: 1.5px;
      line-height: 40px;
    }
  }
  .contact {
    display: flex;
    justify-content: center;
    @media screen and (max-width: 768px) {
      width: 100%;
      flex-direction: column;
      gap: calc(var(--vw) * 40);
      padding: calc(var(--vw) * 73) calc(var(--vw) * 26) 0;
    }
    @media screen and (min-width: 769px) {
      gap: calc(var(--vw) * 140);
      padding: calc(var(--vw) * 119) 0 calc(var(--vw) * 149);
    }
  }
  :where(.contact) {
    .contact__text-wrap {
      display: flex;
      flex-direction: column;
      font-weight: 500;
      gap: calc(var(--vw) * 10);
      @media screen and (min-width: 769px) {
        gap: calc(var(--vw) * 15);
      }
    }
    .contact__title-en {
      font-size: calc(var(--rem) * 23);
      letter-spacing: 1.15px;
    }
    .contact__title {
      font-size: calc(var(--rem) * 16);
      letter-spacing: 0.8px;
    }
    form {
      input, textarea {
        background: #FAFAFA;
        width: 100%;
        margin-top: calc(var(--vw) * 4);
        border: 1px solid #283C35;
        padding: calc(var(--vw) * 4) calc(var(--vw) * 4);
        @media screen and (min-width: 769px) {
          width: calc(var(--vw) * 730);
          margin-top: calc(var(--vw) * 10);
          padding: calc(var(--vw) * 4) calc(var(--vw) * 4);
        }
      }
      p + p {
        margin-top: calc(var(--vw) * 5);
        @media screen and (min-width: 769px) {
          margin-top: calc(var(--vw) * 16);
        }
      }
      label {
        font-size: calc(var(--rem) * 14);
        letter-spacing: 1.4px;
        @media screen and (min-width: 769px) {
          font-size: calc(var(--rem) * 16);
          letter-spacing: 1.6px;
        }
      }
      input[type=submit] {
        background: #283C35;
        color: #FFF;
        cursor: pointer;
        font-size: calc(var(--rem) * 14);
        letter-spacing: 2.1px;
        padding: calc(var(--vw) * 20) 0;
        @media screen and (min-width: 769px) {
          padding: calc(var(--vw) * 23) 0;
          font-size: calc(var(--rem) * 16);
          letter-spacing: 2.4px;
        }
      }
  
    }
  }
}