@charset "UTF-8";
/* =========================================================
   cure-like.css — コラム記事／カテゴリ一覧／お知らせ（本番の旧Cureレイアウトの再現。値は本番の実測）
   マークアップは inc/cure-like.php。クラスは fs-cl-*。
   本番はこの領域だけ Arial 系ゴシックを使い、記事本文だけ明朝系。
   ========================================================= */
.fs-cl-wrap, .fs-cl-crumb, .fs-cl-archhd { font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; color: #000; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- パンくず ---------- */
.fs-cl-crumb { max-width: var(--cl-w, 1000px); margin: 30px auto 50px; padding: 0 20px; box-sizing: border-box; }
.fs-cl-crumb ul { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; list-style: none; margin: 0; padding: 0; font-size: 13px; line-height: 15px; color: #000; }
.fs-cl-crumb li { display: inline-flex; align-items: center; }
.fs-cl-crumb li + li::before { content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 8px; color: #555; margin: 0 14px; }
.fs-cl-crumb a { color: #000; }
.fs-cl-crumb a:hover { color: var(--fs-primary); }
.fs-cl-crumb .is-home .fas { font-size: 13px; }
.fs-cl-crumb .is-last { color: var(--fs-primary); }

/* ---------- 一覧ページ上部の帯（写真＋緑ラベル。写真が無ければ灰色＝本番のカテゴリ一覧と同じ） ---------- */
.fs-cl-archhd { position: relative; max-width: 1200px; height: 400px; margin: 40px auto 0; background: #b3b3b3 center top / cover no-repeat; box-sizing: border-box; }
@media (max-width: 1240px) { .fs-cl-archhd { margin-left: 20px; margin-right: 20px; } }
.fs-cl-archhd__ov { position: absolute; inset: 0; background: rgba(0,0,0,.3); }
.fs-cl-archhd__label { position: absolute; left: 0; top: 0; width: 150px; height: 150px; background: #66bb6a; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; letter-spacing: .02em; text-align: center; }

/* ---------- レイアウト ---------- */
.fs-cl-wrap { display: flex; align-items: flex-start; gap: 50px; max-width: 1000px; margin: 0 auto; padding: 0 20px 150px; box-sizing: border-box; }
.fs-cl-main { flex: 1 1 700px; min-width: 0; max-width: 700px; }
.fs-cl-wrap--list { display: block; }
.fs-cl-wrap--list .fs-cl-main { max-width: none; }
.fs-cl-wrap--narrow { display: block; }
.fs-cl-wrap--narrow .fs-cl-main { margin: 0 auto; }
.fs-cl-side { flex: 0 0 250px; width: 250px; }

/* ---------- 記事 ---------- */
.fs-cl-post__img { position: relative; height: 440px; background: #eee center center / cover no-repeat; margin-bottom: 47px; }
.fs-cl-tab { position: absolute; left: 0; bottom: 0; display: block; height: 35px; padding: 0 20px; background: #c1b18a; color: #fff !important; font-size: 12px; line-height: 35px; text-decoration: none !important; }
.fs-cl-post__ttl { margin: 0; font-size: 26px; line-height: 1.3; font-weight: 500; color: #000; }
.fs-cl-post__date { margin: 12px 0 0; font-size: 14px; line-height: 14px; color: #999; }
.fs-cl-content { margin-top: 45px; font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; font-size: 16px; line-height: 2.2; color: #000; }
.fs-cl-content p { margin: 0 0 32px; }
.fs-cl-content img { max-width: 100%; height: auto; }
.fs-cl-content figure { margin: 0 0 32px; }
.fs-cl-content h2 { margin: 40px 0 20px; padding: 10px; background: #d7f5d7; color: #158338; font-size: 22px; line-height: 1.4; font-weight: 600; }
.fs-cl-content h3 { margin: 30px 0 15px; padding: 0; border-bottom: 1px solid #2e9d60; font-size: 20px; line-height: 1.4; font-weight: 600; }
.fs-cl-content h4 { margin: 24px 0 12px; font-size: 18px; line-height: 1.5; font-weight: 600; color: #158338; }
.fs-cl-content ul, .fs-cl-content ol { margin: 0 0 32px; padding-left: 1.6em; }
.fs-cl-content li { margin-bottom: 6px; }
.fs-cl-content table { width: 100%; border-collapse: collapse; margin: 0 0 32px; font-size: 15px; line-height: 1.7; }
.fs-cl-content th, .fs-cl-content td { border: 1px solid #ddd; padding: 10px 12px; text-align: left; vertical-align: top; }
.fs-cl-content th { background: #f3f9f3; }
.fs-cl-content .s_table { overflow-x: auto; }
.fs-cl-content a { color: var(--fs-primary); text-decoration: underline; }
.fs-cl-content a:hover { opacity: .8; }
.fs-cl-content .wp-block-button__link, .fs-cl-content a[style*="background"] { text-decoration: none; }
.fs-cl-back { margin: 60px 0 0; text-align: center; }
.fs-cl-back a { display: inline-block; min-width: 240px; padding: 16px 30px; background: var(--fs-primary); color: #fff; font-size: 15px; line-height: 1.4; text-align: center; }
.fs-cl-back a:hover { background: #2a7d2c; }

/* ---------- サイドバー ---------- */
.fs-cl-widget { margin: 0 0 50px; }
.fs-cl-widget__ttl { display: inline-block; width: 80px; margin: 0 0 20px; padding: 20px 0 0; border-top: 3px solid #349936; font-size: 16px; line-height: 1; font-weight: 500; color: #000; white-space: nowrap; }
.fs-cl-widget__ttl span { display: block; }
.fs-cl-recent { list-style: none; margin: 0; padding: 0; border: 1px solid #ddd; }
.fs-cl-recent li + li { border-top: 1px solid #ddd; }
.fs-cl-recent a { display: flex; color: #000; }
.fs-cl-recent a:hover { background: #f6faf6; }
.fs-cl-recent__img { flex: 0 0 100px; width: 100px; height: 100px; background: #eee center center / cover no-repeat; }
.fs-cl-recent__txt { display: block; padding: 3px 15px 0 18px; min-width: 0; }
.fs-cl-recent__txt strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 14px; line-height: 22px; font-weight: 500; }
.fs-cl-recent__txt time { display: block; font-size: 12px; line-height: 24px; color: #999; }
.fs-cl-cats { list-style: none; margin: 0; padding: 0; }
.fs-cl-cats a { display: block; margin-bottom: -1px; padding: 0 24px; border: 1px solid #ddd; background: #fff; color: #000; font-size: 14px; line-height: 50px; }
.fs-cl-cats a:hover { background: #f6faf6; color: var(--fs-primary); }
.fs-cl-archive { margin: 40px 0 0; }
.fs-cl-archive select { width: 100%; height: 50px; padding: 0 16px; border: 1px solid #ddd; background: #fff; font: inherit; font-size: 14px; color: #000; }

/* ---------- カード（3列） ---------- */
.fs-cl-wrap--list { max-width: 1000px; }
.fs-cl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid #ddd; border-top: 1px solid #ddd; margin: 0 0 40px; }
.fs-cl-card { border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #fff; }
.fs-cl-card a { display: block; color: #000; height: 100%; }
.fs-cl-card a:hover .fs-cl-card__ttl { color: var(--fs-primary); }
.fs-cl-card__img { position: relative; height: 190px; background: #eee center center / cover no-repeat; }
.fs-cl-card__img .fs-cl-tab { height: 32px; line-height: 32px; padding: 0 20px; left: 20px; }
.fs-cl-card__body { display: flex; flex-direction: column; min-height: 130px; padding: 18px 20px 20px; }
.fs-cl-card__ttl { margin: 0 0 auto; font-size: 16px; line-height: 1.6; font-weight: 500; }
.fs-cl-card__date { margin-top: 14px; font-size: 13px; line-height: 1; color: #999; }

/* ---------- お知らせ一覧 ---------- */
.fs-cl-newslist { display: block; max-width: 700px; margin: 0 auto 40px; }
.fs-cl-newsrow { border: 1px solid #ddd; margin-bottom: -1px; }
.fs-cl-newsrow a { display: flex; color: #000; min-height: 138px; }
.fs-cl-newsrow a:hover h2 { color: var(--fs-primary); }
.fs-cl-newsrow__img { flex: 0 0 330px; background: #eee center center / cover no-repeat; }
.fs-cl-newsrow__body { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; padding: 24px 40px; }
.fs-cl-newsrow time { font-size: 14px; line-height: 1.4; color: #999; margin-bottom: 8px; }
.fs-cl-newsrow h2 { margin: 0; font-size: 18px; line-height: 1.7; font-weight: 500; }

@media screen and (max-width: 900px) {
  .fs-cl-wrap { display: block; padding-bottom: 80px; }
  .fs-cl-main { max-width: none; }
  .fs-cl-side { width: auto; margin-top: 60px; }
  .fs-cl-post__img { height: auto; aspect-ratio: 700 / 440; }
  .fs-cl-post__ttl { font-size: 22px; }
  .fs-cl-content h2 { font-size: 19px; }
  .fs-cl-content h3 { font-size: 17px; }
  .fs-cl-archhd { height: 220px; }
  .fs-cl-archhd__label { width: 100px; height: 100px; font-size: 15px; }
  .fs-cl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fs-cl-newsrow a { flex-direction: column; }
  .fs-cl-newsrow__img { flex-basis: 180px; height: 180px; }
  .fs-cl-newsrow__body { padding: 18px 20px; }
}
@media screen and (max-width: 560px) {
  .fs-cl-crumb { margin-bottom: 30px; }
  .fs-cl-grid { grid-template-columns: 1fr; }
  .fs-cl-card__img { height: 200px; }
}
