.pp-faq-page, .pp-faq-page * { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.pp-faq-page { font-weight: 400; }
.pp-faq-page .header-logo, .pp-faq-page .pp-site-footer__logo { font-family: "Roboto Condensed", sans-serif; font-weight: 700; }
.pp-faq-page .header-logo { display: block; }
.pp-faq-page .pp-info-hero { background: linear-gradient(115deg, #087d81, #169f98); padding-bottom: 48px; }
.pp-faq-page .pp-info-hero__title { font-size: clamp(30px, 4vw, 48px); line-height: 1.5; }
.pp-faq-page .pp-info-hero__lead { font-size: 16px; font-weight: 400; line-height: 2; }
.pp-faq-page .pp-info-nav a { font-size: 14px; padding: 12px 16px; }
.pp-faq-page .pp-info-section__inner { max-width: 960px; }
.pp-faq-page .pp-info-group { margin-top: 0; scroll-margin-top: 110px; }
.pp-faq-page .pp-info-group + .pp-info-group { margin-top: 56px; }
.pp-faq-page .pp-info-group__head { border-left-width: 3px; margin-bottom: 24px; }
.pp-faq-page .pp-info-group__title { font-size: clamp(23px, 2.5vw, 30px); line-height: 1.6; }
.pp-faq-page .pp-faq-detail { box-shadow: none; border: 1px solid #dce7e5; border-radius: 10px; }
.pp-faq-page .pp-faq-detail summary { display: flex; align-items: baseline; gap: 14px; list-style: none; padding: 22px 24px; font-size: 16px; line-height: 1.8; }
.pp-faq-page .pp-faq-detail summary::-webkit-details-marker { display: none; }
.pp-faq-page .pp-faq-detail summary::before { content: "Q"; color: #087d81; font-weight: 700; }
.pp-faq-page .pp-faq-detail summary::after { content: "+"; margin-left: auto; color: #087d81; flex-shrink: 0; }
.pp-faq-page .pp-faq-detail[open] summary::after { content: "−"; }
.pp-faq-page .pp-faq-detail summary:hover { background: #f4faf8; }
.pp-faq-page .pp-faq-detail__answer { padding: 0 24px 24px 52px; font-size: 15px; font-weight: 400; line-height: 1.9; }
.pp-faq-page .pp-faq-detail__answer p { margin: 0; font-weight: 400; }
.pp-faq-page .pp-faq-detail__answer a { display: inline-block; margin-top: 12px; color: #087d81; text-underline-offset: 4px; }
.pp-faq-contact { margin-top: 56px; padding: 32px; text-align: center; background: #eef7f5; border-radius: 12px; }
.pp-faq-contact h2 { font-size: 22px; line-height: 1.7; margin: 0 0 12px; }
.pp-faq-contact p { font-size: 14px; line-height: 1.9; font-weight: 400; }
.pp-faq-contact > a { display: inline-block; padding: 14px 24px; margin: 12px 0; border-radius: 6px; background: #087d81; color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; }
.pp-faq-contact p a { color: #087d81; text-decoration: underline; }
.pp-faq-page main :is(a, summary):focus-visible { outline: 2px solid #ff9634; outline-offset: 4px; }
@media (max-width: 600px) {
  .pp-faq-page .pp-info-hero { padding-top: 106px; }
  .pp-faq-page .pp-info-section { padding: 40px 20px; }
  .pp-faq-page .pp-faq-detail summary { padding: 18px; font-size: 15px; gap: 10px; }
  .pp-faq-page .pp-faq-detail__answer { padding: 0 18px 20px; font-size: 14px; }
  .pp-faq-contact { padding: 24px 20px; }
}
