/* ========================================
  Company Page
======================================== */

.company {
  background: #f9f9f9;
  padding: 0 20px;
}

.company .p-company-fv {
  margin: 70px auto;
  max-width: 945px;
  padding-top: 72px;
}

.company .p-company-fv__img img {
  display: block;
  height: auto;
  width: 100%;
}

.company .p-company-message {
  background: #fff;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 945px;
  padding: 40px;
}

.company .p-company-message__content {
  align-items: flex-start;
  display: flex;
  gap: 60px;
  margin-bottom: 80px;
}

.company .p-company-message__content-text {
  flex: 1;
}

.company .p-company-message__subtitle {
  color: #273992;
  font-family:
    "M P LUS 1p",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(14px, 1.5vw, 20px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 20px;
}

.company .p-company-message__title {
  color: #222;
  font-family:
    "M P LUS 1p",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(28px, 3vw, 28px);
  font-weight: 700;
  margin-bottom: 24px;
}

.company .p-company-message__content-text h3 {
  color: #222;
  font-family:
    "M P LUS 1p",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(20px, 2vw, 20px);
  font-weight: 700;
  margin-top: 40px;
}

.company .p-company-message__content-text p {
  color: #222;
  font-size: clamp(14px, 1.2vw, 14px);
  line-height: 2;
  margin-top: 20px;
}

.company .p-company-message__content-img {
  flex-shrink: 0;
  width: 300px;
}

.company .p-company-message__content-img img {
  display: block;
  height: auto;
  width: 100%;
}

.company .p-company-message table {
  background: #fff;
  border-collapse: collapse;
  width: 100%;
}

.company .p-company-message table tr:last-child {
  border-bottom: none;
}

.company .p-company-message table th,
.company .p-company-message table td {
  font-size: clamp(14px, 1.2vw, 14px);
  padding: 24px 20px;
  text-align: left;
}

.company .p-company-message table th {
  border-bottom: 1px solid #253490;
  color: #222;
  font-weight: 700;
  vertical-align: top;
  width: 200px;
}

.company .p-company-message table td {
  color: #333;
  line-height: 1.8;
}

/* ========================================
  Responsive - SP (max-width: 767px)
======================================== */

@media screen and (max-width: 767px) {
  .company .p-company-message {
    padding: 40px 20px;
  }

  .company .p-company-message__content {
    flex-direction: column-reverse;
    gap: 40px;
    margin-bottom: 60px;
  }

  .company .p-company-message__content-img {
    margin: 0 auto;
    max-width: 300px;
    width: 100%;
  }

  .company .p-company-message table th,
  .company .p-company-message table td {
    display: block;
    padding: 16px;
  }

  .company .p-company-message table th {
    padding: 0 0 20px 8px;
    width: 100%;
  }

  .company .p-company-message table td {
    padding: 20px 0 40px 16px;
  }
}
