/* ================================================== */
/* 記事ページ */
/* ================================================== */

/* 日時 */
.entry-body time { font-size:14px; font-weight:400; display:flex; justify-content:flex-end; line-height:22px; margin-bottom:24px; }

/* 見出し */
.page-title { text-align:justify; }

/* テキスト部分 */
.entry-body { margin:auto; margin-bottom:40px; max-width:calc(100% - 40px); }
.entry-body p { font-size:16px; font-weight:400; text-align:justify; line-height:28px; }

/* 一覧に戻る */
.back { font-size:14px; font-weight:400; line-height:22px; margin:auto; margin-bottom:40px; max-width:calc(100% - 40px); }
.back a { align-items:center; gap:8px; opacity:1; transition:.3s; }
.back a:hover { opacity:.7; transition:.3s; }
.arrow-block { align-items:center; background-color:var(--or-2); border-radius:4px; display:flex; justify-content:center; height:32px; width:32px; }

/* ================================================== */
/* 投稿本文（クラシック／ブロック共通） */
/* ================================================== */

/* 縦のリズム */
.entry-body > * + * { margin-block-start:24px; }
.entry-body > :is(h2, h3, h4, h5, h6) { margin-block-start:48px; }
.entry-body > :first-child { margin-block-start:0; }
.entry-body > time + * { margin-block-start:0; }

/* 見出し */
.entry-body :is(h2, h3, h4, h5, h6) { font-weight:700; line-height:1.5; }
.entry-body h2 { border-block-end:2px solid var(--or); font-size:22px; padding-block-end:8px; }
.entry-body h3 { border-inline-start:4px solid var(--or); font-size:20px; padding-inline-start:12px; }
.entry-body h4 { font-size:18px; }
.entry-body :is(h5, h6) { font-size:16px; }

/* 文字装飾 */
.entry-body :is(b, strong) { font-weight:700; }
.entry-body em { font-style:italic; }
.entry-body mark { background-color:var(--ye); color:inherit; padding:0 2px; }
.entry-body :is(s, del) { text-decoration:line-through; }
.entry-body u { text-decoration:underline; }

/* リンク */
.entry-body a:not(.wp-block-button__link) { text-decoration:underline; text-underline-offset:2px; }
@media (hover:hover) {
.entry-body a:not(.wp-block-button__link) { transition:opacity .3s; }
.entry-body a:not(.wp-block-button__link):hover { opacity:.7; }
}

/* リスト */
.entry-body :is(ul, ol) { padding-inline-start:1.5em; }
.entry-body ul { list-style:disc; }
.entry-body ol { list-style:decimal; }
.entry-body ul ul { list-style:circle; }
.entry-body ol ol { list-style:lower-alpha; }
.entry-body li { font-size:16px; font-weight:400; line-height:28px; }
.entry-body li + li { margin-block-start:8px; }
.entry-body li > :is(ul, ol) { margin-block-start:8px; }

/* 定義リスト */
.entry-body dt { font-size:16px; font-weight:700; line-height:28px; }
.entry-body dd { font-size:16px; font-weight:400; line-height:28px; padding-inline-start:1.5em; }
.entry-body dt + dd { margin-block-start:4px; }
.entry-body dd + dt { margin-block-start:16px; }

/* 引用 */
.entry-body blockquote { background-color:var(--ye); border-inline-start:4px solid var(--or); padding:16px 20px; }
.entry-body blockquote > * + * { margin-block-start:16px; }
.entry-body :is(blockquote cite, .wp-block-quote__citation) { display:block; font-size:14px; font-style:normal; line-height:22px; text-align:right; }

/* 画像・キャプション */
.entry-body :is(figure, .wp-caption) { margin:0; max-width:100%; }
.entry-body :is(figure, .wp-caption) img { display:block; height:auto; margin-inline:auto; width:auto; }
.entry-body :is(figcaption, .wp-caption-text) { font-size:12px; font-weight:400; line-height:1.8; margin-block-start:8px; text-align:center; }

/* 配置 */
.entry-body :is(.aligncenter, .alignnone) { margin-inline:auto; }
.entry-body :is(.alignleft, .alignright) { display:block; margin-block-end:16px; margin-inline:auto; }
.entry-body :is(.alignwide, .alignfull) { margin-inline:calc( 50% - 50cqi ); width:100cqi; }
.entry-body .has-text-align-left { text-align:left; }
.entry-body .has-text-align-center { text-align:center; }
.entry-body .has-text-align-right { text-align:right; }

/* テーブル */
.entry-body :is(figure.wp-block-table, .table-scroll) { -webkit-overflow-scrolling:touch; overflow-x:auto; overscroll-behavior-inline:contain; }
.entry-body table { border-collapse:collapse; font-size:14px; line-height:1.8; min-width:100%; }
.entry-body :is(th, td) { border:1px solid var(--gray); padding:8px 12px; vertical-align:middle; }
.entry-body th { background-color:var(--ye); font-weight:700; text-align:left; white-space:nowrap; }

/* 区切り線 */
.entry-body :is(hr, .wp-block-separator) { background-color:var(--gray); border:0; margin-block:40px; height:1px; width:100%; }
.entry-body .wp-block-separator.is-style-dots { background-color:transparent; height:auto; }

/* コード */
.entry-body :is(code, kbd, samp) { background-color:var(--ye); font-size:.9em; padding:2px 4px; }
.entry-body pre { background-color:var(--ye); font-size:14px; line-height:1.8; overflow-x:auto; padding:16px; white-space:pre; }
.entry-body pre code { background-color:transparent; padding:0; }

/* 埋め込み */
.entry-body :is(.wp-block-embed__wrapper, .wp-block-embed) iframe { aspect-ratio:16 / 9; display:block; height:auto; width:100%; }
.entry-body .wp-block-embed.wp-embed-aspect-4-3 iframe { aspect-ratio:4 / 3; }

/* ボタン */
.entry-body .wp-block-buttons { display:flex; flex-wrap:wrap; gap:16px; }
.entry-body .wp-block-button__link { align-items:center; background-color:var(--or); color:var(--wh); display:inline-flex; font-size:16px; font-weight:700; justify-content:center; letter-spacing:3.2px; line-height:1; min-height:40px; min-width:200px; padding:8px 24px; text-decoration:none; }
.entry-body .wp-block-button.is-style-outline .wp-block-button__link { background-color:transparent; border:2px solid var(--or); color:var(--or); }
@media (hover:hover) {
.entry-body .wp-block-button__link { transition:opacity .3s; }
.entry-body .wp-block-button__link:hover { opacity:.7; }
}

/* カラム */
.entry-body .wp-block-columns { display:flex; flex-direction:column; gap:24px; }
.entry-body .wp-block-column { flex:1 1 0; min-width:0; }
.entry-body .wp-block-column > * + * { margin-block-start:24px; }

/* ギャラリー */
.entry-body .wp-block-gallery { display:grid; gap:16px; grid-template-columns:repeat( 2, 1fr ); }
.entry-body .wp-block-gallery.columns-1 { grid-template-columns:1fr; }
.entry-body .wp-block-gallery img { display:block; object-fit:cover; width:100%; }

/* グループ・その他 */
.entry-body .wp-block-group > * + * { margin-block-start:24px; }
.entry-body :is(.wp-block-image, .wp-block-video, .wp-block-embed) { margin:0; }

@container(min-width:960px) {

/* テキスト部分 */
.entry-body { max-width:890px; }
.entry-body p { font-size:18px; line-height:29px; }

/* 一覧に戻る */
.back  { font-size:18px; line-height:29px; max-width:890px; }

/* 見出し */
.entry-body h2 { font-size:28px; }
.entry-body h3 { font-size:24px; }
.entry-body h4 { font-size:20px; }
.entry-body :is(h5, h6) { font-size:18px; }

/* リスト */
.entry-body li { font-size:18px; line-height:29px; }
.entry-body :is(dt, dd) { font-size:18px; line-height:29px; }

/* 配置 */
.entry-body .alignleft { float:left; margin-block-end:24px; margin-inline:0 32px; }
.entry-body .alignright { float:right; margin-block-end:24px; margin-inline:32px 0; }
.entry-body .alignwide { margin-inline:calc( 50% - min( 50cqi, 500px ) ); width:min( 100cqi, 1000px ); }

/* テーブル */
.entry-body table { font-size:16px; }

/* カラム */
.entry-body .wp-block-columns { flex-direction:row; gap:32px; }

/* ギャラリー */
.entry-body .wp-block-gallery.columns-3 { grid-template-columns:repeat( 3, 1fr ); }
.entry-body .wp-block-gallery.columns-4 { grid-template-columns:repeat( 4, 1fr ); }

} 