/* ==========================================================================
   Company project
   ========================================================================== */
.l-main .l-container {
  overflow-x: auto;
}

.p-contact {
  --theme-color: var(--color-primary-mid);
}

.p-contact h2 + p {
  margin-top: 1.875rem;
}

.p-contact__table {
  margin-top: 1.25rem;
  overflow-x: auto;
}
@media (min-width: 33.75em) {
  .p-contact__table {
    margin-top: 1.5625rem;
  }
}
@media (min-width: 48em) {
  .p-contact__table {
    margin-top: 1.875rem;
  }
}

.p-contact table {
  min-width: 40rem;
}
.p-contact table thead th {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 0.8125rem;
  text-align: left;
  background-color: var(--color-bg-container);
}
@media (min-width: 33.75em) {
  .p-contact table thead th {
    font-size: 0.875rem;
  }
}
@media (min-width: 48em) {
  .p-contact table thead th {
    font-size: 0.9375rem;
  }
}
.p-contact table thead th + th {
  padding-left: 1.25rem;
}
@media (min-width: 33.75em) {
  .p-contact table thead th + th {
    padding-left: 1.5625rem;
  }
}
@media (min-width: 48em) {
  .p-contact table thead th + th {
    padding-left: 1.875rem;
  }
}
.p-contact table tbody th {
  width: 15rem;
  font-size: 0.8125rem;
}
@media (min-width: 33.75em) {
  .p-contact table tbody th {
    width: 20rem;
    font-size: 0.875rem;
  }
}
@media (min-width: 48em) {
  .p-contact table tbody th {
    width: 25rem;
    font-size: 0.9375rem;
  }
}
.p-contact table tbody td {
  width: 9.375rem;
  padding-left: 1.25rem;
}
@media (min-width: 33.75em) {
  .p-contact table tbody td {
    width: 12.5rem;
    padding-left: 1.5625rem;
  }
}
@media (min-width: 48em) {
  .p-contact table tbody td {
    width: 15.625rem;
    padding-left: 1.875rem;
  }
}
.p-contact table tbody .phone,
.p-contact table tbody .fax {
  display: flex;
  align-items: center;
  font-family: var(--font-en);
  white-space: nowrap;
}
.p-contact table tbody .phone i,
.p-contact table tbody .fax i {
  width: 1rem;
  height: 1rem;
  margin-right: 0.3125rem;
  margin-left: 0;
  vertical-align: top;
  stroke-width: 1.5;
}
@media (min-width: 48em) {
  .p-contact table tbody .phone i,
.p-contact table tbody .fax i {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media (min-width: 80em) {
  .p-contact table tbody .phone i,
.p-contact table tbody .fax i {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-contact table tbody .phone {
  font-size: 0.9375rem;
  color: var(--theme-color);
  letter-spacing: var(--ls-wide);
}
@media (min-width: 33.75em) {
  .p-contact table tbody .phone {
    font-size: 1.125rem;
  }
}
@media (min-width: 48em) {
  .p-contact table tbody .phone {
    font-size: 1.25rem;
  }
}
@media (min-width: 80em) {
  .p-contact table tbody .phone {
    font-size: 1.375rem;
  }
}
.p-contact table tbody .fax {
  letter-spacing: var(--ls-wide);
}
.p-contact table tbody .time {
  font-size: 0.8125rem;
}
.p-contact table tbody :is(th, td) {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  text-align: left;
}
@media (min-width: 33.75em) {
  .p-contact table tbody :is(th, td) {
    padding-top: 1.375rem;
    padding-bottom: 1.375rem;
  }
}
@media (min-width: 48em) {
  .p-contact table tbody :is(th, td) {
    padding-top: 2.0625rem;
    padding-bottom: 2.0625rem;
  }
}

.p-contact .c-btn {
  margin-top: 1.875rem;
}