.sub-page__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 64px;
}
@media screen and (max-width: 767px) {
  .sub-page__content {
    gap: 32px;
  }
}
.sub-page__content .subtitle-en {
  width: 100%;
}
.sub-page__content .subtitle-en span {
  display: flex;
  border-bottom: 2px solid var(--brown-400);
  padding-bottom: 12px;
  font-family: Athena;
}
.sub-page__summary {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(160px, 310px);
  gap: 48px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sub-page__summary {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 32px;
  }
}
.sub-page__main {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media screen and (max-width: 767px) {
  .sub-page__main {
    width: 100%;
    gap: 32px;
  }
}
.sub-page__main .sub-page__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}
.sub-page__main .sub-page__text p,
.sub-page__main .sub-page__text ul li {
  font: var(--font-body-large);
}
.sub-page__image {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sub-page__image {
    order: 2;
    max-width: 240px;
  }
}
.sub-page__content table {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-top: 1px solid var(--brown-300);
}
.sub-page__content table tr {
  display: flex;
  align-items: flex-start;
  padding: 32px 24px;
  position: relative;
  align-self: stretch;
  text-align: left;
  flex: 0 0 auto;
  border-bottom: 1px solid var(--brown-300);
}
@media screen and (max-width: 767px) {
  .sub-page__content table tr {
    flex-direction: column;
    padding: 24px 12px;
  }
}
.sub-page__content table th {
  width: 200px;
  font: var(--font-body-large-bold);
}
.sub-page__content table td {
  flex: 1;
  font: var(--font-body-medium);
}
.sub-page__content table td a {
  text-decoration: underline;
}

.sub-page__button {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* ページ見出し（SubPage_Header） */
.sub-page__heading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 0 48px;
}
.sub-page__heading-en {
  font-family: Athena;
  font-size: 64px;
  line-height: 1;
  letter-spacing: 0.02em;
}
.sub-page__heading-ja {
  font-family: "Yu Mincho", YuMincho, serif;
  font-weight: 500;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 767px) {
  .sub-page__heading {
    padding: 0 24px 32px;
  }
  .sub-page__heading-en {
    font-size: 32px;
    line-height: 1.2;
  }
}

/* 番号付き見出し（1. 2. 3. …） */
.sub-page__content--numbered {
  counter-reset: sub-page-heading;
}
.sub-page__content--numbered .sub-page__main {
  width: 100%;
}
.sub-page__content--numbered .sub-page__text h2 {
  display: flex;
  align-items: baseline;
}
.sub-page__content--numbered .sub-page__text h2::before {
  counter-increment: sub-page-heading;
  content: counter(sub-page-heading) ". ";
  flex: none;
  width: 30px;
  text-align: right;
  white-space: pre;
}

/* 発行日・社名（右寄せ） */
.sub-page__sign {
  width: 100%;
  text-align: right;
}
