.primary{ margin: 0px 5vw !important; max-width: 700px;}
.posts-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem
}
@media (max-width:1024px){.posts-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.posts-grid{grid-template-columns:1fr}}

.post-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.post-card__thumb img{display:block;width:100%;height:180px;object-fit:cover}
.post-card__body{padding:1rem}
.post-card__title{margin:.2rem 0 .4rem;font-size:1.05rem;line-height:1.5}
.post-card__excerpt{color:#64748B}
.post-card__more{display:inline-block;margin-top:.4rem;font-weight:700;text-decoration:none}

.cta-wide{margin-top:2rem}
h1{ font-size: 2.5rem; border-bottom: 2px solid #068a99; width: 80vw; padding-bottom: 5px;}
h2{background-color: #068a99;
    color: white!important;
    padding: 10px;}
    h3{border-bottom: 3px solid #068a99;
    padding: 0 0 6px 10px;}
.entry-title{font-size: 30px;}

/* スタイル（あとでCSSファイルに移せるよう同梱） */
    .depo-toc{background:#068a99;border:1px solid #e5e7eb;border-radius:10px;margin:1rem 0 1.5rem}
    .depo-toc__bar{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:#068a99;color:#fff;border-radius:10px 10px 0 0}
    .depo-toc__title{font-weight:800;margin:0}
    .depo-toc__toggle{background:transparent;border:0;color:#fff;font-weight:700;cursor:pointer}
    .depo-toc__panel{padding:.9rem 1rem;background:#e9feff;border-radius:0 0 10px 10px}
    .depo-toc__list{list-style:none;margin:0;padding:0}
    .depo-toc__item{margin:.35rem 0}
    .depo-toc__sub{list-style:none;margin:.25rem 0 .5rem .9rem;padding:0}
    .depo-toc a{text-decoration: none !important; text-decoration:none;color:#068a99; font-weight: bold;}
    .depo-toc a:hover{text-decoration:underline}
    /* アンカー着地時に固定ヘッダーと被らないように */
    h2, h3{scroll-margin-top: 90px;}
    @media (max-width: 600px){ h2, h3{scroll-margin-top: 72px;} }

    