.r-postwrap.uray-bs-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 56px; align-items: start; }
.uray-bs { display: block; position: static; width: auto; margin: 0; padding: 0; background: none; border: 0; }
.uray-bs-box + .uray-bs-box { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line, #d9cfc0); }
.uray-bs-hd { display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px; padding: 10px 14px; background: var(--ivory2, #efe8dc); font-family: var(--mincho, serif); font-size: 16px; font-weight: 600; letter-spacing: .08em; color: var(--ink, #1f1a17); }
.uray-bs-hd span { font-family: var(--en, serif); font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--sub, #5d544e); }
.uray-bs-hd span::before { content: "/"; margin-right: 10px; }
.uray-bs ul { margin: 0; padding: 0; list-style: none; }
.uray-bs-cats li a { position: relative; display: block; padding: 7px 4px 7px 16px; font-size: 14px; letter-spacing: .04em; color: var(--ink, #1f1a17); text-decoration: none; }
.uray-bs-cats li a::before { content: ""; position: absolute; left: 2px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.uray-bs-cats li a:hover, .uray-bs-cats li a[aria-current] { color: var(--red, #8f1d1d); }
.uray-bs-recent li + li { margin-top: 14px; }
.uray-bs-recent a { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; align-items: center; color: var(--ink, #1f1a17); text-decoration: none; }
.uray-bs-recent img, .uray-bs-noimg { width: 88px; height: 66px; object-fit: cover; background: var(--ivory2, #efe8dc); }
.uray-bs-rt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.uray-bs-rt time { font-size: 12px; letter-spacing: .04em; color: var(--sub, #5d544e); }
.uray-bs-rt b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 500; line-height: 1.5; }
.uray-bs-recent a:hover b { color: var(--red, #8f1d1d); }
.uray-bs-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.uray-bs-tags a { display: inline-block; padding: 5px 10px; border: 1px solid #cbbfae; background: #fff; font-size: 13px; letter-spacing: .04em; color: var(--ink, #1f1a17); text-decoration: none; }
.uray-bs-tags a:hover, .uray-bs-tags a[aria-current] { border-color: var(--red, #8f1d1d); color: var(--red, #8f1d1d); }
/* ---------- 記事本文（ブログ・コラム）：見出し・表・リストの仕様。色はサイトの赤 rgb(143 29 29) ----------
   テーマの .r-article-body の指定より優先されるよう .r-postwrap を前に付けている */
.r-postwrap .r-article-body { font-size: 16px; }
.r-postwrap .r-article-body > * { margin: 10px 0; }
.r-postwrap .r-article-body > h2 { background: rgb(143 29 29); color: #fff; font-size: 22px; font-weight: bold; padding: 10px; margin: 40px 0 10px; border: 0; }
.r-postwrap .r-article-body > h3 { color: rgb(143 29 29); font-size: 20px; font-weight: bold; margin: 40px 0 10px; padding: 0; border: 0; }
.r-postwrap .r-article-body > h4 { font-size: 18px; font-weight: bold; margin: 40px 0 10px; }
.r-postwrap .r-article-body > h2 + h3, .r-postwrap .r-article-body > h3 + h4 { margin-top: 10px; }
.r-postwrap .r-article-body b, .r-postwrap .r-article-body strong { font-weight: bold; }
.r-postwrap .r-article-body ol, .r-postwrap .r-article-body ul { padding-left: 40px; }
.r-postwrap .r-article-body ol, .r-postwrap .r-article-body ol li { list-style-position: outside; list-style-type: decimal; }
.r-postwrap .r-article-body ul, .r-postwrap .r-article-body ul li { list-style-position: outside; list-style-type: disc; }
.r-postwrap .r-article-body ol li, .r-postwrap .r-article-body ul li { padding: 0; }
.r-postwrap .r-article-body table { background: #fff; border-collapse: collapse; max-width: 100%; width: 100%; margin: 20px 0; }
.r-postwrap .r-article-body table * { font-size: 14px; }
.r-postwrap .r-article-body table th, .r-postwrap .r-article-body table td { border: 1px solid rgb(143 29 29 / 50%); font-size: 14px; text-align: center; padding: 10px; }
.r-postwrap .r-article-body table tr:nth-child(2n-1) { background: rgb(143 29 29 / 5%); }
.r-postwrap .r-article-body table th { background: rgb(143 29 29 / 10%); font-weight: 700; }
@media screen and (max-width: 768px) {
  .r-postwrap .r-article-body table td, .r-postwrap .r-article-body table th { padding: 5px; }
}
.r-postwrap img.r-article-eye { aspect-ratio: auto; height: auto; object-fit: contain; }   /* 記事ページの上の画像は切り抜かず、縦横比のまま全体を出す */
img.uray-bs-def { filter: none !important; }   /* 共通のアイキャッチには写真用の色補正をかけない */
.uray-bs-kind { display: inline-block; margin-left: 10px; padding: 1px 8px; border: 1px solid currentColor; font-style: normal; font-size: 12px; letter-spacing: .06em; color: var(--sub, #5d544e); vertical-align: 1px; }
.uray-bs-rel { margin: 56px 0 8px; text-align: center; }
.uray-bs-rel-box + .uray-bs-rel-box { margin-top: 36px; }
.uray-bs-rel-hd { margin: 0; font-family: var(--mincho, serif); font-size: 24px; font-weight: 500; letter-spacing: .08em; color: var(--gold, #b08a48); }
.uray-bs-rel-hd::before { content: ""; display: block; width: 1px; height: 28px; margin: 0 auto 16px; background: var(--ink, #1f1a17); }
.uray-bs-rel-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.uray-bs-rel-list a { display: inline-block; padding: 8px 10px; border: 1px solid #d6d0c8; background: #fff; font-size: 14px; letter-spacing: .04em; color: var(--ink, #1f1a17); text-decoration: none; }
.uray-bs-rel-list a:hover { border-color: var(--red, #8f1d1d); color: var(--red, #8f1d1d); }
@media (max-width: 900px) {
  .r-postwrap.uray-bs-wrap { grid-template-columns: 1fr; gap: 40px; }
  .uray-bs-rel { margin-top: 44px; }
  .uray-bs-rel-hd { font-size: 20px; }
  .uray-bs-cats li a { padding-top: 10px; padding-bottom: 10px; }
  .uray-bs-tags a { padding: 8px 12px; }
}
