:root {
  --font-regular: "TsukuGoPr5N-R";
  --font-medium: "TsukuGoPr5N-M";
}

.contact-container {
  padding: 41px 0 240px;
}

.contact-section {
  display: grid;
  padding: 0 40px;
  gap: 40px;
  grid-template-columns: repeat(4, 1fr);
  line-height: 2.2em;
  & + hr {
    margin-top: 108px;
  }
}

.contact-section-title {
  max-height: 40px;
  font-size: 1.4rem;
  font-family: var(--font-medium);
  letter-spacing: 0.2em;
  font-feature-settings: 'palt';
}

.contact-list {
  grid-column: 2 / -1;
  width: calc(100% + 40px);
  font-weight: 200;

  p {
    font-feature-settings: 'palt';
  }

  p + .contact-list-container {
    margin-top: 50px;
  }
}

.contact-list-container {
  width: 100%;
}

.contact-list-header,
.contact-list-row {
  display: flex;
  gap: 40px;

  p {
    padding: 48px 0;
    text-align: left;
    line-height: 1;
    font-feature-settings: 'palt';

    &:first-child {
      width: 150px;
    }
    &:nth-child(2) {
      width: 284px;
    }
    &:last-child {
      width: 121px;
    }
  }
}

hr.slide-reveal {
  width: 100%;
  grid-column: 2 / -1;
  & + .contact-section {
    margin-top: 0;
    padding-top: 39px;
  }
}

@media screen and (max-width: 999px) {
  .contact-container {
    padding: 21px 0 121px;
  }
  .contact-section {
    padding: 0;
    grid-template-columns: none;
    gap: 23px;
    & + hr {
      margin-top: 60px;
    }
  }
  .contact-section-title {
    padding: 0 30px;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    text-align: center;
    font-feature-settings: normal;
  }
  .contact-list {
    width: 100%;
    padding: 9px 0 0;
    p {
      padding: 0 30px;
      font-size: 1.3rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-feature-settings: normal;
    }
    p + .contact-list-container {
      margin-top: 40px;
    }
  }
  .contact-list-header {
    display: none;
  }
  .contact-list-row {
    flex-direction: column;
    gap: 0;
    padding: 0 0 29px;
    border: none!important;
    p {
      width: auto!important;
    }
  }
  hr.slide-reveal {
    & + .contact-section {
      padding-top: 21px;
    }
  }
}