.seo-guide-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.seo-guide-card { display: block; padding: 28px; border: 1px solid #dcd9cc; border-radius: 16px; background: #fff; color: #1f4f35; text-decoration: none; }
.seo-guide-card h3 { font-size: 1.25rem; margin: 0 0 12px; }
.seo-guide-card p { color: #59584f; margin: 0 0 16px; }
.seo-guide-card span { font-weight: 600; }
.seo-guide-card:hover { border-color: #256b45; background: #edf7f0; }
.seo-guide-card:focus-visible, .guide-page a:focus-visible { outline: 3px solid #256b45; outline-offset: 4px; }
.guide-page { margin: 0; background: #fafaf7; color: #1a1a17; font-family: "IBM Plex Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; line-height: 1.9; }
.guide-page * { box-sizing: border-box; }
.guide-page a { color: #1f4f35; text-underline-offset: .25em; }
.guide-header { border-bottom: 1px solid #dcd9cc; background: #fff; }
.guide-header-inner { max-width: 1100px; margin: auto; padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.guide-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; }
.guide-brand img { width: 32px; height: 32px; }
.guide-register, .guide-page .guide-register { display: inline-block; background: #256b45; color: #fff; padding: 10px 18px; border-radius: 8px; text-decoration: none; font-weight: 600; }
.guide-register:hover { background: #1c5334; }
.guide-main { max-width: 840px; padding: 28px 24px 64px; margin: auto; }
.guide-breadcrumb { font-size: .85rem; color: #59584f; margin-bottom: 36px; }
.guide-eyebrow { color: #256b45; font-size: .85rem; font-weight: 700; margin-bottom: 12px; }
.guide-page h1 { font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.5; letter-spacing: -.025em; margin: 0 0 22px; }
.guide-lead { font-size: 1.05rem; }
.guide-byline { font-size: .85rem; color: #59584f; margin-top: 24px; }
.guide-toc { margin: 36px 0; padding: 20px 24px; background: #edf7f0; border-radius: 12px; }
.guide-toc p { font-weight: 700; margin: 0; }
.guide-toc ol { margin: 10px 0 0; padding-left: 1.4em; }
.guide-page section { margin-top: 48px; scroll-margin-top: 24px; }
.guide-page h2 { font-size: 1.5rem; line-height: 1.6; padding-bottom: 14px; border-bottom: 1px solid #dcd9cc; }
.guide-page h3 { font-size: 1.1rem; margin-top: 28px; }
.guide-page p { overflow-wrap: anywhere; }
.guide-table-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid #dcd9cc; border-radius: 10px; }
.guide-page table { width: 100%; border-collapse: collapse; font-size: .9rem; background: #fff; min-width: 540px; }
.guide-page th, .guide-page td { padding: 14px 16px; border-bottom: 1px solid #dcd9cc; text-align: left; vertical-align: top; }
.guide-page th { background: #edf7f0; }
.guide-page tr:last-child td { border-bottom: 0; }
.guide-note { padding: 20px 24px; background: #f1efe7; border-left: 4px solid #256b45; border-radius: 0 10px 10px 0; }
.guide-formula { padding: 24px; background: #edf7f0; font-weight: 600; border-radius: 12px; font-variant-numeric: tabular-nums; }
.guide-figure { margin: 28px 0; }
.guide-figure img { display: block; width: 100%; height: auto; }
.guide-figure figcaption { font-size: .85rem; color: #59584f; margin-top: 12px; }
.guide-cta { padding: 28px; border: 1px solid #dcd9cc; border-radius: 16px; background: #fff; margin-top: 48px; }
.guide-cta h2 { margin-top: 0; border: 0; padding: 0; }
.guide-footer { padding: 28px 24px; border-top: 1px solid #dcd9cc; font-size: .85rem; color: #59584f; text-align: center; }
.guide-footer a { display: inline-block; margin: 0 12px; }
.guide-skip { position: absolute; left: 12px; top: -100px; padding: 12px; background: #fff; z-index: 10; }
.guide-skip:focus { top: 12px; }
@media (max-width: 640px) {
  .seo-guide-cards { grid-template-columns: 1fr; }
  .seo-guide-card { padding: 22px; }
  .guide-header-inner { padding: 14px 16px; gap: 10px; }
  .guide-brand { font-size: .8rem; gap: 7px; }
  .guide-brand img { width: 26px; height: 26px; }
  .guide-header .guide-register { font-size: .8rem; padding: 8px 12px; white-space: nowrap; }
  .guide-main { padding: 24px 20px 48px; }
  .guide-page h2 { font-size: 1.3rem; }
  .guide-note, .guide-formula, .guide-cta { padding: 20px; }
}
