/* アスク井上記事専用。共通の色・本文幅を継承する。 */
.ask-guide .ask-thumbnail { aspect-ratio: 16 / 9; border-radius: var(--radius-md); margin-bottom: 1.6em; }
.ask-guide .ask-thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ask-guide .article-body [id] { scroll-margin-top: 115px; }
.ask-guide .ask-pr, .ask-guide .ask-source { color: var(--color-text-muted); font-size: .82rem; overflow-wrap: anywhere; }
.ask-guide .ask-pr { margin-bottom: 0; }
.ask-guide .ask-summary { padding: 22px 24px; border: 1px solid var(--color-border); border-top: 4px solid var(--color-accent); border-radius: var(--radius-md); background: var(--color-surface); }
.ask-guide .ask-summary p:last-child { margin-bottom: 0; }
.ask-guide .ask-eyebrow { color: var(--color-accent-dark); font-weight: 700; }
.ask-guide .ask-jump { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 24px 0; }
.ask-guide .ask-jump a { display: flex; justify-content: center; align-items: center; padding: 12px 8px; min-height: 48px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); text-align: center; font-size: .88rem; text-decoration: none; }
.ask-guide .ask-jump a:hover { background: var(--color-accent-soft); }
.ask-guide .ask-toc, .ask-guide .ask-method { padding: 16px 20px; background: var(--color-bg-alt); border-radius: var(--radius-md); margin: 20px 0; }
.ask-guide summary { cursor: pointer; font-weight: 700; padding: 8px 0; }
.ask-guide summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.ask-guide .ask-toc ol { margin-top: 16px; }
.ask-guide .ask-table-wrap { max-width: 100%; overflow-x: auto; margin: 20px 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.ask-guide .ask-table-wrap:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.ask-guide .ask-table { width: 100%; min-width: 610px; border-collapse: collapse; font-size: .9rem; line-height: 1.7; }
.ask-guide .ask-table caption { padding: 12px 16px; text-align: left; font-weight: 700; background: var(--color-bg-alt); }
.ask-guide .ask-table th, .ask-guide .ask-table td { padding: 14px 16px; border-bottom: 1px solid var(--color-border); text-align: left; vertical-align: top; }
.ask-guide .ask-table thead th { background: var(--color-accent-soft); color: var(--color-accent-dark); }
.ask-guide .ask-table tbody th { background: var(--color-bg-alt); min-width: 120px; }
.ask-guide .ask-table tbody td { background: var(--color-surface); }
.ask-guide .ask-rating { display: inline-block; margin-top: 8px; font-weight: 400; font-variant-numeric: tabular-nums; }
.ask-guide .ask-table tr:last-child > * { border-bottom: 0; }
.ask-guide .ask-table--price { min-width: 470px; font-variant-numeric: tabular-nums; }
.ask-guide .ask-table--price td { white-space: nowrap; }
.ask-guide .ask-review { padding: 20px 22px; margin: 24px 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.ask-guide .ask-review h3 { margin-top: 0; }
.ask-guide .ask-review p:last-child { margin-bottom: 0; }
.ask-guide .ask-cta { margin: 36px 0; padding: 24px; background: var(--color-accent-soft); border-radius: var(--radius-md); }
.ask-guide .ask-cta__title { font-size: 1.1rem; font-weight: 700; color: var(--color-accent-dark); }
.ask-guide .ask-cta__button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: 16px; line-height: 1.6; white-space: normal; text-align: center; }
.ask-guide .ask-cta small { display: block; text-align: center; margin-top: 12px; color: var(--color-text-muted); font-size: .75rem; }
.ask-guide .ask-cta--main { border: 1px solid var(--color-accent); }
/* この長文記事では、共通CTAの光るアニメーションを抑えて落ち着いた導線にする。 */
.ask-guide :is(.btn, .sticky-cta)[href^="https://px.a8.net/"]::after { display: none; }
.ask-guide .ask-facts { display: grid; grid-template-columns: 100px 1fr; border-top: 1px solid var(--color-border); }
.ask-guide .ask-facts dt, .ask-guide .ask-facts dd { margin: 0; padding: 14px 12px; border-bottom: 1px solid var(--color-border); }
.ask-guide .ask-facts dt { font-weight: 700; background: var(--color-bg-alt); }
.ask-guide .ask-banner { margin: 40px auto; text-align: center; width: 300px; max-width: 100%; }
.ask-guide .ask-banner > a { display: block; }
.ask-guide .ask-banner > a img { width: 300px; max-width: 100%; height: auto; }
.ask-guide .ask-banner > img { width: 1px; height: 1px; }
.ask-guide .ask-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ask-guide .ask-fit section { padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.ask-guide .ask-fit h3 { margin-top: 0; font-size: 1.05rem; }
.ask-guide .ask-checklist li { margin-bottom: 16px; }
.ask-guide .ask-faq { padding: 12px 0; border-bottom: 1px solid var(--color-border); }
.ask-guide .ask-faq p { padding: 10px 8px 0; }
.ask-guide .ask-sticky { display: none; }
@media (max-width: 767px) {
  html:has(.ask-guide) { scroll-padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  body.ask-guide { padding-bottom: calc(106px + env(safe-area-inset-bottom)); }
  .ask-guide .ask-sticky { display: block; position: fixed; z-index: 40; bottom: 0; left: 0; right: 0; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: var(--color-surface); border-top: 1px solid var(--color-border); box-shadow: 0 -2px 10px #0000000a; }
  .ask-guide .ask-sticky .sticky-cta { position: static; display: flex; align-items: center; justify-content: center; min-height: 48px; width: 100%; padding: 10px 12px; border-radius: var(--radius-md); line-height: 1.5; white-space: normal; text-align: center; font-size: .9rem; box-shadow: none; }
  .ask-guide .ask-sticky small { display: block; line-height: 1.3; text-align: center; color: var(--color-text-muted); font-size: .65rem; margin-bottom: 4px; }
  .ask-guide .ask-fit { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .ask-guide .ask-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ask-guide .ask-summary, .ask-guide .ask-review, .ask-guide .ask-cta, .ask-guide .ask-method, .ask-guide .ask-toc { padding: 18px 16px; }
  .ask-guide .ask-facts { grid-template-columns: 80px 1fr; font-size: .9rem; }
}
@media print {
  .ask-guide .ask-sticky, .ask-guide .ask-banner, .ask-guide .ask-cta { display: none; }
  body.ask-guide { padding-bottom: 0; }
  .ask-guide .ask-table-wrap { overflow: visible; }
  .ask-guide .ask-table { min-width: 0; }
}
