/* company
--------------------------------------------------*/

.p-company-intro {
  display: flex;
  justify-content: center;
  padding: clamp(5rem, calc(5rem + (7.5rem - 5rem) * (100vw - 375px) / (1801px - 375px)), 7.5rem) 0;
}

.p-company-intro__text {
  max-width: 88.75rem;
  text-align: left;
}

.p-company-info {
  padding: 0 0 clamp(5rem, calc(5rem + (7.5rem - 5rem) * (100vw - 375px) / (1801px - 375px)), 7.5rem);
}

.p-company-info__inner {
  margin: 0 auto;
  max-width: 60rem;
}

.p-company-info__title {
  color: var(--custom-color-1);
  font-size: clamp(1.5rem, calc(1.5rem + (2rem - 1.5rem) * (100vw - 375px) / (1801px - 375px)), 2rem);
  font-weight: var(--custom-font-weight-heading);
  line-height: var(--custom-line-height-heading);
  margin-bottom: clamp(2rem, calc(2rem + (3rem - 2rem) * (100vw - 375px) / (1801px - 375px)), 3rem);
}

.p-company-info__table {
  border: max(0.0625rem, 1px) solid var(--custom-color-base);
  border-collapse: collapse;
  font-size: var(--custom-font-size-sm);
  line-height: 1.6;
  table-layout: fixed;
  width: 100%;
}

.p-company-info__table th,
.p-company-info__table td {
  border-bottom: max(0.0625rem, 1px) solid #5f5158;
  padding: 1rem 1.5rem;
  vertical-align: middle;
}

.p-company-info__table tr:last-child th,
.p-company-info__table tr:last-child td {
  border-bottom: 0;
}

.p-company-info__table th {
  background: var(--custom-color-base);
  color: var(--custom-background-color-base);
  font-weight: var(--custom-font-weight-base);
  text-align: left;
  width: 35%;
}

.p-company-info__table td {
  background: var(--custom-background-color-base);
  color: var(--custom-color-base);
  font-weight: var(--custom-font-weight-base);
}

.p-company-info__table a {
  text-decoration: none;
}

.l-footer {
  margin-top: 0;
}

.p-company-map {
  margin-top: clamp(5rem, calc(5rem + (7.5rem - 5rem) * (100vw - 375px) / (1801px - 375px)), 7.5rem);
}
/* ============================================================
 * max-width: 550px 以下の端末向け clamp() フォールバック
 * （iPhone 12 Mini など clamp() の calc() が正常動作しない場合）
 * clamp(MIN, ...) の MIN を直接指定して上書き
 * ============================================================ */
@media screen and (max-width: 550px) {
  .p-company-intro {
    padding: 5rem 0;
  }

  .p-company-info {
    padding-bottom: 5rem;
  }

  .p-company-info__title {
    margin-bottom: 2rem;
  }

  .p-company-info__table {
    table-layout: auto;
  }

  .p-company-info__table,
  .p-company-info__table tbody,
  .p-company-info__table tr,
  .p-company-info__table th,
  .p-company-info__table td {
    display: block;
    width: 100%;
  }

  .p-company-info__table th,
  .p-company-info__table td {
    padding: 0.875rem 1rem;
  }

  .p-company-info__table th {
    border-bottom: 0;
  }

  .p-company-info__table td {
    border-bottom: max(0.0625rem, 1px) solid #5f5158;
  }

  .p-company-info__table tr:last-child td {
    border-bottom: 0;
  }

  .p-company-map {
    margin-top: 5rem;
  }
}
