/* ==========================================================================
   Page content — fixed pages (page.php)
   ========================================================================== */

.page-content-section.section-bg-white {
  min-height: auto;
  padding-top: 0;
  padding-bottom: 6rem;
  padding-left: 6vw;
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .page-content-section.section-bg-white {
    padding-top: 0;
    padding-bottom: 3rem;
    margin-top: 4.5rem;
    margin-bottom: 4rem;
  }
}

.page-content-pin {
  position: static;
  min-height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
  margin-top: 0;
  width: 100%;
  padding-top: 7rem;
}

.page-content-intro {
  width: 60%;
  max-width: 60%;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .page-content-intro {
    width: 100%;
    max-width: 100%;
  }
  .page-content-pin {
    padding-top: 5rem;
  }
  .page-content-section.section-bg-white {
    margin-top: 4.5rem;
  }
}

@media (max-width: 768px) {
  .page-content-intro {
    width: 100%;
    max-width: 100%;
  }
}
.page-content-intro .text-gradation {
  display: block;
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
}

.page-content-intro .page-content-eyebrow {
  font-family: "Poppins", sans-serif;
}

/* 固定ページタイトル：--text-page-title（reveal 内 span にも直接指定） */
h1.page-content-title,
h1.page-content-title.h2-reveal .h2-reveal-line,
h1.page-content-title.h2-reveal .h2-reveal-text {
  margin: 0 0 24px;
  font-family: "Shippori Mincho", serif;
  font-size: var(--text-page-title);
  font-weight: 500;
  line-height: 1.2;
  color: var(--text-black);
}

h1.page-content-title.h2-reveal .h2-reveal-line,
h1.page-content-title.h2-reveal .h2-reveal-text {
  margin: 0;
}

h1.page-content-title.h2-reveal .h2-reveal-line {
  overflow: hidden;
}

h1.page-content-title.h2-reveal .h2-reveal-text {
  transform: translate3d(0, 108%, 0);
  opacity: 1;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

h1.page-content-title.h2-reveal.is-inview .h2-reveal-text {
  animation: h2-slide-reveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (min-width: 1024px) {
  h1.page-content-title {
    margin-bottom: 40px;
  }
}

.page-content-intro .page-content-body h2 {
  font-family: inherit;
  font-size: var(--text-2xl);
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-black);
  margin: 3rem 0 1.5rem;
  padding-bottom: 0;
  background: none;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

.page-content-intro .page-content-body h2.h2-reveal .h2-reveal-line,
.page-content-intro .page-content-body h2.h2-reveal .h2-reveal-text {
  display: block;
  overflow: visible;
  animation: none;
  transform: none;
  opacity: 1;
}

.page-content-intro .page-content-body h2 strong {
  font-weight: inherit;
}

.page-content-intro .page-content-body h2:first-child {
  margin-top: 0;
}

.page-content-intro .page-content-body h3 {
  font-family: inherit;
  font-size: var(--text-lg);
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-black);
  margin: 2rem 0 1rem;
}

@media (max-width: 768px) {
  .page-content-intro .page-content-body h2 {
    font-size: var(--text-xl);
  }
}

.wp-block-heading {
  margin: 0 0 1.5rem;
}

.page-content-body p {
  font-size: var(--text-sm);
  line-height: 1.8;
  font-weight: 400;
  color: var(--text-muted);
  margin: 0 0 1.25rem;
}

.page-content-body > :last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .page-content-body p {
    font-size: var(--text-base);
  }
}

.page-content-body ul.wp-block-list {
  list-style-position: outside;
  padding-left: 1.25em;
  padding-inline-start: 1.25em;
  margin: 0 0 1.25rem;
}

.page-content-body ol.wp-block-list {
  list-style-position: outside;
  padding-left: 1.75em;
  padding-inline-start: 1.75em;
  margin: 0 0 1.25rem;
}

.page-content-body :is(ul, ol).wp-block-list li {
  font-size: var(--text-sm);
  line-height: 1.8;
  font-weight: 400;
  color: var(--text-muted);
  padding-left: 0;
}

.page-content-body :is(ul, ol).wp-block-list li + li {
  margin-top: 0.35rem;
}

.page-content-body ul.wp-block-list :is(ul, ol) {
  list-style-position: outside;
  padding-left: 1.25em;
  padding-inline-start: 1.25em;
  margin: 0.35rem 0 0;
}

.page-content-body ol.wp-block-list :is(ul, ol) {
  list-style-position: outside;
  padding-left: 1.25em;
  padding-inline-start: 1.25em;
  margin: 0.35rem 0 0;
}

@media (min-width: 768px) {
  .page-content-body :is(ul, ol).wp-block-list li {
    font-size: var(--text-base);
  }
}
@media (max-width: 900px) {
  .page-content-pin {
    padding-top: 5rem;
  }
}

@media (max-width: 768px) {
  .page-content-pin {
    gap: 1.5rem;
    padding-top: 2rem;
  }

  /* iOS Safari：translate アニメ後の描画対策 */
  h1.page-content-title.h2-reveal.is-inview .h2-reveal-text {
    transform: translate3d(0, 0, 0);
  }
}
