/* ==========================================================================
   SP common typography / FAQ width (≤767px, 全ページ)
   ページCSSより後に読み込み、最終上書きする
   ========================================================================== */

@media (max-width: 767px) {
  /* ----- ハンバーガーメニュー内ナビ 14px ----- */
  body > div > div[class*='bg-white'][class*='px-[190px]'][class*='py-[18px]'][class*='w-[1536px]'] div[class*='gap-[23px]'] a.site-header-nav-link span,
  body > div > div[class*='bg-white'][class*='px-[190px]'][class*='py-[18px]'][class*='w-[1536px]'] div[class*='gap-[23px]'] a.site-header-nav-link [class*='text-[18px]'],
  #site-mobile-nav a.site-header-nav-link span,
  #site-mobile-nav a.site-header-nav-link [class*='text-[18px]'] {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  /* ----- フッター 12px（サイトマップ・コピーライト） ----- */
  .site-footer > [class*='gap-[36px]'] .site-footer-link,
  .site-footer > [class*='gap-[36px]'] .site-footer-link p,
  .site-footer > [class*='gap-[36px]'] > div:first-child .site-footer-link p,
  .site-footer > [class*='gap-[36px]'] p[class*='text-[#8e5572]'][class*='text-[16px]'],
  .site-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'],
  .site-footer > [class*='gap-[36px]'] p[class*='text-[14px]'][class*='underline'],
  .site-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'] span,
  .site-footer > [class*='max-w-[840px]'] > [class*='text-[14px]'],
  .top-footer > [class*='gap-[36px]'] .site-footer-link,
  .top-footer > [class*='gap-[36px]'] .site-footer-link p,
  .top-footer > [class*='gap-[36px]'] > div:first-child .site-footer-link p,
  .top-footer > [class*='gap-[36px]'] p[class*='text-[#8e5572]'][class*='text-[16px]'],
  .top-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'],
  .top-footer > [class*='gap-[36px]'] p[class*='text-[14px]'][class*='underline'],
  .top-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'] span,
  .top-footer > [class*='max-w-[840px]'] > [class*='text-[14px]'],
  /* orthodontist など .site-footer 以外のフッター構造 */
  [class*='pt-[200px]'][class*='pb-[60px]'] > [class*='gap-[36px]'] .site-footer-link p,
  [class*='pt-[200px]'][class*='pb-[60px]'] > [class*='gap-[36px]'] p,
  [class*='pt-[200px]'][class*='pb-[60px]'] > [class*='gap-[36px]'] p span,
  [class*='pt-[200px]'][class*='pb-[60px]'] > [class*='max-w-[840px]'] > [class*='text-[14px]'] {
    font-size: 12px !important;
    letter-spacing: 1.2px !important;
  }

  /* ----- FAQ コンテンツ幅（共通）— 左右 40px → 実質 20px ----- */
  /* TOP: セクション自身の padding を 20px に */
  .top-faq-section {
    padding-inline: 20px !important;
    box-sizing: border-box !important;
  }

  /* FAQ専用ページ: main の左右余白を 20px に */
  body:has(.faq-page) .faq-main {
    padding-inline: 20px !important;
  }

  /* 下層ページ: main が 40px 余白のとき、FAQセクションだけ外へ広げて実質 20px */
  body [class*='-main']:not(.top-main) > [class*='-faq-section'] {
    width: calc(100% + 40px) !important;
    max-width: none !important;
    margin-inline: -20px !important;
    box-sizing: border-box !important;
  }

  .faq-accordion-item,
  .top-faq-section .faq-accordion-item,
  [class*='-faq-section'] .faq-accordion-item,
  body:has(.faq-page) .faq-main .faq-accordion-item,
  .top-faq-section [class*='cursor-pointer'][class*='flex-col'][class*='gap-[10px]'],
  [class*='-faq-section'] [class*='cursor-pointer'][class*='flex-col'],
  body:has(.faq-page) .faq-main [class*='cursor-pointer'][class*='flex-col'][class*='gap-[10px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .faq-accordion-item,
  .top-faq-section .faq-accordion-item,
  [class*='-faq-section'] .faq-accordion-item,
  body:has(.faq-page) .faq-main .faq-accordion-item {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* ----- 本文テキスト 15px（記事・カード本文・FAQ回答） ----- */
  body .soai-entry-content,
  body .soai-entry-content p,
  body .soai-entry-content li,
  body .soai-entry-content a,
  body .soai-entry-content th,
  body .soai-entry-content td {
    font-size: 14px !important;
    line-height: 1.8 !important;
    letter-spacing: 1.5px !important;
  }

  body .faq-accordion__panel-inner > div > p:last-child,
  body .faq-accordion__panel-inner > div > [class*='DemiLight'],
  body .faq-accordion__answer-rich,
  body .faq-accordion__answer-rich p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  /* ----- セクションタイトル下の英字サブタイトル（全ページ共通） ----- */
  body .top-main [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'],
  body .top-main [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'] p,
  body [class*='-main'] [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'],
  body [class*='-main'] [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'] p,
  body [class*='-page'] [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'],
  body [class*='-page'] [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'] p {
    color: var(--colore-2, var(--p, #636171)) !important;
    text-align: center !important;
    font-family: "Zen Maru Gothic", sans-serif !important;
    font-size: 10.753px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 0.538px !important;
  }
}
