/* 下層ページ共通: セクション全体の余白 */
.page-article {
  padding: 70px 0 80px;
}

@media (min-width: 768px) {
  /* 下層ページ共通: PCの余白 */
  .page-article {
    padding: 150px 0 120px;
  }
}

/* 下層ページ共通: 文章エリアを左寄せの幅に制限 */
.page-article__inner {
  width: min(720px, 90vw);
  margin: 0 auto 0 0;
}

@media (min-width: 768px) {
  /* 下層ページ共通: PCの横幅 */
  .page-article__inner {
    width: min(760px, 90vw);
  }
}

@media (min-width: 768px) {
  /* 通常固定ページ: 本文を1200px基準まで広げる */
  .default-page .container-wide {
    padding: 0 5%;
  }

  .default-page .page-article__inner {
    width: min(1200px, 100%);
  }
}

/* 下層ページ共通: タイトルとサブタイトル */
.page-article__header {
  margin: 0 0 80px;
}

.page-article__title {
  font-family: var(--font-gothic);
  font-size: var(--page-title-size);
  font-weight: var(--weight-gothic-medium);
  line-height: 1.2;
  margin: 0;
}

/* 下層ページ共通: タイトル内の区切り記号（SPのみ改行） */
.page-article__title-sep {
  display: block;
}

@media (min-width: 768px) {
  .page-article__title-sep {
    display: inline;
  }

  .page-article__title-sep::before,
  .page-article__title-sep::after {
    content: " ";
  }
}

.page-article__subtitle {
  font-family: var(--font-gothic);
  font-size: var(--page-sub-title-size);
  font-weight: var(--weight-gothic-regular);
  line-height: 1.2;
  margin: 16px 0 0;
}

.page-article__underline {
  display: block;
  width: 120px;
  height: 2px;
  background: var(--color-accent);
  margin-top: 24px;
}

@media (min-width: 768px) {
  /* 下層ページ共通: PCのタイトル間隔 */
  .page-article__subtitle {
    font-size: 30px;
    font-weight: var(--weight-gothic-demilight);
    margin-top: 30px;
  }

  .page-article__underline {
    margin-top: 30px;
  }
}

/* 下層ページ共通: 本文 */
.page-article__body {
  font-weight: var(--weight-gothic-demilight);
}

.page-article__body p {
  margin: 0 0 18px;
}

.page-article__body p:last-child {
  margin-bottom: 0;
}
