/* トップページ ブロック描画（事務局編集）。既存の style.css 変数（--ink/--gold/--cream/--rule 等）を流用 */
/* 公開サイト（site/index.html）と事務局プレビュー（review2/toppage-preview.html）で共有＝見た目一致の担保 */
.blk-hero{position:relative;color:var(--cream);background:var(--ink);overflow:hidden}
.blk-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.blk-hero.has-overlay .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,24,40,.72),rgba(20,24,40,.35))}
.blk-hero .wrap{position:relative;padding:5rem 0;min-height:280px;display:flex;flex-direction:column;justify-content:center}
.blk-hero h2{font-size:clamp(1.8rem,4vw,3rem);margin:0 0 .8rem;line-height:1.15}
.blk-hero p{font-size:1.1rem;max-width:40rem;margin:0;opacity:.92}
.blk-hero.no-img{background:var(--ink)}
.blk-imgtext .grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.blk-imgtext .grid.right{direction:rtl}.blk-imgtext .grid.right>*{direction:ltr}
.blk-imgtext img{width:100%;border-radius:12px;display:block}
.blk-imgtext .body{white-space:pre-wrap;line-height:1.8}
.blk-notice ul{padding-left:1.2rem;line-height:1.9}
.blk-faq details{border-bottom:1px solid var(--rule);padding:.8rem 0}
.blk-faq summary{cursor:pointer;font-weight:600}
.blk-faq .a{margin:.6rem 0 0;white-space:pre-wrap;line-height:1.8}
.blk-access .addr{line-height:1.9}
.blk-access iframe{width:100%;height:340px;border:0;border-radius:12px;margin-top:1rem}
.blk-access img{max-width:100%;border-radius:12px;margin-top:1rem}
.blk-sponsors .logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.4rem;align-items:center}
.blk-sponsors .logos img{max-width:100%;max-height:70px;object-fit:contain;display:block;margin:0 auto}
.blk-free .body{white-space:pre-wrap;line-height:1.85}
.blk-tt table{width:100%;border-collapse:collapse;margin-top:1rem}
.blk-tt th,.blk-tt td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top;font-size:.95rem}
.blk-tt th{white-space:nowrap;color:var(--ink-muted)}
.blk-tt .day-label{font-weight:600;margin:1.4rem 0 .4rem}
.blk-tt .tt-cards{display:none}
@media(max-width:720px){
  .blk-imgtext .grid{grid-template-columns:1fr}
  .blk-tt .tt-table{display:none}
  .blk-tt .tt-cards{display:block}
  .blk-tt .tt-card{border:1px solid var(--rule);border-radius:10px;padding:.8rem;margin-bottom:.7rem}
  .blk-tt .tt-card div{margin:.15rem 0;font-size:.92rem}
  .blk-tt .tt-card .sess{font-weight:600}
}
