/* the_content()のラッパー用。特定の本文構成・画像枚数には依存しない。 */
.entry-content { --content-width: 800px; --wide-width: 1040px; font-size: 16px; line-height: 2; overflow-wrap: anywhere; display: flow-root; }
.entry-content > :where(*) { max-width: var(--content-width); margin-inline: auto; }
.entry-content > :where(* + *) { margin-top: 1.8em; }
.entry-content :where(p) { margin-block: 0 1.5em; }
.entry-content :where(h2,h3,h4,h5,h6) { line-height: 1.7; font-weight: 700; margin-block: 2em 1em; }
.entry-content :where(h2) { font-size: 1.5em; padding-bottom: .4em; border-bottom: 3px solid var(--color-yellow, #efc34c); }
.entry-content :where(h3) { font-size: 1.25em; padding-left: .7em; border-left: 4px solid var(--color-accent, #e95a69); }
.entry-content :where(h4) { font-size: 1.1em; }
.entry-content :where(h5,h6) { font-size: 1em; }
.entry-content :where(a) { color: #a83342; text-decoration: underline; text-underline-offset: .2em; }
.entry-content :where(a:hover) { text-decoration-thickness: 2px; }
.entry-content :where(ul,ol) { padding-left: 1.6em; margin-bottom: 1.5em; }
.entry-content :where(li + li) { margin-top: .4em; }
.entry-content :where(li > ul,li > ol) { margin-block: .5em; }
.entry-content :where(figure) { margin-block: 2em; }
.entry-content :where(img,video) { max-width: 100%; height: auto; }
.entry-content :where(.wp-block-image img) { display: block; }
.entry-content :where(figcaption) { font-size: .8em; color: #64645b; margin-top: .7em; text-align: center; line-height: 1.8; }
.entry-content :where(blockquote,.wp-block-quote) { border-left: 3px solid var(--color-yellow, #efc34c); padding: 1em 1.5em; background: #f9f9ee; }
.entry-content :where(blockquote p:last-child) { margin-bottom: 0; }
.entry-content :where(cite) { font-size: .85em; }
.entry-content :where(.wp-block-table) { overflow-x: auto; }
.entry-content :where(table) { border-collapse: collapse; width: 100%; font-size: .95em; }
.entry-content :where(th,td) { border: 1px solid #dcdccf; padding: .8em 1em; text-align: left; vertical-align: top; }
.entry-content :where(th) { background: #f9f9ee; font-weight: 700; }
.entry-content :where(hr,.wp-block-separator) { border: 0; border-bottom: 1px solid #dcdccf; margin-block: 3em; }
.entry-content :where(.wp-block-buttons) { display: flex; flex-wrap: wrap; gap: 12px; }
.entry-content :where(.wp-block-button__link) { display: inline-block; padding: .8em 1.8em; border-radius: 30px; background: var(--color-accent, #e95a69); color: #fff; text-decoration: none; line-height: 1.6; }
.entry-content :where(.is-style-outline .wp-block-button__link) { background: transparent; border: 2px solid currentColor; color: var(--color-accent, #e95a69); }
.entry-content :where(.wp-block-columns) { display: flex; gap: 24px; }
.entry-content :where(.wp-block-column) { flex: 1 1 0; min-width: 0; }
.entry-content :where(.wp-block-gallery) { display: flex; flex-wrap: wrap; gap: 16px; }
.entry-content :where(.wp-block-gallery > .wp-block-image) { width: calc(50% - 8px); margin: 0; }
.entry-content :where(.wp-block-gallery.columns-3 > .wp-block-image) { width: calc((100% - 32px) / 3); }
.entry-content :where(.wp-block-gallery.columns-1 > .wp-block-image) { width: 100%; }
.entry-content :where(.alignwide) { max-width: var(--wide-width); width: 100%; }
.entry-content :where(.alignfull) { max-width: none; width: 100%; }
.entry-content :where(.aligncenter) { margin-inline: auto; text-align: center; }
.entry-content :where(.alignleft) { float: left; margin: 0 1.5em 1em 0; max-width: 50%; }
.entry-content :where(.alignright) { float: right; margin: 0 0 1em 1.5em; max-width: 50%; }
.entry-content :where(.has-text-align-center) { text-align: center; }
.entry-content :where(.has-text-align-right) { text-align: right; }
.entry-content :where(.has-text-align-left) { text-align: left; }
.entry-content :where(.wp-block-embed iframe) { max-width: 100%; }
.entry-content :where(.wp-embed-aspect-16-9 .wp-block-embed__wrapper) { aspect-ratio: 16 / 9; }
.entry-content :where(.wp-embed-aspect-16-9 iframe) { width: 100%; height: 100%; }
.entry-content :where(pre) { overflow-x: auto; padding: 1em; background: #f9f9ee; white-space: pre; }
@media(max-width:767px) {
 .entry-content { font-size: 14px; }
 .entry-content :where(h2) { font-size: 1.3em; }
 .entry-content :where(h3) { font-size: 1.15em; }
 .entry-content :where(.wp-block-columns:not(.is-not-stacked-on-mobile)) { flex-direction: column; }
 .entry-content :where(.alignleft,.alignright) { float: none; max-width: 100%; margin-inline: auto; }
 .entry-content :where(th,td) { padding: .7em; }
}
