/* サイト共通スタイル（Tailwindで表現しにくい部分のみ） */

html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { font-feature-settings: "palt"; letter-spacing: 0.02em; }

/* スクロール表示アニメーション */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* タブ */
[data-tab].is-active { background: #22ad62; color: #fff; }

/* 記事本文（コラム・ニュース・WordPress本文由来の部分） */
.prose-content { line-height: 2; color: #334155; }
.prose-content > * + * { margin-top: 1.25em; }
.prose-content h2 { margin-top: 2.5em; padding: .9em 1.1em; border-left: 5px solid #22ad62; background: #effcf3; border-radius: 0 .75rem .75rem 0; font-size: 1.35rem; font-weight: 700; line-height: 1.6; color: #0a1020; }
.prose-content h3 { margin-top: 2em; padding-bottom: .5em; border-bottom: 2px solid #e2e8f0; font-size: 1.15rem; font-weight: 700; line-height: 1.6; color: #0a1020; }
.prose-content h4 { margin-top: 1.75em; font-weight: 700; color: #146f41; }
.prose-content a { color: #168c4e; text-decoration: underline; text-underline-offset: 3px; }
.prose-content ul { list-style: disc; padding-left: 1.5em; }
.prose-content ol { list-style: decimal; padding-left: 1.5em; }
.prose-content li + li { margin-top: .4em; }
.prose-content img { border-radius: 1rem; height: auto; max-width: 100%; }
.prose-content table { width: 100%; border-collapse: collapse; font-size: .95em; }
.prose-content th, .prose-content td { border: 1px solid #e2e8f0; padding: .75em 1em; text-align: left; vertical-align: top; }
.prose-content th { background: #f8fafc; font-weight: 700; color: #0a1020; }
.prose-content strong { color: #0a1020; }
.prose-content blockquote { border-left: 4px solid #cbd5e1; padding-left: 1em; color: #64748b; }
