/* 全ページ共通の仕上げ。下層の文字組み、一覧、見つからないページ。 */
/* 全ページの文字組み：数字と英字にゴシックが混ざらないよう、明朝でそろえる */
html:root { --tcd-font-type1: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif; }

/* 下層の文：言葉の切れ目で改行し、文末だけの行を作らない */
.ts50-sub__lead p, .ts50-ab__lead p, .ts50-ab__relay-text, .ts50-article > p:first-of-type,
.p-page-header__description, .ts50-yh__title, .ts50-ab__close-text { text-wrap: balance; word-break: auto-phrase; }
.ts50-article p, .ts50-sub p, .ts50-ab p, .post_content p { text-wrap: pretty; }

/* 写真のない見出し帯も濃紺に。パンくずは写真の上でも読める白に */
.p-page-header { background: #001040; }
.c-breadcrumb, .c-breadcrumb a, .c-breadcrumb li:last-child, .c-breadcrumb span { color: #fff !important; }
.p-page-header__headline { text-shadow: 0 1px 18px rgba(0, 8, 38, .6); }

/* 協賛企業コラムの記事 */
.p-single--sponsor-column .p-single__header-content::before { content: none; }
.ts50-sponsor-meta__kicker { font-family: "Shippori Mincho B1", "Noto Serif JP", serif; font-size: 14px; letter-spacing: .1em; color: #007eaf; }
.p-single--sponsor-column .p-single__header-title { font-size: clamp(25px, 2.4vw, 34px) !important; word-break: auto-phrase; text-wrap: balance; }
.ts50-sponsor-company { display: block; margin-top: 14px; font-size: .5em; font-weight: 600; line-height: 1.6; color: #5a6270; }

/* 協賛企業コラムの一覧 */
.p-archive--post { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; }
.p-archive--post .p-archive--post-item { width: auto; margin: 0; }
.p-archive--post .p-archive--post-item__link { display: flex; flex-direction: column; height: 100%; }
.p-archive--post .p-archive--post-item__category { display: none; }
.p-archive--post .p-archive--post-item__content { display: flex; flex: 1; flex-direction: column; padding: 26px 24px 22px; }
.p-archive--post .p-archive--post-item__title { display: block; height: auto; margin: 0; overflow: visible; font-size: 18px; line-height: 1.6; word-break: auto-phrase; -webkit-line-clamp: unset; }
.ts50-post-company { margin: 8px 0 16px; font-size: 13px; line-height: 1.7; color: #5a6270; text-wrap: balance; word-break: auto-phrase; }
.p-archive--post .p-archive--post-item__date { margin-top: auto; }

/* お知らせの一覧：濃紺の箱をやめ、画像は切らずに全体を見せる */
.p-archive--news .p-archive--news-wrapper { padding: 0; background: none; }
.p-archive--news .p-archive--news-loop { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; }
.p-archive--news .p-archive--news-item { width: auto; margin: 0; border: 1px solid #ddd; background: #fff; }
.p-archive--news .p-archive--news-item__category { display: none; }
.p-archive--news .p-archive--news-item__image { height: auto; aspect-ratio: 40 / 21; }
.p-archive--news .p-archive--news-item__title { word-break: auto-phrase; text-wrap: balance; }
.p-single--news__header-category { display: none; }

/* 挨拶の行き先：お名前の途中で切らない */
.ts50-msg__link small { word-break: auto-phrase; text-wrap: balance; }

/* トップのお知らせ：一行の題でも行の高さを空けない */
.home .p-fp-news .p-archive--news-item__title { height: auto; }

/* 開催概要の会場 */
.ts50-sub .ts50-sub__address { margin-top: 18px; font-family: "Shippori Mincho B1", "Noto Serif JP", serif; line-height: 1.9; }
.ts50-sub .ts50-sub__access-title { margin-top: 30px; margin-bottom: 12px; }

/* 見つからないページ */
.p-404-page { min-height: calc(100vh - 140px); background: #f4f1ea; color: #001040; }
.p-404-page__headline { font-family: "Shippori Mincho B1", "Noto Serif JP", serif; font-size: clamp(26px, 3.2vw, 40px); font-weight: 700; }
.p-404-page__desc { display: none; }
.ts50-404__text { margin: 18px 0 0; font-size: 15px; line-height: 1.9; color: #4a5468; }
.ts50-404__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; margin: 30px 0 0; padding: 0; list-style: none; }
.ts50-404__link { padding-bottom: 4px; border-bottom: 1px solid #001040; font-size: 15px; font-weight: 600; color: #001040; }

@media (min-width: 861px) {
  .p-single--sponsor-column .p-single__header-title { text-wrap: wrap; }
}
@media (max-width: 860px) {
  .p-archive--post, .p-archive--news .p-archive--news-loop { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .p-single--sponsor-column .ts50-sponsor-meta { flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; }
}
@media (max-width: 600px) {
  /* 座談会・歴代議長：写真の横で文が細くならないよう、写真を文の上に置く */
  .ts50-article .ts50-rt-person, .ts50-article .ts50-chair-portrait { float: none; width: min(72%, 260px); margin: 4px auto 22px !important; }
}
