/* お知らせ・ブログ（archive.php / home.php / single.php）用。テーマのトーン（緑 #63B389・明朝見出し）に合わせた最小限の装飾 */
.p-blog__list .p-top__news-list { width: 100%; }
.p-blog__pagination { margin-top: 48px; }
.p-blog__pagination .nav-links { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
.p-blog__pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid #A3C9B5; color: #2F8F5F; font-family: "Cinzel", serif; font-size: 16px; text-decoration: none; transition: background-color .2s, color .2s; }
.p-blog__pagination .page-numbers:hover { background-color: #E4F2EB; }
.p-blog__pagination .page-numbers.current { background-color: #63B389; border-color: #63B389; color: #FFFFFF; }
.p-blog__pagination .page-numbers.dots { border: none; }
.p-blog__pagination .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.p-blog__header { display: flex; flex-direction: column; gap: 16px; }
.p-blog__title { font-family: "Shippori Mincho B1", serif; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); font-weight: 500; line-height: 1.5; }
.p-blog__thumb { margin-top: 32px; }
.p-blog__thumb img { width: 100%; height: auto; object-fit: cover; }
.p-blog__body { margin-top: 40px; color: #6B6B6B; font-size: 16px; line-height: 2; }
.p-blog__body > * + * { margin-top: 1.5em; }
.p-blog__body h2 { margin-top: 2.5em; padding-bottom: 12px; border-bottom: 1px solid #A3C9B5; color: #333333; font-family: "Shippori Mincho B1", serif; font-size: 26px; font-weight: 500; line-height: 1.5; }
.p-blog__body h3 { margin-top: 2em; padding-left: 14px; border-left: 3px solid #63B389; color: #333333; font-family: "Shippori Mincho B1", serif; font-size: 21px; font-weight: 500; line-height: 1.5; }
.p-blog__body h4 { margin-top: 1.5em; color: #333333; font-size: 17px; font-weight: 700; }
.p-blog__body ul, .p-blog__body ol { padding-left: 1.5em; }
.p-blog__body ul { list-style: disc; }
.p-blog__body ol { list-style: decimal; }
.p-blog__body li + li { margin-top: .4em; }
.p-blog__body a { color: #2F8F5F; text-decoration: underline; }
.p-blog__body a:hover { opacity: .7; }
.p-blog__body img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.p-blog__body figure { margin: 0; }
.p-blog__body figcaption { margin-top: 8px; font-size: 13px; text-align: center; color: #888888; }
.p-blog__body blockquote { padding: 16px 24px; background-color: #EFF4F1; border-left: 3px solid #63B389; }
.p-blog__body table { width: 100%; border-collapse: collapse; font-size: 15px; }
.p-blog__body th, .p-blog__body td { padding: 12px 16px; border: 1px solid #A3C9B5; text-align: left; vertical-align: top; }
.p-blog__body th { background-color: #E4F2EB; font-weight: 500; }
.p-blog__body strong { color: #333333; }
.p-blog__body hr { border: none; border-top: 1px solid #A3C9B5; }
.p-blog__back { margin-top: 56px; text-align: center; }
@media (max-width: 767px) {
  .p-blog__body { font-size: 14px; }
  .p-blog__body h2 { font-size: 20px; }
  .p-blog__body h3 { font-size: 17px; }
  .p-blog__body th, .p-blog__body td { padding: 8px 10px; font-size: 13px; }
}

/* 下層ページ 本文内リンクの視認性（2026-09-08 追加）：文中リンク・チェックリスト内リンクに下線と緑色 */
.p-template__text a, .p-template__merit-check-item .text a, .p-template__flow02-text a { color: #2F8F5F; text-decoration: underline; text-underline-offset: 3px; }
.p-template__text a:hover, .p-template__merit-check-item .text a:hover, .p-template__flow02-text a:hover { opacity: .7; }

/* TOP カードのリンク化（2026-09-08）：注力診療・症状・診療内容の各カード全体をクリック可能に */
.p-top__card-link { display: block; color: inherit; text-decoration: none; transition: opacity .2s; }
.p-top__card-link:hover { opacity: .8; }
/* 元のカードは flex コンテナだったため、リンクで包んでも同じレイアウトになるよう継承させる */
.p-top__pickup-item > .p-top__card-link { display: flex; flex-direction: column; flex: 1; height: 100%; }
.p-top__pickup-item > .p-top__card-link .p-top__pickup-body { flex: 1; }
.p-top__menu-item > .p-top__card-link { display: flex; align-items: center; gap: 20px; width: 100%; }
@media screen and (max-width: 767px) { .p-top__menu-item > .p-top__card-link { gap: 16px; } }
.p-top__symptom-item > .p-top__card-link { position: relative; z-index: 2; }
.p-top__news-empty { padding: 24px 0; color: #6B6B6B; font-size: 15px; }
/* フッター 併記リンク（一般歯科／小児歯科 等）の区切りを親要素の色に */
.p-footer__nav-sub-item { color: inherit; }

/* 下層ページ FV のスマホ高さ調整（2026-09-09）：PC用の固定 720px がスマホでも適用され間延びするため、SPは半分の 360px に */
@media screen and (max-width: 767px) {
  .p-template__fv { height: 360px; }
}
