/* ページ末尾のPrimary Action：主要5子ページの共通CTA（subpage-cta.css）を持たない現行子ページ用。
   対象：people.html・member-01〜05.html（faq.html・company.htmlは2026-11-07に削除）。仕様：DESIGN_SYSTEM_NAVIGATION.md §2（2026-11-03）。
   トンマナは共通CTA・TOPのCTAと同じWhite + Spectrum。左に問い→（説明）→面談Button→補助Link、右にSpectrumの飛沫を一つ。
   ButtonはNavyの連続した面・白いLabel・明るい金の矢印Cue（共通CTAと同じ）。金の全面Fill・900・独自の文字矢印は使わない。 */
.page-end { position: relative; padding: 128px 0 140px; background: #fff; color: #0B1F33; overflow: clip; border-top: 1px solid #D6DCE4; }
.page-end__splash { position: absolute; top: 50%; right: -150px; z-index: 0; width: 640px; height: auto; transform: translateY(-50%) rotate(-6deg); pointer-events: none; }
.page-end__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.page-end__q { max-width: 620px; font-size: var(--heading-h2-size, clamp(28px, 3.1vw, 44px)); font-weight: 700; line-height: 1.5; letter-spacing: -.02em; color: #0B1F33; }
.page-end__text { max-width: 560px; margin-top: 22px; font-size: 16px; font-weight: 500; line-height: 1.95; color: #222; text-align: justify; text-align-last: start; }
.page-end__action {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 68px; min-width: 340px; max-width: 100%; margin-top: 36px; padding: 14px 16px 14px 30px; border-radius: 8px;
  background: #0B1F33; color: #fff; font-size: 17px; font-weight: 700; line-height: 1.35; text-decoration: none;
  transition: background-color .2s ease;
}
.page-end__action::after {
  content: ""; flex: none; width: 38px; height: 38px; border-radius: 50%;
  background: #D8B46A center / 18px 12px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath d='M0 7h19M13 1l6 6-6 6' fill='none' stroke='%230B1F33' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transition: transform .2s ease;
}
.page-end__action:hover { background: #061522; }
.page-end__action:hover::after { transform: translateX(3px); }
.page-end__action:focus-visible, .page-end__link:focus-visible { outline: 3px solid #0B1F33; outline-offset: 4px; }
.page-end__link {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 18px;
  color: #0B1F33; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px;
}
.page-end__link::after {
  content: ""; width: 16px; height: 10px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath d='M0 7h19M13 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath d='M0 7h19M13 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 1000px) {
  .page-end__splash { right: -220px; width: 520px; opacity: .9; }
}
@media (max-width: 760px) {
  /* SP：文字とButtonを先に読み、飛沫は下端の余白に置いて文字へ重ねない */
  .page-end { padding: 72px 0 230px; }
  .page-end__splash { top: auto; bottom: -70px; right: -110px; width: 360px; transform: rotate(-6deg); opacity: 1; }
  .page-end__q { font-size: var(--heading-h2-size, 24px); }
  .page-end__text { font-size: 15px; }
  .page-end__action { width: 100%; min-width: 0; margin-top: 28px; padding-left: 20px; gap: 16px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-end__action, .page-end__action::after { transition: none; }
}
