/* HAZUSEKAI CMS: HD embed styles (Phase2) */

.hazu-hd-embed {
  max-width: 980px;
  margin: 0 auto;
  padding: 24px 12px;
  box-sizing: border-box;
  /* TOPカード：筐体画像の列幅（px指定） */
  --hazu-hd-topcard-img-col-pc: 220px;
  --hazu-hd-topcard-img-col-sp: 160px;
  --hazu-hd-topcard-img-pad-top: var(--hazu-hd-topcard-img-pad-pc-t, var(--hazu-hd-topcard-img-margin-pc, var(--hazu-hd-topcard-img-margin, 0px)));
  --hazu-hd-topcard-img-pad-right: var(--hazu-hd-topcard-img-pad-pc-r, var(--hazu-hd-topcard-img-margin-pc, var(--hazu-hd-topcard-img-margin, 0px)));
  --hazu-hd-topcard-img-pad-bottom: var(--hazu-hd-topcard-img-pad-pc-b, var(--hazu-hd-topcard-img-margin-pc, var(--hazu-hd-topcard-img-margin, 0px)));
  --hazu-hd-topcard-img-pad-left: var(--hazu-hd-topcard-img-pad-pc-l, var(--hazu-hd-topcard-img-margin-pc, var(--hazu-hd-topcard-img-margin, 0px)));
  --hazu-hd-topcard-info-pad-top: var(--hazu-hd-topcard-info-pad-pc-t, 12px);
  --hazu-hd-topcard-info-pad-right: var(--hazu-hd-topcard-info-pad-pc-r, 7px);
  --hazu-hd-topcard-info-pad-bottom: var(--hazu-hd-topcard-info-pad-pc-b, 12px);
  --hazu-hd-topcard-info-pad-left: var(--hazu-hd-topcard-info-pad-pc-l, 7px);
  --hazu-hd-topcard-tieup-pad-top: var(--hazu-hd-topcard-tieup-pad-pc-t, 12px);
  --hazu-hd-topcard-tieup-pad-right: var(--hazu-hd-topcard-tieup-pad-pc-r, 12px);
  --hazu-hd-topcard-tieup-pad-bottom: var(--hazu-hd-topcard-tieup-pad-pc-b, 12px);
  --hazu-hd-topcard-tieup-pad-left: var(--hazu-hd-topcard-tieup-pad-pc-l, 7px);
}

/* ヘッダーとメイン枠の隙間（UI調整「共通 ＞ メイン枠 上の隙間」）。
   機種TOPは .hazu-hd-embed が2重入れ子で上パディング 24+24=48px。内側embed（メイン枠の直親）の
   上パディングを 0 に集約し、外側embed（:has で2重構造のページだけに限定）の padding-top を1ノブ化。
   既定 48px＝現状(24+24)維持・0 で隙間ゼロ。PC=base / スマホ=@media(<=768) と is-sp(:has) で出し分け。
   全体を @supports selector(:has(*)) で囲み、:has 非対応の旧ブラウザでは一切手を付けず現状の24+24=48を維持。
   単一embedページ（入れ子でない）は :has も子セレクタも一致せず不変。 */
@supports selector(:has(*)){
  .hazu-hd-embed > .hazu-hd-embed{ padding-top: 0; }
  .hazu-hd-embed:has(> .hazu-hd-embed){ padding-top: var(--hazu-hd-frame-gap-top, 48px); }
  @media (max-width: 768px){
    .hazu-hd-embed:has(> .hazu-hd-embed){ padding-top: var(--hazu-hd-frame-gap-top-sp, 48px); }
  }
  .hazu-hd-embed:has(> .hazu-hd-embed.hazu-hd-is-sp){ padding-top: var(--hazu-hd-frame-gap-top-sp, 48px); }
}


/* Mobile: keep the whole HD area at 90% width */
@media (max-width: 640px) {
  .hazu-hd-embed {    --hazu-hd-topcard-info-pad-top: var(--hazu-hd-topcard-info-pad-sp-t, 10px);
    --hazu-hd-topcard-info-pad-right: var(--hazu-hd-topcard-info-pad-sp-r, 5px);
    --hazu-hd-topcard-info-pad-bottom: var(--hazu-hd-topcard-info-pad-sp-b, 10px);
    --hazu-hd-topcard-info-pad-left: var(--hazu-hd-topcard-info-pad-sp-l, 5px);
    --hazu-hd-topcard-tieup-pad-top: var(--hazu-hd-topcard-tieup-pad-sp-t, 10px);
    --hazu-hd-topcard-tieup-pad-right: var(--hazu-hd-topcard-tieup-pad-sp-r, 10px);
    --hazu-hd-topcard-tieup-pad-bottom: var(--hazu-hd-topcard-tieup-pad-sp-b, 10px);
    --hazu-hd-topcard-tieup-pad-left: var(--hazu-hd-topcard-tieup-pad-sp-l, 5px);

    width: var(--hazu-hd-mobile-body-w, 98%);
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    }
}


@media (max-width: 640px) {
  /* v4.1.334: メイン枠 幅(%)（No.22794 mobile_mainframe_w）は width ではなく max-width で与える。
     width を固定%にすると「メイン枠 左右マージン」(No.36145/27867 = mframe-ml/mr-sp)を併用したとき
     width% + 左右マージンが over-constrained になり、LTR では margin-right が無視されて
     右マージンだけ効かない（枠が右へはみ出す）。width:auto + max-width にすると左右マージンが常に実ギャップになり、
     マージン未指定(auto)時は従来どおり指定%で中央寄せ。セレクタは .hazu-hd-embed 前置で (0,2,0) にして
     .hazu-hd-topcard--v2{max-width:980px}(0,1,0) より優先させる。 */
  .hazu-hd-embed .hazu-hd-topcard{
    width: auto;
    max-width: var(--hazu-hd-mobile-mainframe-w, 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .hazu-hd-embed .hazu-hd-topcard__img {
    box-sizing: border-box;
    justify-self: start;
    align-self: start;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: var(--hazu-hd-topcard-img-pad-top-sp, 0px);
    padding-right: var(--hazu-hd-topcard-img-pad-right-sp, 0px);
    padding-bottom: var(--hazu-hd-topcard-img-pad-bottom-sp, 0px);
    padding-left: var(--hazu-hd-topcard-img-pad-left-sp, 0px);
  }
  .hazu-hd-genre-nav{
    width: var(--hazu-hd-mobile-genre-nav-w, 100%);
    margin-left: auto;
    margin-right: auto;
  }
  
.hazu-hd-genre-nav .hazu-hd-btn{
  border-width: var(--hazu-hd-genre-btn-border-w, 2px);
}

/* PCでは本文左目次のみ表示するため、ジャンルボタン下の目次（スマホ目次）は非表示 */
.hazu-hd-toc-mobile{
  display:none !important;
}
@media (max-width: 900px){
  .hazu-hd-toc-mobile{
    display:block !important;
  }
}

.hazu-hd-toc-mobile{
    width: var(--hazu-hd-mobile-toc-w, 100%);
    margin-left: auto;
    margin-right: auto;
  }
  /* v4.1.333: 本文エリアの幅（No.27884 mobile_main_w）は「見出し以外の本文ブロック（表・段落など）」
     だけを狭め、見出し（大分類 .hazu-hd-section__title ／ 中分類 .hazu-hd-subsection__title）は
     別ノブ（No.55676 mobile_headings_w）で独立制御する。
     以前は .hazu-hd-main コンテナ自体を狭めていたため中の見出しも一緒に縮んでいた。ここでは
     コンテナは全幅のままにし、見出し以外の直下ブロックにだけ mobile-main-w を適用する。
     表は width:100% !important / margin:12px 0 !important を持つので、同等以上の詳細度＋!important で上書きする。
     v4.1.335: 中分類(H3)アコーディオンの本文は .check_height（.nofilter/.detail を包むラッパー）に入る。
     v4.1.333 で .check_height をスペーサーと誤認し除外していたため中分類の本文だけ100%のまま残っていた。
     .check_height は本文ラッパー（下段で height だけリセット）なので除外を撤回し narrow 対象に含める。 */
  .hazu-hd-main{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .hazu-hd-embed .hazu-hd-main > :not(.hazu-hd-section__title):not(.hazu-hd-subsection__title):not(.l1_data_title):not(.hazu-hd-section-title){
    width: var(--hazu-hd-mobile-main-w, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }
  /* 見出し（大分類・中分類）は独立ノブ。既定 100% で従来どおり全幅（縮まない）。
     旧クラス（.l1_data_title / .hazu-hd-section-title）に加え、実ページの見出しクラス
     .hazu-hd-section__title（大分類）・.hazu-hd-subsection__title（中分類）を対象に追加。 */
  .hazu-hd-embed .hazu-hd-main > .hazu-hd-section__title,
  .hazu-hd-embed .hazu-hd-main > .hazu-hd-subsection__title,
  .hazu-hd-embed .hazu-hd-main > .l1_data_title,
  .hazu-hd-embed .hazu-hd-main > table.l1_data_title,
  .hazu-hd-embed .hazu-hd-main > .hazu-hd-section-title{
    width: var(--hazu-hd-mobile-headings-w, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Top card (HD-like) */
.hazu-hd-topcard {
  border: 1px solid var(--hazu-hd-main-frame-bg);
  background: var(--hazu-hd-main-frame-bg);
  border-radius: 12px;
  padding: var(--hazu-hd-main-frame-pad-top,14px) var(--hazu-hd-main-frame-pad-right,14px) var(--hazu-hd-main-frame-pad-bottom,14px) var(--hazu-hd-main-frame-pad-left,14px);margin: 0 0 18px 0;
  box-sizing: border-box;
}

.hazu-hd-topcard__title {
  color: var(--hazu-hd-color-machine-title);
  font-weight: 800;
  font-size: var(--hazu-hd-font-machine-title);
  line-height: 1.25;
  margin: 0 0 12px var(--hazu-hd-machine-title-ml, 0px);
}

.hazu-hd-topcard__titlelink{
  color: inherit;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: var(--hazu-hd-machine-title-underline-w, 1px) !important;
  text-underline-offset: 3px;
  display: inline-block;
}

.hazu-hd-topcard__titlelink:hover,
.hazu-hd-topcard__titlelink:focus{
  text-decoration: underline;
}

/* TOPカード：上段（grid）＋下段（更新情報） */
.hazu-hd-topcard__inner {
  background: var(--hazu-hd-main-inner-bg);
  border-radius: var(--hazu-hd-main-inner-radius-tl, 10px) var(--hazu-hd-main-inner-radius-tr, 10px) var(--hazu-hd-main-inner-radius-br, 10px) var(--hazu-hd-main-inner-radius-bl, 10px);
  padding: 12px;
  box-sizing: border-box;
}

.hazu-hd-topcard__inner .hazu-hd-topcard__grid {


  background: transparent;
  border-radius: 0;
  padding: 0;
  gap: 0;
}

.hazu-hd-topcard__lower {
  margin-top: 12px;
  background: #ffffff !important;
  padding: 12px;
  margin-left: -12px;
  margin-right: -12px;
  margin-bottom: -12px;
  border-radius: 0 0 var(--hazu-hd-main-inner-radius-br, 10px) var(--hazu-hd-main-inner-radius-bl, 10px);
  box-sizing: border-box;
}

.hazu-hd-topcard__grid {


  background: var(--hazu-hd-main-inner-bg);
  border-radius: var(--hazu-hd-main-inner-radius-tl, 10px) var(--hazu-hd-main-inner-radius-tr, 10px) var(--hazu-hd-main-inner-radius-br, 10px) var(--hazu-hd-main-inner-radius-bl, 10px);
  display: grid;
  grid-template-columns: var(--hazu-hd-topcard-img-col-pc, 220px) 1fr 1fr;
  align-items: start;
  box-sizing: border-box;
  padding: 0;
  gap: 0;
}

.hazu-hd-topcard__tieup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* SP: 2カラム（画像｜右列）＋タイアップは右列の下に表示 */
@media (max-width: 640px) {
  .hazu-hd-topcard__grid {


    grid-template-columns: var(--hazu-hd-topcard-img-col-sp, 160px) 1fr;
  
  padding: 0;
  gap: 0;
}
  .hazu-hd-topcard__img{
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .hazu-hd-topcard__info{
    grid-column: 2;
    grid-row: 1;
  }
  .hazu-hd-topcard__tieup{
    grid-column: 2;
    grid-row: 2;
    margin-top: 8px;
  }
}

/* Topcard cabinet image size (admin configurable) */
.hazu-hd-topcard__img{
  box-sizing: border-box;
  justify-self: start;
  align-self: start;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: var(--hazu-hd-topcard-img-pad-top, 0px)
           var(--hazu-hd-topcard-img-pad-right, 0px)
           var(--hazu-hd-topcard-img-pad-bottom, 0px)
           var(--hazu-hd-topcard-img-pad-left, 0px);
}

.hazu-hd-topcard__img img{
  height: auto;
  display: block;
}


.hazu-hd-topcard__imgtag {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  background: #fff;
  margin: 0;
  align-self: flex-start;
}


.hazu-hd-topcard__info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hazu-hd-meta {
  display: grid;
  gap: 8px;
}

.hazu-hd-meta__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: center;
}

.hazu-hd-meta__k {
  background: #b5282a;
  color: #fff;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 16px;
}

.hazu-hd-meta__v {
  color: #1a1a1a;
  font-weight: 700;
  font-size: 16px;
}

/* "要素" badges shown next to タイプ */
.hazu-hd-featlist {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-left: var(--hazu-hd-type-icons-ml, 8px);
  vertical-align: middle;
}

.hazu-hd-featbadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 10px;
  background: var(--hazu-hd-badge-elem-bg, #ffffff);
  border: 2px solid var(--hazu-hd-badge-elem-border, #b5282a);
  color: var(--hazu-hd-badge-elem-fg, #b5282a);
  border-radius: 999px;
  font-weight: 700;
  font-size: var(--hazu-hd-badge-elem-font, 13px);
  line-height: 1.2;
}


/* 区分バッジ（parts: tag_pachinko / tag_pachislot） */
[data-hazu-part="tag_pachinko"].hazu-hd-featbadge,
[data-hazu-part="tag_pachislot"].hazu-hd-featbadge {
  background: var(--hazu-hd-badge-cat-bg, #000);
  border-color: var(--hazu-hd-badge-cat-border, #000);
  color: var(--hazu-hd-badge-cat-fg, #fff);
  font-size: var(--hazu-hd-badge-cat-font, var(--hazu-hd-badge-elem-font, 13px));
}

/* スペックバッジ（parts: [data-hazu-part="spec"]） */
[data-hazu-part="spec"]{
  display: contents;
}
[data-hazu-part="spec"] .hazu-hd-featbadge{
  background: var(--hazu-hd-badge-spec-bg, var(--hazu-hd-badge-elem-bg, #ffffff));
  border-color: var(--hazu-hd-badge-spec-border, var(--hazu-hd-badge-elem-border, #b5282a));
  color: var(--hazu-hd-badge-spec-fg, var(--hazu-hd-badge-elem-fg, #b5282a));
  font-size: var(--hazu-hd-badge-spec-font, var(--hazu-hd-badge-elem-font, 13px));
}

/* v4.1.241: 区分/要素/スペック バッジを /feature/ 一覧へのリンク（<a>）にしたときの見た目維持。
   テーマ（Foxiz）の .rbct a の文字色（var(--hyperlink-color)・ダークは #e2e1da 等）・下線・ホバー色に
   化けないよう、バッジ色を !important で再指定し下線を消す（状態問わず元のバッジ配色を維持）。 */
.hazu-hd-embed a.hazu-hd-featbadge{
  text-decoration: none !important;
  cursor: pointer;
  color: var(--hazu-hd-badge-elem-fg, #b5282a) !important;
}
.hazu-hd-embed a.hazu-hd-featbadge[data-hazu-part="tag_pachinko"],
.hazu-hd-embed a.hazu-hd-featbadge[data-hazu-part="tag_pachislot"]{
  color: var(--hazu-hd-badge-cat-fg, #fff) !important;
}
.hazu-hd-embed [data-hazu-part="spec"] a.hazu-hd-featbadge{
  color: var(--hazu-hd-badge-spec-fg, var(--hazu-hd-badge-elem-fg, #b5282a)) !important;
}
.hazu-hd-embed a.hazu-hd-featbadge:hover{ opacity: 0.85; }



.hazu-hd-topcard__ext {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hazu-hd-btn {
  display: inline-block;
  text-decoration: none;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 8px;
  border: 2px solid var(--hazu-hd-btn-border);
  background: var(--hazu-hd-btn-bg);
  color: var(--hazu-hd-btn-text);
  line-height: 1;
  font-size: var(--hazu-hd-font-button);
}

/* URL無しのボタン：グレー無効（aではなくspanで出力） */
.hazu-hd-btn--disabled{
  opacity: 0.45;
  background: #e6e6e6;
  border-color: #e6e6e6;
  color: #555;
  cursor: default;
}
.hazu-hd-btn--disabled:hover,
.hazu-hd-btn--disabled:active{
  opacity: 0.45;
  background: #e6e6e6;
  border-color: #e6e6e6;
  color: #555;
}

.hazu-hd-btn:hover {
  opacity: 0.92;
}

.hazu-hd-btn:active {
  background: var(--hazu-hd-toc-active-bg);
  color: var(--hazu-hd-toc-active-fg);
  border-color: var(--hazu-hd-toc-active-bg);
}

.hazu-hd-btn--ghost {
  background: transparent;
}

.hazu-hd-btn__label{
  display: inline-block;
}

.hazu-hd-btn--qr{
  position: relative;
  padding-left: 34px;
}
.hazu-hd-btn--qr::before{
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M3%203h8v8H3V3zm2%202v4h4V5H5zm8-2h8v8h-8V3zm2%202v4h4V5h-4zM3%2013h8v8H3v-8zm2%202v4h4v-4H5zm10%200h2v2h-2v-2zm-2-2h2v2h-2v-2zm4%200h4v4h-4v-4zm0%206h4v2h-4v-2zm-2-2h2v2h-2v-2zm0%204h2v2h-2v-2z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M3%203h8v8H3V3zm2%202v4h4V5H5zm8-2h8v8h-8V3zm2%202v4h4V5h-4zM3%2013h8v8H3v-8zm2%202v4h4v-4H5zm10%200h2v2h-2v-2zm-2-2h2v2h-2v-2zm4%200h4v4h-4v-4zm0%206h4v2h-4v-2zm-2-2h2v2h-2v-2zm0%204h2v2h-2v-2z'/%3E%3C/svg%3E") no-repeat center / contain;
}


.hazu-hd-toc-mobile__list a.hazu-hd-btn--active,
.hazu-hd-side__nav a.hazu-hd-btn--active{
  background: var(--hazu-hd-toc-active-bg);
  color: var(--hazu-hd-toc-active-fg);
  border-color: var(--hazu-hd-toc-active-bg);
}

/* PCの通常色ルール(.hazu-hd-topcard__nav--genre .hazu-hd-btn = 0,2,0)がソース後方にあり、
   アクティブ色を上書きしてしまう回帰(v4.1.151)を修正。.hazu-hd-embed を前置して詳細度を上げ、
   ソース順に依らずアクティブ色が確実に勝つようにする。 */
.hazu-hd-embed .hazu-hd-topcard__nav--genre .hazu-hd-btn--active{
  background: var(--hazu-hd-genre-abg-pc, var(--hazu-hd-genre-active-bg, var(--hazu-hd-toc-active-bg)));
  color: var(--hazu-hd-genre-afg-pc, var(--hazu-hd-genre-active-fg, var(--hazu-hd-toc-active-fg)));
  border-color: var(--hazu-hd-genre-abg-pc, var(--hazu-hd-genre-active-bg, var(--hazu-hd-toc-active-bg)));
}

/* Genre buttons (基本スペック等): HD-like same-size grid */
.hazu-hd-topcard__nav--genre{
  display:grid;
  /* 4列固定（PC/スマホ共通） */
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:var(--hazu-hd-genre-gap-pc, 10px);
  margin-top:8px;
}

@media (max-width: 640px) {
  /* Mobile: allow buttons to grow with text (avoid overflow on EN etc.) */
  .hazu-hd-topcard__nav--genre{
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
  .hazu-hd-topcard__nav--genre .hazu-hd-btn{
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
    line-height: 1.2;
    height: auto;
  }
}


/* TOPページ：大分類ボタンをメイン枠の下へ移動 */
.hazu-hd-genre-nav{
  margin-top: -10px;
  margin-bottom: 18px;
}

/* Sticky controls (genre buttons + TOC) */
:root{
  --hazu-hd-adminbar-h: 0px;
  --hazu-hd-siteheader-h: 0px;
  --hazu-hd-topbar-h: 0px;
  --hazu-hd-genre-nav-h: 0px;
  --hazu-hd-toc-mobile-h: 0px;
  --hazu-hd-toc-mobile-collapsed-h: 0px;
  --hazu-hd-sticky-offset: 0px;
  --hazu-hd-scrollpad: 0px;
  --hazu-hd-scrollpad-genre: 0px;
  --hazu-hd-toc-gap-top: 6px;
   --hazu-hd-toc-gap-bottom: 12px;
  --hazu-hd-toc-padding-y: 6px;
  --hazu-hd-toc-active-bg: #b5282a;
  --hazu-hd-toc-active-fg: #ffffff;
  --hazu-hd-toc-toggle-active-fg: #ffffff;

  --hazu-hd-main-frame-bg: #b5282a;
  --hazu-hd-main-frame-pad-top: 14px;
  --hazu-hd-main-frame-pad-right: 14px;
  --hazu-hd-main-frame-pad-bottom: 14px;
  --hazu-hd-main-frame-pad-left: 14px;

  --hazu-hd-mobile-body-w: 98%;
  --hazu-hd-mobile-mainframe-w: 100%;
  --hazu-hd-mobile-genre-nav-w: 100%;
  --hazu-hd-mobile-toc-w: 100%;
  --hazu-hd-mobile-headings-w: 100%;
  --hazu-hd-mobile-main-w: 100%;
  --hazu-hd-main-inner-bg: #ead9a6;
  --hazu-hd-main-inner-radius-tl: 10px;
  --hazu-hd-main-inner-radius-tr: 10px;
  --hazu-hd-main-inner-radius-br: 10px;
  --hazu-hd-main-inner-radius-bl: 10px;
  --hazu-hd-main-heading-bg: #b5282a;
  --hazu-hd-base-bg: #ffffff;
  --hazu-hd-update-bg: #ffffff;
  --hazu-hd-btn-bg: #ead9a6;
  --hazu-hd-btn-border: #b5282a;
  --hazu-hd-genre-btn-border-w: 2px;
  --hazu-hd-toc-mobile-btn-border-w: 2px;
  --hazu-hd-btn-text: #111111;
  --hazu-hd-font-machine-title: 22px;
  --hazu-hd-font-meta: 14px;
  --hazu-hd-font-elements: 14px;
  --hazu-hd-font-button: 14px;
  --hazu-hd-font-update: 13px;
  --hazu-hd-font-left-toc: 13px;
  --hazu-hd-font-body: 14px;
  --hazu-hd-color-machine-title: #ffffff;
  --hazu-hd-color-meta-label: #ffffff;
  --hazu-hd-color-meta-value: #111111;
  --hazu-hd-color-model: #1a1a1a;
  --hazu-hd-color-elements: #111111;
  --hazu-hd-color-update: #8c0c0c;
  --hazu-hd-color-left-toc: #b5282a;
  --hazu-hd-color-body: #111111;
  --hazu-hd-heading-bg: #f9efef;
  --hazu-hd-heading-text: #b5282a;
  --hazu-hd-heading-border: #b5282a;
}


/* Anchor jump offset (under sticky menu) */
html{
  scroll-padding-top: var(--hazu-hd-scrollpad, 0px);
}
.hazu-hd-embed .hazu-hd-main [id]{
  scroll-margin-top: var(--hazu-hd-scrollpad, 0px);
}

.hazu-hd-embed #hazu-hd-genre-nav{
  scroll-margin-top: var(--hazu-hd-scrollpad-genre, 0px);
}

/* 追従メニュー全体（ジャンル + 目次） */
.hazu-hd-sticky-area{
  position: -webkit-sticky;
  position: sticky;
  top: var(--hazu-hd-topbar-h);
  z-index: 1000;
  background: var(--hazu-hd-base-bg);
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0);
}

/* Mobile sticky header: machine title (shown only when sticky is ON) */
.hazu-hd-sticky-machine-title{
  display: none;
}
.hazu-hd-sticky-machine-title__link{
  color: inherit;
  text-decoration: underline;
}

/* 追従OFF: 追従メニューを通常表示に戻す */
body.hazu-hd-sticky-off .hazu-hd-sticky-area,
body.is-sticky-off .hazu-hd-sticky-area,
.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-sticky-area,
.hazu-hd-embed.is-sticky-off .hazu-hd-sticky-area{
  position: static;
  top: auto;
}


/* ジャンル自体は追従コンテナに内包するため sticky は付けない */
.hazu-hd-genre-nav{
  position: static;
  top: auto;
  z-index: auto;
  background: transparent;
  padding: 0;
  border-bottom: 0;
}

@media (max-width: 900px){
  /* Mobile: show machine title at the top of sticky area (sticky ON only) */
  .hazu-hd-sticky-machine-title{
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    padding: 0 44px 6px 44px;
    margin: 0;
  }
  body.hazu-hd-sticky-off .hazu-hd-sticky-machine-title,
  body.is-sticky-off .hazu-hd-sticky-machine-title,
  .hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-sticky-machine-title,
  .hazu-hd-embed.is-sticky-off .hazu-hd-sticky-machine-title{
    display: none !important;
  }

  /* Mobile: reduce gap between genre buttons and TOC */
  .hazu-hd-genre-nav{ margin-bottom: var(--hazu-hd-toc-gap-top, 2px); }
  /* Mobile: ジャンルボタン(固定ナビ)の下に余白を入れて本文と離す。固定追従時も白背景の余白として残るよう padding-bottom で実現。 */
  .hazu-hd-embed .hazu-hd-sticky-area{ padding-bottom: var(--hazu-hd-genre-gap-below-sp, 16px); }
  /* Mobile: 機種名（追従バー見出し）とジャンルボタンの間に余白。genre-nav の負の margin-top(-10px) を変数で上書き。 */
  .hazu-hd-embed .hazu-hd-genre-nav{ margin-top: var(--hazu-hd-genre-gap-above-sp, 0px); }
  .hazu-hd-topcard__nav--genre{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap:var(--hazu-hd-genre-gap-sp, 8px);
  }
  /* スマホ用は PC基本ブロックより後方にあるため、確実に勝たせる目的で .hazu-hd-embed を前置して詳細度を上げる。
     既定値は現行の実表示（min-height 52px / padding 10px 8px）に合わせ、未調整時は無回帰。 */
  .hazu-hd-embed .hazu-hd-topcard__nav--genre .hazu-hd-btn{
    min-height:var(--hazu-hd-genre-minh-sp, 52px);
    padding:var(--hazu-hd-genre-pady-sp, 10px) 8px;
    border-radius:var(--hazu-hd-genre-radius-sp, 8px);
    font-size: var(--hazu-hd-genre-font-sp, var(--hazu-hd-font-button));
    background:var(--hazu-hd-genre-bg-sp, var(--hazu-hd-btn-bg));
    color:var(--hazu-hd-genre-fg-sp, var(--hazu-hd-btn-text));
    border-color:var(--hazu-hd-genre-bd-sp, var(--hazu-hd-btn-border));
  }
  .hazu-hd-embed .hazu-hd-topcard__nav--genre .hazu-hd-btn--active{
    background:var(--hazu-hd-genre-abg-sp, var(--hazu-hd-genre-active-bg, var(--hazu-hd-toc-active-bg)));
    color:var(--hazu-hd-genre-afg-sp, var(--hazu-hd-genre-active-fg, var(--hazu-hd-toc-active-fg)));
    border-color:var(--hazu-hd-genre-abg-sp, var(--hazu-hd-genre-active-bg, var(--hazu-hd-toc-active-bg)));
  }
}

.hazu-hd-topcard__nav--genre .hazu-hd-btn{
  width:100%;
  min-height:var(--hazu-hd-genre-minh-pc, 52px);
  padding:var(--hazu-hd-genre-pady-pc, 10px) 8px;
  border-radius:var(--hazu-hd-genre-radius-pc, 8px);
  font-size:var(--hazu-hd-genre-font-pc, var(--hazu-hd-font-button));
  background:var(--hazu-hd-genre-bg-pc, var(--hazu-hd-btn-bg));
  color:var(--hazu-hd-genre-fg-pc, var(--hazu-hd-btn-text));
  border-color:var(--hazu-hd-genre-bd-pc, var(--hazu-hd-btn-border));
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
  line-height:1.15;
}

.hazu-hd-topcard__nav--genre .hazu-hd-toc-mobile__list a.hazu-hd-btn:not(.hazu-hd-btn--active),
.hazu-hd-side__nav a.hazu-hd-btn:not(.hazu-hd-btn--active){
  background: var(--hazu-hd-toc-inactive-bg, var(--hazu-hd-btn-bg));
  color: var(--hazu-hd-toc-inactive-fg, var(--hazu-hd-btn-text));
}

.hazu-hd-topcard__nav--section .hazu-hd-btn {
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 600;
}

.hazu-hd-topcard__update {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  line-height: 1.4;
}

/*
 * 更新情報（メイン枠）
 * - 見出し（更新情報）が本文に被る症状の対策
 */
.hazu-hd-updatebar {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  column-gap: 10px;
  row-gap: 6px;
  min-width: 0;
  width: 100%;
}


/* UI: Update info font size */
.hazu-hd-updatebar,
.hazu-hd-updatebar__content,
.hazu-hd-updatebar__label,
.hazu-hd-updatebar__links,
.hazu-hd-updatebar__links a {
  font-size: var(--hazu-hd-font-update, 14px) !important;
}
.hazu-hd-updatebar__content {
  /* NOTE: 「最終更新日」を右寄せする旧制御は廃止。
   * 日本語ページ同様、内容は 1つのインラインフローとして描画する。
   */
  display: block !important;
  flex: 1 1 0;
  width: 100% !important;
  background: var(--hazu-hd-update-bg, transparent) !important;
  padding: 6px 10px;
  border-radius: 10px;
}


.hazu-hd-updatebar__links {
  min-width: 0;
}


/* NOTE: モバイル向けの調整は下部の @media 内でまとめて指定する */
.hazu-hd-updatebar__label {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--hazu-hd-update-icon-bg, var(--hazu-hd-main-heading-bg, #b5282a)) !important;
  color: var(--hazu-hd-update-icon-fg, var(--hazu-hd-toc-active-fg, #fff)) !important;
  font-weight: 700;
  white-space: nowrap;
}

.hazu-hd-updatebar__text {
  color: var(--hazu-hd-color-update, #8c0c0c);
  font-weight: 600;
}

.hazu-hd-updatebar__item {
  color: var(--hazu-hd-color-update, #8c0c0c);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.hazu-hd-updatebar__item:hover {
  opacity: 0.85;
}

.hazu-hd-updatebar__item.is-disabled {
  text-decoration: none;
  cursor: default;
  opacity: 0.7;
}

.hazu-hd-updatebar__sep {
  color: var(--hazu-hd-color-update, #8c0c0c);
  margin: 0 2px;
}

@media (max-width: 768px) {
  .hazu-hd-topcard__update {
    flex-direction: column;
    align-items: flex-start;
  }

  .hazu-hd-updatebar {
    flex-direction: column;
    align-items: flex-start;
  }

  .hazu-hd-updatebar__content {
    /* no grid */
  }
}

.hazu-hd-topcard__update table {
  margin: 0;
  width: 100%;
}


/* Keep tables readable */
.hazu-hd-embed table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 16px;
}

.hazu-hd-embed table th,

.hazu-hd-embed table th {
  background: #f5f5f5;
}



/* Legacy HD tables: enforce borders/background against theme overrides */
table.hazu-hd-table {
  width: 100% !important;
  /* v4.1.351: スクレイピング元の罫線に合わせる。元は border=0（枠なし）で、グリッド線は cellspacing の
     隙間＋セル/表の背景色（黒・灰等）で表現している。HD は border-collapse:collapse で隙間を潰し、
     セルに一律 1px #666 の灰枠を足していたため元と食い違っていた。separate に戻し、border-spacing は
     インライン（元の 1px / 0px）を尊重（!important を外す）、セルの一律灰枠は撤去する。 */
  border-collapse: separate !important;
  border-spacing: 0;
  margin: 12px 0 !important;
  background: transparent !important;
  font-size: 16px;
}

/* v4.1.371: 予告カードは「白い内側＋細い黒枠＋黒タイトル帯」（スクレイピング元）。外枠内のブロック間は
   白い内側で 8px 前後の余白（元 image→期待度 ≈7px、確率表→トータル期待度 ≈13px）で区切られている。
   v4.1.369 で 1px に詰めたら上下でくっついた（ユーザー指摘）ので、外枠内の表の上下 margin を 8px に戻す
   （確率表→トータル間は本文の空 <p> spacer が加わり ~12px になり元に一致）。外枠の外の独立表は 12px のまま。 */
.hazu-hd-embed .hazu-hd-legacy-layout > table.hazu-hd-table {
  margin: 8px 0 !important;
}

/* v4.1.371: 暗色の外枠カード（normalizer が白内側化して class hazu-hd-card-dark を付与）に、スクレイピング元と
   同じ細い黒 1px の枠線を付ける。border は .detail 直下のトップレベルカードにだけ付けて入れ子は二重線にしない。
   カード同士はページ背景色の余白（14px）で区切る（トップレベルの外枠すべて。中身のタイトル/画像帯は入れ子で対象外）。 */
.hazu-hd-embed .detail > .hazu-hd-legacy-layout {
  margin-bottom: 14px !important;
}
.hazu-hd-embed .detail > .hazu-hd-legacy-layout.hazu-hd-card-dark {
  border: 1px solid #000 !important;
}

/* v4.1.372: カード内側の各表(確率表/トータル期待度)は、スクレイピング元では左右に白い余白で
   インセットされている（黒タイトル帯だけ全幅。ユーザー指摘「53.7%の表が左右くっつきすぎ・ここには隙間がある」）。
   card-dark 内の table を左右 10px インセットして元に合わせる。タイトル(黒帯・div で table を持たない)は
   対象外＝全幅のまま。入れ子の深さに依らず一律 10px になるよう子孫セレクタ＋width:calc(100% - 20px) で
   overflow を防ぐ（上下 margin は既存の 8px を維持）。 */
.hazu-hd-embed .hazu-hd-card-dark table.hazu-hd-table {
  width: calc(100% - 20px) !important;
  margin-left: 10px !important;
  margin-right: 10px !important;
}

/* v4.1.373: カード内の画像は、スクレイピング元では枠幅ほぼいっぱい（表より少し広い）。前版は画像帯を
   インセットしたうえ画像が原寸(590px)中央寄せのままで、左右に大きな白い余白(約33px)が残っていた
   （ユーザー指摘「画像周りのマージンが合ってない」）。画像帯は全幅に戻し、画像を帯いっぱい(width:100%)に
   広げる＝画像の左右は帯の余白(8px)ぶんだけ内側＝表(10px)より少しだけ広く、元と同じ見た目になる。 */
.hazu-hd-embed .hazu-hd-card-dark .hazu-hd-legacy-layout > img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

table.hazu-hd-table th,
table.hazu-hd-table td {
  /* v4.1.351: 元は枠なし（border=0）。一律 1px #666 の灰枠を撤去し、グリッドは背景色＋spacing に任せる。 */
  border: 0 !important;
  /* v4.1.346: スクレイピング元よりセル高が広かったので上下余白と行間を詰める（上下10px→5px・行間1.6→1.4）。左右8pxは維持。 */
  padding: 5px 8px !important;
  vertical-align: middle !important;
  text-align: center !important;
  line-height: 1.4;
  /* v4.1.362: 英語等でセル内の長い連結トークン（例 "Apollon/Aphrodite/Artemis"）が
     折り返せず、table-layout:auto が左列を50%超に押し広げて右列を潰す（スマホ幅で左右セル幅が
     スクレイピング元＝JAの50/50と違う）不具合を是正。長語をどこでも折り返し可にして、
     宣言済みの列幅(例50%)へ auto レイアウトが収束できるようにする。JA(CJK)は元から折返し可で無影響。 */
  overflow-wrap: anywhere;
  word-break: break-word;
}

table.hazu-hd-table th *,
table.hazu-hd-table td * {
  text-align: inherit !important;
}

table.hazu-hd-table th p,
table.hazu-hd-table td p {
  margin: 0 !important;
}

table.hazu-hd-table th {
  background: #f5f5f5;
}

table.hazu-hd-table td {
  background: #fff;
}

.hazu-hd-embed .hazu-hd-legacy-layout {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.hazu-hd-embed .hazu-hd-plain-note {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 8px 10px;
  border: 0 !important;
  background: var(--hazu-hd-note-bg, transparent) !important;
  color: inherit !important;
  text-align: left !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* legacy note background comes from inline style when present */

.hazu-hd-embed .hazu-hd-plain-note * {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  text-align: left !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-role-note-section,
.hazu-hd-embed .hazu-hd-instruction-section {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
}

.hazu-hd-embed .hazu-hd-role-note-section > .hazu-hd-plain-note,
.hazu-hd-embed .hazu-hd-instruction-section > .hazu-hd-heading-band,
.hazu-hd-embed .hazu-hd-instruction-section > .hazu-hd-media-block,
.hazu-hd-embed .hazu-hd-instruction-section > table,
.hazu-hd-embed .hazu-hd-instruction-section > .hazu-hd-role-note-section {
  margin-top: 0 !important;
}

.hazu-hd-embed .hazu-hd-role-note-section > .hazu-hd-plain-note:last-child,
.hazu-hd-embed .hazu-hd-instruction-section > .hazu-hd-role-note-section:last-child {
  margin-bottom: 0 !important;
}

.hazu-hd-embed .hazu-hd-heading-group {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
}

.hazu-hd-embed .hazu-hd-heading-band {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 8px 10px;
  border: 0 !important;
  background: var(--hazu-hd-heading-bg, #e0e0e0);
  color: inherit !important;
  font-size: inherit !important;
  font-weight: 700;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-heading-band * {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-heading-group > table,
.hazu-hd-embed .hazu-hd-heading-group > .hazu-hd-table,
.hazu-hd-embed .hazu-hd-heading-group > .hazu-hd-media-block {
  margin-top: 0 !important;
}

.hazu-hd-embed .hazu-hd-plain-note[data-transform-font-role="legacy_point_note"] {
  font-size: inherit !important;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-plain-note[data-transform-font-role="legacy_point_note"] * {
  font-size: inherit !important;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-heading-band[data-transform-font-role="legacy_dark_heading_band"] {
  font-size: inherit !important;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-heading-band[data-transform-font-role="legacy_dark_heading_band"] * {
  font-size: inherit !important;
  line-height: inherit !important;
}

.hazu-hd-embed .hazu-hd-plain-note[data-transform-role="legacy_role_header_note"] {
  margin-bottom: 0 !important;
}

.hazu-hd-embed .hazu-hd-plain-note[data-transform-role="legacy_role_followup_text"] {
  margin-top: 0 !important;
}

.hazu-hd-embed .hazu-hd-compare-section {
  display: grid;
  grid-template-columns: repeat(var(--hazu-hd-compare-columns, 2), minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
  margin: 12px 0 14px;
  padding: 10px 12px;
  background: var(--hazu-hd-compare-bg, #cccccc) !important;
  border: 0 !important;
}

.hazu-hd-embed .hazu-hd-compare-item {
  min-width: 0;
}

.hazu-hd-embed .hazu-hd-compare-item__title {
  margin: 0 0 8px;
  padding: 0;
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
}

.hazu-hd-embed .hazu-hd-compare-item__body {
  text-align: center;
}

.hazu-hd-embed .hazu-hd-compare-item__body > :first-child {
  margin-top: 0 !important;
}

.hazu-hd-embed .hazu-hd-compare-item__body > :last-child {
  margin-bottom: 0 !important;
}

.hazu-hd-embed .hazu-hd-compare-item__body table,
.hazu-hd-embed .hazu-hd-compare-item__body .hazu-hd-preserve-table,
.hazu-hd-embed .hazu-hd-compare-item__body .hazu-hd-media-layout-table {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.hazu-hd-embed .hazu-hd-compare-item__body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}


.hazu-hd-embed .hazu-hd-media-block {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
}

.hazu-hd-embed .hazu-hd-media-block > * {
  max-width: 100%;
}

.hazu-hd-embed .hazu-hd-media-block img {
  display: block;
  max-width: 100%;
  height: auto;
}

.hazu-hd-embed table.hazu-hd-exact-legacy-table,
.hazu-hd-embed table.hazu-hd-exact-media-table,
.hazu-hd-embed table.hazu-hd-exact-header-data-table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  background: transparent !important;
}

.hazu-hd-embed table.hazu-hd-exact-legacy-table td,
.hazu-hd-embed table.hazu-hd-exact-legacy-table th,
.hazu-hd-embed table.hazu-hd-exact-media-table td,
.hazu-hd-embed table.hazu-hd-exact-media-table th,
.hazu-hd-embed table.hazu-hd-exact-header-data-table td,
.hazu-hd-embed table.hazu-hd-exact-header-data-table th {
  border: 0 !important;
  /* v4.1.346: これらのセルは行間を明示しておらずテーマ(Foxiz)の広い行間2.0を継承していた。
     スクレイピング元よりセル高が広い原因なので 1.4 に詰める。
     上下余白は post_content に焼き込まれた非important のインライン padding:5px（cellpadding属性が無く
     apply_exact 側では付与されないため素の値が残る）を、上下だけ 3px に詰める。左右は維持（インラインの
     左右5pxがそのまま残る）。非important インラインは !important 付き longhand で上書きできる。 */
  line-height: 1.4;
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

.hazu-hd-embed table.hazu-hd-exact-legacy-table img,
.hazu-hd-embed table.hazu-hd-exact-header-data-table img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.hazu-hd-embed table.hazu-hd-exact-media-table img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.hazu-hd-embed table.hazu-hd-exact-media-table .hazu-hd-media-layout-image,
.hazu-hd-embed table.hazu-hd-exact-media-table .hazu-hd-media-frame,
.hazu-hd-embed table.hazu-hd-exact-media-table .hazu-hd-media-link,
.hazu-hd-embed table.hazu-hd-exact-media-table td > a,
.hazu-hd-embed table.hazu-hd-exact-media-table td > p {
  display: block;
  width: 100%;
  max-width: 100%;
}

.hazu-hd-embed .hazu-hd-preserve-table {
  width: auto !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.hazu-hd-embed .hazu-hd-preserve-table td,
.hazu-hd-embed .hazu-hd-preserve-table th {
  padding: 0 !important;
}

.hazu-hd-embed .hazu-hd-media-layout-table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.hazu-hd-embed .hazu-hd-media-layout-table .hazu-hd-media-layout-image,
.hazu-hd-embed .hazu-hd-media-block .hazu-hd-media-layout-image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}

.hazu-hd-embed .hazu-hd-media-block .hazu-hd-media-frame,
.hazu-hd-embed .hazu-hd-media-block .hazu-hd-media-link {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.hazu-hd-embed .hazu-hd-media-block p.hazu-hd-media-frame,
.hazu-hd-embed .hazu-hd-media-block .hazu-hd-media-frame p {
  margin: 0 !important;
}


.hazu-hd-embed .hazu-hd-legacy-note,
.hazu-hd-embed .hazu-hd-legacy-textblock {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 8px 10px;
  border: 0;
  background: var(--hazu-hd-heading-bg, #f9efef);
  text-align: left !important;
  line-height: 1.8;
}

.hazu-hd-embed .hazu-hd-legacy-note > *:first-child,
.hazu-hd-embed .hazu-hd-legacy-textblock > *:first-child {
  margin-top: 0 !important;
}

.hazu-hd-embed .hazu-hd-legacy-note > *:last-child,
.hazu-hd-embed .hazu-hd-legacy-textblock > *:last-child {
  margin-bottom: 0 !important;
}

.hazu-hd-embed .hazu-hd-legacy-textblock .hazu-hd-legacy-layout,
.hazu-hd-embed .hazu-hd-legacy-note .hazu-hd-legacy-layout {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.hazu-hd-embed .hazu-hd-legacy-textblock,
.hazu-hd-embed .hazu-hd-legacy-textblock * {
  color: inherit !important;
  text-align: left !important;
}

.hazu-hd-embed .hazu-hd-legacy-textblock * {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hazu-hd-embed .hazu-hd-legacy-textblock p {
  margin: 0 !important;
}

.hazu-hd-embed h1,
.hazu-hd-embed h2,
.hazu-hd-embed h3 {
  margin: 22px 0 10px;
  line-height: 1.3;
}

.hazu-hd-embed img {
  max-width: 100%;
  height: auto;
}

/* Full-width block images imported from HD (table icons are excluded in parser) */
.hazu-hd-embed img.hazu-hd-img-wide{
  width:100%;
  display:block;
}

/* Game flow image: 100% width */
.hazu-hd-embed img.hazu-hd-img-gameflow{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  margin:12px 0;
}

/* ===== HD-like layout (PC left menu / mobile inline) ===== */
.hazu-hd-layout{
  display:flex;
  gap:var(--hazu-hd-toc-gap, 16px);
  align-items:flex-start;
  margin-top:0;
}

.hazu-hd-side{
  width:260px;
  flex:0 0 260px;
  align-self: stretch;
}

.hazu-hd-side__nav{
  position:-webkit-sticky;
  position:sticky;
  /* Align with the real overlay height (site header + sticky area) */
  top:calc(var(--hazu-hd-topbar-h) + var(--hazu-hd-sticky-area-h));
  border:var(--hazu-hd-toc-border-w, 1px) solid var(--hazu-hd-toc-border-color, #ddd);
  border-radius:var(--hazu-hd-toc-radius, 10px);
  padding:var(--hazu-hd-toc-pad, 12px);
  background:var(--hazu-hd-toc-bg, #fff);
}

/* Align the starting line between left TOC and the first section */
.hazu-hd-main > :first-child{
  margin-top:0 !important;
}
.hazu-hd-main > table.l1_data_title:first-child,
.hazu-hd-main > .l1_data_title:first-child,
.hazu-hd-main > .hazu-hd-section-title:first-child,
.hazu-hd-main > h2:first-child,
.hazu-hd-main > h3:first-child{
  margin-top:0 !important;
}

/* Sticky toggle button (enable/disable sticky for genre buttons + TOC) */
.hazu-hd-sticky-toggle{
  position:absolute;
  top:6px;
  right:6px;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  padding:0;
  box-sizing:border-box;
  aspect-ratio:1 / 1;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.25);
  background:rgba(255,255,255,.65);
  color:#333;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  z-index:110;
  -webkit-backdrop-filter:saturate(120%) blur(2px);
  backdrop-filter:saturate(120%) blur(2px);
}
.hazu-hd-sticky-toggle:hover{
  background:rgba(255,255,255,.85);
}
.hazu-hd-sticky-toggle:focus{
  outline:2px solid rgba(0,0,0,.25);
  outline-offset:2px;
}

/* Make sure the button is anchored (mobile TOC) */
.hazu-hd-toc-mobile{
  position:relative;
}

/* When user disables sticky */
.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-genre-nav,
body.hazu-hd-sticky-off .hazu-hd-genre-nav,
body.is-sticky-off .hazu-hd-genre-nav,
.hazu-hd-embed.is-sticky-off .hazu-hd-genre-nav{
  position:static;
  top:auto;
}
.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-side__nav,
.hazu-hd-embed.is-sticky-off .hazu-hd-side__nav,
body.hazu-hd-sticky-off .hazu-hd-side__nav,
body.is-sticky-off .hazu-hd-side__nav{
  position:static;
  top:auto;
}

/* Sticky OFF: mobile TOC should not show accordion toggle (same behavior as 0.11.1) */
.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-toc-mobile,
body.hazu-hd-sticky-off .hazu-hd-toc-mobile,
body.is-sticky-off .hazu-hd-toc-mobile,
.hazu-hd-embed.is-sticky-off .hazu-hd-toc-mobile{
  position:static;
  top:auto;
}

.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-toc-mobile__head,
body.hazu-hd-sticky-off .hazu-hd-toc-mobile__head,
body.is-sticky-off .hazu-hd-toc-mobile__head,
.hazu-hd-embed.is-sticky-off .hazu-hd-toc-mobile__head{
  display:none !important;
}

.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-toc-mobile__toggle,
body.hazu-hd-sticky-off .hazu-hd-toc-mobile__toggle,
body.is-sticky-off .hazu-hd-toc-mobile__toggle,
.hazu-hd-embed.is-sticky-off .hazu-hd-toc-mobile__toggle{
  display:none !important;
}

.hazu-hd-embed.hazu-hd-sticky-off .hazu-hd-toc-mobile__list,
body.hazu-hd-sticky-off .hazu-hd-toc-mobile__list,
body.is-sticky-off .hazu-hd-toc-mobile__list,
.hazu-hd-embed.is-sticky-off .hazu-hd-toc-mobile__list{
  display:flex !important;
  padding-bottom:4px !important;
}

.hazu-hd-toc-mobile__toggle:active{
  background:#b5282a;
  border-color:#b5282a;
}
.hazu-hd-toc-mobile__toggle:active::before,
.hazu-hd-toc-mobile__toggle:active::after{
  background:#fff;
}



.hazu-hd-side__list,
.hazu-hd-side__sub{
  list-style:none;
  margin:0;
  padding:0;
}

.hazu-hd-side__item + .hazu-hd-side__item{ margin-top:10px; }

.hazu-hd-side__link{
  display:block;
  text-decoration:none;
  font-weight:700;
  line-height:1.35;
}

.hazu-hd-side__sub{ margin-top:6px; padding-left:12px; }

.hazu-hd-side__subitem + .hazu-hd-side__subitem{ margin-top:4px; }

.hazu-hd-side__sublink{
  display:block;
  text-decoration:none;
  font-size:13px;
  line-height:1.35;
}

.hazu-hd-main{
  flex:1 1 auto;
  min-width:0;
}

/* Mobile TOC (simple jump links) */
.hazu-hd-toc-mobile{
  display:none;
  gap:8px;
  flex-wrap:wrap;
  margin: 0 0 var(--hazu-hd-toc-gap-bottom, 22px);
  position:-webkit-sticky;
  position:sticky;
  top:calc(var(--hazu-hd-topbar-h) + var(--hazu-hd-genre-nav-h));
  z-index:1001;
  background:#fff;
  padding: var(--hazu-hd-toc-padding-y, 6px) 0;
  border-bottom:1px solid rgba(0,0,0,0);
}


/* Mobile TOC spacing fallback (for browsers without flex-gap support) */
@supports not (gap: 1rem) {
  .hazu-hd-toc-mobile{
    gap: 0;
  }
  .hazu-hd-toc-mobile > a{
    margin-right: 8px;
    margin-bottom: 8px;
  }
}


/* 大分類（H2）: mobile-like red heading */
.hazu-hd-embed h2{
  margin:18px 0 10px;
  padding:10px 12px;
  border-left:6px solid #b00000;
  background:rgba(176,0,0,0.06);
  color:#b00000;
  font-size:18px;
  line-height:1.3;
  border-radius:8px;
}

.hazu-hd-embed h3{
  margin:16px 0 10px;
  padding:10px 12px;
  border-left:6px solid #b00000;
  background:rgba(176,0,0,0.06);
  color:#b00000;
  font-size:16px;
  line-height:1.35;
  font-weight:800;
  border-radius:10px;
}

/* v4.1.170: PC本文見出し 大分類(H2)/中分類(H3) をスマホ同様に分離（色・サイズは設定可）。
   PC専用＝@media(min-width:901px)（<=900px はスマホ用 gacc 規則が担当＝据え置き）。
   .hazu-hd-embed hN.hazu-hd-(sub)section__title (0,2,1) が base .hazu-hd-embed hN (0,1,1) に勝つ。
   既定値はスマホ版と同じ見た目（大＝濃い赤の塗り・白文字／中＝白地に赤文字・赤左線）。 */
@media (min-width:901px){
  .hazu-hd-embed h2.hazu-hd-section__title{
    background:var(--hazu-hd-ghead-lv1-bg, #b5282a);
    color:var(--hazu-hd-ghead-lv1-text, #fff);
    border:0;
    border-left:0;
    border-radius:8px;
    font-size:var(--hazu-hd-ghead-lv1-size-pc, 18px);
    font-weight:800;
    padding:12px 14px;
  }
  .hazu-hd-embed h3.hazu-hd-subsection__title{
    background:var(--hazu-hd-ghead-lv2-bg, #fff);
    color:var(--hazu-hd-ghead-lv2-text, #b00000);
    border:1px solid rgba(0,0,0,.08);
    border-left:4px solid var(--hazu-hd-ghead-lv2-border, #b00000);
    border-radius:8px;
    font-size:var(--hazu-hd-ghead-lv2-size-pc, 16px);
    font-weight:700;
    padding:10px 14px;
    margin-left:10px;
  }
  .hazu-hd-embed h2.hazu-hd-section__title *,
  .hazu-hd-embed h3.hazu-hd-subsection__title *{
    color:inherit;
  }
}


/* Mobile TOC accordion behavior */
.hazu-hd-toc-mobile__head{
  position:static;
  padding:0;
  height:0;
}
.hazu-hd-toc-mobile__title{
  display:none;
}
.hazu-hd-toc-mobile__toggle{
  width:30px;
  height:30px;
  padding:0;
  border-radius:999px;
  border:2px solid var(--hazu-hd-toc-active-bg, #b5282a);
  background:var(--hazu-hd-toc-active-bg, #b5282a);
  color:#ffffff;
  cursor:pointer;
  touch-action:manipulation;
  position:absolute;
  right:calc(10px + env(safe-area-inset-right, 0px));
  bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  left:auto;
  top:auto;
  z-index:1002;
}
.hazu-hd-toc-mobile__toggle:focus{
  outline:2px solid rgba(0,0,0,0.25);
  outline-offset:2px;
}
.hazu-hd-toc-mobile__toggle::before,
.hazu-hd-toc-mobile__toggle::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:#ffffff;
  border-radius:2px;
}
.hazu-hd-toc-mobile__toggle::before{
  width:14px;
  height:2px;
}
.hazu-hd-toc-mobile__toggle::after{
  width:2px;
  height:14px;
}
.hazu-hd-toc-mobile:not(.is-collapsed) .hazu-hd-toc-mobile__toggle::after{
  display:none;
}
.hazu-hd-toc-mobile__list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:8px 46px 8px 0;
}

/*
  Mobile TOC alignment fix
  JS adds data-hazu-acc="1" and injects head/list nodes.
  Using a horizontal flex container with a gap shifts the list.
  Stack head and list vertically to keep the first button flush-left.
*/
.hazu-hd-toc-mobile[data-hazu-acc="1"]{
  display:block;
  gap:0;
}
.hazu-hd-toc-mobile[data-hazu-acc="1"] .hazu-hd-toc-mobile__head{
  height:0;
}
.hazu-hd-toc-mobile[data-hazu-acc="1"] .hazu-hd-toc-mobile__list{
  width:100%;
  box-sizing:border-box;
}

/* Mobile TOC buttons: keep left alignment on wrapped lines */
.hazu-hd-toc-mobile__list{
  justify-content:flex-start !important;
  align-content:flex-start !important;
  text-align:left !important;
}
.hazu-hd-toc-mobile__list > *{
  margin-left:0 !important;
}

/* Section button rows (if present) */
.hazu-hd-topcard__nav--section{
  /* PCでは左目次のみ表示するため非表示。スマホのみ表示（@mediaで表示に切替） */
  display:none;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
  align-content:flex-start;
  padding-left:0;
  margin-left:0;
}
.hazu-hd-topcard__nav--section > *{
  margin-left:0 !important;
}
.hazu-hd-toc-mobile.is-collapsed{
  padding:8px 0;
  min-height:46px;
}
.hazu-hd-toc-mobile.is-collapsed .hazu-hd-toc-mobile__list{
  display:none;
}

/* Accordion (小分類が複数あるとき) */
.hazu-hd-acc{
  margin:10px 0 18px;
  border:1px solid #ddd;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.hazu-hd-acc__item{
  border-top:1px solid #eee;
}

.hazu-hd-acc__item:first-child{ border-top:0; }

.hazu-hd-acc__summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  font-weight:700;
  background:#f7f7f7;
}

.hazu-hd-acc__summary::-webkit-details-marker{ display:none; }

.hazu-hd-acc__body{
  padding:12px 14px;
}

/* Responsive: hide left menu on narrow screens */
@media (max-width: 900px){
  .hazu-hd-layout{ display:block; }
  .hazu-hd-side{ display:none; }
  .hazu-hd-toc-mobile{ display:flex; }
  .hazu-hd-topcard__nav--section{ display:flex; }
}


/* Responsive embeds (YouTube etc) */
.hazu-hd-embed iframe,
.hazu-hd-embed embed,
.hazu-hd-embed object,
.hazu-hd-embed video{
  max-width:100%;
}

.hazu-hd-embed iframe[src*="youtube.com"],
.hazu-hd-embed iframe[src*="youtu.be"],
.hazu-hd-embed iframe[src*="youtube-nocookie.com"]{
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  display:block;
}

.hazu-hd-embed .wp-block-embed,
.hazu-hd-embed .wp-block-embed__wrapper{
  max-width:100%;
}

.hazu-hd-video{
  width:100%;
  aspect-ratio:16 / 9;
  position:relative;
}

.hazu-hd-video iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}


/* Reel layout image (リール配列): fixed 70% width */
.hazu-hd-img-reel{
  width:70%;
  max-width:70%;
  height:auto;
  display:block;
  margin: 12px auto;
}

/* 本文側の小分類見出し（例：ゲームフロー / イチ押し機種CHECK！） */
.hazu-hd-embed .hazu-hd-subheading{
  margin: 18px 0 10px;
  padding: 10px 12px;
  border-left: 6px solid #b30000;
  background: rgba(179, 0, 0, 0.06);
  color: #b30000;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.35;
  border-radius: 10px;
}

/* ================================
   HD legacy wrappers / images
   ================================ */

/* Prevent legacy fixed heights from creating blank space or cropping */
.hazu-hd-embed .check_height,
.hazu-hd-embed .detail,
.hazu-hd-embed .nofilter{
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Reduce extra space around iframe/link-only YouTube blocks */
.hazu-hd-embed .detail p{
  margin: 0 0 12px;
}
.hazu-hd-embed .detail p:last-child{
  margin-bottom: 0;
}

/* v4.1.346: 本文の行間を詰める。プラグイン側で本文行間を指定しておらず、テーマ(Foxiz)の広い行間
   （文字サイズの約2.0倍＝14px本文で28px）をそのまま継承していたのがスクレイピング元より広い原因。
   本文コンテナ（.detail/.nofilter）と .hazu-hd-main 直下の段落・リストに限定して 1.65 にする。
   表セル内の段落は td 側の line-height（通常表1.4／exact表1.4）が“より近い祖先”として優先されるため、
   ここで .hazu-hd-main p を一律指定せずコンテナ指定に留めることで、セル内文字まで広がらないようにしている。 */
.hazu-hd-embed .hazu-hd-main .detail,
.hazu-hd-embed .hazu-hd-main .nofilter,
.hazu-hd-embed .hazu-hd-main > p,
.hazu-hd-embed .hazu-hd-main > ul,
.hazu-hd-embed .hazu-hd-main > ol{
  line-height: 1.65;
}

/* Reel array images: always 70% width */
.hazu-hd-embed img.hazu-hd-img-reel{
  width: 70% !important;
  max-width: 70% !important;
  height: auto !important;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Game flow / payout etc should remain full width */
.hazu-hd-embed img.hazu-hd-img-gameflow{
  width: 100% !important;
  max-width: 100% !important;
}

/* Payout table images (配当表): keep 100% scale */
.hazu-hd-embed img.hazu-hd-img-payout{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
}



/* Master nav (Machine TOP) */

/* HD legacy tables: v4.1.351 スクレイピング元の罫線に合わせる。
   元は border=0（枠なし）＋グリッドは cellspacing の隙間＋背景色で表現。以前は theme 対策で
   collapse＋一律 1px #444 の灰枠を足していたが元と食い違うため撤去。separate に戻し border-spacing は
   インライン（元の 1px/0px）を尊重（!important 外す）、セルの灰枠は 0 にする。 */
.hazu-hd-embed[data-hazu-hd="1"] table.hazu-hd-table {
  border-collapse: separate !important;
  border-spacing: 0;
}

.hazu-hd-embed[data-hazu-hd="1"] table.hazu-hd-table td,
.hazu-hd-embed[data-hazu-hd="1"] table.hazu-hd-table th {
  border: 0 !important;
}

/* Meta value color (メーカー / 導入開始日) */
.hazu-hd-meta__row--maker .hazu-hd-meta__v,
.hazu-hd-meta__row--intro-date .hazu-hd-meta__v{
  color:#b5282a;
}


/* v0.8.8: Mobile TOC spacing + active colors */
@media (max-width: 900px){
  /* reduce gap between genre nav and mobile TOC */
  .hazu-hd-genre-nav{
    margin-bottom: 8px;
  }
  /* reduce vertical space around sticky mobile TOC */
  .hazu-hd-toc-mobile{
    margin: 0 0 var(--hazu-hd-toc-gap-bottom, 22px);
    padding: var(--hazu-hd-toc-padding-y, 6px) 0;
  }
  .hazu-hd-toc-mobile__list{
    /* Align left edge with genre buttons */
    padding: 4px 46px 4px 0;
  }
  .hazu-hd-toc-mobile.is-collapsed{
    padding: 4px 0;
    min-height: 38px;
  }
}


/* Mobile TOC: active state for TOC buttons (same as genre buttons) */
.hazu-hd-toc-mobile__list a.hazu-hd-btn--active,
.hazu-hd-toc-mobile__list a.is-active{
  background: var(--hazu-hd-toc-active-bg, #b5282a);
  color: var(--hazu-hd-toc-active-fg, #ffffff);
  border-color: var(--hazu-hd-toc-active-bg, #b5282a);
}

/* Mobile TOC toggle: pressed state (JS adds .is-active) */
.hazu-hd-toc-mobile__toggle.is-active{
  background: var(--hazu-hd-toc-active-bg, #b5282a);
  border-color: var(--hazu-hd-toc-active-bg, #b5282a);
}
.hazu-hd-toc-mobile__toggle.is-active::before,
.hazu-hd-toc-mobile__toggle.is-active::after{
  background: var(--hazu-hd-toc-toggle-active-fg, #ffffff);
}


/* Headings (HD content) */
.hazu-hd-main .l1_data_title,
.hazu-hd-main table.l1_data_title,
.hazu-hd-main .hazu-hd-section-title {
  background: var(--hazu-hd-heading-bg);
  color: var(--hazu-hd-heading-text);
  border-left: 6px solid var(--hazu-hd-heading-border);
}

.hazu-hd-meta__row--model .hazu-hd-meta__v{
  color: var(--hazu-hd-color-model, #1a1a1a);
}


/* ============================================================
   UI調整（管理画面）反映パッチ
   - 変数は PHP の :root inline CSS で上書きされる
   - 既存スタイルの上に上書きし、UI調整が効かない箇所を補正
   ============================================================ */

.hazu-hd-embed{
  font-size: var(--hazu-hd-font-body, 14px);
  color: var(--hazu-hd-color-body, #111);
  background: var(--hazu-hd-base-bg, transparent);
}

/* Machine title heading background (admin: 見出し部分背景色) */
.hazu-hd-topcard__title{
  background: var(--hazu-hd-main-heading-bg, var(--hazu-hd-main-frame-bg));
  padding: 6px 10px;
  border-radius: 10px;
  display: inline-block;
}

/* Topcard cabinet image margin (admin: メインエリアの筐体画像の周りのマージン) */
/* Meta label/value (admin: フォント設定／色設定) */
.hazu-hd-meta__k,
.hazu-hd-topcard-label{
  font-size: var(--hazu-hd-font-meta, 14px);
  color: var(--hazu-hd-color-meta-label, #111);
}
.hazu-hd-meta__v,
.hazu-hd-topcard-value{
  font-size: var(--hazu-hd-font-meta, 14px);
  color: var(--hazu-hd-color-meta-value, #111);
}

/* Elements list (admin: 要素) */
.hazu-hd-featlist,
.hazu-hd-elements{
  font-size: var(--hazu-hd-font-elements, 14px);
  color: var(--hazu-hd-color-elements, #111);
}

/* Update info (admin: 更新情報) */
.hazu-hd-topcard__update,
.hazu-hd-update{
  font-size: var(--hazu-hd-font-update, 13px);
  color: var(--hazu-hd-color-update, #111);
}

/* Left TOC (PC) (admin: 左目次) */
.hazu-hd-side__nav{
  font-size: var(--hazu-hd-font-left-toc, 13px);
}
.hazu-hd-side__nav a{
  font-size: var(--hazu-hd-font-left-toc, 13px);
  color: var(--hazu-hd-color-left-toc, #b5282a);
}

/* v4.1.170: 左目次（PC）大分類/中分類の見分け。
   大＝太字＋下のうす線（セクション見出し風）／中＝字下げ＋小さめ＋「–」マーカー＋やや薄め。
   .hazu-hd-side__nav .hazu-hd-side__sublink (0,2,0) で .hazu-hd-side__nav a (0,1,1) のサイズに勝つ。
   色は既存の --hazu-hd-color-left-toc 設定を尊重（中は opacity でだけ弱める＝色設定と競合しない）。 */
.hazu-hd-side__nav .hazu-hd-side__link{
  font-weight:700;
  padding:4px 8px;
  border-radius:var(--hazu-hd-side-lv1-radius, 6px);
  background:var(--hazu-hd-side-lv1-bg, transparent);
  color:var(--hazu-hd-side-lv1-text, var(--hazu-hd-color-left-toc, #b5282a));
  font-size:var(--hazu-hd-side-lv1-size, var(--hazu-hd-font-left-toc, 13px));
}
.hazu-hd-side__nav .hazu-hd-side__sub{ padding-left:14px; }
.hazu-hd-side__nav .hazu-hd-side__sublink{
  font-size:var(--hazu-hd-side-lv2-size, max(11px, calc(var(--hazu-hd-font-left-toc, 13px) - 1px)));
  font-weight:400;
  padding:3px 8px 3px 18px;
  border-radius:var(--hazu-hd-side-lv2-radius, 6px);
  background:var(--hazu-hd-side-lv2-bg, transparent);
  color:var(--hazu-hd-side-lv2-text, var(--hazu-hd-color-left-toc, #b5282a));
  opacity:.92;
  position:relative;
}
.hazu-hd-side__nav .hazu-hd-side__sublink::before{
  content:"–";
  position:absolute;
  left:7px;
  top:50%;
  transform:translateY(-50%);
  opacity:.55;
}

/* Genre button border width (admin: 大分類ボタンの線の幅) */
.hazu-hd-topcard__nav--genre .hazu-hd-btn,
.hazu-hd-genre-nav .hazu-hd-btn{
  border-width: var(--hazu-hd-genre-btn-border-w, 2px);
}

/* Mobile TOC button border width (admin: スマホの目次ボタンの線の幅) */
.hazu-hd-toc-mobile__toggle{
  border-width: var(--hazu-hd-toc-mobile-btn-border-w, 2px);
  border-color: var(--hazu-hd-toc-active-bg, #b5282a);
  background: var(--hazu-hd-toc-active-bg, #b5282a);
  color: #ffffff;
}
.hazu-hd-toc-mobile__toggle::before,
.hazu-hd-toc-mobile__toggle::after{
  background: #ffffff;
}

.hazu-hd-toc-mobile__list .hazu-hd-btn{
  border-width: var(--hazu-hd-toc-mobile-btn-border-w, 2px);
}

@media (max-width: 640px) {
  .hazu-hd-embed {
    --hazu-hd-topcard-img-width: var(--hazu-hd-topcard-img-width-sp, var(--hazu-hd-topcard-img-width-pc, 80%));
    --hazu-hd-topcard-img-pad-top: var(--hazu-hd-topcard-img-pad-sp-t, var(--hazu-hd-topcard-img-pad-pc-t, var(--hazu-hd-topcard-img-pad-top)));
    --hazu-hd-topcard-img-pad-right: var(--hazu-hd-topcard-img-pad-sp-r, var(--hazu-hd-topcard-img-pad-pc-r, var(--hazu-hd-topcard-img-pad-right)));
    --hazu-hd-topcard-img-pad-bottom: var(--hazu-hd-topcard-img-pad-sp-b, var(--hazu-hd-topcard-img-pad-pc-b, var(--hazu-hd-topcard-img-pad-bottom)));
    --hazu-hd-topcard-img-pad-left: var(--hazu-hd-topcard-img-pad-sp-l, var(--hazu-hd-topcard-img-pad-pc-l, var(--hazu-hd-topcard-img-pad-left)));
  }
}

/* Topcard column paddings (controlled via UI settings) */
.hazu-hd-embed .hazu-hd-topcard__info {
  padding-top: var(--hazu-hd-topcard-info-pad-top);
  padding-right: var(--hazu-hd-topcard-info-pad-right);
  padding-bottom: var(--hazu-hd-topcard-info-pad-bottom);
  padding-left: var(--hazu-hd-topcard-info-pad-left);
}
.hazu-hd-embed .hazu-hd-topcard__tieup {
  padding-top: var(--hazu-hd-topcard-tieup-pad-top);
  padding-right: var(--hazu-hd-topcard-tieup-pad-right);
  padding-bottom: var(--hazu-hd-topcard-tieup-pad-bottom);
  padding-left: var(--hazu-hd-topcard-tieup-pad-left);
}

/* スマホ本文下のタイアップブロック（PCは非表示） */
.hazu-hd-sp-tieup{
  display: none;
}

@media (max-width: 640px) {
  .hazu-hd-sp-tieup{
    display: block;
    margin: 18px auto 0 auto;
    width: var(--hazu-hd-mobile-mainframe-w, 100%);
    background: #000;
    border-radius: 18px;
    padding: 24px 16px;
    box-sizing: border-box;
  }
  .hazu-hd-sp-tieup__inner{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }
  .hazu-hd-sp-tieup__pill{
    background: #fff;
    color: #111;
    font-weight: 800;
    border-radius: 999px;
    padding: 10px 18px;
    line-height: 1;
    text-align: center;
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
  }
  .hazu-hd-sp-tieup__icons{
    display: flex;
    justify-content: center;
    gap: 28px;
    width: 100%;
  }
  .hazu-hd-sp-tieup__icon{
    text-decoration: none;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
  }
  .hazu-hd-sp-tieup__sym{
    font-size: 26px;
    line-height: 1;
  }
  .hazu-hd-sp-tieup__icon--disabled{
    opacity: 0.35;
  }
}



/* ===== HAZU HD TOPCARD v2 (PC/Smartphone) ===== */
.hazu-hd-topcard--v2{
  background:#f2f4f5;
  border-radius:14px;
  padding:18px;
  /* メイン枠の外側マージン。UI調整「メイン枠 余白」から var を流し込み（空欄時は fallback=現行値で現状維持）。 */
  margin-top:var(--hazu-hd-mframe-mt, 20px);
  margin-right:var(--hazu-hd-mframe-mr, auto);
  margin-bottom:var(--hazu-hd-mframe-mb, 20px);
  margin-left:var(--hazu-hd-mframe-ml, auto);
  max-width:980px;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__hdr{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__title{
  font-size:var(--hazu-hd-mtitle-fz, 30px);
  font-weight:900;
  line-height:1.2;
  color:var(--hazu-hd-mtitle-col, inherit);
  margin-left:var(--hazu-hd-mtitle-ml, 0px);
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__titlelink{
  color:inherit;
  text-decoration-line: underline;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
  text-decoration-color: currentColor;
  text-decoration-skip-ink: auto;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__titlelink:hover{
  opacity:0.85;
}

.hazu-hd-slot-base-note,
.hazu-hd-meta__v .hazu-hd-slot-base-note,
.hazu-hd-topcard--v2 .hazu-hd-specv2 td .hazu-hd-slot-base-note{
  font-weight: var(--hazu-hd-slot-base-note-font-weight, 800) !important;
  display:block !important;
  margin-top:2px;
  font-synthesis-weight:none;
}

.hazu-hd-topcard--v2 .hazu-hd-topcardv2__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.hazu-hd-topcard--v2 .hazu-hd-chip{
  display:inline-block;
  padding:6px 14px;
  border:2px solid var(--hazu-hd-badge-elem-border, #111);
  border-radius:999px;
  background:var(--hazu-hd-badge-elem-bg, #fff);
  color:var(--hazu-hd-badge-elem-fg, #111);
  font-weight:800;
  font-size:var(--hazu-hd-badge-elem-font, 13px);
  line-height:1;
}

/* v2: 区分（パチンコ/パチスロ）バッジは黒背景・白文字 */

/* v2: 区分（パチンコ/パチスロ）バッジ */
.hazu-hd-topcard--v2 .hazu-hd-chip[data-hazu-part="tag_pachinko"],
.hazu-hd-topcard--v2 .hazu-hd-chip[data-hazu-part="tag_pachislot"]{
  background:var(--hazu-hd-badge-cat-bg, #000);
  border-color:var(--hazu-hd-badge-cat-border, #000);
  color:var(--hazu-hd-badge-cat-fg, #fff);
  font-size:var(--hazu-hd-badge-cat-font, var(--hazu-hd-badge-elem-font, 13px));
}

/* v2: スペックバッジ（parts: [data-hazu-part="spec"]） */
.hazu-hd-topcard--v2 [data-hazu-part="spec"]{
  display: contents;
}
.hazu-hd-topcard--v2 [data-hazu-part="spec"] .hazu-hd-chip{
  background:var(--hazu-hd-badge-spec-bg, var(--hazu-hd-badge-elem-bg, #fff));
  border-color:var(--hazu-hd-badge-spec-border, var(--hazu-hd-badge-elem-border, #111));
  color:var(--hazu-hd-badge-spec-fg, var(--hazu-hd-badge-elem-fg, #111));
  font-size:var(--hazu-hd-badge-spec-font, var(--hazu-hd-badge-elem-font, 13px));
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__main{
  display:grid;
  grid-template-columns:var(--hazu-hd-topcard-img-col-pc, 300px) 1fr;
  grid-template-rows:auto auto;
  column-gap:16px;
  row-gap:14px;
  align-items:start;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__left{
  width:var(--hazu-hd-topcard-img-col-pc, 300px);
  grid-column:1;
  grid-row:1 / span 2;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__img img{
  width:100%;
  height:auto;
  display:block;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupbtn{
  margin-top:14px;
  padding:10px 14px;
  background:#fff;
  border:1px solid #cfd5da;
  border-radius:999px;
  text-align:center;
  font-weight:900;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupicons{
  margin-top:10px;
  display:flex;
  justify-content:center;
  gap:18px;
}
.hazu-hd-topcard--v2 .hazu-hd-bico{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-decoration:none;
  color:#111;
  font-weight:800;
  font-size:12px;
}
.hazu-hd-topcard--v2 .hazu-hd-bico__sym{
  font-size:22px;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-bico--disabled{
  opacity:0.35;
  cursor:not-allowed;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__right{
  grid-column:2;
  grid-row:1;
  min-width:0;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__summary{
  background:#fff;
  border:1px solid #cfd5da;
  border-radius:12px;
  padding:var(--hazu-hd-summary-pad-y, 14px) 14px;
  margin-top: var(--hazu-hd-topcard-summary-margin-pc-t, 0px);
  margin-right: var(--hazu-hd-topcard-summary-margin-pc-r, 0px);
  margin-bottom: var(--hazu-hd-topcard-summary-margin-pc-b, 0px);
  margin-left: var(--hazu-hd-topcard-summary-margin-pc-l, 0px);
  display:flex;
  gap:14px;
}
.hazu-hd-topcard--v2 .hazu-hd-out{
  flex:1;
  border-right:1px solid #e2e6ea;
  padding-right:14px;
}
/* 「大当り確率」「RUSH突入率」「出玉率」の“ラベル文言だけ”を四角で囲む（UI調整・v4.1.202／v4.1.203でラベル限定／v4.1.204でパディング上下左右別・線幅は小数px可）。
   ラベルの文字を inline-block の <span> で包み、文字幅にぴったり張り付く枠にする。既定 width:0＝枠なし（現状維持）。
   色未指定は currentColor（テーマ文字色に追従＝ダーク対応）。embed全体 box-sizing:border-box。 */
.hazu-hd-topcard--v2 .hazu-hd-out__box{
  display: inline-block;
  /* v4.1.209: 枠を“文字そのもの”に張り付かせる。inline-block の高さ＝line-height のため、
     継承した行間（大当り確率ラベルは祖先 .hazu-hd-out の line-height:28px を継いで枠が縦に余る／
     RUSH突入率ラベルは .hazu-hd-out__sub-k の細い line-height を継いで密着）に左右されないよう、
     枠自身の line-height を 1 に固定。これでパディング0時はどの枠も文字にピッタリ密着し、
     RUSH突入率と大当り確率で上下余白の差が出ない。枠OFF（border/padding 既定0）時は不可視のため見た目不変。 */
  line-height: 1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__box--hit{
  border: var(--hazu-hd-box-hit-width, 0) solid var(--hazu-hd-box-hit-color, currentColor);
  border-radius: var(--hazu-hd-box-hit-radius, 0);
  padding: var(--hazu-hd-box-hit-pad-t, 0) var(--hazu-hd-box-hit-pad-r, 0) var(--hazu-hd-box-hit-pad-b, 0) var(--hazu-hd-box-hit-pad-l, 0);
  margin: var(--hazu-hd-box-hit-margin, 0);
}
.hazu-hd-topcard--v2 .hazu-hd-out__box--enter{
  border: var(--hazu-hd-box-enter-width, 0) solid var(--hazu-hd-box-enter-color, currentColor);
  border-radius: var(--hazu-hd-box-enter-radius, 0);
  padding: var(--hazu-hd-box-enter-pad-t, 0) var(--hazu-hd-box-enter-pad-r, 0) var(--hazu-hd-box-enter-pad-b, 0) var(--hazu-hd-box-enter-pad-l, 0);
  margin: var(--hazu-hd-box-enter-margin, 0);
}
.hazu-hd-topcard--v2 .hazu-hd-out__box--payout{
  border: var(--hazu-hd-box-payout-width, 0) solid var(--hazu-hd-box-payout-color, currentColor);
  border-radius: var(--hazu-hd-box-payout-radius, 0);
  padding: var(--hazu-hd-box-payout-pad-t, 0) var(--hazu-hd-box-payout-pad-r, 0) var(--hazu-hd-box-payout-pad-b, 0) var(--hazu-hd-box-payout-pad-l, 0);
  margin: var(--hazu-hd-box-payout-margin, 0);
}
/* 数字（大当り確率・出玉率・純増・機械割など）とラベルのフォント。UI調整「数字のフォント」で切替（v4.1.184）。
   既定 inherit＝端末フォント（現状・無変化）。Noto選択時のみ .hazu-hd-embed の --hazu-hd-num-font が流れる。
   テーマが body,…,div,span 等に font-family:!important を全掛けしているため、子孫まで対象＋!important で上書きする（実機検証済み）。 */
.hazu-hd-topcard--v2 .hazu-hd-out,
.hazu-hd-topcard--v2 .hazu-hd-out *{
  font-family: var(--hazu-hd-num-font, inherit) !important;
}
/* 大当り確率ブロックの系統別フォント（タイトル/数値/注釈を個別指定・v4.1.201）。
   未設定時は --hazu-hd-num-font に追従＝現状維持。上の "*" ルールが !important のため、
   詳細度を上げて（要素クラスを足して 0,3,0）+ !important で系統ごとに上書きする。 */
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__label,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__sub-k{
  font-family: var(--hazu-hd-hit-title-font, var(--hazu-hd-num-font, inherit)) !important;
}
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__max,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__max *,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__min,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__min *,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__sub-v,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__sub-v *{
  font-family: var(--hazu-hd-hit-value-font, var(--hazu-hd-num-font, inherit)) !important;
}
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__note{
  font-family: var(--hazu-hd-hit-note-font, var(--hazu-hd-num-font, inherit)) !important;
}
/* 「調査中」プレースホルダ（出玉率/大当り確率が未設定のとき .hazu-hd-out に出る .hazu-hd-researching）の
   文字サイズ/色/書体を UI調整で個別制御（v4.1.249）。未設定（変数なし）は現状維持：
   サイズ=囲い親(__max 等)の数値サイズを継承（inherit）／色=継承／書体=祖先 .hazu-hd-out *(0,2,0)!important の num-font。
   書体は (0,3,0)+!important で祖先 *!important に勝つ。サイズ/色は祖先に!importantが無いので素の(0,3,0)で勝てる。
   PC値は .hazu-hd-embed、スマホ値は .hazu-hd-embed.hazu-hd-is-sp の同名変数が流れる（スマホ実機のみ）。
   span のインライン font-weight:300/opacity:.82 はそのまま（サイズ/色/書体と非競合）。 */
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-researching{
  font-size: var(--hazu-hd-researching-size, inherit);
  color: var(--hazu-hd-researching-color, inherit);
  font-family: var(--hazu-hd-researching-font, var(--hazu-hd-num-font, inherit)) !important;
}
.hazu-hd-topcard--v2 .hazu-hd-out__label{
  font-weight:900;
  font-size: var(--hazu-hd-info-label-font, 18px);
  margin-bottom: var(--hazu-hd-info-prob-gap, 8px);
}
/* パチスロのみ：出玉率（ラベル）↔最低設定（97.2%～）の間隔を、パチンコの「大当り確率」とは独立して制御（v4.1.187）。
   詳細度(0,3,0)で上の共通ルール(0,2,0)に勝つ。--hazu-hd-slot-label-gap 未指定/空欄時は --hazu-hd-info-prob-gap と
   同値が流れる（PHP側で追従）ためデグレ無し。 */
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-out__label{
  margin-bottom: var(--hazu-hd-slot-label-gap, var(--hazu-hd-info-prob-gap, 8px));
}
.hazu-hd-topcard--v2 .hazu-hd-out__min{
  font-weight:900;
  font-size: var(--hazu-hd-info-prob-min-font, 22px);
  color: var(--hazu-hd-info-prob-value-color, #a40000);
  /* パチスロ 出玉率：最低設定（97.6%～）と最高設定（114.9%）の間の余白。UI調整で可変（v4.1.185）。既定4＝現状。 */
  margin-bottom: var(--hazu-hd-info-prob-min-mb, 4px);
}
.hazu-hd-topcard--v2 .hazu-hd-out__max{
  font-weight:900;
  font-size: var(--hazu-hd-info-prob-max-font, 64px);
  line-height:1;
  color: var(--hazu-hd-info-prob-value-color, #a40000);
  margin-bottom: var(--hazu-hd-info-prob-mb, 0px);
}
.hazu-hd-topcard--v2 .hazu-hd-out__note{
  margin-top:6px;
  font-size: var(--hazu-hd-info-note-font, 12px);
  line-height:1.4;
  color:#333;
}
.hazu-hd-topcard--v2 .hazu-hd-out__note--hit-prob{
  font-size: var(--hazu-hd-hit-prob-note-font, var(--hazu-hd-info-note-font, 12px));
  font-weight: var(--hazu-hd-hit-prob-note-font-weight, normal);
}
.hazu-hd-topcard--v2 .hazu-hd-out__note--slot-out-rate-max{
  font-size: var(--hazu-hd-slot-out-rate-max-note-font, var(--hazu-hd-info-note-font, 12px));
  font-weight: var(--hazu-hd-slot-out-rate-max-note-font-weight, normal);
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub{
  margin-top:6px;
  line-height:1.4;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-k{
  display:block;
  font-weight:900;
  font-size: var(--hazu-hd-info-sub-label-font, 13px);
  line-height:1.2;
  margin-right:0;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v{
  display:block;
  font-weight:900;
  color: var(--hazu-hd-info-sub-value-color, #000);
  font-size: var(--hazu-hd-info-sub-value-font, 13px);
  line-height:1.2;
  margin-top:2px;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--enter{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  line-height:1;
  /* 大当り確率の注釈（.hazu-hd-out__note--hit-prob）↔ RUSH突入率ブロック の間隔（v4.1.211）。
     既定6px＝従来の .hazu-hd-out__sub margin-top:6px と同値（このルールは 2185 の .hazu-hd-out__sub と
     同詳細度(0,2,0)だが後方なので margin-top を上書きする）。UI調整で可変・マイナス可。 */
  margin-top: var(--hazu-hd-enter-block-gap, 6px);
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--enter .hazu-hd-out__sub-k{
  line-height:0.92;
  margin:0;
  padding:0;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter{
  color: var(--hazu-hd-info-enter-value-color, var(--hazu-hd-info-sub-value-color, #000));
  margin-top:0;
  padding:0;
  line-height:0.95;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--enter .hazu-hd-out__sub-v--enter{
  margin-top: calc(var(--hazu-hd-topcard-enter-value-gap, 2px) - 0.18em);
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--enter .hazu-hd-out__note--enter-rate{
  margin-top:6px;
}
/* ===== パチスロ 純増ブロック（出玉率の数値の下に表示・v4.1.220）。PC/スマホ共通 =====
   構造はパチンコ突入率(.hazu-hd-out__sub--enter)と同型。ラベル＝.hazu-hd-out__sub-k（box--junzo で枠囲み可）／
   数値＝.hazu-hd-out__sub-v--junzo。既定（変数未出力）時は現行サブ値と同じ見た目＝余計な変化なし。
   書体は祖先 .hazu-hd-out * / 系統font が !important で当たるため、純増専用書体は (0,4,0)/(0,3,0)+!important で後出し上書き。
   サイズ/色は祖先に !important が無いので素の詳細度(0,3,0)で勝てる。 */
/* 純増ブロックの上余白＝出玉率の数値（注釈）↔純増ラベル の間隔。UI調整でPC/スマホ個別・マイナス可（v4.1.222）。
   既定6px＝従来（base .hazu-hd-out__sub margin-top:6px）と同値＝デグレ無し。PC値は .hazu-hd-embed、スマホ値は
   .hazu-hd-embed.hazu-hd-is-sp の --hazu-hd-junzo-block-gap が流れる。SP密度<100時は ui-css の密度ルールが
   calc(var(...)×密度) で上書きする（個別設定×密度を両立）。base(0,2,0) より後方の同詳細度(0,2,0)なので勝つ。 */
.hazu-hd-topcard--v2 .hazu-hd-out__sub--junzo{
  margin-top: var(--hazu-hd-junzo-block-gap, 6px);
}
.hazu-hd-topcard--v2 .hazu-hd-out__box--junzo{
  border: var(--hazu-hd-box-junzo-width, 0) solid var(--hazu-hd-box-junzo-color, currentColor);
  border-radius: var(--hazu-hd-box-junzo-radius, 0);
  padding: var(--hazu-hd-box-junzo-pad-t, 0) var(--hazu-hd-box-junzo-pad-r, 0) var(--hazu-hd-box-junzo-pad-b, 0) var(--hazu-hd-box-junzo-pad-l, 0);
  margin: var(--hazu-hd-box-junzo-margin, 0);
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--junzo .hazu-hd-out__sub-k{
  font-size: var(--hazu-hd-junzo-label-size, 13px);
  color: var(--hazu-hd-junzo-label-color, inherit);
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--junzo .hazu-hd-out__sub-v--junzo{
  font-size: var(--hazu-hd-junzo-value-size, 16px);
  color: var(--hazu-hd-junzo-value-color, var(--hazu-hd-info-sub-value-color, #000));
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub--junzo .hazu-hd-out__sub-v--junzo .hazu-hd-slot-junzou-note{
  color: var(--hazu-hd-junzo-value-color, var(--hazu-hd-info-sub-value-color, #000));
  /* 純増 注釈の文字サイズ（v4.1.234）。未設定（変数なし）＝inherit＝純増数値サイズを継承（現状）。
     PC値は .hazu-hd-embed、スマホ値は .hazu-hd-embed.hazu-hd-is-sp の --hazu-hd-junzo-note-size が流れる。 */
  font-size: var(--hazu-hd-junzo-note-size, inherit);
  /* 純増 注釈の書体（v4.1.235）。未設定（変数なし）＝純増数値の書体チェーンを継承（現状＝デグレ無し）。
     値の書体ルール .hazu-hd-out__sub-v--junzo *（0,3,0）+!important に勝つため (0,4,0)+!important。
     PC値は .hazu-hd-embed、スマホ値は .hazu-hd-embed.hazu-hd-is-sp の --hazu-hd-junzo-note-font が流れる。 */
  font-family: var(--hazu-hd-junzo-note-font, var(--hazu-hd-junzo-value-font, var(--hazu-hd-hit-value-font, var(--hazu-hd-num-font, inherit)))) !important;
}
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__sub--junzo .hazu-hd-out__sub-k{
  font-family: var(--hazu-hd-junzo-label-font, var(--hazu-hd-hit-title-font, var(--hazu-hd-num-font, inherit))) !important;
}
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__sub-v--junzo,
.hazu-hd-topcard--v2 .hazu-hd-out .hazu-hd-out__sub-v--junzo *{
  font-family: var(--hazu-hd-junzo-value-font, var(--hazu-hd-hit-value-font, var(--hazu-hd-num-font, inherit))) !important;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi{
  font-size: var(--hazu-hd-info-prob-max-pachi-font, 46px);
}

.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-approx{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-approx-pachi-font, 18px);
  margin-right: .15em;
  vertical-align: super;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-prefix{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-prefix-pachi-font, 18px);
  vertical-align: super;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-int{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-dec{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-decimal-pachi-font, 28px);
  vertical-align: baseline;
  position: relative;
  top: 0;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-range-item{
  display:inline-block;
  white-space:nowrap;
}

.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-range{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-range-pachi-font, var(--hazu-hd-info-prob-max-pachi-font, 46px));
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-text{
  display:block;
  font-size: var(--hazu-hd-hit-prob-text-font, 28px);
  font-weight: var(--hazu-hd-hit-prob-text-font-weight, 700);
  color: var(--hazu-hd-info-prob-value-color, #a40000);
  line-height: 1.45;
  white-space: pre-line;
  word-break: break-word;
}

.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-wrap{
  display:inline-flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:0 .06em;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-group{
  display:inline-flex;
  align-items:flex-start;
  line-height:1;
  white-space:nowrap;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text{
  display:inline-block;
  font-size: var(--hazu-hd-enter-rate-text-font, 28px);
  font-weight: var(--hazu-hd-enter-rate-text-font-weight, 700);
  line-height:1.2;
  white-space: pre-line;
  word-break: break-word;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-prefix{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-approx-pachi-font, 10px);
  line-height:1;
  vertical-align:super;
  margin-right:.06em;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-int{
  display:inline-block;
  font-size: var(--hazu-hd-enter-rate-text-font, 28px);
  font-weight: var(--hazu-hd-enter-rate-text-font-weight, 700);
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-dec{
  display:inline-block;
  font-size: calc(var(--hazu-hd-enter-rate-text-font, 28px) * 0.72);
  font-weight: var(--hazu-hd-enter-rate-text-font-weight, 700);
  line-height:1;
  vertical-align:baseline;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-rest{
  display:inline-block;
  font-size: var(--hazu-hd-enter-rate-text-font, 28px);
  font-weight: var(--hazu-hd-enter-rate-text-font-weight, 700);
  line-height:1.2;
  margin-left:.08em;
  white-space:pre-line;
  word-break:break-word;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-range .hazu-hd-out__prob-range-sep{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-approx-pachi-font, 18px);
  vertical-align: super;
  line-height:1;
  margin:0 .08em;
}

.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text *,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-int,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-rest,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-rest *{
  font-size: var(--hazu-hd-enter-rate-text-font, 28px) !important;
  font-weight: var(--hazu-hd-enter-rate-text-font-weight, 700) !important;
}
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text *,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-rest,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-rest *{
  line-height: 1.2 !important;
}
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-wrap,
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-group{
  display:inline-flex !important;
  align-items:flex-start !important;
  line-height:1 !important;
}
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-prefix{
  font-size: var(--hazu-hd-info-enter-approx-pachi-font, 10px) !important;
  line-height:1 !important;
  margin-right:.06em !important;
}
.hazu-hd-out__sub-v--enter .hazu-hd-out__enter-text-dec{
  font-size: calc(var(--hazu-hd-enter-rate-text-font, 28px) * 0.72) !important;
  font-weight: var(--hazu-hd-enter-rate-text-font-weight, 700) !important;
  line-height:1 !important;
}

.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-approx{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-approx-pachi-font, 10px);
  vertical-align: super;
  line-height:1;
}

.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-int{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-dec{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-decimal-pachi-font, 20px);
  vertical-align: baseline;
  position: relative;
  top: 0;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-percent{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-percent-pachi-font, 20px);
  vertical-align: baseline;
  position: relative;
  top: 0;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-rest{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-range{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-range-item{
  display:inline-block;
  white-space:nowrap;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-range-sep{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-approx-pachi-font, 10px);
  vertical-align: super;
  line-height:1;
  margin:0 .08em;
}
.hazu-hd-topcard--v2 .hazu-hd-info{
  flex:1;
  display:flex;
  flex-direction:column;
}
.hazu-hd-topcard--v2 .hazu-hd-info__row{
  display:flex;
  gap:10px;
  align-items:center;
  padding-top: var(--hazu-hd-topcard-summary-row-pad-pc-t, 10px);
  padding-right: var(--hazu-hd-topcard-summary-row-pad-pc-r, 0px);
  padding-bottom: var(--hazu-hd-topcard-summary-row-pad-pc-b, 10px);
  padding-left: var(--hazu-hd-topcard-summary-row-pad-pc-l, 0px);
  border-bottom:1px solid #e2e6ea;
}
.hazu-hd-topcard--v2 .hazu-hd-info__row:last-child{
  border-bottom:none;
}
.hazu-hd-topcard--v2 .hazu-hd-info__k{
  width:90px;
  font-weight:900;
  font-size: var(--hazu-hd-info-label-font, 14px);
}
.hazu-hd-topcard--v2 .hazu-hd-info__v{
  flex:1;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-start;
  font-weight:800;
  font-size: var(--hazu-hd-info-value-font, 14px);
}
.hazu-hd-topcard--v2 .hazu-hd-miniicon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid #cfd5da;
  border-radius:999px;
  text-decoration:none;
  color:#111;
  font-weight:900;
  font-size:14px;
}
.hazu-hd-topcard--v2 .hazu-hd-miniicon--disabled{
  opacity:0.35;
}
/* v4.1.366→367: 動画(▶)アイコンを赤くして動画っぽく見せる。URL未設定時は --video 無し(=--disabled のグレー)のまま。ユーザー要望 2026-07-16 */
/* v4.1.367 修正: --video は常に URL 有りの <a> にだけ付く。a. で詳細度を上げ、後方の itbl 側 color:#111 !important（同詳細度・後方=勝ち）に確実に勝たせる（366 では itbl の▶が黒のままだった）。 */
.hazu-hd-topcard--v2 a.hazu-hd-miniicon--video,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl__micons a.hazu-hd-miniicon--video,
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl__micons a.hazu-hd-miniicon--video{
  color:#ff0000 !important;
}
.hazu-hd-topcard--v2 .hazu-hd-info__v--icons{
  gap:16px;
}

/* メーカー行だけは「メーカー名 → アイコン」を2段表示 */
.hazu-hd-topcard--v2 .hazu-hd-info__v--maker{
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.hazu-hd-topcard--v2 .hazu-hd-makericons{
  display:flex;
  align-items:center;
  gap:16px;
}
.hazu-hd-topcard--v2 .hazu-hd-ico{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-decoration:none;
  color:#111;
  font-weight:900;
  font-size:12px;
}
.hazu-hd-topcard--v2 .hazu-hd-ico__sym{
  font-size:22px;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-ico--disabled{
  opacity:0.35;
  cursor:not-allowed;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec{
  grid-column:2;
  grid-row:2;
}
.hazu-hd-topcard--v2 .hazu-hd-specv2{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid #cfd5da;
}
.hazu-hd-topcard--v2 .hazu-hd-specv2 th{
  width:var(--hazu-hd-spec-th-width, 140px);
  background:#111;
  color:#fff;
  font-weight:900;
  padding:var(--hazu-hd-spec-cell-py, 12px) var(--hazu-hd-spec-th-px, 10px);
  font-size:var(--hazu-hd-spec-th-font, 14px);
  text-align:center;
  border-right:1px solid #cfd5da;
}
.hazu-hd-topcard--v2 .hazu-hd-specv2 td{
  padding:var(--hazu-hd-spec-cell-py, 12px) var(--hazu-hd-spec-td-px, 14px);
  font-size:var(--hazu-hd-spec-td-font, 14px);
  border-top:1px solid #e2e6ea;
  font-weight:800;
  text-align:left !important;
  vertical-align:middle;
}
.hazu-hd-topcard--v2 .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"]{
  text-align:left !important;
}
.hazu-hd-topcard--v2.hazu-hd-topcard--pachinko .hazu-hd-specv2 td[data-hazu-part="feature_value"]{
  font-weight:var(--hazu-hd-pachi-feature-font-weight, 800);
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__trigger,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-trigger{
  display:inline-block;
  padding:1px 6px;
  margin:0 0 4px;
  border:1px solid currentColor;
  border-radius:0;
  box-sizing:border-box;
  font-weight:800;
  line-height:1.45;
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__setting-change-label,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__note-label,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-setting-change-label,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-note-label{
  font-weight:800;
  display:block;
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__value,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-value{
  display:block;
  margin-top:2px;
  font-weight:var(--hazu-hd-slot-tenjyo2-body-font-weight, 400);
}
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__setting-change-content,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-setting-change-content{
  font-weight:var(--hazu-hd-slot-tenjyo2-setting-change-font-weight, 400);
}
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__note-content,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-note-content{
  font-weight:var(--hazu-hd-slot-tenjyo2-note-font-weight, 400);
}
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__main,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__setting-change,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__note,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-main,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-setting-change,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-note,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-link{
  line-height:1.6;
}
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-hd-tenjyo2__block + .hazu-hd-tenjyo2__block,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-block + .hazu-tenjyo2-block{
  margin-top:0;
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-link{
  display:block;
  margin-top:4px;
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-link-arrow{
  margin-right:2px;
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-link-anchor,
.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-link-anchor:visited{
  color:inherit;
  text-decoration:none;
}

.hazu-hd-topcard--v2.hazu-hd-topcard--pachislot .hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] .hazu-tenjyo2-link-text{
  text-decoration:underline;
}

.hazu-hd-topcard--v2 .hazu-hd-specv2__note{
  font-size:0.85em;
  margin-top:4px;
  line-height:1.4;
  opacity:0.9;
}
.hazu-hd-topcard--v2 .hazu-hd-cont-rate__block + .hazu-hd-cont-rate__block{
  margin-top:8px;
}
.hazu-hd-topcard--v2 .hazu-hd-cont-rate__main{
  line-height:1.45;
}
.hazu-hd-topcard--v2 .hazu-hd-cont-rate__note{
  margin-top:2px;
  padding-left:1em;
  line-height:1.45;
  font-size:var(--hazu-hd-cont-rate-note-font, 12px);
  font-weight:var(--hazu-hd-cont-rate-note-font-weight, normal);
  word-break:break-word;
  overflow-wrap:anywhere;
}
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__update{
  margin-top:var(--hazu-hd-update-mt, 14px);
  margin-bottom:var(--hazu-hd-update-mb, 0px);
}
/* スマホ：スペック表の下マージン（テーマ既定の table margin・約12px）を0にして、更新情報の上の隙間を
   update-mt 1本に集約する（v4.1.179）。これで「更新情報の上の余白＝0」で実際にスペック表へ密着できる。 */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-specv2{
  margin-bottom:0;
}

/* Smartphone layout */
@media (max-width: 768px){
  .hazu-hd-topcard--v2{
    padding:14px;
    /* スマホ用メイン枠マージン。UI調整「メイン枠 余白（スマホ）」の var（空欄時は fallback=現行値）。 */
    margin-top:var(--hazu-hd-mframe-mt-sp, 12px);
    margin-right:var(--hazu-hd-mframe-mr-sp, auto);
    margin-bottom:var(--hazu-hd-mframe-mb-sp, 12px);
    margin-left:var(--hazu-hd-mframe-ml-sp, auto);
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__title{
    font-size:var(--hazu-hd-mtitle-fz-sp, 28px);
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__main{
    grid-template-columns:var(--hazu-hd-topcard-img-w-sp, var(--hazu-hd-topcard-img-col-sp, 160px)) 1fr;
    column-gap:12px;
    row-gap:12px;
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__left{
    width:100%;
    max-width:100%;
    grid-column:1;
    grid-row:1;
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__right{
    grid-column:2;
    grid-row:1;
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec{
    grid-column:1 / span 2;
    grid-row:2;
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupbtn,
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupicons{
    display:none;
  }
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__summary{
    padding:var(--hazu-hd-summary-pad-y, 12px) 12px;
    margin-top: var(--hazu-hd-topcard-summary-margin-sp-t, 0px);
    margin-right: var(--hazu-hd-topcard-summary-margin-sp-r, 0px);
    margin-bottom: var(--hazu-hd-topcard-summary-margin-sp-b, 0px);
    margin-left: var(--hazu-hd-topcard-summary-margin-sp-l, 0px);
  }
  .hazu-hd-topcard--v2 .hazu-hd-info__row{
    padding-top: var(--hazu-hd-topcard-summary-row-pad-sp-t, 10px);
    padding-right: var(--hazu-hd-topcard-summary-row-pad-sp-r, 0px);
    padding-bottom: var(--hazu-hd-topcard-summary-row-pad-sp-b, 10px);
    padding-left: var(--hazu-hd-topcard-summary-row-pad-sp-l, 0px);
  }
  .hazu-hd-topcard--v2 .hazu-hd-out__max{
    font-size: var(--hazu-hd-info-prob-max-font, 64px);
  }
  .hazu-hd-topcard--v2 .hazu-hd-out__max--pachi{
    font-size: var(--hazu-hd-info-prob-max-pachi-font, 46px);
  }
  .hazu-hd-topcard--v2 .hazu-hd-info__k{
    width:84px;
  }
  .hazu-hd-topcard--v2 .hazu-hd-specv2 th{
    width:110px;
  }
}

/* SP UA判定（iframe/object 環境で media query が効かないケース向け） */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2{
  padding:14px;
  margin-top:var(--hazu-hd-mframe-mt-sp, 12px);
  margin-right:var(--hazu-hd-mframe-mr-sp, auto);
  margin-bottom:var(--hazu-hd-mframe-mb-sp, 12px);
  margin-left:var(--hazu-hd-mframe-ml-sp, auto);
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__title{
  font-size:var(--hazu-hd-mtitle-fz-sp, 28px);
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__main{
  display:grid;
  grid-template-columns:var(--hazu-hd-topcard-img-w-sp, var(--hazu-hd-topcard-img-col-sp, 160px)) 1fr;
  grid-template-areas:
    "left right"
    "spec spec";
  column-gap:12px;
  row-gap:12px;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__left{
  grid-area:left;
  width:100%;
  max-width:100%;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__right{
  grid-area:right;
  min-width:0;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec{
  grid-area:spec;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupbtn,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupicons{
  display:none;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__summary{
  padding:var(--hazu-hd-summary-pad-y, 12px) 12px;
  margin-top: var(--hazu-hd-topcard-summary-margin-sp-t, 0px);
  margin-right: var(--hazu-hd-topcard-summary-margin-sp-r, 0px);
  margin-bottom: var(--hazu-hd-topcard-summary-margin-sp-b, 0px);
  margin-left: var(--hazu-hd-topcard-summary-margin-sp-l, 0px);
}

.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-info__row{
  padding-top: var(--hazu-hd-topcard-summary-row-pad-sp-t, 10px);
  padding-right: var(--hazu-hd-topcard-summary-row-pad-sp-r, 0px);
  padding-bottom: var(--hazu-hd-topcard-summary-row-pad-sp-b, 10px);
  padding-left: var(--hazu-hd-topcard-summary-row-pad-sp-l, 0px);
}

/* pachinko: stack summary blocks on mobile (hit probability -> info) */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2.hazu-hd-topcard--pachinko .hazu-hd-topcardv2__summary{
  flex-direction:column;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2.hazu-hd-topcard--pachinko .hazu-hd-out{
  border-right:none;
  padding-right:0;
  /* v4.1.219: RUSH突入率の数値の下に出ていた罫線を非表示（ユーザー要望）。
     間隔は維持するため padding-bottom はそのまま残す（レイアウトずれ防止）。 */
  border-bottom:none;
  padding-bottom:var(--hazu-hd-pachi-gap, 12px);
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2.hazu-hd-topcard--pachinko .hazu-hd-info{
  /* v4.1.208: padding-top → margin-top（負値で「大当り確率↔導入開始日」を詰める/重ねる。
     正値時は従来と同じ間隔。CSSのpaddingは負が無効なためmarginに変更） */
  margin-top:var(--hazu-hd-pachi-gap, 12px);
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-out__max{
  font-size: var(--hazu-hd-info-prob-max-font, 64px);
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-out__max--pachi{
  font-size: var(--hazu-hd-info-prob-max-pachi-font, 46px);
}

.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-approx{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-approx-pachi-font, 18px);
  margin-right: .15em;
  vertical-align: super;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-prefix{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-prefix-pachi-font, 18px);
  vertical-align: super;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-int{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__max--pachi .hazu-hd-out__prob-dec{
  display:inline-block;
  font-size: var(--hazu-hd-info-prob-decimal-pachi-font, 28px);
  vertical-align: baseline;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-approx{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-approx-pachi-font, 10px);
  vertical-align: super;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-rest{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-range{
  display:inline-block;
  line-height:1;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-range-item{
  display:inline-block;
  white-space:nowrap;
}
.hazu-hd-topcard--v2 .hazu-hd-out__sub-v--enter .hazu-hd-out__enter-range-sep{
  display:inline-block;
  font-size: var(--hazu-hd-info-enter-approx-pachi-font, 10px);
  vertical-align: super;
  line-height:1;
  margin:0 .08em;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-info__k{
  width:84px;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-specv2 th{
  width:110px;
}

/* SP tieup block naming support (v2) */
.hazu-hd-sp-tieup__btn{
  background:#fff;
  border-radius:999px;
  padding:14px 18px;
  font-weight:900;
  text-align:center;
  margin-bottom:14px;
}
.hazu-hd-sp-tieup__icons{
  display:flex;
  justify-content:center;
  gap:22px;
}
.hazu-hd-sp-tieup__ico{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#fff;
  font-weight:900;
  font-size:13px;
}
.hazu-hd-sp-tieup__sym{
  font-size:26px;
  line-height:1;
}
.hazu-hd-sp-tieup__ico--disabled{
  opacity:0.35;
  cursor:not-allowed;
}

/* show SP tieup only on small screens */
@media (min-width: 769px){
  .hazu-hd-sp-tieup{
    display:none;
  }
}

/* SP fallback: viewportがPC扱いになってもスマホ判定でSPレイアウトへ切替する */
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2{
  padding:14px;
  margin-top:var(--hazu-hd-mframe-mt-sp, 12px);
  margin-right:var(--hazu-hd-mframe-mr-sp, auto);
  margin-bottom:var(--hazu-hd-mframe-mb-sp, 12px);
  margin-left:var(--hazu-hd-mframe-ml-sp, auto);
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__title{
  font-size:var(--hazu-hd-mtitle-fz-sp, 28px);
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__main{
  display:grid;
  grid-template-columns:var(--hazu-hd-topcard-img-w-sp, var(--hazu-hd-topcard-img-col-sp, 160px)) 1fr;
  grid-template-areas:
    "left right"
    "spec spec";
  grid-column-gap:12px;
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__left{
  grid-area:left;
  width:100%;
  max-width:100%;
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__right{
  grid-area:right;
  min-width:0;
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec{
  grid-area:spec;
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupbtnrow,
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupicons{display:none;}


/* Mobile: stack summary so right-side info goes under probability */
@media (max-width: 768px){
  .hazu-hd-topcard--v2 .hazu-hd-topcardv2__summary{
    flex-direction:column;
  }
  .hazu-hd-topcard--v2 .hazu-hd-out{
    border-right:none;
    padding-right:0;
    margin-right:0;
    border-bottom:1px solid var(--hazu-hd-line);
    padding-bottom:8px;
    margin-bottom:8px;
  }
  .hazu-hd-topcard--v2 .hazu-hd-info{
    padding-left:0;
  }
}

.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__summary{
  flex-direction:column;
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-out{
  border-right:none;
  padding-right:0;
  margin-right:0;
  border-bottom:1px solid var(--hazu-hd-line);
  padding-bottom:8px;
  margin-bottom:8px;
}
.hazu-hd-embed.hazu-hd-sp .hazu-hd-topcard--v2 .hazu-hd-info{
  padding-left:0;
}

.hazu-hd-footer-copyright{
  margin:12px auto 0;
  padding:8px 10px;
  font-size:12px;
  line-height:1.4;
  text-align:center;
  opacity:0.8;
}

.hazu-hd-footer-copyright__img{
  margin:0 0 6px;
}

.hazu-hd-footer-copyright__img img{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
}


/* 0.12.5.63: Reduce gap under mobile TOC */
/* v4.1.156: 固定ナビ下の余白は UI設定 genre_gap_below_sp で制御（!importantで他に勝つ）。
   既定で本変数は16pxを出力。0で隙間なし。未出力時はフォールバック0px=旧来の挙動。 */
@media (max-width: 767px){
  .hazu-hd-sticky-area{
    padding-bottom: var(--hazu-hd-genre-gap-below-sp, 0px) !important;
  }
  .hazu-hd-genre-nav{
    margin-bottom: 0 !important;
  }
  .hazu-hd-toc-mobile{
    margin-bottom: 0 !important;
  }
  .hazu-hd-toc-mobile__list{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* =========================================================
   PCでは「ジャンルボタン下の目次（スマホ目次）」を表示しない
   - テーマ側CSSなどで display が上書きされるケースに備えて !important を付与
   ========================================================= */
@media (min-width: 901px){
  .hazu-hd-topcard__nav--section{ display:none !important; }
  .hazu-hd-toc-mobile{ display:none !important; }
  .hazu-hd-toc-mobile__list{ display:none !important; }
}


.hazu-hd-embed .hazu-hd-heading-band-standalone {
  margin: 0 0 6px;
}

.hazu-hd-embed .hazu-hd-heading-band-standalone * {
  color: inherit !important;
}

/* ===== v4.1.32 machine_top spec table normalization =====
 * Keep the Japanese v2 spec table design as the single source of truth.
 * Translated input HTML may carry legacy border/cellpadding/inline table styles.
 * Neutralize those residues, then reapply the same black-left-column v2 design.
 */
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2{
  width:100% !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  background:#fff !important;
  border:1px solid #cfd5da !important;
  table-layout:auto !important;
}
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 th,
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 th,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td{
  border:0 !important;
  box-shadow:none !important;
}
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 th,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 th{
  width:var(--hazu-hd-spec-th-width, 140px) !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:var(--hazu-hd-spec-cell-py, 12px) var(--hazu-hd-spec-th-px, 10px) !important;
  font-size:var(--hazu-hd-spec-th-font, 14px) !important;
  text-align:center !important;
  vertical-align:middle !important;
  border-right:1px solid #cfd5da !important;
  line-height:1.45 !important;
}
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td{
  padding:var(--hazu-hd-spec-cell-py, 12px) var(--hazu-hd-spec-td-px, 14px) !important;
  font-size:var(--hazu-hd-spec-td-font, 14px) !important;
  font-weight:800 !important;
  text-align:left !important;
  vertical-align:middle !important;
  background:#fff !important;
  color:#111 !important;
  border-top:1px solid #e2e6ea !important;
  line-height:1.55 !important;
}
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 tr:first-child th,
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 tr:first-child td,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 tr:first-child th,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 tr:first-child td{
  border-top:0 !important;
}
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"],
.hazu-hd-embed .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] *,
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"],
.hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec table.hazu-hd-specv2 td[data-hazu-part="tenjyo2_value"] *{
  text-align:left !important;
}


/* =========================================================
   v4.1.158: ジャンル本文アコーディオン（スマホのみ）
   - 大見出し(H2.hazu-hd-section__title)=大分類 / 中見出し(H3.hazu-hd-subsection__title)=中分類
   - 見出しタップで直後の本文を開閉。初期は閉じる（P-World参考）。大・中は独立開閉。
   - 大と中の見た目を分離：大＝濃い赤の塗りバー(白文字)／中＝白地に赤文字・赤左線・少し内側。
   - すべて @media(max-width:900px) 内。PC(>=901px)は一切変更しない（兄弟をJSでタグ付けするのみ）。
   - 詳細度: .hazu-hd-embed .hazu-hd-gacc__head--lvN = (0,2,0) が base .hazu-hd-embed h2/h3 (0,1,1) に勝つ。
   - 折りたたみ非表示は新規クラスへの !important（既存!importantと衝突しない／実機SP338pxで検証済み）。
   ========================================================= */
@media (max-width: 900px){
  /* タップで開閉する見出しバー（共通） */
  .hazu-hd-embed .hazu-hd-gacc__head{
    position: relative;
    cursor: pointer;
    padding-right: 40px;
    -webkit-tap-highlight-color: rgba(0,0,0,0.08);
    -webkit-user-select: none;
    user-select: none;
  }
  /* 開閉インジケータ（シェブロン）。色は currentColor＝見出し文字色に追従 */
  .hazu-hd-embed .hazu-hd-gacc__head::after{
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s ease;
    opacity: .85;
  }
  .hazu-hd-embed .hazu-hd-gacc__head.is-open::after{
    transform: rotate(-135deg);
    margin-top: -3px;
  }
  /* 大見出し（大分類）＝主役：濃い赤の塗りバー・白文字（v4.1.170: 色/サイズは設定変数。既定＝現状） */
  .hazu-hd-embed .hazu-hd-gacc__head--lv1{
    background: var(--hazu-hd-ghead-lv1-bg, var(--hazu-hd-main-heading-bg, #b5282a));
    color: var(--hazu-hd-ghead-lv1-text, #fff);
    border-left: 0;
    border-radius: 8px;
    font-size: var(--hazu-hd-ghead-lv1-size-sp, 16px);
    font-weight: 800;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  /* 中見出し（中分類）＝従属：白地に赤文字・赤左線・少し内側（v4.1.170: 色/サイズは設定変数。既定＝現状） */
  .hazu-hd-embed .hazu-hd-gacc__head--lv2{
    background: var(--hazu-hd-ghead-lv2-bg, #fff);
    color: var(--hazu-hd-ghead-lv2-text, #b00000);
    border: 1px solid rgba(176,0,0,0.28);
    border-left: 4px solid var(--hazu-hd-ghead-lv2-border, #b00000);
    border-radius: 8px;
    font-size: var(--hazu-hd-ghead-lv2-size-sp, 14px);
    font-weight: 700;
    margin-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .hazu-hd-embed .hazu-hd-gacc__head--lv2.is-open{
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  /* 折りたたみ：閉じている本文を隠す（table/div/p の display を確実に上書き） */
  .hazu-hd-embed .hazu-hd-main > .hazu-hd-gacc-collapsed,
  .hazu-hd-embed .hazu-hd-gacc-collapsed{
    display: none !important;
  }
  /* 直後が別見出しで中身が無い大見出しは、矢印を出さずタップ無効に見せる */
  .hazu-hd-embed .hazu-hd-gacc__head--empty{ cursor: default; }
  .hazu-hd-embed .hazu-hd-gacc__head--empty::after{ display: none; }
}


/* =========================================================
   v4.1.161: ジャンル連続スクロール（スマホ・B案 MVP）
   - 各ジャンル本文を .hazu-hd-genre-section で包み、下方向に継ぎ足す。
   - 追記分の間に区切りの余白だけ付ける（見た目はジャンル本文そのまま）。
   - センチネルは不可視の極小要素。PC は連続スクロール無効なので影響なし。
   ========================================================= */
.hazu-hd-gcs-sentinel{ width: 1px; height: 1px; margin: 0; padding: 0; pointer-events: none; }
@media (max-width: 900px){
  .hazu-hd-embed .hazu-hd-genre-section + .hazu-hd-genre-section{ margin-top: 12px; }
}


/* =========================================================
   v4.1.215: スマホ(SP)専用「情報部分」リデザイン（PDF「Frame 68」準拠）
   - .hazu-hd-sp-block-wrap（①②③＝更新情報の直前 / QR＝更新情報の直後）を is-sp(UA判定)のときだけ表示。
   - PC は display:none のため一切影響しない。
   - SP時はカード内の旧 info 枠と旧スペック表(__spec)を隠し、その位置に①②③を差し替える。
   - 配色は PDF 実測：青ラベル #0f95e2 / 公式HP #f29500 / PV #ac2828 / 黒帯 #000。
   ========================================================= */
.hazu-hd-sp-block-wrap{ display: none; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-block-wrap{ display: block; }

/* SP時：①へ集約するため、カード内の旧 info 枠を隠す。
   旧スペック表（純増/ベース/天井・継続率/特徴）も SP では表ごと非表示にし、その位置に①②③を差し替える。 */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-info{ display: none !important; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec{ display: none !important; }

/* 共通：各ブロックはメイン枠幅に合わせて中央寄せ */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-info,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-obtns,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-work,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-qr{
  width: var(--hazu-hd-mobile-mainframe-w, 100%);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* ① 基本情報表（th 背景/文字は既存 .hazu-hd-embed table th より詳細度を上げ、!important で確実に勝たせる） */
/* 枠（出玉率/大当り確率）↔ 基本情報表（型式名等）の間隔＝基本情報表の上マージン。スマホ個別・v4.1.237。既定12＝従来。 */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-info{ margin-top: var(--hazu-hd-out-basic-gap-sp, 12px); }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl th,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl td{
  border: 1px solid #dddfdf;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 1.4;
  vertical-align: middle;
  text-align: left;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl th{
  background: var(--hazu-hd-basic-label-bg-sp, #0f95e2) !important;
  color: var(--hazu-hd-basic-label-fg-sp, #fff) !important;
  font-weight: 700;
  font-size: var(--hazu-hd-basic-th-font-sp, 14px);
  width: var(--hazu-hd-basic-label-col-sp, 34%);
  white-space: nowrap;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl td{ background: var(--hazu-hd-basic-val-bg-sp, #fff) !important; color: var(--hazu-hd-basic-val-fg-sp, #111); font-size: var(--hazu-hd-basic-td-font-sp, 14px); word-break: break-word; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl__makerflex{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl__maker{ min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl__micons{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
}
/* メーカーアイコンは①②③をカード内に入れたため既存 .hazu-hd-topcard--v2 .hazu-hd-miniicon の丸枠が効く。
   PDFはプレーンなアイコンなので、丸枠/固定サイズを打ち消してプレーン表示に上書き（メーカー名の折返しも防ぐ）。 */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl__micons .hazu-hd-miniicon{
  color: #111 !important;
  text-decoration: none;
  font-weight: 900;
  border: 0 !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  font-size: 20px;
  line-height: 1;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-itbl__micons .hazu-hd-miniicon--disabled{ opacity: 0.35; }

/* ② 公式HP / PV ボタン（<a> なのでテーマのリンク色に勝つよう color/背景は !important） */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-obtns{
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 14px;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-obtn{
  flex: 1 1 0;
  max-width: 200px;
  text-align: center;
  padding: 12px 8px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  color: #fff !important;
  box-sizing: border-box;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-obtn--hp{ background: #f29500 !important; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-obtn--pv{ background: #ac2828 !important; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-obtn--disabled{ opacity: 0.4; pointer-events: none; cursor: default; }

/* ③ 作品リンク表 */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-work{ margin-top: 16px; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-work__bar{
  background: #000 !important;
  color: #fff !important;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  padding: 9px 10px;
  margin: 0 !important;
}
/* 黒帯(タイアップ名)とその下の表をぴったり密着させる（.hazu-hd-embed table の margin:12px 0 を打ち消す） */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt{ width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0 !important; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt th,
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt td{
  border: 1px solid #dddfdf;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.4;
  vertical-align: middle;
  text-align: left;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt th{
  background: #0f95e2 !important;
  color: #fff !important;
  font-weight: 700;
  font-size: var(--hazu-hd-tieup-th-font-sp, 13px);
  width: var(--hazu-hd-tieup-label-col-sp, 34%);
  white-space: nowrap;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt td{ background: #fff !important; font-size: var(--hazu-hd-tieup-td-font-sp, 13px); }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt__link{
  color: #0f95e2 !important;
  text-decoration: underline;
  font-weight: 700;
  word-break: break-all;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-wt__empty{ color: #999; }

/* QR（最下部） */
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-qr{ margin-top: 16px; text-align: center; }
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-qr__link{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: #111 !important;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}
.hazu-hd-embed.hazu-hd-is-sp .hazu-hd-sp-qr__sym{ font-size: 30px; line-height: 1; }

/* =========================================================
   v4.1.221: PC でも「基本情報表（①型式名/検定番号/導入開始日/メーカー）」をスマホと同じ青ラベル表で表示（ユーザー要望）。
   - ①基本情報表のみ PC で表示（当初は②③/QRをPCで非表示にしていた → v4.1.224 で②③/QRもPC表示に変更）。
   - 重複一本化：旧PCの 型式名/検定番号（スペック表）と 導入開始日/メーカー（情報枠）は .hazu-hd-dup-in-basic を CSS で隠す。
   - 色は v4.1.218 で用意済みの -pc 変数（--hazu-hd-basic-*-pc・既定はSPと同じ #0f95e2/#fff/#fff/#111）を消費。

   v4.1.223 修正（重要）: 埋め込みは入れ子＝外側 .hazu-hd-embed（is-sp なし・常時）＞内側 .hazu-hd-embed[data-hazu-hd="1"]
   （スマホUAのとき is-sp が付くのは内側）。当初 .hazu-hd-embed:not(.hazu-hd-is-sp) でPC判定したが、これは
   「is-sp の付かない外側」に常時マッチし、スマホでも②③が消えるバグになった（ユーザー報告）。
   PC判定は内側embedで行うべきなので、全ルールを .hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp)（＝内側がPC）に変更。
   スマホ＝内側に is-sp → :not で除外＝本ルール不適用＝SP（②③等）が従来どおり表示される。
   ========================================================= */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-block-wrap--main{ display: block; }
/* v4.1.224: ②公式HP/PVボタン・③タイアップ表を PC でも表示（旧 v4.1.221 の ②③ display:none を撤去）。
   v4.1.226: QR は PC では非表示に変更（ユーザー要望）。v4.1.224 で PC 表示にした display:block を none に戻す。
   QR の有無自体は QRコードURL（hazu_qr_url / main_frame qr_url）の登録で決まり、登録があれば SP では従来どおり
   最下部に表示される（SP のルール 3181 は不変）。PC のみこの --qr ラッパーを非表示にする。 */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-block-wrap--qr{ display: none; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-dup-in-basic{ display: none !important; }

/* 枠（出玉率/大当り確率）↔ 基本情報表（型式名等）の間隔＝基本情報表の上マージン。PC個別・v4.1.237。既定12＝従来（PCはこの上にgrid row-gap 14pxが別途ある）。 */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-info{ margin-top: var(--hazu-hd-out-basic-gap-pc, 12px); }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl th,
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl td{
  border: 1px solid #dddfdf;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 1.4;
  vertical-align: middle;
  text-align: left;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl th{
  background: var(--hazu-hd-basic-label-bg-pc, #0f95e2) !important;
  color: var(--hazu-hd-basic-label-fg-pc, #fff) !important;
  font-weight: 700;
  font-size: var(--hazu-hd-basic-th-font-pc, 14px);
  width: var(--hazu-hd-basic-label-col-pc, 34%);
  white-space: nowrap;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl td{
  background: var(--hazu-hd-basic-val-bg-pc, #fff) !important;
  color: var(--hazu-hd-basic-val-fg-pc, #111);
  font-size: var(--hazu-hd-basic-td-font-pc, 14px);
  word-break: break-word;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl__makerflex{
  display: flex;
  align-items: center;
  /* v4.1.233: メーカー名の直後にアイコンを置く（旧 space-between は短いメーカー名だと
     アイコンがセル右端に離れすぎる＝ユーザー指摘）。flex-start＋gap で「名前→少しスペース→アイコン」に。 */
  justify-content: flex-start;
  gap: 12px;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl__maker{ min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl__micons{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl__micons .hazu-hd-miniicon{
  color: #111 !important;
  text-decoration: none;
  font-weight: 900;
  border: 0 !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  font-size: 20px;
  line-height: 1;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-itbl__micons .hazu-hd-miniicon--disabled{ opacity: 0.35; }

/* =========================================================
   v4.1.224: PC トップカードを「スマホと同じ ①基本情報表 → ②公式HP/PVボタン → ③タイアップ表（→ QR）」構成に統一（ユーザー要望）。
   - 旧情報枠(.hazu-hd-info＝オフィシャル/QR)・旧仕様表(.hazu-hd-topcardv2__spec)・筐体下のタイアップ表示
     (.hazu-hd-topcardv2__tieupbtn / __tieupicons) を PC でも非表示（SP と同じ扱い）。
   - ① は v4.1.221 で PC 表示済み。②③ と QR を本版で PC にも表示し、SP の見た目を PC スコープへ複製。
   - パチスロのみ：純増(.hazu-hd-out__sub--junzo)を出玉率の数値の「右隣」へ（QR撤去で空いた右側へ）。
   - スコープは必ず内側embed限定 .hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp)（v4.1.223 の入れ子対策）。
   - パチンコ/パチスロ両方に適用（純増の右隣移動だけは純増のあるパチスロ限定）。
   ========================================================= */
/* 旧PC表示（情報枠/仕様表/筐体下タイアップ）を非表示＝SPと同じ扱い */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-info{ display: none !important; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__spec{ display: none !important; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupbtn,
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__tieupicons{ display: none !important; }

/* 情報枠を消したので、出玉率枠の右側の区切り線(border-right)が宙に浮く → PC では消す（両タイプ） */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-out{
  border-right: 0;
  padding-right: 0;
}

/* ②③/QR 共通：PC はカード全幅（SP はモバイル枠幅に絞るが PC は絞らない） */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-obtns,
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-work,
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-qr{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* ② 公式HP / PV ボタン（SP と同じ見た目を PC スコープへ複製） */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-obtns{
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 14px;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-obtn{
  flex: 1 1 0;
  max-width: 200px;
  text-align: center;
  padding: 12px 8px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  color: #fff !important;
  box-sizing: border-box;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-obtn--hp{ background: #f29500 !important; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-obtn--pv{ background: #ac2828 !important; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-obtn--disabled{ opacity: 0.4; pointer-events: none; cursor: default; }

/* ③ 作品リンク表（タイアップ） */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-work{ margin-top: 16px; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-work__bar{
  background: #000 !important;
  color: #fff !important;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  padding: 9px 10px;
  margin: 0 !important;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt{ width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0 !important; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt th,
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt td{
  border: 1px solid #dddfdf;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.4;
  vertical-align: middle;
  text-align: left;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt th{
  background: #0f95e2 !important;
  color: #fff !important;
  font-weight: 700;
  font-size: var(--hazu-hd-tieup-th-font-pc, 13px);
  width: var(--hazu-hd-tieup-label-col-pc, 34%);
  white-space: nowrap;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt td{ background: #fff !important; font-size: var(--hazu-hd-tieup-td-font-pc, 13px); }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt__link{
  color: #0f95e2 !important;
  text-decoration: underline;
  font-weight: 700;
  word-break: break-all;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-wt__empty{ color: #999; }

/* QR（最下部・更新情報の後＝SPと同じ位置） */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-qr{ margin-top: 16px; text-align: center; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-qr__link{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: #111 !important;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-sp-qr__sym{ font-size: 30px; line-height: 1; }

/* パチスロ：純増を出玉率の数値の「右隣」へ（QR撤去で空いた右側へ）。
   出玉率の各行（ラベル/最低/最高/注釈）は PHP 側で .hazu-hd-out__rate にまとめてあるので、
   .hazu-hd-out を横並び flex にし、左＝出玉率ブロック / 右＝純増サブ を縦中央で並べる。 */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachislot .hazu-hd-out{
  display: flex;
  flex-direction: row;
  /* v4.1.233: 左＝出玉率 / 右＝純増 を 50%/50% の2カラムに固定（上揃え）。旧 align-items:center は
     注釈が長いと左ブロックが伸びてはみ出すため、上揃え＋各半分 flex:1 1 0 で注釈を左半分内に折り返す。 */
  align-items: flex-start;
  justify-content: flex-start;
  column-gap: 36px;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachislot .hazu-hd-out__rate{ flex: var(--hazu-hd-out-ratio-left, 1) 1 0; min-width: 0; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachislot .hazu-hd-out > .hazu-hd-out__sub--junzo{
  flex: var(--hazu-hd-out-ratio-right, 1) 1 0;       /* 右カラム（既定50% / 比率設定可） */
  min-width: 0;
  margin-top: 0 !important;
  /* v4.1.229/233: 右半分内の縦位置（「上マージン」相当）をPCで可変に。既定0＝上揃え。
     position:relative + top で 1:1 に移動（マイナスで上へ）。 */
  position: relative;
  top: var(--hazu-hd-junzo-beside-mt, 0px);
}

/* パチンコ：RUSH突入率を大当り確率の数値の「右隣」へ（パチスロ純増と同方式・v4.1.228）。
   大当り確率の各行（ラベル/数値/注釈）は PHP 側で .hazu-hd-out__rate にまとめてあるので、
   .hazu-hd-out を横並び flex にし、左＝大当り確率ブロック / 右＝RUSH突入率サブ を縦中央で並べる。
   右隣化したので突入率サブの上余白（--hazu-hd-enter-block-gap）は margin-top:0!important で打ち消す（SP/既定は不変）。 */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachinko .hazu-hd-out{
  display: flex;
  flex-direction: row;
  /* v4.1.233: 左＝大当り確率 / 右＝RUSH突入率 を 50%/50% の2カラムに固定（上揃え）。旧 align-items:center は
     注釈が長いと左ブロックが伸びて突入率がはみ出すため、上揃え＋各半分 flex:1 1 0 で注釈を左半分内に折り返す。 */
  align-items: flex-start;
  justify-content: flex-start;
  column-gap: 36px;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachinko .hazu-hd-out__rate{ flex: var(--hazu-hd-out-ratio-left, 1) 1 0; min-width: 0; }
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachinko .hazu-hd-out > .hazu-hd-out__sub--enter{
  flex: var(--hazu-hd-out-ratio-right, 1) 1 0;       /* 右カラム（既定50% / 比率設定可） */
  min-width: 0;
  margin-top: 0 !important;
  /* v4.1.229/233: 右半分内の縦位置（「上マージン」相当）をPCで可変に。既定0＝上揃え。マイナスで上へ。 */
  position: relative;
  top: var(--hazu-hd-enter-beside-mt, 0px);
}
/* v4.1.250/252: 突入率を「任意表示テキストで表示」すると、数値表示時よりベースラインが下がり、PCで
   左隣の「大当り確率」の値より約8px低く見える（値の line-height/メトリクスの差）。テキスト表示のとき
   （PHPが .hazu-hd-out__sub--enter-textonly を付与）だけ PC で、★ラベルは動かさず「ラベル↔値のマージン」を
   rise ぶん詰めて値だけを持ち上げ、左の値と高さを揃える。
   ※ v4.1.250-251 はブロックごと top で持ち上げていたが、それだと「LT突入率」ラベルまで一緒に上がって
      しまう（ラベルは左の「大当り確率」ラベルと揃ったままにすべき）。v4.1.252 で値の上マージン
      （.hazu-hd-out__sub-v--enter の margin-top = 既定 calc(enter-value-gap - 0.18em)）から rise を引く方式へ修正。
   SP（縦積み）は :not(.hazu-hd-is-sp) で対象外＝不変。数値表示時・「-」非表示時はクラスが付かず不変。
   実測（PX0358・1920px）：ラベルは365で据え置き・値401→393＝左の値と一致。 */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--pachinko .hazu-hd-out > .hazu-hd-out__sub--enter-textonly .hazu-hd-out__sub-v--enter{
  margin-top: calc(var(--hazu-hd-topcard-enter-value-gap, 2px) - 0.18em - var(--hazu-hd-enter-textonly-rise, 8px));
}

/* =========================================================
   v4.1.225: PC トップカードを「筐体＝左カラム／出玉率・純増・①基本情報表・②公式HP/PVボタン・③タイアップ表
   ＝右カラムの縦積み」2カラムへ。ユーザー要望（v4.1.224 のスクショ後）：
     「出玉率の純増が表示されているエリアの下に、同じ幅で表を表示してください。筐体画像だけが左にあって、
      右は全部 数値やデータ関係が並ぶという感じ。PC表示の話。スマホは正しく表示されている」。
   〔課題〕①②③（.hazu-hd-sp-block-wrap--main）は .hazu-hd-topcardv2__main（=2カラムgrid）の“外”の
   ルート直下兄弟なので、PC では出玉率の下に全幅で落ちていた（＝表が筐体の下まで全幅で伸びる）。
   〔SPを壊さない理由〕SP では __main が grid-template-areas "left right"/"spec spec" で __right が
   “狭い右カラム”。①②③ を __right に DOM 移動すると SP で右カラムに潰れる。よって DOM は一切変えず
   （＝SP は従来どおり①②③が全幅で下に積まれる・キャッシュ堅牢）、PC スコープのみで実現する。
   〔やり方〕内側embed限定の PC スコープで ルート .hazu-hd-topcard--v2 を grid 化し、__main を
   display:contents で“溶かして”中の __left(筐体)・__right(出玉率) をルート grid の直接アイテムへ。
     - __hdr（タイトル）＝最上段・全幅
     - __left（筐体）＝左カラム。出玉率(row2)＋①②③(row3) の2行ぶんだけ縦に張る（span 2＝実在行ぴったり、
       余分な空 track を作らない＝v4.1.224 で踏んだ grid 暴走の回避）
     - __right（出玉率/純増）＝右カラム row2
     - .hazu-hd-sp-block-wrap--main（①②③）＝右カラム row3（出玉率の真下・同じ幅）
     - __update（更新情報）・--qr（QR）＝全幅で下（QR は更新情報の直後＝スマホと同じ最下部・中央寄せ）
   スコープは必ず内側embed限定 .hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp)（v4.1.223 の入れ子対策）
   ＝SP（内側に is-sp）には一切当たらない。②③/QR の見た目（v4.1.224）と純増の右隣（v4.1.224）はそのまま。
   ========================================================= */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2{
  display: grid;
  grid-template-columns: var(--hazu-hd-topcard-img-col-pc, 300px) 1fr;
  column-gap: 16px;
  row-gap: 14px;
  align-items: start;
}
/* __main を溶かして __left / __right をルート grid の直接アイテム化（__main 自体に背景/枠/余白は無いので消失しても見た目影響なし）。 */
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__main{
  display: contents;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__hdr{
  grid-column: 1 / -1;
  grid-row: 1;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__left{
  grid-column: 1;
  grid-row: 2 / span 2;
  width: var(--hazu-hd-topcard-img-col-pc, 300px);
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__right{
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-sp-block-wrap--main{
  grid-column: 2;
  grid-row: 3;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-topcardv2__update{
  grid-column: 1 / -1;
  grid-row: 4;
}
.hazu-hd-embed[data-hazu-hd="1"]:not(.hazu-hd-is-sp) .hazu-hd-topcard--v2 .hazu-hd-sp-block-wrap--qr{
  grid-column: 1 / -1;
  grid-row: 5;
}
