/* blog-post.css — blog-post.html 固有スタイル */
.post-hero{height:38vh;min-height:280px;position:relative;display:flex;align-items:flex-end;padding-bottom:36px;overflow:hidden;margin-top:56px;}
.post-hero-bg{position:absolute;inset:0;background-position:center center;background-size:cover;background-repeat:no-repeat;animation:bgZoom 8s ease forwards;}
.post-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(44,31,21,0.9) 0%,rgba(44,31,21,0.3) 60%,rgba(44,31,21,0.2) 100%);}
.post-hero-body{position:relative;z-index:2;padding:0 80px;max-width:900px;}
.post-meta{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.post-date{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:0.2em;color:rgba(250,247,242,0.55);}
.post-cat{font-size:10px;letter-spacing:0.2em;color:var(--gold);background:rgba(196,169,107,0.15);padding:4px 12px;}
.post-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(22px,3.5vw,38px);font-weight:600;letter-spacing:0.1em;color:var(--cream);line-height:1.4;}
.post-wrap{max-width:1100px;margin:0 auto;padding:72px 80px;display:grid;grid-template-columns:1fr 280px;gap:60px;align-items:start;}
.post-body p{font-size:14px;line-height:2.8;letter-spacing:0.08em;color:var(--text-m);margin-bottom:28px;}
.post-body h2{font-family:'Shippori Mincho',serif;font-size:22px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin:48px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--sand);}
.post-body h3{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:600;letter-spacing:0.08em;color:var(--espresso);margin:36px 0 14px;}
.post-body img{width:100%;margin:32px 0;display:block;}
.post-body blockquote{border-left:3px solid var(--gold);padding:20px 24px;background:var(--warm);margin:32px 0;font-size:13.5px;line-height:2.4;letter-spacing:0.07em;color:var(--text-m);font-style:italic;}
.post-body .img-caption{font-size:11px;letter-spacing:0.1em;color:var(--text-l);text-align:center;margin-top:-20px;margin-bottom:32px;}
.post-author{border-top:1px solid var(--sand);margin-top:56px;padding-top:40px;display:flex;gap:20px;align-items:center;}
.author-icon{width:60px;height:60px;border-radius:50%;background:var(--espresso);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Shippori Mincho',serif;font-size:20px;color:var(--gold);}
.author-name{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:4px;}
.author-role{font-size:11px;letter-spacing:0.14em;color:var(--text-l);}
.related{margin-top:56px;border-top:1px solid var(--sand);padding-top:40px;}
.related-ttl{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:28px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.related-card{text-decoration:none;color:inherit;transition:opacity 0.3s;}
.related-card:hover{opacity:0.72;}
.related-img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:12px;}
.related-cat{font-size:10px;letter-spacing:0.18em;color:var(--gold);margin-bottom:6px;}
.related-ttl-sm{font-size:13px;letter-spacing:0.07em;color:var(--espresso);line-height:1.5;font-family:'Shippori Mincho',serif;}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-top:1px solid var(--sand);position:static;top:auto;left:auto;right:auto;z-index:auto;padding:0;backdrop-filter:none;box-shadow:none;}
.post-nav-item{padding:28px 32px;text-decoration:none;color:inherit;background:var(--warm);transition:background 0.3s;}
.post-nav-item:hover{background:var(--sand);}
.post-nav-item.next{text-align:right;}
.nav-dir{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:8px;}
.nav-ttl{font-family:'Shippori Mincho',serif;font-size:14px;letter-spacing:0.08em;color:var(--espresso);line-height:1.5;}
@media(max-width:900px){
  .post-hero-body{padding:0 24px;}
  .post-wrap{grid-template-columns:1fr;padding:48px 24px;gap:40px;}
  .related-grid{grid-template-columns:1fr;}
  .post-nav{grid-template-columns:1fr;}
}
