@charset "utf-8";
/* ブログ（一覧・記事）。色や影は style.css の変数・作法をそのまま使う */

/* ---------- ヘッダーのテキストリンク ---------- */
.hd__link{color:var(--gd);text-decoration:none;font-weight:900;font-size:15px;white-space:nowrap;padding:0 8px;}
.hd__link:hover{color:var(--g);}
@media(max-width:900px){.hd__link{display:none;}}

/* ---------- 一覧グリッド ---------- */
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog__card{display:flex;flex-direction:column;background:#fff;border-radius:28px;overflow:hidden;
  box-shadow:0 10px 0 rgba(6,32,80,.10);text-decoration:none;color:var(--ink)!important;transition:.15s;}
.blog__card:hover{transform:translateY(4px);box-shadow:0 6px 0 rgba(6,32,80,.10);}
.blog__thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream);}
.blog__thumb--none{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--cream),#dfeaf8);color:var(--g);font-size:30px;font-weight:900;}
.blog__body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.blog__date{font-size:13px;font-weight:900;color:var(--g)!important;letter-spacing:.04em;}
.blog__t{margin:0;font-size:19px;font-weight:900;line-height:1.5;color:var(--gd);}
.blog__ex{margin:0;font-size:14.5px;line-height:1.8;color:var(--gray);}
@media(max-width:900px){.blog__grid{grid-template-columns:1fr;}}

.blog__more{margin-top:44px;}
.blog__empty{text-align:center;color:var(--gray);margin:0;}
.sec--green .blog__empty{color:rgba(255,255,255,.95);}

/* ---------- ページ送り ---------- */
.blog__pager{margin-top:44px;}
/* ul 自体にも class="page-numbers" が付くため、ボタン用の見た目が当たってしまう。
   .blog__pager .page-numbers より詳細度を上げて打ち消し、横並びのリストに戻す。 */
.blog__pager ul.page-numbers{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;
  background:none;box-shadow:none;border-radius:0;min-width:0;}
.blog__pager ul.page-numbers > li{list-style:none;margin:0;}
.blog__pager .page-numbers{display:inline-block;min-width:46px;padding:11px 16px;border-radius:9999px;
  background:#fff;color:var(--gd)!important;font-weight:900;text-decoration:none;text-align:center;
  box-shadow:0 4px 0 rgba(6,32,80,.12);transition:.12s;}
.blog__pager .page-numbers:hover{transform:translateY(2px);box-shadow:0 2px 0 rgba(6,32,80,.12);}
.blog__pager .page-numbers.current{background:var(--g);color:#fff!important;}

/* ---------- 記事本文 ---------- */
.entry{max-width:780px;margin:0 auto;}
.entry__date{text-align:center;font-size:14px;font-weight:900;color:var(--g);margin:0 0 10px;letter-spacing:.04em;}
.entry__title{text-align:center;font-size:32px;font-weight:900;line-height:1.5;color:var(--gd);margin:0 0 28px;}
.entry__thumb{margin:0 0 34px;}
.entry__thumb img{width:100%;border-radius:28px;display:block;}
.entry__body{font-size:16.5px;line-height:1.95;color:var(--ink);}
.entry__body > *:first-child{margin-top:0;}
.entry__body p{margin:0 0 1.4em;}
.entry__body h2{font-size:24px;font-weight:900;color:var(--gd);line-height:1.5;
  margin:2em 0 .7em;border-left:8px solid var(--y);padding-left:16px;}
.entry__body h3{font-size:19px;font-weight:900;color:var(--gd);margin:1.8em 0 .6em;line-height:1.6;}
.entry__body a{color:var(--g);text-decoration:underline;}
.entry__body ul,.entry__body ol{margin:0 0 1.4em 1.4em;}
.entry__body li{margin:.4em 0;}
.entry__body img{max-width:100%;height:auto;border-radius:20px;margin:1.2em 0;}
.entry__body blockquote{margin:1.4em 0;padding:18px 22px;background:var(--cream);
  border-left:6px solid var(--g);border-radius:0 16px 16px 0;color:var(--gray);}
.entry__body blockquote p:last-child{margin-bottom:0;}
.entry__body table{width:100%;border-collapse:collapse;margin:1.4em 0;}
.entry__body th,.entry__body td{border:1px solid var(--line);padding:10px 12px;}
.entry__body th{background:var(--cream);color:var(--gd);}
.entry__foot{margin-top:52px;}
.entry__foot .btn + .btn{margin-top:16px;}
@media(max-width:900px){
  .entry__title{font-size:25px;}
  .entry__body{font-size:16px;}
  .entry__body h2{font-size:21px;}
  .entry__body h3{font-size:18px;}
}
