/* ミニゲーム「ライ君ダッシュ」の欄と全画面の枠（/js/game-card.js が使う）。会社ページとカミデジのLPで共用。
   ★ 欄の外枠・見出しのラベルは、ページの決まり（.sec .inkbg .wrap .sec-label）に頼らず自前で持つ。
     2ページで .sec-label の形が違い、LPには .wrap .inkbg が無いため。
     値は会社ページ（/css/company.css の .sec・.inkbg・.wrap・.sec-label）に合わせてある。向こうを変えたらここも合わせる。
   ★ 「遊んでみる」のボタンだけは、わざとページの .btn .btn-green に頼る（ボタンはそのページの見た目にそろえる）。
   ★ LPには --mint が無いので、予備の値（会社ページと同じ #6EE7A8）を付けて書く。 */
.game-sec { padding:clamp(72px,9vw,116px) 0; background-color:var(--ink,#243044); color:#fff;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:28px 28px; }
.game-label { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; letter-spacing:.16em; color:var(--mint,#6EE7A8); text-transform:uppercase; margin-bottom:12px; }
.game-label::before { content:""; width:18px; height:2px; background:currentColor; border-radius:2px; }
.game-wrap { max-width:1100px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,5vw,64px); align-items:center; }
.game-title { font-family:'Zen Maru Gothic',sans-serif; font-size:clamp(28px,3.6vw,40px); font-weight:900; line-height:1.35; }
.game-title .accent { color:var(--mint,#6EE7A8); }
.game-desc { font-size:15px; line-height:1.95; color:rgba(255,255,255,.78); margin-top:16px; }
.game-facts { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding:0; }
.game-facts li { font-size:13px; font-weight:700; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:4px 12px; }
.game-play { margin-top:26px; font-size:16px; padding:14px 28px; }
.game-screen { position:relative; display:block; width:100%; aspect-ratio:16/9; padding:0; border:0; border-radius:18px; overflow:hidden; cursor:pointer; background:#1B2331; box-shadow:0 0 0 6px rgba(255,255,255,.06), 0 24px 60px rgba(0,0,0,.35); }
.game-screen video { width:100%; height:100%; object-fit:cover; display:block; }
/* 再生ボタンは右下に。真ん中に置くとライ君に重なって、動いている様子が見えない */
.game-screen-play { position:absolute; right:14px; bottom:14px; display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:#fff; background:rgba(16,124,65,.94); border-radius:999px; padding:8px 16px; box-shadow:0 4px 14px rgba(0,0,0,.25); transition:transform .2s; }
.game-screen:hover .game-screen-play { transform:scale(1.08); }
.game-screen-tag { position:absolute; left:14px; top:12px; font-family:'Zen Maru Gothic',sans-serif; font-size:15px; font-weight:900; color:#fff; background:rgba(23,37,29,.6); border-radius:8px; padding:3px 10px; }
@media (max-width:860px) { .game-wrap { grid-template-columns:1fr; } .game-screen { order:-1; } .game-play { width:100%; } }
.game-modal { position:fixed; inset:0; z-index:1000; background:rgba(10,20,15,.82); display:flex; align-items:center; justify-content:center; touch-action:none; }
.game-frame { position:relative; width:min(1100px,96vw); aspect-ratio:16/9; max-height:92vh; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 24px 60px rgba(0,0,0,.4); }
.game-frame iframe { width:100%; height:100%; border:0; display:block; opacity:0; transition:opacity .35s ease; }
.game-modal.ready .game-frame iframe { opacity:1; }
.game-loading { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:#1B2331; color:#fff; font-weight:700; font-size:15px; transition:opacity .35s ease; }
.game-modal.ready .game-loading { opacity:0; pointer-events:none; }
.game-spin { width:40px; height:40px; border-radius:50%; border:4px solid rgba(255,255,255,.18); border-top-color:var(--mint,#6EE7A8); animation:gameSpin .8s linear infinite; }
@keyframes gameSpin { to { transform:rotate(360deg); } }
.game-close { position:fixed; top:12px; right:12px; z-index:1001; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.95); color:#17251D; font-size:26px; line-height:1; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.25); }
@media (max-width:760px), (max-aspect-ratio:1/1) { .game-frame { width:100vw; height:100vh; height:100dvh; max-height:none; aspect-ratio:auto; border-radius:0; } .game-close { top:auto; bottom:calc(14px + env(safe-area-inset-bottom)); right:14px; } }
@media(max-width:600px){ .game-wrap { padding:0 18px; } }
