/* -------------------------------------------------- */
/* 汎用設定 */
/* -------------------------------------------------- */

/* パンくず */
.breadcrumbs { padding:8px 16px; }
.breadcrumbs li { font-size:14px; }
.breadcrumbs li + li::before { content:'＞'; margin:0 4px; }

/* ページタイトル */
.page-title { align-items:center; font-size:24px; font-weight:700; gap:8px; justify-content:center; margin:0 auto 24px; }
.page-title::before { background-position:center; background-repeat:no-repeat; background-size:contain; }

/* コンテンツ */
.content { background-color:rgba(255,255,255,0.6); margin:0 auto 24px; max-width:calc( 100% - 32px ); padding:24px 16px; width:100%; }

/* 見出し */
.line-title { border-bottom:1px solid var(--bk); box-sizing:border-box; font-size:24px; font-weight:700; margin-bottom:16px; padding-bottom:16px; }

/* アーカイブ用 */
.archive { margin:auto; max-width:85%; }
.archive-content { align-items:center; gap:24px; }
.archive-content h3 { color:var(--gr-2); font-size:18px; font-weight:700; }
.archive-content .select-form { align-items:center; line-height:1; margin:0; padding:0; }
.archive-content .select-form .select-wrap { display:inline-block; line-height:1; margin:0; position:relative; }
.archive-content .select-form .select-wrap::after { border-bottom:2px solid var(--bk); border-right:2px solid var(--bk); content:''; height:8px; pointer-events:none; position:absolute; right:5px; top:50%; transform:translateY(-50%) rotate(45deg); transition:transform 0.2s ease; width:8px; }
.archive-content .select-form .select-wrap select { appearance:none; background-color:var(--wh); border:1px solid var(--bk); cursor:pointer; line-height:1; margin:0; max-width:200px; padding:2.5px 30px 2.5px 5px; vertical-align:bottom; width:100%; }
.archive-content .select-form .select-wrap:focus-within::after { transform:translateY(-50%) rotate(-135deg); }

/* -------------------------------------------------- */
/* 記事（single / page 共通） */
/* -------------------------------------------------- */

/* ベース */
.content.base-post { max-width:100%; }

/* 記事タイトル */
.post-title { color:var(--gr-2); font-size:24px; font-weight:700; line-height:32px; margin-bottom:8px; }
.base-post > .post-title { margin-bottom:40px; } /* 固定ページ（カテゴリ・日付なし） */

/* ページ分割（<!--nextpage-->） */
.page-links { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:40px; }
.page-links .post-page-numbers { align-items:center; background-color:var(--wh); border:1px solid var(--bk); display:flex; height:35px; justify-content:center; width:35px; }
.page-links .current { background-color:var(--gr-2); border-color:var(--gr-2); color:var(--wh); }

/* -------------------------------------------------- */
/* 投稿本文（クラシックエディタ） */
/* -------------------------------------------------- */

/* ベース */
.post-text { display:flow-root; font-size:16px; font-weight:500; line-height:28px; overflow-wrap:break-word; }
.post-text :where(figure) { margin:0; }
.post-text > * + * { margin-top:1.5em; }

/* 見出し */
.post-text h2 { border-bottom:2px solid var(--gr-2); color:var(--gr-2); font-size:20px; font-weight:700; line-height:1.5; padding-bottom:8px; }
.post-text h3 { border-left:4px solid var(--gr-2); font-size:18px; font-weight:700; line-height:1.5; padding-left:12px; }
.post-text h4 { color:var(--gr-2); font-size:16px; font-weight:700; line-height:1.5; }
.post-text h5, .post-text h6 { font-size:16px; font-weight:700; line-height:1.5; }
.post-text > * + :is(h2,h3,h4,h5,h6) { margin-top:2.5em; }
.post-text > :is(h2,h3,h4,h5,h6) + * { margin-top:1em; }

/* テキスト */
.post-text a { color:var(--gr-2); text-decoration:underline; text-underline-offset:0.2em; }
.post-text a:hover { text-decoration:none; }
.post-text a:focus-visible { outline:2px solid currentcolor; outline-offset:2px; }
.post-text em { font-style:italic; }
.post-text strong { font-weight:700; }

/* リスト */
.post-text ol { list-style:decimal; padding-left:1.5em; }
.post-text ul { list-style:disc; padding-left:1.5em; }
.post-text ul ul { list-style:circle; }
.post-text li::marker { color:var(--gr-2); }
.post-text li + li, .post-text li > :is(ol,ul) { margin-top:0.5em; }

/* 引用 */
.post-text blockquote { background-color:rgba(0,0,0,0.04); border-left:4px solid var(--gr-2); padding:16px 20px; }
.post-text blockquote > * + * { margin-top:1em; }
.post-text blockquote cite { display:block; font-size:14px; text-align:right; }

/* 区切り線 */
.post-text hr { border:0; border-top:1px solid var(--bk); margin:2.5em 0; }

/* テーブル */
.post-text table { border-collapse:collapse; max-width:100%; width:100%; }
.post-text :is(th,td) { border:1px solid var(--bk); line-height:1.6; padding:8px 12px; text-align:left; vertical-align:top; }
.post-text th { background-color:rgba(0,0,0,0.05); font-weight:700; }

/* 画像・配置（SPは回り込みなしで中央寄せ） */
.post-text img { height:auto; max-width:100%; }
.post-text :is(.aligncenter,.alignleft,.alignright) { display:block; margin-left:auto; margin-right:auto; }

/* キャプション */
.post-text .wp-caption { max-width:100%; }
.post-text .wp-caption img { display:block; margin:0 auto; }
.post-text .wp-caption-text { font-size:14px; line-height:1.6; margin-top:8px; text-align:center; }

/* ギャラリー */
.post-text .gallery { display:grid; gap:8px; grid-template-columns:repeat(2,1fr); }
.post-text .gallery-columns-1 { grid-template-columns:1fr; }
.post-text .gallery br { display:none; }
.post-text .gallery-item { margin:0; text-align:center; }

/* 埋め込み */
.post-text iframe { max-width:100%; }
.post-text iframe:is([src*="youtube"],[src*="vimeo"]) { aspect-ratio:16/9; height:auto; width:100%; }

/* 整形済みテキスト */
.post-text pre { background-color:rgba(0,0,0,0.05); font-size:14px; line-height:1.6; overflow-x:auto; padding:16px; white-space:pre; }
.post-text code { font-family:monospace; font-size:0.9em; }

@container( min-width:1000px ) {

/* パンくず */
.breadcrumbs { margin:40px auto 0; max-width:1000px; width:100%; }

/* ページタイトル */
.page-title { font-size:40px; justify-content:flex-start; margin:30px auto; max-width:1000px; width:100%; }

/* コンテンツ */
.content { margin-bottom:80px; max-width:1000px; padding:50px; width:100%; }

/* アーカイブのあるタイトル */
.title-archive { display:flex; justify-content:space-between; margin-left:auto; margin-right:auto; max-width:1000px; width:100%; }

/* 記事ベース */
.content.base-post { margin:60px auto 90px; max-width:1000px; }

/* 記事タイトル */
.post-title { font-size:26px; }

/* 投稿本文 */
.post-text { font-size:18px; letter-spacing:0.9px; line-height:28px; }
.post-text h2 { font-size:24px; }
.post-text h3 { font-size:20px; }
.post-text h4, .post-text h5, .post-text h6 { font-size:18px; }
.post-text .alignleft { float:left; margin:0 24px 16px 0; max-width:50%; }
.post-text .alignright { float:right; margin:0 0 16px 24px; max-width:50%; }
.post-text .gallery-columns-2 { grid-template-columns:repeat(2,1fr); }
.post-text .gallery-columns-3 { grid-template-columns:repeat(3,1fr); }
.post-text .gallery-columns-4 { grid-template-columns:repeat(4,1fr); }
.post-text .gallery-columns-5 { grid-template-columns:repeat(5,1fr); }
.post-text .gallery-columns-6 { grid-template-columns:repeat(6,1fr); }
.post-text .gallery-columns-7 { grid-template-columns:repeat(7,1fr); }
.post-text .gallery-columns-8 { grid-template-columns:repeat(8,1fr); }
.post-text .gallery-columns-9 { grid-template-columns:repeat(9,1fr); }

}

@media ( prefers-reduced-motion:reduce ) {

.archive-content .select-form .select-wrap::after { transition:none; }

}
