/* TOP */
.hero .hero-logo, .hero .hero-icon{ display:block; margin:0 auto; transform:translateY(0); }

/* WHAT'S NEW 縦並び（ベースはPC、SPで強制1列はmobile.css） */

/* SYSTEM 固定ページ */
.system-wrap{ max-width:1080px; margin:0 auto; }
/* 表を100vwにしたいブロックに .table-100vw を付与 */
.system-wrap .table-100vw{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw; overflow-x:auto; }
.system-wrap .table-100vw table{ width:100vw; border-collapse:collapse; }
.system-wrap .table-100vw th, .system-wrap .table-100vw td{
  padding:10px 8px; border-bottom:1px solid rgba(255,255,255,.12); word-break:break-word;
}

/* フッターの法務リンク */
.footer-legal{ display:flex; gap:16px; }

/* ===== 変数・ベース ===== */
:root{
  --bg:#0B0F12; --surface:#12171C; --text:#E6EBEF; --muted:#94A3B8; --accent:#00E0A4;
  --max-width:1080px; --header-h:64px;
}
@media (max-width:782px){ :root{ --header-h:56px; } }
html,body{ margin:0; padding:0; background:var(--bg); color:var(--text); line-height:1.6; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }

/* ===== レイアウト ===== */
.container{ max-width:var(--max-width); margin:0 auto; padding:0 16px 60px; }
.grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:960px){ .grid3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .grid3{ grid-template-columns:1fr; } }


/* ===== Hero ===== */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:100px; }
.hero__bg,.hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.hero__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.8); z-index:2; }
.hero__logo-wrap{ position:relative; z-index:3; display:flex; align-items:center; justify-content:center; height:100%; padding-top:20px; }
.hero__logo{ max-width:560px; width:80vw; opacity:0; transform:translateY(20px); animation:fadeInUp 1.2s ease-out forwards; animation-delay:.3s; }
@keyframes fadeInUp{ to{ opacity:1; transform:translateY(0); } }

/* ===== Cards / Quick Links ===== */
.card{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--surface); border-radius:16px; box-shadow:0 2px 10px rgba(0,0,0,.25);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease; text-decoration:none;
}
.quick-links .card{ padding:40px 20px; text-align:center; }
.quick-links .card:hover{ transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.35);
  background:linear-gradient(160deg,#12171C 0%, #C1121F 100%); }
.quick-links .card img{ width:64px; height:64px; object-fit:contain; margin-bottom:16px; filter:brightness(0) invert(1); }
.quick-links .card .h3{ font-size:1.2rem; font-weight:700; letter-spacing:.08em; margin:0 0 6px; text-transform:uppercase; }
.quick-links .card p{ margin:0; font-size:.9rem; color:var(--muted); }

/* ===== WHAT'S NEW（縦並びにも耐える） ===== */
.news-list .card{ display:block; border-radius:14px; overflow:hidden; transition:transform .15s ease, box-shadow .15s ease; }
.news-list .card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.32); }
.news-list .card .thumb{ position:relative; width:100%; aspect-ratio:16/9; background:#000; overflow:hidden; border-radius:12px 12px 0 0; }
.news-list .card .thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.news-list .card .card__body{ padding:14px; }
.news-list .card .h3{ margin:.2rem 0; font-size:1.05rem; font-weight:800; }
.news-list .card .muted{ color:var(--muted); font-size:.85rem; }

/* ===== セクション / アクセス / フッター ===== */
section{ padding:40px 0; }
h2{ margin:0 0 12px; font-size:1.6rem; font-weight:700; }
.muted{ color:var(--muted); }
.access{ display:flex; gap:20px; margin-top:20px; }
.access>*{ flex:1; }
@media(max-width:880px){ .access{ flex-direction:column; } }
.access iframe{ width:100%; height:280px; border:0; border-radius:8px; }
footer{ background:var(--surface); padding:20px 0; text-align:center; color:#cfd6dd; font-size:.9rem; margin-top:40px; }
footer a{ color:#cfd6dd; text-decoration:underline; }

/* ===== WHAT'S NEW をSP縦並びに（保険） ===== */
@media (max-width:768px){
  .whatsnew, .whatsnew-list, .whatsnew-grid, .wp-block-query .wp-block-post-template{ display:block!important; }
  .whatsnew .card, .whatsnew-list > *, .whatsnew-grid > *, .wp-block-query .wp-block-post-template > li{
    width:100%!important; margin:0 0 14px 0!important;
  }
}
/* pages.css */
body.front-page .hero { /* front 専用調整 */ }
body.page-id-123 .system-wrap { /* 固定ページID専用 */ }
