/* =====================================================================
   NOWRIPA TACTICAL LAYER（2026-09-11）
   ロゴの配色に全面を合わせる最終レイヤー。既存の全レイヤー（ダーク×紫 / on-gacha ライト）より
   後に読み込まれ、セレクタは body.nw を先頭に付けて特異度でも勝つようにしてある。

   ロゴ実測色
     黒        #080404   … 背景・ヘッダー・フッター・ボタン地
     カーキ    #ebdf87   … ロゴ文字。見出し・強調・ゴールド系グラデの主色
     ゴールド  #ebbd69   … 肌・光。アクセント
     オリーブ  #82672e   … ジャケットの影。罫線・弱い装飾
     標的の赤  #ad1f26   … 照準。プライマリCTA（ガチャる）・警告
===================================================================== */
body.nw{
  --nw-black:#080404; --nw-ink:#120e08; --nw-ink-2:#1b160c;
  --nw-panel:rgba(14,11,7,.86); --nw-panel-2:rgba(24,19,10,.94); --nw-panel-solid:#14100a;
  --nw-khaki:#ebdf87; --nw-cream:#f6efc7; --nw-gold:#ebbd69; --nw-gold-2:#c9ad4c; --nw-gold-3:#aa9537;
  --nw-olive:#82672e; --nw-olive-2:#413b25;
  --nw-red:#ad1f26; --nw-red-2:#d92a33; --nw-red-3:#7a1218;
  --nw-text:#efe7bf; --nw-muted:#b3a874; --nw-line:rgba(235,223,135,.22); --nw-line-2:rgba(235,223,135,.45);
  --nw-grad-gold:linear-gradient(180deg,#fff3b8 0%,#ebdf87 32%,#c9ad4c 56%,#e7cf70 80%,#fff0a8 100%);
  --nw-grad-gold-flat:linear-gradient(135deg,#ebdf87 0%,#c9ad4c 100%);
  --nw-grad-red:linear-gradient(180deg,#e33a42 0%,#ad1f26 56%,#7a1218 100%);
  --nw-grad-black:linear-gradient(180deg,#2a2314 0%,#0e0b05 62%,#080404 100%);
  --nw-shadow:0 8px 24px rgba(0,0,0,.45); --nw-shadow-lg:0 16px 40px rgba(0,0,0,.6);
  --nw-font-display:'Oswald','Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;

  /* 既存レイヤー（on-gacha / brand / 2026 refresh）が参照する変数を丸ごとロゴ配色に差し替え */
  --og-primary:#d92a33; --og-primary-dark:#ad1f26; --og-primary-soft:rgba(217,42,51,.16);
  --og-pink:#ebbd69; --og-violet:#ebdf87;
  --og-ink:#f6efc7; --og-text:#efe7bf; --og-muted:#b3a874; --og-line:rgba(235,223,135,.22);
  --og-bg:#080404; --og-bg-soft:rgba(235,223,135,.06); --og-card:rgba(14,11,7,.86);
  --og-grad-brand:linear-gradient(135deg,#ebdf87 0%,#c9ad4c 100%);
  --og-grad-high:linear-gradient(90deg,#ebdf87 0%,#ebbd69 100%);
  --og-grad-mid:linear-gradient(90deg,#ebbd69 0%,#d98a2a 100%);
  --og-grad-low:linear-gradient(90deg,#d92a33 0%,#ad1f26 100%);
  --og-gold:#ebdf87; --og-shadow:0 6px 18px rgba(0,0,0,.4); --og-shadow-lg:0 14px 36px rgba(0,0,0,.55);
  --tcg-red:#d92a33; --tcg-red-dark:#ad1f26; --tcg-red-soft:rgba(217,42,51,.16); --tcg-gold-1:#ebdf87; --tcg-ink:#f6efc7; --tcg-ink-soft:#efe7bf; --tcg-line:rgba(235,223,135,.22);
  --tcg-cta-grad:linear-gradient(180deg,#e33a42 0%,#ad1f26 56%,#7a1218 100%);
  --tcg-premium-grad:linear-gradient(180deg,#fff3b8 0%,#ebdf87 32%,#c9ad4c 56%,#e7cf70 80%,#fff0a8 100%);
  --nr-violet:#ebdf87; --nr-violet-dark:#c9ad4c; --nr-pink:#ebbd69; --nr-cyan:#ebdf87; --nr-ink:#f6efc7; --nr-bg:#080404;
  --nr-grad:linear-gradient(135deg,#ebdf87 0%,#c9ad4c 100%);
}

/* ---------- ベース：全面背景（固定・カテゴリで切替） ---------- */
body.nw, body.nw.home, body.nw[data-genre], body.nw[data-genre="all"], body.nw[data-genre="0"], body.nw[data-genre="1"], body.nw[data-genre="2"], body.nw[data-genre="3"], body.nw[data-genre="4"]{
  background:var(--nw-black) !important; color:var(--nw-text);
}
body.nw #page, body.nw #content, body.nw .site-content, body.nw .ast-container, body.nw #primary, body.nw #main, body.nw .entry-content, body.nw .ast-article-single, body.nw article.page{
  background:transparent !important;
}
.nw-bg{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; background:#080404; }
.nw-bg__layer{
  position:absolute; inset:-2px; background-image:var(--nw-bg-p); background-size:cover; background-position:center top; background-repeat:no-repeat;
  opacity:0; transition:opacity .9s ease; will-change:opacity; transform:translateZ(0);
}
.nw-bg__layer.is-on{ opacity:1; }
@media (min-aspect-ratio:21/20){ .nw-bg__layer{ background-image:var(--nw-bg-w); background-position:center center; } }
.nw-bg__shade{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,4,4,.55) 0%,rgba(8,4,4,.15) 22%,rgba(8,4,4,.15) 70%,rgba(8,4,4,.7) 100%); }
body.nw #page{ position:relative; z-index:1; }
body.nw.nr-movie .nw-bg{ display:none; }

/* ---------- タイポ ---------- */
body.nw{ -webkit-font-smoothing:antialiased; }
body.nw h1, body.nw h2, body.nw h3, body.nw h4, body.nw .entry-title, body.nw .page-title{ color:var(--nw-cream) !important; }
body.nw a{ color:var(--nw-khaki); }
body.nw a:hover{ color:var(--nw-cream); }
body.nw .nr-error{ background:rgba(173,31,38,.18); border-color:rgba(217,42,51,.5); color:#ffd7d9; }

/* ---------- ヘッダー ---------- */
body.nw .nr-header, body.nw .taiwangacha-header.nr-header{
  background:rgba(8,4,4,.94) !important;
  /* backdrop-filter / filter / transform は付けない：付けると内側の position:fixed（ドロワー）がヘッダーに閉じ込められる */
  border-bottom:0 !important; box-shadow:0 8px 28px rgba(0,0,0,.5) !important;
}
body.nw .nr-header::after, body.nw .taiwangacha-header.nr-header::after{ content:""; display:block; height:2px; background:linear-gradient(90deg,transparent 0%,#c9ad4c 18%,#fff0a8 50%,#c9ad4c 82%,transparent 100%); }
body.nw .nr-header.is-scrolled{ box-shadow:0 10px 30px rgba(0,0,0,.65) !important; }
body.nw .nr-header__inner{ min-height:64px; }
body.nw .nr-logo{ display:inline-flex; align-items:center; text-decoration:none !important; filter:drop-shadow(0 2px 6px rgba(0,0,0,.6)); }
body.nw .nw-logo-img{ display:block; height:40px; width:auto; max-width:min(62vw,300px); object-fit:contain; }
@media (max-width:480px){
  body.nw .nw-logo-img{ height:30px; }
  body.nw .nr-header__inner{ padding:8px 10px !important; gap:6px !important; }
  body.nw .nr-header__right{ gap:6px !important; }
  body.nw .nr-btn--primary.taiwangacha-btn, body.nw .taiwangacha-btn--solid.nr-btn--primary{ height:34px !important; padding:0 12px !important; font-size:12.5px !important; white-space:nowrap; }
  body.nw .nr-btn--text.taiwangacha-btn{ height:34px !important; padding:0 8px !important; font-size:12.5px !important; white-space:nowrap; }
}
@media (max-width:360px){ body.nw .nw-logo-img{ height:26px; } }
body.nw .nr-header__nav a{ color:var(--nw-text); }
body.nw .nr-header__nav a:hover{ background:rgba(235,223,135,.08); color:var(--nw-khaki); }
body.nw .nr-header__nav a.is-active{ color:var(--nw-black); background:var(--nw-grad-gold-flat); }
body.nw .nr-header__tagline{
  background:linear-gradient(90deg,rgba(235,223,135,.10) 0%,rgba(173,31,38,.18) 100%) !important; background-image:none;
  color:var(--nw-khaki); border-top:1px solid rgba(235,223,135,.14); letter-spacing:.06em; -webkit-text-fill-color:var(--nw-khaki);
}
body.nw .nr-btn--text, body.nw .taiwangacha-btn--ghost.nr-btn--text{ color:var(--nw-cream) !important; }
body.nw .nr-btn--text:hover{ background:rgba(235,223,135,.1) !important; color:var(--nw-khaki) !important; }
body.nw .nr-btn--primary, body.nw .taiwangacha-btn--solid.nr-btn--primary{
  background:var(--nw-grad-red) !important; color:#fff !important; box-shadow:0 4px 14px rgba(173,31,38,.45), inset 0 1px 0 rgba(255,255,255,.22) !important; border:1px solid rgba(255,255,255,.12) !important;
}
body.nw .nr-btn--primary:hover{ filter:brightness(1.08); }
body.nw .nr-btn--outline{ background:transparent; border-color:var(--nw-gold-2); color:var(--nw-khaki) !important; }
body.nw .nr-btn--brand{ background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; }
body.nw .nr-btn--secondary{ background:rgba(235,223,135,.1) !important; color:var(--nw-cream) !important; }

/* ポイントボタン・メニュー */
body.nw .nr-pointbtn, body.nw .taiwangacha-pointbtn.nr-pointbtn{ background:rgba(235,223,135,.08) !important; border:1px solid var(--nw-line-2) !important; color:var(--nw-cream) !important; }
body.nw .nr-pointbtn__text{ color:var(--nw-cream) !important; font-family:var(--nw-font-display); font-size:16px !important; letter-spacing:.02em; }
body.nw .nr-pointbtn__text small{ color:var(--nw-muted); }
body.nw .nr-pointbtn__plus, body.nw .taiwangacha-pointbtn__plus.nr-pointbtn__plus{ background:var(--nw-grad-red) !important; color:#fff !important; box-shadow:0 2px 8px rgba(173,31,38,.5); }
body.nw .nr-pt__coin{ background:radial-gradient(circle at 35% 30%,#fff6c8 0,#ebdf87 40%,#c9ad4c 72%,#82672e 100%); color:#2a2010; box-shadow:inset 0 -2px 0 rgba(0,0,0,.25), 0 0 0 1px rgba(255,240,168,.5); }
body.nw .nr-pointmenu, body.nw .taiwangacha-pointmenu.nr-pointmenu{ background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; box-shadow:var(--nw-shadow-lg) !important; backdrop-filter:blur(10px); }
body.nw .nr-pointmenu__head{ color:var(--nw-cream); border-bottom-color:var(--nw-line); }
body.nw .nr-pointmenu__head small{ color:var(--nw-muted); }
body.nw .nr-pointmenu__item, body.nw .taiwangacha-pointmenu__item.nr-pointmenu__item{ color:var(--nw-cream) !important; }
body.nw .nr-pointmenu__item:hover{ background:rgba(235,223,135,.1) !important; color:var(--nw-khaki) !important; }
body.nw .nr-pointmenu__yen{ color:var(--nw-muted); }

/* ---------- メニューボタン（表情 → 弾痕） ---------- */
body.nw .nw-menubtn, body.nw .taiwangacha-header .nw-menubtn, body.nw .nw-menubtn:hover, body.nw .nw-menubtn:focus{
  position:relative; width:52px !important; height:52px !important; min-width:0 !important; padding:0 !important; margin:0 0 0 2px !important;
  border:0 !important; border-radius:50% !important; background:transparent !important; box-shadow:none !important; outline:none;
  display:inline-flex !important; align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto; transform:none !important; gap:0 !important;
}
body.nw .nw-menubtn__ring{ position:absolute; inset:2px; border-radius:50%; border:2px solid var(--nw-gold-2); box-shadow:0 0 0 3px rgba(8,4,4,.9), 0 4px 14px rgba(0,0,0,.6); background:radial-gradient(circle at 50% 40%,#2a2314 0%,#0e0b05 70%); transition:border-color .2s, box-shadow .2s; }
body.nw .nw-menubtn__img{ position:absolute; inset:5px; width:auto !important; height:auto !important; max-width:calc(100% - 10px); max-height:calc(100% - 10px); margin:auto; object-fit:contain; display:block; transition:opacity .18s ease, transform .18s ease; pointer-events:none; z-index:1; }
body.nw .nw-menubtn{ overflow:hidden !important; }
body.nw .nw-menubtn__img--face{ opacity:1; transform:scale(1.12) translate(0,4px); }
body.nw .nw-menubtn__img--hit{ opacity:0; transform:scale(.4) rotate(-30deg); filter:invert(1) sepia(1) saturate(3) hue-rotate(5deg) brightness(1.15) drop-shadow(0 0 4px rgba(255,240,168,.6)); }
body.nw .nw-menubtn:hover .nw-menubtn__ring{ border-color:var(--nw-khaki); }
body.nw .nw-menubtn:hover .nw-menubtn__img--face{ transform:scale(1.2) translate(0,4px); }
body.nw .nw-menubtn.is-open .nw-menubtn__img--face{ opacity:0; transform:scale(.7); }
body.nw .nw-menubtn.is-open .nw-menubtn__img--hit{ opacity:1; transform:scale(1.05) rotate(0deg); }
body.nw .nw-menubtn.is-open .nw-menubtn__ring{ border-color:var(--nw-red-2); box-shadow:0 0 0 3px rgba(8,4,4,.9), 0 0 18px rgba(217,42,51,.55); background:radial-gradient(circle at 50% 50%,#3a0a0e 0%,#0e0b05 75%); }
@keyframes nwBang{ 0%{ transform:scale(1); } 30%{ transform:scale(1.22); } 55%{ transform:scale(.94); } 100%{ transform:scale(1); } }
body.nw .nw-menubtn.nw-bang{ animation:nwBang .38s cubic-bezier(.2,.9,.3,1.4); }
@media (max-width:480px){ body.nw .nw-menubtn{ width:46px !important; height:46px !important; } }
/* 旧ハンバーガーの線は使わない */
body.nw .nw-menubtn > span:not(.nw-menubtn__ring):not(.nw-menubtn__inner){ display:none !important; }

/* ---------- ドロワー ---------- */
body.nw .taiwangacha-drawer__overlay{ background:rgba(8,4,4,.7); backdrop-filter:blur(2px); }
body.nw .taiwangacha-drawer__panel, body.nw .nr-drawer .taiwangacha-drawer__panel, body.nw .taiwangacha-drawer__panel.nr-drawer__panel{
  background:linear-gradient(180deg,#1b160c 0%,#0b0906 100%) !important; color:var(--nw-text) !important; border-left:1px solid var(--nw-line-2); box-shadow:-16px 0 40px rgba(0,0,0,.7) !important;
}
body.nw .taiwangacha-drawer__panel::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#c9ad4c,#fff0a8,#c9ad4c); }
body.nw .nr-drawer .taiwangacha-drawer__close, body.nw .taiwangacha-drawer__close{ background:rgba(235,223,135,.1) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line) !important; }
body.nw .taiwangacha-drawer__close:hover{ background:var(--nw-red) !important; color:#fff !important; }
body.nw .nr-drawer .taiwangacha-rankbox, body.nw .taiwangacha-rankbox{ background:rgba(235,223,135,.06) !important; border:1px solid var(--nw-line) !important; }
body.nw .taiwangacha-rankbox__rank{ color:var(--nw-khaki) !important; font-family:var(--nw-font-display); }
body.nw .taiwangacha-rankbox__jp, body.nw .taiwangacha-rankbox__meta, body.nw .nr-drawer .taiwangacha-rankbox__meta{ color:var(--nw-muted) !important; }
body.nw .taiwangacha-drawer__pt, body.nw .nr-drawer .taiwangacha-drawer__pt{ background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; border-radius:14px !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 6px 16px rgba(0,0,0,.4); }
body.nw .taiwangacha-drawer__ptlabel, body.nw .taiwangacha-drawer__ptsub{ color:#3a2e10 !important; }
body.nw .taiwangacha-drawer__ptvalue{ color:var(--nw-black) !important; font-family:var(--nw-font-display); }
body.nw .nr-drawer .taiwangacha-drawer__item, body.nw .taiwangacha-drawer__item{ color:var(--nw-text) !important; background:transparent !important; border-bottom:1px solid var(--nw-line) !important; }
body.nw .nr-drawer .taiwangacha-drawer__item:hover{ background:rgba(235,223,135,.08) !important; color:var(--nw-khaki) !important; }
body.nw .nr-drawer .taiwangacha-drawer__item::after{ border-color:var(--nw-gold-2) !important; }
body.nw .nr-drawer .taiwangacha-drawer__item--logout{ color:#ffb3b6 !important; background:rgba(173,31,38,.18) !important; border:1px solid rgba(217,42,51,.4) !important; }
body.nw .nw-drawer-guest{ display:flex; flex-direction:column; gap:10px; padding:16px; margin:0 0 14px; background:rgba(235,223,135,.06); border:1px solid var(--nw-line); border-radius:14px; }
body.nw .nw-drawer-guest__lead{ margin:0 0 4px; font-size:13px; line-height:1.7; color:var(--nw-text); }
.nw-btn{ display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 18px; border-radius:999px; font-weight:900; font-size:14px; text-decoration:none !important; letter-spacing:.03em; transition:.15s; }
.nw-btn--block{ width:100%; }
.nw-btn--red{ background:var(--nw-grad-red); color:#fff !important; box-shadow:0 6px 16px rgba(173,31,38,.45), inset 0 1px 0 rgba(255,255,255,.22); }
.nw-btn--gold{ background:var(--nw-grad-gold); color:var(--nw-black) !important; box-shadow:0 6px 16px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.6); }
.nw-btn--ghost{ background:transparent; color:var(--nw-khaki) !important; border:1.5px solid var(--nw-gold-2); }
.nw-btn:hover{ filter:brightness(1.08); transform:translateY(-1px); }
body.nw .nr-drawer .taiwangacha-drawer__panel[data-rank]{ --rank-text:#ebdf87; --rank-bg-start:#c9ad4c; --rank-bg-end:#ebdf87; }

/* ---------- ボトムナビ（モバイル） ---------- */
body.nw .nr-bottom-nav{ background:rgba(8,4,4,.94); border-top:1px solid var(--nw-line); box-shadow:0 -10px 30px rgba(0,0,0,.6); backdrop-filter:saturate(140%) blur(10px); }
body.nw .nr-bottom-nav::before{ content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:linear-gradient(90deg,transparent,#c9ad4c 30%,#fff0a8 50%,#c9ad4c 70%,transparent); }
body.nw .nr-bottom-nav__item{ color:var(--nw-muted); }
body.nw .nr-bottom-nav__item.is-active{ color:var(--nw-khaki); }
body.nw .nr-bottom-nav__item.is-active svg{ filter:drop-shadow(0 0 6px rgba(235,223,135,.6)); }

/* ---------- バナー・ティッカー・見出し ---------- */
body.nw .nr-banner{ background:var(--nw-panel); border:1px solid var(--nw-line); box-shadow:var(--nw-shadow); }
body.nw .nr-banners__dot{ background:rgba(235,223,135,.3); }
body.nw .nr-banners__dot.is-active{ background:var(--nw-khaki); }
body.nw .nr-ticker{ background:var(--nw-panel-2); border:1px solid var(--nw-line-2); box-shadow:var(--nw-shadow); }
body.nw .nr-ticker::before{ background:var(--nw-grad-red); color:#fff; }
body.nw .nr-ticker__item{ color:var(--nw-text); }
body.nw .nr-ticker__name{ color:var(--nw-khaki); }
body.nw .nr-ticker__time{ color:var(--nw-muted); }
body.nw .nr-section-pill{ background:var(--nw-grad-gold); color:var(--nw-black); font-family:var(--nw-font-display); letter-spacing:.14em; font-size:13px; box-shadow:0 4px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.6); }
body.nw .nr-section-head h2{ color:var(--nw-cream); text-shadow:0 2px 12px rgba(0,0,0,.7); }
body.nw .nr-section-head p{ color:var(--nw-muted); }

/* ---------- ジャンルフィルター ---------- */
body.nw .genre-filter-container, body.nw .genre-filter-container.stuck{
  background:rgba(8,4,4,.72) !important; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--nw-line) !important; padding:10px 12px !important;
}
body.nw .genre-filter-container.stuck{ border-bottom-color:var(--nw-gold-2) !important; }
body.nw .genre-btn{
  background:rgba(235,223,135,.06) !important; color:var(--nw-text) !important; border:1.5px solid var(--nw-line-2) !important;
  width:auto !important; min-width:0 !important; flex:0 0 auto !important; height:38px !important; min-height:0 !important; line-height:1 !important;
  padding:0 16px !important; font-size:13px !important; white-space:nowrap !important; letter-spacing:.02em; display:inline-flex !important; align-items:center; justify-content:center;
}
body.nw .genre-filter-bar{ display:flex !important; flex-wrap:nowrap !important; gap:8px !important; overflow-x:auto; padding:2px 0 !important; justify-content:flex-start !important; }
@media (min-width:900px){ body.nw .genre-filter-bar{ justify-content:center !important; } }
body.nw .genre-btn:hover{ border-color:var(--nw-khaki) !important; color:var(--nw-khaki) !important; background:rgba(235,223,135,.12) !important; }
body.nw .genre-btn.active{
  background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; border-color:#fff0a8 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.5), 0 0 0 1px rgba(255,240,168,.35), inset 0 1px 0 rgba(255,255,255,.6) !important; text-shadow:0 1px 0 rgba(255,255,255,.4);
}

/* ---------- ガチャカード ---------- */
body.nw .gacha-item{
  background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; border-radius:18px !important;
  box-shadow:var(--nw-shadow), inset 0 1px 0 rgba(255,240,168,.12) !important;
}
body.nw .gacha-item::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:linear-gradient(90deg,transparent,#c9ad4c 25%,#fff0a8 50%,#c9ad4c 75%,transparent); z-index:2; pointer-events:none; }
body.nw .gacha-item:hover{ border-color:var(--nw-khaki) !important; box-shadow:var(--nw-shadow-lg), 0 0 0 1px rgba(235,223,135,.25) !important; }
body.nw .gacha-thumbnail{ background:#0b0906; }
body.nw .gacha-title{ color:var(--nw-cream); }
body.nw .nr-pill--tag{ background:rgba(235,223,135,.1); color:var(--nw-khaki); border:1px solid var(--nw-line); }
body.nw .nr-pill--tag::before{ color:var(--nw-gold-3); }
body.nw .nr-pill--new{ background:var(--nw-grad-gold); color:var(--nw-black); }
body.nw .nr-pill--low{ background:rgba(173,31,38,.22); color:#ffc0c3; border:1px solid rgba(217,42,51,.5); }
body.nw .nr-pill--hot{ background:rgba(235,189,105,.16); color:var(--nw-gold); }
body.nw .remaining-info, body.nw .remaining-info .label{ color:var(--nw-text) !important; }
body.nw .remaining-info .cur, body.nw .remaining-info .num{ color:var(--nw-khaki); font-family:var(--nw-font-display); font-size:20px; }
body.nw .remaining-info .tot, body.nw .remaining-info .nr-total{ color:var(--nw-muted); }
body.nw .remaining-bar-wrapper{ background:rgba(255,255,255,.08) !important; box-shadow:inset 0 1px 2px rgba(0,0,0,.6); }
body.nw .remaining-bar{ background:var(--nw-grad-gold-flat) !important; box-shadow:0 0 8px rgba(235,223,135,.5); }
body.nw .remaining-bar.is-mid{ background:linear-gradient(90deg,#ebbd69,#d98a2a) !important; }
body.nw .remaining-bar.is-low{ background:linear-gradient(90deg,#e33a42,#ad1f26) !important; box-shadow:0 0 8px rgba(217,42,51,.6); }
body.nw .gacha-price-info{ color:var(--nw-cream) !important; }
body.nw .nr-pt{ color:var(--nw-cream); }
body.nw .nr-pt__num{ font-family:var(--nw-font-display); font-size:24px; }
body.nw .nr-pt__unit{ color:var(--nw-muted); }
body.nw .nr-card-cta{ background:transparent; border:1px solid var(--nw-line-2); color:var(--nw-khaki) !important; height:30px; padding:0 12px; font-size:12px; box-shadow:none; }
body.nw .nr-card-cta:hover{ background:rgba(235,223,135,.1); }

/* ---- ホームで引ける「ガチャる」ボタン（メガオリパ方式：回数＋ポイントを大きく） ---- */
body.nw .gacha-item .gacha-button{
  display:grid !important; grid-template-columns:1fr 1fr; gap:8px; padding:0 14px 14px !important; margin:0 !important;
  background:transparent !important; border-radius:0 !important; position:static;
}
body.nw .gacha-item .gacha-button > button{ display:flex !important; }
body.nw .gacha-item .gacha-button > .nw-draw--100, body.nw .gacha-item .gacha-button > .nw-draw--free, body.nw .gacha-item .gacha-button > .nw-draw--once{ grid-column:1 / -1; }
body.nw .gacha-item .gacha-button > .modal{ display:none; }
body.nw .nw-draw, body.nw .nw-draw:hover, body.nw .nw-draw:focus{
  position:relative; overflow:hidden; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-height:58px; width:100%; padding:7px 10px !important; margin:0 !important;
  border-radius:999px !important; font-family:inherit; font-weight:900 !important; letter-spacing:.02em; line-height:1 !important;
  cursor:pointer; transition:transform .12s, filter .15s; text-transform:none; outline:none;
}
body.nw .nw-draw:hover{ transform:translateY(-1px); filter:brightness(1.07); }
body.nw .nw-draw:active{ transform:translateY(1px) scale(.985); }
body.nw .nw-draw__top{ display:inline-flex; align-items:baseline; gap:5px; }
body.nw .nw-draw__n{ font-family:var(--nw-font-display); font-size:24px; font-weight:700; letter-spacing:.02em; }
body.nw .nw-draw__n small{ font-size:12px; font-weight:800; margin-left:1px; }
body.nw .nw-draw__l{ font-size:15px; font-weight:900; }
body.nw .nw-draw__p{ font-size:11.5px; font-weight:800; opacity:.92; letter-spacing:.04em; }
body.nw .nw-draw__p small{ font-size:10px; margin-left:1px; }
body.nw .nw-draw::after{ content:""; position:absolute; top:-80%; left:-60%; width:38%; height:260%; background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 100%); transform:rotate(22deg); animation:nwShine 3.6s ease-in-out infinite; pointer-events:none; }
@keyframes nwShine{ 0%{ left:-60%; } 35%{ left:130%; } 100%{ left:130%; } }
body.nw .nw-draw--1, body.nw .nw-draw--1:hover{ background:var(--nw-grad-black) !important; color:var(--nw-khaki) !important; border:2px solid var(--nw-gold-2) !important; box-shadow:0 6px 16px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,240,168,.18) !important; }
body.nw .nw-draw--10, body.nw .nw-draw--10:hover{ background:var(--nw-grad-red) !important; color:#fff !important; border:2px solid rgba(255,255,255,.16) !important; box-shadow:0 6px 18px rgba(173,31,38,.5), inset 0 1px 0 rgba(255,255,255,.25) !important; text-shadow:0 1px 2px rgba(0,0,0,.4); }
body.nw .nw-draw--100, body.nw .nw-draw--100:hover, body.nw .nw-draw--once, body.nw .nw-draw--once:hover{ background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; border:2px solid #7a5f14 !important; box-shadow:0 6px 18px rgba(0,0,0,.5), 0 0 0 1px rgba(255,240,168,.5), inset 0 1px 0 rgba(255,255,255,.7) !important; text-shadow:0 1px 0 rgba(255,255,255,.55); }
body.nw .nw-draw--100 .nw-draw__p, body.nw .nw-draw--once .nw-draw__p{ color:#3a2e10; }
body.nw .nw-draw--free, body.nw .nw-draw--free:hover{ background:var(--nw-grad-red) !important; color:#fff !important; border:2px solid rgba(255,255,255,.16) !important; box-shadow:0 6px 18px rgba(173,31,38,.5) !important; }
body.nw .nw-draw--1::after{ display:none; }
body.nw .gacha-button .disabled, body.nw .gacha-button .nw-draw.disabled, body.nw .gacha-button .nw-draw.disabled:hover{
  background:#2a271f !important; background-image:none !important; color:#8d8567 !important; border-color:#3f3a2c !important; box-shadow:none !important; text-shadow:none; animation:none !important; cursor:not-allowed !important; opacity:.8 !important; transform:none !important; filter:none;
}
body.nw .gacha-button .disabled::after{ display:none; }
@media (max-width:380px){ body.nw .nw-draw__n{ font-size:21px; } body.nw .nw-draw__l{ font-size:14px; } }

/* SOLD OUT / 公開前 */
body.nw .soldout-overlay, body.nw .release-overlay{ background:rgba(8,4,4,.78) !important; backdrop-filter:blur(2px); color:var(--nw-cream) !important; }
body.nw .soldout-text{ color:var(--nw-cream) !important; background:transparent !important; border:3px solid var(--nw-red-2); border-radius:8px !important; padding:8px 18px !important; transform:rotate(-6deg); text-shadow:0 2px 8px rgba(0,0,0,.8) !important; letter-spacing:.12em; box-shadow:0 0 0 2px rgba(8,4,4,.8), 0 0 24px rgba(217,42,51,.4); }
body.nw .history-button{ background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; box-shadow:0 4px 14px rgba(0,0,0,.5) !important; }
body.nw .countdown{ background:rgba(8,4,4,.9) !important; color:var(--nw-khaki) !important; border:1px solid var(--nw-line-2); font-family:var(--nw-font-display); }
body.nw .history-modal-content{ background:var(--nw-panel-solid) !important; color:var(--nw-text); border:1px solid var(--nw-line-2) !important; }
body.nw .history-modal-content h2{ color:var(--nw-cream) !important; border-bottom-color:var(--nw-gold-2) !important; }
body.nw .history-table th{ background:var(--nw-ink-2) !important; color:var(--nw-khaki) !important; border-color:var(--nw-line) !important; }
body.nw .history-table td{ background:transparent !important; color:var(--nw-text); border-color:var(--nw-line) !important; }
body.nw .history-table td:first-child{ color:var(--nw-khaki) !important; }
body.nw .history-table tbody tr:hover{ background:rgba(235,223,135,.06) !important; }
body.nw .history-loading, body.nw .no-history{ color:var(--nw-muted); }
body.nw .close-history{ color:var(--nw-muted); }
body.nw .close-history:hover{ color:var(--nw-cream); }

/* ---------- 詳細ページ ---------- */
body.nw .nr-gacha-title{ color:var(--nw-cream); }
body.nw .gacha-progress-wrapper, body.nw .gacha-progress{ background:var(--nw-panel); border:1px solid var(--nw-line-2); box-shadow:var(--nw-shadow); }
body.nw .prize-rank-image img{ filter:drop-shadow(0 4px 10px rgba(0,0,0,.6)); }
body.nw .prize-image img{ border:1px solid var(--nw-line) !important; background:#0b0906 !important; }
body.nw .item-quantity-badge{ background:rgba(8,4,4,.9) !important; color:var(--nw-khaki) !important; border:1px solid var(--nw-line-2) !important; }
body.nw .prize-name{ color:var(--nw-text); } body.nw .prize-memo{ color:var(--nw-muted); }
body.nw .gacha-prize-item{ background:var(--nw-panel); border-color:var(--nw-line); }
body.nw .notice-over30{ color:#ffb3b6 !important; }
body.nw .fixed-footer{
  background:rgba(8,4,4,.95) !important; border-top:1px solid var(--nw-line-2) !important; box-shadow:0 -12px 32px rgba(0,0,0,.7) !important; backdrop-filter:blur(12px);
}
body.nw .fixed-footer::before{ content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:linear-gradient(90deg,transparent,#c9ad4c 25%,#fff0a8 50%,#c9ad4c 75%,transparent); }
body.nw .fixed-footer .gacha-1, body.nw .fixed-footer .gacha-3, body.nw .fixed-footer .gacha-5, body.nw .fixed-footer .infi-gacha-button.gacha-1{ background:var(--nw-grad-black) !important; color:var(--nw-khaki) !important; border:2px solid var(--nw-gold-2) !important; }
body.nw .fixed-footer .gacha-1:hover, body.nw .fixed-footer .gacha-3:hover, body.nw .fixed-footer .gacha-5:hover{ background:#2a2314 !important; }
body.nw .fixed-footer .gacha-10, body.nw .fixed-footer .infi-gacha-button.gacha-10{ background:var(--nw-grad-red) !important; color:#fff !important; box-shadow:0 6px 18px rgba(173,31,38,.5) !important; border:2px solid rgba(255,255,255,.16) !important; }
body.nw .fixed-footer .gacha-100, body.nw .fixed-footer .infi-gacha-button.gacha-100, body.nw .gacha-button-multi.gacha-100{
  background:var(--nw-grad-gold) !important; background-size:auto !important; animation:none !important; color:var(--nw-black) !important; text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
  border:2px solid #7a5f14 !important; box-shadow:0 6px 18px rgba(0,0,0,.5), 0 0 0 1px rgba(255,240,168,.5) !important;
}
body.nw .fixed-footer .gacha-button-daily, body.nw .fixed-footer .gacha-onetime, body.nw .fixed-footer .gacha-button-onetime{ background:var(--nw-grad-red) !important; color:#fff !important; }
body.nw .fixed-footer .nr-footer-price{ color:var(--nw-muted); }
body.nw .fixed-footer .gacha-button.disabled, body.nw .fixed-footer button:disabled{ background:#2a271f !important; color:#8d8567 !important; border-color:#3f3a2c !important; filter:none; }
body.nw .nr-prize-modal{ background:rgba(8,4,4,.8); }
body.nw .nr-prize-modal__box{ background:var(--nw-panel-solid); border:1px solid var(--nw-line-2); }
body.nw .nr-prize-modal__img{ background:#0b0906; }
body.nw .nr-prize-modal__title{ color:var(--nw-cream); }
body.nw .nr-prize-modal__dl dt{ color:var(--nw-muted); } body.nw .nr-prize-modal__dl dd{ color:var(--nw-text); }
body.nw .nr-prize-modal__memo{ color:var(--nw-text); border-top-color:var(--nw-line); }
body.nw .nr-prize-modal__close, body.nw .nr-prize-modal__close:hover{ background:rgba(8,4,4,.9) !important; color:var(--nw-khaki) !important; border:1px solid var(--nw-line-2) !important; }

/* ---------- モーダル（確認・ログイン案内） ---------- */
body.nw .modal{ background-color:rgba(8,4,4,.72) !important; }
body.nw .modal-content{ background:var(--nw-panel-solid) !important; color:var(--nw-text) !important; border:1px solid var(--nw-line-2) !important; box-shadow:var(--nw-shadow-lg), 0 0 0 1px rgba(8,4,4,.8) !important; }
body.nw .modal-content{ overflow:hidden; }
body.nw .modal-content::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#c9ad4c,#fff0a8,#c9ad4c); pointer-events:none; }
body.nw .modal-content:not([style*="position"]){ position:relative; }
body.nw .modal-content p, body.nw .modal-content label, body.nw .modal-content span, body.nw .modal-content li, body.nw .modal-content td, body.nw .modal-content th{ color:var(--nw-text) !important; }
body.nw .modal-content h2, body.nw .modal-content h3, body.nw .modal-header{ color:var(--nw-cream) !important; }
body.nw .modal-button.confirm{ background:var(--nw-grad-red) !important; border-color:var(--nw-red-3) !important; color:#fff !important; box-shadow:0 6px 16px rgba(173,31,38,.45) !important; }
body.nw .modal-button.confirm:hover{ filter:brightness(1.08); }
body.nw .modal-button.cancel{ background:transparent !important; color:var(--nw-khaki) !important; border:1.5px solid var(--nw-gold-2) !important; }
body.nw .modal-button.cancel:hover{ background:rgba(235,223,135,.1) !important; color:var(--nw-cream) !important; }
body.nw .modal-button:disabled{ background:#2a271f !important; color:#8d8567 !important; }
body.nw .close, body.nw .close-button{ color:var(--nw-muted) !important; }
body.nw .close:hover{ color:var(--nw-cream) !important; }
body.nw .modal-content select, body.nw .modal-content input, body.nw .size-select-group select{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line-2) !important; }
body.nw .size-selection-item{ background:rgba(235,223,135,.06) !important; border-color:var(--nw-line) !important; }
body.nw .size-selection-item h4{ color:var(--nw-cream) !important; }
body.nw .modal-content p.total-points{ background:rgba(235,223,135,.08) !important; color:var(--nw-khaki) !important; }
body.nw .nw-login-modal .modal-content{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(92%,420px); padding:22px 20px 20px; text-align:center; }
body.nw .nw-login-modal__title{ font-size:18px; font-weight:900; color:var(--nw-cream) !important; margin:0 0 8px; }
body.nw .nw-login-modal__text{ font-size:13px; line-height:1.7; color:var(--nw-text) !important; margin:0 0 14px; }
body.nw .nw-login-modal .modal-buttons{ display:flex; gap:10px; }
body.nw .nw-login-modal .modal-button{ flex:1; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }

/* ---------- フォーム（UM / WooCommerce / CF7 / 汎用） ---------- */
body.nw input[type="text"], body.nw input[type="email"], body.nw input[type="tel"], body.nw input[type="password"], body.nw input[type="number"], body.nw input[type="search"], body.nw select, body.nw textarea,
body.nw .um .um-field-area input, body.nw .um input[type=text], body.nw .um input[type=password], body.nw .um input[type=email], body.nw .um input[type=tel],
body.nw .woocommerce form .form-row input.input-text, body.nw .woocommerce form .form-row select, body.nw .woocommerce-input-wrapper input,
body.nw .wpcf7 input, body.nw .wpcf7 textarea, body.nw .nr-input, body.nw .nr-form input[type="text"], body.nw .nr-form input[type="tel"], body.nw .nr-form input[type="email"]{
  background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1.5px solid var(--nw-line-2) !important; border-radius:12px !important; box-shadow:none !important;
}
body.nw input::placeholder, body.nw textarea::placeholder, body.nw .um input::placeholder{ color:#8d8567 !important; opacity:1; }
body.nw input:focus, body.nw select:focus, body.nw textarea:focus, body.nw .um .um-field-area input:focus, body.nw .woocommerce form .form-row input.input-text:focus, body.nw .nr-input:focus{
  border-color:var(--nw-khaki) !important; box-shadow:0 0 0 3px rgba(235,223,135,.18) !important; outline:none;
}
body.nw label, body.nw .um-field-label label, body.nw .um .um-field-label, body.nw .woocommerce form .form-row label, body.nw .wpcf7 label, body.nw .nr-label{ color:var(--nw-text) !important; }
body.nw .um-field-label label{ color:var(--nw-cream) !important; }
body.nw .um .um-misc-ul li a, body.nw .um-misc-ul a, body.nw .um-col-alt-b a, body.nw .um a{ color:var(--nw-khaki) !important; }
body.nw .um .um-form .um-field-checkbox, body.nw .um .um-form .um-field-radio, body.nw .um-field-checkbox-option, body.nw .um-field-radio-option, body.nw .um-field-area, body.nw .um-field-area span, body.nw .um p, body.nw .um-col-alt-b, body.nw .um-misc-ul li{ color:var(--nw-text) !important; }
body.nw .um-field-error, body.nw .um-notice.err{ background:rgba(173,31,38,.22) !important; color:#ffc0c3 !important; }
body.nw .um-field-error::before{ border-bottom-color:rgba(173,31,38,.22) !important; }
body.nw .um-button, body.nw .um .um-button, body.nw body.um-page input[type="submit"], body.nw .um-page input[type="submit"], body.nw .woocommerce .button, body.nw .woocommerce button.button, body.nw .woocommerce a.button, body.nw .wp-block-button .wp-block-button__link, body.nw .wpcf7 input[type="submit"], body.nw .taiwangacha-edit-footer a, body.nw .taiwangacha-edit-footer button,
body.nw .woocommerce ul.products li.product a.button, body.nw .woocommerce a.add_to_cart_button, body.nw .woocommerce .single_add_to_cart_button, body.nw .woocommerce button.button.alt, body.nw .woocommerce a.button.alt, body.nw .woocommerce input.button.alt, body.nw .woocommerce .wc-proceed-to-checkout a.checkout-button, body.nw .woocommerce #place_order, body.nw .add-submit-button button, body.nw .bulk-sell-button, body.nw #bulk-sell{
  background:var(--nw-grad-red) !important; color:#fff !important; border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 6px 16px rgba(173,31,38,.4), inset 0 1px 0 rgba(255,255,255,.2) !important; text-shadow:0 1px 2px rgba(0,0,0,.35);
}
body.nw .um-button:hover, body.nw .woocommerce .button:hover, body.nw .wpcf7 input[type="submit"]:hover{ filter:brightness(1.08); background:var(--nw-grad-red) !important; }
body.nw .um .um-button.um-alt{ background:transparent !important; color:var(--nw-khaki) !important; border:1.5px solid var(--nw-gold-2) !important; box-shadow:none !important; }
body.nw .um-account-main, body.nw .um-account-side, body.nw .um-account-tab, body.nw .woocommerce table.shop_table, body.nw .woocommerce-Address, body.nw .um-form, body.nw .um-profile-body{ background:transparent !important; color:var(--nw-text) !important; }
body.nw .woocommerce table.shop_table{ background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; }
body.nw .woocommerce table.shop_table th, body.nw .woocommerce table.shop_table td{ color:var(--nw-text) !important; border-color:var(--nw-line) !important; }
body.nw .woocommerce table.shop_table thead th{ background:rgba(235,223,135,.08); color:var(--nw-khaki) !important; }
body.nw .um-account-side ul li a, body.nw .um-account-side .um-account-link{ color:var(--nw-text) !important; }
body.nw .um-account-side ul li a.current, body.nw .um-account-side ul li a:hover{ background:rgba(235,223,135,.1) !important; color:var(--nw-khaki) !important; }
body.nw .um-account-side ul li a span.um-account-icon, body.nw .um-account-side ul li a .um-account-title{ color:inherit !important; }
body.nw .um-profile-nav, body.nw .um-header{ background:transparent !important; }
body.nw .um-header .um-name a, body.nw .um-header .um-name, body.nw .um-header .um-profile-meta{ color:var(--nw-cream) !important; }
body.nw .wpcf7 form .wpcf7-response-output{ border-color:var(--nw-line-2); color:var(--nw-text); }

/* ---------- WooCommerce（ショップ・カート・チェックアウト・注文） ---------- */
body.nw .woocommerce ul.products li.product{ background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; box-shadow:var(--nw-shadow) !important; }
body.nw .woocommerce ul.products li.product .woocommerce-loop-product__title{ color:var(--nw-cream) !important; font-family:var(--nw-font-display); letter-spacing:.02em; }
body.nw .woocommerce ul.products li.product .price, body.nw .woocommerce div.product p.price, body.nw .woocommerce .price, body.nw .woocommerce .price .amount, body.nw .woocommerce-Price-amount, body.nw .woocommerce-Price-amount bdi{ color:var(--nw-khaki) !important; }
body.nw .woocommerce ul.products li.product img{ background:#0b0906; border:1px solid var(--nw-line); }
body.nw .woocommerce .woocommerce-result-count, body.nw .woocommerce-breadcrumb, body.nw .ast-breadcrumbs-wrapper, body.nw .ast-breadcrumbs{ color:var(--nw-muted) !important; }
body.nw .woocommerce-breadcrumb a, body.nw .ast-breadcrumbs a{ color:var(--nw-khaki) !important; }
body.nw .woocommerce .woocommerce-ordering select.orderby{ background:var(--nw-ink-2); color:var(--nw-cream); border-color:var(--nw-line-2); }
body.nw .woocommerce div.product .product_title, body.nw .woocommerce div.product .summary, body.nw .woocommerce div.product .woocommerce-tabs, body.nw .woocommerce div.product .woocommerce-tabs .panel{ color:var(--nw-text) !important; }
body.nw .woocommerce div.product .woocommerce-tabs ul.tabs li{ background:var(--nw-panel) !important; border-color:var(--nw-line) !important; }
body.nw .woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--nw-text) !important; }
body.nw .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--nw-khaki) !important; }
body.nw .woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--nw-line) !important; }
body.nw .woocommerce-message, body.nw .woocommerce-info, body.nw .woocommerce-error{ background:var(--nw-panel-2) !important; color:var(--nw-text) !important; border:1px solid var(--nw-line-2) !important; border-top:3px solid var(--nw-gold-2) !important; }
body.nw .woocommerce-error{ border-top-color:var(--nw-red-2) !important; }
body.nw .woocommerce-message::before, body.nw .woocommerce-info::before{ color:var(--nw-khaki) !important; }
body.nw .woocommerce-error::before{ color:var(--nw-red-2) !important; }
body.nw .woocommerce .cart-collaterals .cart_totals, body.nw .woocommerce-checkout #order_review, body.nw .woocommerce-checkout .woocommerce-billing-fields, body.nw .woocommerce-checkout #payment, body.nw .woocommerce-MyAccount-content, body.nw .woocommerce-order, body.nw .woocommerce-account .woocommerce-MyAccount-navigation ul, body.nw #customer_details, body.nw .woocommerce-checkout-review-order{
  background:var(--nw-panel) !important; border-color:var(--nw-line-2) !important; color:var(--nw-text) !important;
}
body.nw .woocommerce-checkout #payment ul.payment_methods li, body.nw .woocommerce-checkout #payment div.payment_box{ background:rgba(235,223,135,.06) !important; color:var(--nw-text) !important; border-color:var(--nw-line) !important; }
body.nw .woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:rgba(235,223,135,.06) !important; }
body.nw .woocommerce-checkout h3, body.nw #order_review_heading, body.nw .woocommerce-billing-fields h3, body.nw .cart_totals h2{ color:var(--nw-cream) !important; border-color:var(--nw-line) !important; }
body.nw .woocommerce-cart .cart-collaterals .cart_totals>h2{ border-bottom-color:var(--nw-gold-2) !important; }
body.nw .woocommerce a.remove{ color:var(--nw-muted) !important; }
body.nw .woocommerce a.remove:hover{ background:var(--nw-red) !important; color:#fff !important; }
body.nw .woocommerce-account .woocommerce-MyAccount-navigation li a{ color:var(--nw-text) !important; border-color:var(--nw-line) !important; }
body.nw .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, body.nw .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:rgba(235,223,135,.1) !important; color:var(--nw-khaki) !important; }
body.nw .woocommerce-privacy-policy-text, body.nw .woocommerce-terms-and-conditions-wrapper, body.nw .woocommerce-checkout .woocommerce-privacy-policy-text p{ color:var(--nw-muted) !important; }
body.nw .woocommerce-order ul.order_details li, body.nw .woocommerce-order ul.order_details li strong, body.nw .woocommerce-order .woocommerce-thankyou-order-received{ color:var(--nw-text) !important; }
body.nw .woocommerce-order .woocommerce-thankyou-order-received{ color:var(--nw-cream) !important; }
body.nw .woocommerce .quantity .qty{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border-color:var(--nw-line-2) !important; }
body.nw .woocommerce .coupon .input-text{ background:var(--nw-ink-2) !important; }
body.nw .woocommerce table.shop_table td.product-name a{ color:var(--nw-cream) !important; }

/* ---------- コレクション／結果／配送状況 ---------- */
body.nw .notice-sentence, body.nw p.notice-sentence{ background:rgba(235,189,105,.12) !important; border:1px solid rgba(235,189,105,.4) !important; color:var(--nw-gold) !important; }
body.nw .status-filter a, body.nw .sort-order a{ background:rgba(235,223,135,.06) !important; border:1.5px solid var(--nw-line-2) !important; color:var(--nw-text) !important; }
body.nw .status-filter a.active, body.nw .sort-order a.active{ background:var(--nw-grad-gold) !important; border-color:#fff0a8 !important; color:var(--nw-black) !important; }
body.nw .sort-order span{ color:var(--nw-muted); }
body.nw .sort-order a#bulk-sale-select{ background:var(--nw-grad-red) !important; color:#fff !important; }
body.nw .collection-list li, body.nw li[data-card-id], body.nw .collection-item, body.nw .result-item, body.nw .card-item, body.nw .card{ background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; box-shadow:var(--nw-shadow) !important; color:var(--nw-text) !important; }
body.nw .collection-list li p, body.nw li[data-card-id] p, body.nw li[data-card-id] p:nth-of-type(1), body.nw .collection-list li .rarity, body.nw li[data-card-id] .rarity{ color:var(--nw-text) !important; }
body.nw li[data-card-id] p:nth-of-type(1){ color:var(--nw-cream) !important; }
body.nw .collection-list li img, body.nw li[data-card-id] img:first-child{ background:#0b0906; border:1px solid var(--nw-line); }
body.nw .collection-list label, body.nw li[data-card-id] label{ color:var(--nw-text) !important; }
body.nw .collection-list input[type="radio"], body.nw li[data-card-id] input[type="radio"]{ accent-color:var(--nw-red-2); }
body.nw .collection-list > p{ color:var(--nw-muted); }
body.nw .sale-disabled, body.nw .error-notice{ color:#ffb3b6 !important; }
body.nw .result-guide{ background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; color:var(--nw-text) !important; }
body.nw .result-guide__title{ color:var(--nw-cream) !important; }
body.nw .result-guide__desc{ color:var(--nw-muted) !important; }
body.nw .nav-links a, body.nw .text-link{ background:transparent !important; border:1.5px solid var(--nw-gold-2) !important; color:var(--nw-khaki) !important; }
body.nw .text-link--danger{ border-color:var(--nw-red-2) !important; color:#ffb3b6 !important; }
body.nw .add-submit-button button, body.nw .add-submit-button .submit-button{ background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; border:2px solid #7a5f14 !important; box-shadow:0 6px 18px rgba(0,0,0,.55) !important; text-shadow:0 1px 0 rgba(255,255,255,.5); }

/* ---------- マイページ・履歴・紹介・汎用カード ---------- */
body.nw .nr-card, body.nw .nr-legal, body.nw .nr-mypage__menu-item, body.nw .nr-mypage__grid a, body.nw .nr-history__item, body.nw .mini-stat, body.nw .rank-box, body.nw .pt-box{
  background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; box-shadow:var(--nw-shadow) !important; color:var(--nw-text) !important;
}
body.nw .nr-card__title{ color:var(--nw-cream) !important; border-bottom-color:var(--nw-line) !important; }
body.nw .nr-table{ background:transparent; }
body.nw .nr-table th{ background:rgba(235,223,135,.08); color:var(--nw-khaki); border-bottom-color:var(--nw-line); }
body.nw .nr-table td{ color:var(--nw-text); border-bottom-color:var(--nw-line); }
body.nw .nr-badge, body.nw .nr-status, body.nw .nr-type{ background:rgba(235,223,135,.1); color:var(--nw-khaki); }
body.nw .nr-badge--ok, body.nw .nr-status--ok, body.nw .nr-notice--success{ background:rgba(60,150,80,.2); color:#b9f0c4; border-color:rgba(60,150,80,.4); }
body.nw .nr-badge--ng, body.nw .nr-status--ng, body.nw .nr-badge--warn{ background:rgba(235,189,105,.16); color:var(--nw-gold); }
body.nw .nr-type--paid{ background:rgba(235,223,135,.14); color:var(--nw-khaki); } body.nw .nr-type--free{ background:rgba(60,150,80,.2); color:#b9f0c4; }
body.nw .nr-notice{ background:rgba(235,223,135,.08); color:var(--nw-khaki); border-color:var(--nw-line-2); }
body.nw .nr-notice--error, body.nw .nr-notice--danger{ background:rgba(173,31,38,.2); color:#ffc0c3; border-color:rgba(217,42,51,.5); }
body.nw .nr-muted, body.nw .nr-empty, body.nw .nr-mypage__san, body.nw .nr-mypage__member, body.nw .nr-mypage__rank-bonus, body.nw .nr-mypage__progress-head, body.nw .nr-status-list__value, body.nw .nr-mypage__menu-sub, body.nw .nr-history__gacha, body.nw .nr-history__date, body.nw .nr-table__date, body.nw .mp-id{ color:var(--nw-muted) !important; }
body.nw .nr-mypage__name, body.nw .nr-mypage__progress-head b, body.nw .nr-mypage__progress-head strong, body.nw .nr-mypage__menu-item, body.nw .nr-mypage__menu-label, body.nw .nr-history__item-name, body.nw .nr-mypage__pt-label, body.nw .nr-status-list__label, body.nw .nr-referral__code, body.nw .nr-ticket{ color:var(--nw-cream) !important; }
body.nw .nr-mypage__menu-item:hover, body.nw .nr-mypage__grid a:hover{ border-color:var(--nw-khaki) !important; color:var(--nw-khaki) !important; }
body.nw .nr-mypage__menu-item--logout{ color:#ffb3b6 !important; background:rgba(173,31,38,.18) !important; border-color:rgba(217,42,51,.4) !important; }
body.nw .nr-mypage__pt{ border-bottom-color:var(--nw-line); }
body.nw .nr-mypage__pt--total{ background:rgba(235,223,135,.08) !important; }
body.nw .nr-progress{ background:rgba(255,255,255,.08); }
body.nw .nr-progress__bar, body.nw .nr-progress > span{ background:var(--nw-grad-gold-flat); }
body.nw .nr-referral__code{ background:rgba(235,223,135,.08); font-family:var(--nw-font-display); }
body.nw .nr-referral__desc, body.nw .nr-phone-verify__desc, body.nw .nr-line-link__steps, body.nw .nr-paypay ol, body.nw .nr-paypay ul, body.nw .nr-legal__lead{ color:var(--nw-text) !important; }
body.nw .nr-paypay h2{ color:var(--nw-cream); border-left-color:var(--nw-gold-2); }
body.nw .nr-legal__table th{ background:rgba(235,223,135,.1); color:var(--nw-khaki); }
body.nw .nr-legal__table th, body.nw .nr-legal__table td{ border-color:var(--nw-line); color:var(--nw-text); }
body.nw .nr-legal__table small{ color:var(--nw-muted); }
body.nw .nr-link{ color:var(--nw-khaki) !important; }
body.nw .nr-btn--sm{ height:32px; }
body.nw .nr-rank-badge, body.nw .nr-rank-tag, body.nw .nr-badge-rank{ box-shadow:0 2px 8px rgba(0,0,0,.5); }
body.nw .nr-plus, body.nw .nr-num--plus{ color:#9fe3ad; } body.nw .nr-minus, body.nw .nr-num--minus{ color:#ff8d93; }
body.nw .nr-pagination__link{ color:var(--nw-khaki); }
body.nw .nr-login-required__text{ color:var(--nw-text); }
body.nw .entry-content > h2.wp-block-heading:first-child, body.nw:not(.home):not(.single-product) .entry-title{ color:var(--nw-cream) !important; border-bottom-color:var(--nw-gold-2) !important; text-shadow:0 2px 12px rgba(0,0,0,.7); }
body.nw:not(.home) #primary .entry-content{ color:var(--nw-text); }
body.nw:not(.home) .entry-content p, body.nw:not(.home) .entry-content li{ color:var(--nw-text); }
body.nw:not(.home) .entry-content a:not(.button):not(.btn):not(.taiwangacha-btn):not(.wp-block-button__link):not(.text-link):not(.nr-btn):not(.nw-btn){ color:var(--nw-khaki); }
body.nw .referral-system{ background:var(--nw-panel) !important; border:1px solid var(--nw-line-2) !important; color:var(--nw-text) !important; }
body.nw .referral-system h2, body.nw .referral-system h3{ color:var(--nw-cream) !important; }
body.nw .referral-system input[type="text"]{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border-color:var(--nw-line-2) !important; }
body.nw .expiry-notice, body.nw .referral-system .notice{ background:rgba(235,223,135,.08) !important; color:var(--nw-muted) !important; }

/* ---------- フッター ---------- */
body.nw .nr-footer, body.nw .taiwangacha-footer.nr-footer, body.nw .site-footer.nr-footer, body.nw.um-page .site-footer.nr-footer, body.nw.woocommerce-page .site-footer.nr-footer{
  background:linear-gradient(180deg,rgba(8,4,4,.86) 0%,#080404 30%) !important; color:var(--nw-muted) !important; position:relative;
}
body.nw .taiwangacha-footer.nr-footer::before{ background:linear-gradient(90deg,transparent 0%,#c9ad4c 20%,#fff0a8 50%,#c9ad4c 80%,transparent 100%) !important; height:2px; }
body.nw .nr-footer .nw-logo-img{ height:44px; }
body.nw .nr-footer .taiwangacha-footer__tagline{ color:var(--nw-muted) !important; }
body.nw .nr-footer__sns a{ background:rgba(235,223,135,.06); border:1px solid var(--nw-line-2); color:var(--nw-khaki); }
body.nw .nr-footer__sns a:hover{ background:var(--nw-red); border-color:var(--nw-red-2); color:#fff; }
body.nw .nr-footer .taiwangacha-footer__heading{ color:var(--nw-khaki) !important; font-family:var(--nw-font-display); letter-spacing:.12em; }
body.nw .nr-footer .taiwangacha-footer__list a, body.nw .site-footer.nr-footer a{ color:var(--nw-text) !important; }
body.nw .nr-footer .taiwangacha-footer__list a:hover{ color:var(--nw-khaki) !important; }
body.nw .nr-footer .taiwangacha-footer__bottom{ background:#050303 !important; border-top:1px solid var(--nw-line) !important; }
body.nw .nr-footer .taiwangacha-footer__copy{ color:var(--nw-muted) !important; }

/* ---------- 演出動画ページ ---------- */
body.nw.nr-movie{ background:#000 !important; }

/* ---------- 微調整 ---------- */
body.nw .um{ color:var(--nw-text); }
body.nw .um-page #content *{ color:inherit; }
body.nw .ast-scroll-top{ background:var(--nw-grad-red) !important; }
body.nw ::selection{ background:var(--nw-khaki); color:var(--nw-black); }
body.nw .nr-login-required{ background:var(--nw-panel) !important; border-color:var(--nw-line-2) !important; }


/* =====================================================================
   2026-09-11 フィードバック対応
===================================================================== */
/* ガチャのタイトル非表示 */
body.nw .gacha-item .gacha-title{ display:none !important; }
/* ヘッダーのホーム／ガチャ一覧ナビは廃止 */
body.nw .nr-header__nav{ display:none !important; }
/* 「詳細を見る」廃止 */
body.nw .nr-card-cta{ display:none !important; }
/* タグ行：左にカテゴリ・NEW・残りわずか、右端にポイント数 */
body.nw .nr-card-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 10px; cursor:pointer; }
body.nw .nr-card-tags__pt{ margin-left:auto; display:inline-flex; align-items:baseline; gap:4px; color:var(--nw-cream); white-space:nowrap; }
body.nw .nr-card-tags__pt .nr-pt{ gap:4px; }
body.nw .nr-card-tags__pt .nr-pt__coin{ width:20px; height:20px; font-size:11px; }
body.nw .nr-card-tags__pt .nr-pt__num{ font-size:20px; }
body.nw .nr-card-tags__pt .nr-pt__unit{ font-size:11px; }
body.nw .nr-card-tags__per{ font-size:10px; color:var(--nw-muted); font-weight:700; }
body.nw .nr-card-tags__pt--free{ font-family:var(--nw-font-display); font-size:18px; color:var(--nw-khaki); letter-spacing:.06em; }
body.nw .gacha-details{ padding:12px 14px 10px !important; }
body.nw .gacha-remaining .remaining-bar-wrapper{ margin:2px 0 4px !important; }
/* ドロワーの閉じるボタン＝弾痕 */
body.nw .nw-drawer-close, body.nw .nr-drawer .nw-drawer-close, body.nw .nw-drawer-close:hover, body.nw .nw-drawer-close:focus{
  width:56px !important; height:56px !important; top:12px !important; right:12px !important; padding:0 !important; border:0 !important; border-radius:50% !important;
  background:radial-gradient(circle at 50% 50%,#3a0a0e 0%,#0e0b05 72%) !important; box-shadow:0 0 0 2px var(--nw-red-2), 0 0 18px rgba(217,42,51,.5) !important;
  display:inline-flex !important; align-items:center; justify-content:center; overflow:visible; cursor:pointer; color:var(--nw-cream) !important;
}
body.nw .nw-drawer-close__img{ width:40px !important; height:40px !important; object-fit:contain; display:block; filter:invert(1) sepia(1) saturate(3) hue-rotate(5deg) brightness(1.15) drop-shadow(0 0 4px rgba(255,240,168,.6)); pointer-events:none; }
body.nw .nw-drawer-close__label{ position:absolute; bottom:-16px; left:50%; transform:translateX(-50%); font-size:10px; font-weight:800; color:var(--nw-muted); letter-spacing:.06em; white-space:nowrap; }
body.nw .nw-drawer-close:hover{ filter:brightness(1.15); }
body.nw .nw-drawer-close:active .nw-drawer-close__img{ transform:scale(.9) rotate(-8deg); }
/* ドロワー先頭の「マイページを見る」 */
body.nw .nw-drawer-mypage{ margin:0 0 12px; height:50px; font-size:15px; }
body.nw .nr-drawer .taiwangacha-drawer__panel{ padding-top:84px !important; }
/* 当選速報：タップで止まらない（ホバーできる端末＝PCだけ一時停止） */
body.nw .nr-ticker:hover .nr-ticker__list{ animation-play-state:running; }
@media (hover:hover){ body.nw .nr-ticker:hover .nr-ticker__list{ animation-play-state:paused; } }
body.nw .nr-ticker{ margin:10px 12px 14px; }
/* ログイン／新規登録／アカウントなど UM ページ：上に余白・フォームを暗いパネルに・入力中に拡大しない（16px） */
body.nw.um-page #content, body.nw.rc-page-login #content{ padding-top:8px; }
body.nw.um-page .entry-header{ margin:18px 12px 8px !important; padding:0 !important; }
body.nw.um-page .entry-title{ font-size:20px !important; text-align:center; border:0 !important; padding:0 !important; margin:0 !important; text-shadow:0 2px 12px rgba(0,0,0,.7); }
body.nw .um.um-login, body.nw .um.um-register, body.nw .um.um-account, body.nw .um.um-password, body.nw .um.um-profile{
  max-width:520px; margin:8px auto 28px !important; padding:22px 16px 20px !important; background:rgba(12,9,5,.94) !important; border:1px solid var(--nw-line-2); border-radius:18px;
  box-shadow:var(--nw-shadow-lg), inset 0 1px 0 rgba(255,240,168,.12); position:relative; overflow:hidden;
}
body.nw .um.um-login::before, body.nw .um.um-register::before, body.nw .um.um-account::before, body.nw .um.um-password::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#c9ad4c,#fff0a8,#c9ad4c); }
body.nw .um .um-form, body.nw .um .um-form form{ background:transparent !important; }
body.nw .um .um-form .um-row{ margin-bottom:14px !important; }
body.nw .um .um-field{ margin-bottom:14px !important; padding:0 !important; }
body.nw .um .um-field-label, body.nw .um .um-field-label label{ font-size:13px !important; font-weight:800 !important; margin-bottom:6px !important; color:var(--nw-cream) !important; }
body.nw .um .um-field-area input, body.nw .um input[type=text], body.nw .um input[type=password], body.nw .um input[type=email], body.nw .um input[type=tel], body.nw .um select, body.nw .um textarea{
  font-size:16px !important; height:48px !important; padding:0 14px !important; line-height:48px !important; width:100% !important; box-sizing:border-box;
}
body.nw .um textarea{ height:auto !important; line-height:1.6 !important; padding:12px 14px !important; }
body.nw .um .um-col-alt{ margin:14px 0 0 !important; }
body.nw .um .um-col-alt .um-center{ margin-top:6px; }
body.nw .um .um-button, body.nw .um input[type=submit].um-button{ width:100% !important; height:50px !important; font-size:15px !important; margin:6px 0 0 !important; }
body.nw .um .um-col-alt-b, body.nw .um .um-misc-ul{ margin-top:14px !important; text-align:center; font-size:13px; }
body.nw .um .um-field-checkbox-option, body.nw .um .um-field-checkbox-state{ color:var(--nw-text) !important; }
body.nw .um .um-field-checkbox-state i{ color:var(--nw-khaki) !important; }
body.nw .um .um-tip{ color:var(--nw-muted) !important; }
body.nw .um .um-req{ color:var(--nw-red-2) !important; }
body.nw .um .um-field-error{ margin-top:6px; }
/* 一般ページ本文の上余白 */
body.nw:not(.home):not(.um-page) .entry-header{ margin-top:14px; }
/* ゲスト時のドロワーは使わない（ボタン非表示） */
body.nw.nw-guest .nw-menubtn{ display:none !important; }
/* UM フォーム内側の枠線・背景を消して二重枠にしない／チェックボックス行を横並びに */
body.nw .um .um-form form, body.nw .um .um-row, body.nw .um .um-col-1, body.nw .um .um-field-area, body.nw .um-form fieldset{ border:0 !important; background:transparent !important; box-shadow:none !important; border-radius:0 !important; padding-left:0 !important; padding-right:0 !important; }
body.nw .um .um-form .um-row{ margin:0 0 6px !important; }
body.nw .um .um-col-alt .um-field-checkbox{ display:flex !important; align-items:center; gap:8px; }
body.nw .um .um-col-alt .um-field-checkbox-option{ margin:0 !important; }
body.nw .um .um-field-radio, body.nw .um .um-field-checkbox{ display:inline-flex !important; align-items:center; gap:8px; margin:0 16px 8px 0 !important; }
body.nw .um .um-field-radio-option, body.nw .um .um-field-checkbox-option{ color:var(--nw-text) !important; }
body.nw .um .um-field-radio-state i, body.nw .um .um-field-checkbox-state i{ color:var(--nw-khaki) !important; }
body.nw.um-page .um-form, body.nw .um .um-form{ border:0 !important; background:transparent !important; box-shadow:none !important; padding:0 !important; margin:0 !important; border-radius:0 !important; max-width:none !important; }

/* ゲストのヘッダー：ログイン（枠線）＋新規登録（赤）を並べる */
body.nw.nw-guest .nr-header__right .nr-btn--text, body.nw.nw-guest .taiwangacha-btn--ghost.nr-btn--text{
  background:transparent !important; border:1.5px solid var(--nw-gold-2) !important; color:var(--nw-khaki) !important; height:34px !important; padding:0 12px !important; font-size:12.5px !important; border-radius:999px !important; white-space:nowrap;
}
body.nw.nw-guest .nr-header__right .nr-btn--text:hover{ background:rgba(235,223,135,.1) !important; }
@media (max-width:360px){ body.nw.nw-guest .nr-header__right .nr-btn--text, body.nw.nw-guest .nr-btn--primary.taiwangacha-btn{ padding:0 9px !important; font-size:11.5px !important; } }
/* UM チェックボックス行（ログイン状態を保存する）を横一列に */
body.nw .um .um-col-alt .um-field-checkbox, body.nw .um .um-field-checkbox{ justify-content:flex-start !important; align-items:center !important; width:100%; }
body.nw .um .um-field-checkbox-option{ flex:1 1 auto !important; text-align:left !important; white-space:nowrap; font-size:13px !important; }
body.nw .um .um-field-checkbox-state{ flex:0 0 auto; }
/* UM ラジオ（性別など）：横並び・文字を折り返さない */
body.nw .um .um-field-area:has(.um-field-radio){ display:flex; flex-wrap:wrap; gap:6px 18px; }
body.nw .um .um-field-radio{ display:inline-flex !important; align-items:center !important; gap:8px !important; margin:0 !important; width:auto !important; float:none !important; }
body.nw .um .um-field-radio-state{ flex:0 0 auto; width:auto !important; }
body.nw .um .um-field-radio-option{ display:inline !important; white-space:nowrap !important; width:auto !important; float:none !important; padding:0 !important; margin:0 !important; text-align:left !important; font-size:14px !important; color:var(--nw-text) !important; }
body.nw .um .um-field-radio input[type=radio], body.nw .um .um-field-checkbox input[type=checkbox]{ width:18px !important; height:18px !important; }

/* =====================================================================
   DRAWER v2 — 弾痕から開くメニュー（2026-09-11 追加要望）
   ヘッダーのキャラ（表情）を押す → 弾痕に変わり、その弾痕を中心に円形にメニューが広がる。
   右スライドは廃止。閉じるのは弾痕（同じ位置）をもう一度押す。
===================================================================== */
body.nw .taiwangacha-drawer{ position:fixed !important; inset:0 !important; display:none; z-index:10000; --nw-hole-x:calc(100% - 36px); --nw-hole-y:34px; }
body.nw .taiwangacha-drawer.is-open{ display:block; }
body.nw .taiwangacha-drawer__overlay{ position:absolute; inset:0; background:rgba(8,4,4,.55); opacity:0; transition:opacity .45s ease; animation:none !important; backdrop-filter:none !important; }
body.nw .taiwangacha-drawer.nw-reveal .taiwangacha-drawer__overlay{ opacity:1; }
body.nw .taiwangacha-drawer__panel, body.nw .nr-drawer .taiwangacha-drawer__panel, body.nw .taiwangacha-drawer__panel.nr-drawer__panel{
  position:absolute !important; inset:0 !important; top:0 !important; right:0 !important; width:100% !important; height:100% !important; max-width:none !important;
  margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; animation:none !important; transform:none !important; display:block !important;
  background:radial-gradient(circle at var(--nw-hole-x) var(--nw-hole-y), rgba(122,18,24,.62) 0, rgba(28,20,10,.97) 34%, #080404 100%) !important;
  clip-path:circle(0px at var(--nw-hole-x) var(--nw-hole-y)); -webkit-clip-path:circle(0px at var(--nw-hole-x) var(--nw-hole-y));
  transition:clip-path .6s cubic-bezier(.2,.85,.25,1), -webkit-clip-path .6s cubic-bezier(.2,.85,.25,1); overflow-y:auto; -webkit-overflow-scrolling:touch;
}
body.nw .taiwangacha-drawer.nw-reveal .taiwangacha-drawer__panel{ clip-path:circle(150vmax at var(--nw-hole-x) var(--nw-hole-y)); -webkit-clip-path:circle(150vmax at var(--nw-hole-x) var(--nw-hole-y)); }
body.nw .taiwangacha-drawer__panel::before{ display:none !important; }
/* 貫通した弾痕（大きく・薄く）を穴の位置に描く */
body.nw .nw-drawer__panel::after{
  content:""; position:absolute; width:min(88vw,460px); height:min(88vw,460px); left:calc(var(--nw-hole-x) - min(44vw,230px)); top:calc(var(--nw-hole-y) - min(44vw,230px));
  background:url("../../../uploads/nowripa/nowripa-menu-hit.png") center/contain no-repeat; opacity:.32; pointer-events:none; z-index:0;
  filter:invert(1) sepia(1) saturate(3) hue-rotate(5deg) brightness(1.1);
}
/* 発砲の閃光（開いた瞬間） */
@keyframes nwFlash{ 0%{ transform:scale(.2); opacity:.95; } 100%{ transform:scale(3.2); opacity:0; } }
body.nw .taiwangacha-drawer.nw-reveal .taiwangacha-drawer__overlay::after{
  content:""; position:absolute; width:120px; height:120px; border-radius:50%; left:calc(var(--nw-hole-x) - 60px); top:calc(var(--nw-hole-y) - 60px);
  background:radial-gradient(circle,rgba(255,240,168,.9) 0,rgba(235,223,135,.45) 35%,rgba(235,223,135,0) 70%); animation:nwFlash .6s ease-out forwards; pointer-events:none;
}
/* 閉じるボタン＝弾痕。ヘッダーのボタンと同じ位置に固定して「同じ弾痕」に見せる */
body.nw .nw-drawer-close, body.nw .nr-drawer .nw-drawer-close, body.nw .nw-drawer-close:hover, body.nw .nw-drawer-close:focus{
  position:absolute !important; left:calc(var(--nw-hole-x) - 26px) !important; top:calc(var(--nw-hole-y) - 26px) !important; right:auto !important; bottom:auto !important;
  width:52px !important; height:52px !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:50% !important; z-index:5;
  background:radial-gradient(circle at 50% 50%,#3a0a0e 0%,#0e0b05 72%) !important; box-shadow:0 0 0 2px var(--nw-red-2), 0 0 0 5px rgba(8,4,4,.9), 0 0 22px rgba(217,42,51,.6) !important;
  display:inline-flex !important; align-items:center; justify-content:center; overflow:hidden; cursor:pointer; color:var(--nw-cream) !important; transform:none !important;
}
body.nw .nw-drawer-close__img{ width:40px !important; height:40px !important; object-fit:contain; display:block; pointer-events:none; filter:invert(1) sepia(1) saturate(3) hue-rotate(5deg) brightness(1.15) drop-shadow(0 0 4px rgba(255,240,168,.6)); }
body.nw .nw-drawer-close__label{ display:none !important; }
body.nw .nw-drawer-close:active .nw-drawer-close__img{ transform:scale(.9) rotate(-8deg); }
@media (max-width:480px){ body.nw .nw-drawer-close{ width:46px !important; height:46px !important; left:calc(var(--nw-hole-x) - 23px) !important; top:calc(var(--nw-hole-y) - 23px) !important; } body.nw .nw-drawer-close__img{ width:36px !important; height:36px !important; } }
/* パネルの中身：穴の下から始める。PCでは右寄せ 440px */
body.nw .nw-drawer-inner{ position:relative; z-index:1; max-width:440px; margin:0 0 0 auto; padding:calc(var(--nw-hole-y) + 52px) 20px 48px; opacity:0; transform:translateY(10px); transition:opacity .35s ease .25s, transform .35s ease .25s; }
body.nw .taiwangacha-drawer.nw-reveal .nw-drawer-inner{ opacity:1; transform:none; }
body.nw .taiwangacha-drawer__top, body.nw .nw-drawer-mypage{ display:none !important; }
body.nw .nw-drawer-user{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; }
body.nw .nw-drawer-user__name{ font-size:18px; font-weight:900; color:var(--nw-cream); text-shadow:0 2px 10px rgba(0,0,0,.6); }
body.nw .nw-drawer-user__name small{ font-size:12px; color:var(--nw-muted); margin-left:4px; font-weight:700; }
body.nw .nw-drawer-user__rank{ display:flex; align-items:center; gap:6px; }
body.nw .nw-drawer-user__ranksub{ font-size:10px; color:var(--nw-muted); font-weight:700; }
body.nw .nw-drawer-pt{
  display:grid; grid-template-columns:1fr auto; grid-template-areas:"label buy" "value buy"; align-items:center; column-gap:12px; row-gap:2px;
  padding:14px 16px; margin:0 0 16px; border-radius:16px; background:var(--nw-grad-gold); color:var(--nw-black); box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px rgba(0,0,0,.5);
}
body.nw .nw-drawer-pt__label{ grid-area:label; font-size:11px; font-weight:800; color:#3a2e10; letter-spacing:.06em; }
body.nw .nw-drawer-pt__value{ grid-area:value; display:inline-flex; align-items:baseline; gap:6px; color:var(--nw-black); }
body.nw .nw-drawer-pt__value .nr-pt__coin{ align-self:center; width:22px; height:22px; font-size:12px; }
body.nw .nw-drawer-pt__value b{ font-family:var(--nw-font-display); font-size:30px; font-weight:700; line-height:1; letter-spacing:.01em; }
body.nw .nw-drawer-pt__value small{ font-size:12px; font-weight:800; color:#3a2e10; }
body.nw .nw-drawer-pt__buy{ grid-area:buy; height:40px; padding:0 14px; font-size:12.5px; }
body.nw .nw-drawer-menu{ margin:0 !important; background:rgba(8,4,4,.45); border:1px solid var(--nw-line); border-radius:16px; overflow:hidden; }
body.nw .nw-drawer-menu .taiwangacha-drawer__item{ padding:14px 16px !important; font-size:14.5px !important; font-weight:800; border-bottom:1px solid var(--nw-line) !important; margin:0 !important; border-radius:0 !important; }
body.nw .nw-drawer-menu .taiwangacha-drawer__item:last-child{ border-bottom:0 !important; }
body.nw .nw-drawer-menu .taiwangacha-drawer__item--logout{ background:rgba(173,31,38,.14) !important; border:0 !important; color:#ffb3b6 !important; }
body.nw .nw-drawer-guest{ margin:0 0 14px; }
body.nw .nw-drawer-open .nr-header{ z-index:9990; }
body.nw.nw-drawer-open{ overflow:hidden; }

/* ---------- カスタム回数モーダル ---------- */
body.nw .nw-qty{ text-align:left; }
body.nw .nw-qty__title{ font-size:16px; font-weight:900; color:var(--nw-cream) !important; margin:0 0 4px; }
body.nw .nw-qty__sub{ font-size:12px; color:var(--nw-muted) !important; margin:0 0 14px; }
body.nw .nw-qty__box{ display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 12px; }
body.nw .nw-qty__btn, body.nw .nw-qty__btn:hover, body.nw .nw-qty__btn:focus{ width:48px !important; height:48px !important; min-height:0 !important; padding:0 !important; border-radius:12px !important; background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line-2) !important; font-size:24px !important; font-weight:900 !important; line-height:1 !important; box-shadow:none !important; cursor:pointer; }
body.nw .nw-qty__input, body.nw .modal-content .nw-qty__input{ width:120px !important; height:48px !important; text-align:center; font-family:var(--nw-font-display); font-size:26px !important; font-weight:700; padding:0 8px !important; background:var(--nw-ink-2) !important; color:var(--nw-khaki) !important; border:1px solid var(--nw-line-2) !important; border-radius:12px !important; -moz-appearance:textfield; }
body.nw .nw-qty__input::-webkit-outer-spin-button, body.nw .nw-qty__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
body.nw .nw-qty__chips{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin:0 0 14px; }
body.nw .nw-qty__chip, body.nw .nw-qty__chip:hover, body.nw .nw-qty__chip:focus{ min-height:0 !important; height:32px !important; padding:0 13px !important; border-radius:999px !important; background:transparent !important; border:1px solid var(--nw-gold-2) !important; color:var(--nw-khaki) !important; font-size:12.5px !important; font-weight:800 !important; line-height:1 !important; box-shadow:none !important; cursor:pointer; }
body.nw .nw-qty__chip:active{ background:rgba(235,223,135,.15) !important; }
body.nw .nw-qty__cost{ display:flex; justify-content:space-between; align-items:center; padding:10px 14px; background:rgba(235,223,135,.08); border:1px solid var(--nw-line); border-radius:12px; font-size:13px; color:var(--nw-text) !important; }
body.nw .nw-qty__cost b{ font-family:var(--nw-font-display); font-size:22px; color:var(--nw-khaki) !important; }
body.nw .nw-qty__cost b span{ color:var(--nw-khaki) !important; }
/* 一覧カード：回数指定ボタン（ゴールド） */
body.nw .nw-draw--custom, body.nw .nw-draw--custom:hover{ background:var(--nw-grad-gold) !important; color:var(--nw-black) !important; border:2px solid #7a5f14 !important; box-shadow:0 6px 18px rgba(0,0,0,.5), 0 0 0 1px rgba(255,240,168,.5), inset 0 1px 0 rgba(255,255,255,.7) !important; text-shadow:0 1px 0 rgba(255,255,255,.55); }
body.nw .nw-draw--custom .nw-draw__p{ color:#3a2e10; }
body.nw .gacha-item .gacha-button > .nw-draw--custom{ grid-column:1 / -1; }
/* 詳細ページの固定フッター：position:fixed のモーダルを閉じ込めないよう backdrop-filter を外す */
body.nw .fixed-footer{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(8,4,4,.97) !important; }
body.nw .genre-filter-container, body.nw .genre-filter-container.stuck{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(8,4,4,.85) !important; }

/* =====================================================================
   全ページ共通の枠幅・履歴／コレクションのパネル・モーダル内スクロール（2026-09-11 スクショ確認後）
===================================================================== */
/* 本文枠が狭い原因：Astra の記事枠(28px) と本文(28px) の二重余白 → 全て解除して .ast-container の 12px だけにする */
body.nw:not(.home) .ast-container{ padding-left:12px !important; padding-right:12px !important; max-width:1200px; }
body.nw:not(.home) #primary, body.nw:not(.home) #primary article, body.nw:not(.home) .ast-article-single, body.nw:not(.home) .ast-article-post, body.nw:not(.home) .entry-content, body.nw:not(.home) #primary .entry-content{
  padding:0 !important; margin-left:0 !important; margin-right:0 !important; max-width:none !important; width:100% !important; background:transparent !important; border:0 !important; box-shadow:none !important;
}
body.nw:not(.home) .entry-content > *{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
body.nw:not(.home) .entry-content > .wp-block-spacer{ display:none !important; }
@media (min-width:900px){ body.nw:not(.home) .ast-container{ padding-left:24px !important; padding-right:24px !important; } }
/* ページタイトル帯：余白を詰める */
body.nw:not(.home) .entry-header{ margin:16px 0 14px !important; padding:0 !important; }
body.nw:not(.home):not(.single-product) .entry-title, body.nw:not(.home) .entry-content > h2.wp-block-heading:first-child{ font-size:20px !important; margin:0 0 12px !important; padding:0 0 10px !important; text-align:center; border-bottom:2px solid var(--nw-gold-2) !important; }
/* 一般ページ（規約・特商法・プライバシー・ガイドなど）の本文は暗いパネルに */
body.nw.rc-page-kiyaku .entry-content, body.nw.page-id-1565 .entry-content, body.nw.page-id-3 .entry-content, body.nw.page-id-493 .entry-content, body.nw.page-id-545 .entry-content, body.nw.page-id-1892 .entry-content, body.nw.page-id-1893 .entry-content,
body.nw .nr-legal, body.nw .nr-paypay, body.nw .nr-phone-verify, body.nw .nr-referral, body.nw .nr-line-link{
  background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:16px !important; padding:18px 16px !important; box-shadow:var(--nw-shadow) !important; color:var(--nw-text) !important; font-size:14px; line-height:1.85;
}
body.nw .nr-legal{ margin:0 0 16px; }
body.nw .entry-content .nr-card, body.nw .nr-card{ padding:16px !important; }
/* 履歴（ポイント／ガチャ）・お知らせ系：パネル化して空表示も見えるように */
body.nw .nr-history{ background:var(--nw-panel-2); border:1px solid var(--nw-line-2); border-radius:16px; padding:16px; box-shadow:var(--nw-shadow); margin:0 0 20px; }
body.nw .nr-history__head{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 0 12px; padding:0 0 10px; border-bottom:1px solid var(--nw-line); }
body.nw .nr-history__head .nr-card__title{ margin:0 !important; padding:0 !important; border:0 !important; font-size:16px !important; }
body.nw .nr-history__head .nr-link{ font-size:13px; white-space:nowrap; }
body.nw .nr-empty{ color:var(--nw-text) !important; background:rgba(235,223,135,.06); border:1px dashed var(--nw-line-2); border-radius:12px; padding:26px 12px !important; margin:0; font-size:13.5px; }
body.nw .nr-table-wrap{ border:1px solid var(--nw-line); border-radius:12px; overflow:hidden; }
body.nw .nr-table{ font-size:12.5px; }
body.nw .nr-table th{ white-space:nowrap; }
body.nw .nr-history__item{ background:rgba(8,4,4,.5) !important; border:1px solid var(--nw-line) !important; }
body.nw .nr-pagination{ display:flex; justify-content:center; align-items:center; gap:14px; margin:14px 0 0; font-size:13px; color:var(--nw-muted); }
body.nw .nr-pagination__link{ color:var(--nw-khaki) !important; font-weight:800; }
/* mypage 配下のページは本文側にタイトルがあるので、ページ見出しは出さない */
body.nw.page-id-1890 .entry-header, body.nw.page-id-1891 .entry-header{ display:none !important; }
/* コレクション／配送状況：一覧エリアをパネルに、空メッセージを見えるように */
body.nw #collection-form, body.nw .collection-list-wrap{ display:block; }
body.nw ul.collection-list{ background:var(--nw-panel-2); border:1px solid var(--nw-line-2); border-radius:16px; padding:12px !important; margin:0 0 14px !important; min-height:120px; box-shadow:var(--nw-shadow); }
body.nw .collection-list > p{ color:var(--nw-text) !important; padding:26px 0 !important; margin:0; font-size:13.5px; grid-column:1/-1; text-align:center; }
body.nw .notice-sentence, body.nw p.notice-sentence{ margin:0 0 12px !important; text-align:center; }
body.nw .collection-filter{ margin:0 0 12px !important; padding:12px !important; background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:14px !important; gap:10px !important; }
body.nw .status-filter{ border-bottom:0 !important; padding:0 !important; gap:6px !important; flex-wrap:wrap !important; }
body.nw .status-filter a{ height:34px !important; padding:0 14px !important; }
body.nw .sort-order{ gap:6px !important; }
body.nw .sort-order a{ height:32px !important; }
body.nw .add-submit-button{ margin:14px 0 0 !important; }
body.nw .add-submit-button .submit-button{ max-width:100% !important; }
/* カスタム回数モーダル：小さい画面でも操作できるようスクロール／チップを4列に */
body.nw .modal:not(.modal-wrap) .modal-content{ max-height:84vh; overflow-y:auto; -webkit-overflow-scrolling:touch; }
body.nw .nw-qty__chips{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
body.nw .nw-qty__chip, body.nw .nw-qty__chip:hover, body.nw .nw-qty__chip:focus{ width:100%; padding:0 6px !important; height:34px !important; }
body.nw .nw-qty__box{ margin-bottom:10px; }
body.nw .nw-qty__btn, body.nw .nw-qty__btn:hover{ width:44px !important; height:44px !important; }
body.nw .nw-qty__input, body.nw .modal-content .nw-qty__input{ height:44px !important; width:100px !important; font-size:24px !important; }
body.nw .modal-content .modal-buttons{ margin-top:12px; }
/* ドロワー：ヘッダーが透けないよう不透明度を上げる */
body.nw .taiwangacha-drawer__panel, body.nw .nr-drawer .taiwangacha-drawer__panel, body.nw .taiwangacha-drawer__panel.nr-drawer__panel{
  background:radial-gradient(circle at var(--nw-hole-x) var(--nw-hole-y), rgba(96,16,22,.97) 0, rgba(22,16,9,.985) 30%, #080404 100%) !important;
}
/* 詳細ページ：固定フッターのカスタム回数ボタン */
body.nw .fixed-footer .nw-custom-btn{ flex-basis:100% !important; }
body.nw .nr-mypage__menu-icon{ display:inline-flex; color:var(--nw-khaki); }
body.nw .nr-mypage__menu-icon svg{ width:26px; height:26px; }
body.nw .nr-mypage__menu-item--logout .nr-mypage__menu-icon{ color:#ffb3b6; }
body.nw .nr-mypage__menu{ gap:10px; }
body.nw .nr-mypage__profile{ display:flex !important; flex-direction:row !important; align-items:center; gap:14px; }

/* =====================================================================
   スクショ確認 第2弾（2026-09-11）: WooCommerce（一覧・商品・カート・支払い）／配送状況／規約系パネル／残った旧色
===================================================================== */
/* --- 静的ページのパネル（幅修正ブロックより後・高い特異度で再適用） --- */
body.nw.page-id-1565 #primary .entry-content, body.nw.page-id-3 #primary .entry-content, body.nw.page-id-493 #primary .entry-content, body.nw.page-id-545 #primary .entry-content,
body.nw.page-id-1892 #primary .entry-content, body.nw.page-id-1893 #primary .entry-content, body.nw.page-id-1880 #primary .entry-content{
  background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:16px !important; padding:18px 16px !important; box-shadow:var(--nw-shadow) !important; color:var(--nw-text) !important; font-size:14px; line-height:1.85;
}
body.nw.page-id-1565 .entry-content p, body.nw.page-id-3 .entry-content p, body.nw.page-id-493 .entry-content p{ color:var(--nw-text) !important; }
/* --- WooCommerce: body 自体に .woocommerce が付くページ（ショップ一覧・商品）用 --- */
body.nw.woocommerce ul.products li.product, body.nw.woocommerce-page ul.products li.product{
  background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:16px !important; box-shadow:var(--nw-shadow) !important; padding:14px 12px 16px !important; overflow:hidden;
}
body.nw.woocommerce ul.products li.product .astra-shop-thumbnail-container, body.nw.woocommerce ul.products li.product .astra-shop-summary-wrap, body.nw.woocommerce ul.products li.product .ast-woo-product-category{ background:transparent !important; }
body.nw.woocommerce ul.products li.product img{ background:#fff; border:1px solid var(--nw-line); border-radius:50%; width:96px !important; height:96px !important; object-fit:contain; margin:0 auto 8px !important; }
body.nw.woocommerce ul.products li.product .woocommerce-loop-product__title, body.nw.woocommerce ul.products li.product h2, body.nw.woocommerce-page ul.products li.product .woocommerce-loop-product__title{ color:var(--nw-cream) !important; font-family:var(--nw-font-display); font-size:20px !important; letter-spacing:.02em; margin:0 0 4px !important; padding:0 !important; }
body.nw.woocommerce ul.products li.product .price, body.nw.woocommerce ul.products li.product .price .amount, body.nw.woocommerce .price, body.nw.woocommerce .woocommerce-Price-amount, body.nw.woocommerce .woocommerce-Price-amount bdi, body.nw.woocommerce div.product p.price{ color:var(--nw-khaki) !important; }
body.nw.woocommerce ul.products li.product a.button, body.nw.woocommerce a.add_to_cart_button, body.nw.woocommerce .ast-on-card-button{ background:var(--nw-grad-red) !important; color:#fff !important; border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 6px 16px rgba(173,31,38,.4) !important; }
body.nw.woocommerce .ast-on-card-button{ display:none !important; }
body.nw.woocommerce .woocommerce-result-count, body.nw.woocommerce .woocommerce-breadcrumb{ color:var(--nw-muted) !important; }
body.nw.woocommerce .woocommerce-breadcrumb a{ color:var(--nw-khaki) !important; }
body.nw.woocommerce .woocommerce-ordering select.orderby{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line-2) !important; border-radius:12px !important; width:100%; height:44px; padding:0 12px !important; }
body.nw.woocommerce-page .entry-title, body.nw.woocommerce-page h1.page-title, body.nw.woocommerce .woocommerce-products-header__title{ color:var(--nw-cream) !important; border-bottom:2px solid var(--nw-gold-2) !important; font-size:20px !important; text-align:center; padding:0 0 10px !important; margin:0 0 12px !important; }
body.nw.woocommerce .woocommerce-products-header{ margin:16px 0 0; }
/* --- 商品ページ（単品）: 縦積み＋パネル --- */
body.nw.single-product div.product{ background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:16px !important; padding:18px 16px !important; box-shadow:var(--nw-shadow) !important; margin:16px 0 0 !important; display:flex; flex-direction:column; align-items:stretch; }
body.nw.single-product div.product .woocommerce-product-gallery{ width:100% !important; float:none !important; margin:0 0 12px !important; display:flex; justify-content:center; }
body.nw.single-product div.product .woocommerce-product-gallery img{ width:120px !important; height:120px !important; object-fit:contain; border-radius:50%; background:#fff; border:1px solid var(--nw-line); }
body.nw.single-product div.product .woocommerce-product-gallery__trigger{ display:none !important; }
body.nw.single-product div.product div.summary{ width:100% !important; float:none !important; margin:0 !important; text-align:center; }
body.nw.single-product div.product .product_title{ color:var(--nw-cream) !important; font-family:var(--nw-font-display); font-size:26px !important; margin:0 0 4px !important; border:0 !important; text-align:center; }
body.nw.single-product div.product p.price{ font-size:18px !important; margin:0 0 14px !important; }
body.nw.single-product div.product form.cart{ display:flex; flex-direction:column; gap:10px; align-items:stretch; margin:0 !important; }
body.nw.single-product div.product form.cart .quantity{ display:flex; justify-content:center; width:100%; }
body.nw.single-product div.product form.cart .quantity .qty{ width:110px !important; height:44px !important; text-align:center; font-size:16px !important; }
body.nw.single-product div.product form.cart .single_add_to_cart_button{ width:100% !important; height:48px !important; font-size:15px !important; margin:0 !important; }
body.nw.single-product div.product .woocommerce-tabs, body.nw.single-product div.product .product_meta{ display:none !important; }
body.nw.single-product section.related, body.nw.single-product .related.products{ margin:20px 0 0 !important; }
body.nw.single-product section.related > h2, body.nw.single-product .related.products > h2{ color:var(--nw-cream) !important; font-size:18px !important; margin:0 0 12px !important; padding:0 0 8px; border-bottom:2px solid var(--nw-gold-2); text-align:center; }
body.nw.single-product section.related ul.products li.product{ background:var(--nw-panel-2) !important; }
body.nw.single-product .woocommerce-notices-wrapper{ margin:0 0 12px; }
/* --- カート: 表がはみ出さないように --- */
body.nw .woocommerce table.shop_table, body.nw.woocommerce table.shop_table{ width:100% !important; max-width:100% !important; box-sizing:border-box !important; table-layout:fixed; border-spacing:0 !important; margin:0 0 14px !important; }
body.nw .woocommerce table.shop_table tr, body.nw .woocommerce table.shop_table td, body.nw .woocommerce table.shop_table th{ box-sizing:border-box !important; max-width:100%; }
body.nw .woocommerce table.shop_table_responsive tr td{ padding:10px 12px !important; }
body.nw .woocommerce table.shop_table_responsive tr td::before{ color:var(--nw-muted) !important; font-weight:800; }
body.nw .woocommerce table.shop_table td.product-thumbnail img{ width:64px !important; height:64px !important; border-radius:50%; background:#fff; margin:0 auto; }
body.nw .woocommerce table.shop_table td.product-remove{ text-align:right !important; }
body.nw .woocommerce table.shop_table td.product-remove a.remove{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:rgba(235,223,135,.1) !important; color:var(--nw-khaki) !important; font-size:18px; }
body.nw .woocommerce table.shop_table td.actions{ padding:12px !important; }
body.nw .woocommerce table.shop_table td.actions .coupon{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
body.nw .woocommerce table.shop_table td.actions .coupon .input-text{ flex:1 1 140px; width:auto !important; height:44px !important; }
body.nw .woocommerce table.shop_table td.actions .coupon .button{ flex:1 1 120px; height:44px !important; }
body.nw .woocommerce table.shop_table td.actions > .button{ width:100% !important; height:44px !important; }
body.nw .woocommerce table.shop_table td.actions > .button:disabled, body.nw .woocommerce table.shop_table td.actions > .button[disabled]{ opacity:.5 !important; background:#2a271f !important; color:#8d8567 !important; box-shadow:none !important; }
body.nw .woocommerce .cart-collaterals .cart_totals{ padding:14px !important; }
body.nw .woocommerce .cart-collaterals .cart_totals h2, body.nw .woocommerce-cart .cart-collaterals .cart_totals>h2{ color:var(--nw-cream) !important; font-size:16px !important; margin:0 0 10px !important; padding:0 0 8px !important; border-bottom:2px solid var(--nw-gold-2) !important; }
body.nw .woocommerce .cart-collaterals .cart_totals table{ margin:0 0 12px !important; }
body.nw .woocommerce .cart-collaterals .cart_totals table th{ background:transparent !important; color:var(--nw-text) !important; width:40%; }
body.nw .woocommerce .cart-collaterals .cart_totals table td{ text-align:right !important; }
body.nw .woocommerce .wc-proceed-to-checkout{ padding:0 !important; }
body.nw .woocommerce .wc-proceed-to-checkout a.checkout-button{ width:100% !important; height:50px !important; font-size:15px !important; margin:0 !important; }
body.nw .woocommerce .quantity{ display:inline-flex; align-items:center; }
body.nw .woocommerce .quantity .qty{ width:70px !important; height:40px !important; text-align:center; }
body.nw .woocommerce .quantity .minus, body.nw .woocommerce .quantity .plus, body.nw .ast-qty-btn{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line-2) !important; width:36px !important; height:40px !important; }
/* --- 支払い（チェックアウト） --- */
body.nw .woocommerce-checkout #customer_details, body.nw .woocommerce-checkout #order_review, body.nw .woocommerce-checkout #order_review_heading{ padding:14px !important; margin:0 0 14px !important; }
body.nw .woocommerce-checkout #order_review_heading{ background:transparent !important; border:0 !important; padding:0 !important; margin:0 0 8px !important; }
body.nw .woocommerce-checkout #order_review table.shop_table{ background:transparent !important; border:1px solid var(--nw-line) !important; }
body.nw .woocommerce-checkout #order_review table.shop_table th, body.nw .woocommerce-checkout #order_review table.shop_table thead th, body.nw .woocommerce-checkout #order_review table.shop_table tfoot th{ background:rgba(235,223,135,.08) !important; color:var(--nw-khaki) !important; }
body.nw .woocommerce-checkout #order_review table.shop_table td{ color:var(--nw-text) !important; }
body.nw .woocommerce-checkout #payment{ padding:14px !important; }
body.nw .woocommerce-checkout #payment ul.payment_methods li{ background:rgba(235,223,135,.06) !important; }
body.nw .woocommerce-checkout #payment ul.payment_methods li label{ color:var(--nw-cream) !important; font-size:14px; }
body.nw .woocommerce-checkout #payment div.payment_box, body.nw .woocommerce-checkout #payment div.payment_box p{ color:var(--nw-text) !important; font-size:12.5px; }
body.nw .woocommerce-checkout #payment div.payment_box{ background:rgba(8,4,4,.5) !important; border:1px solid var(--nw-line) !important; border-radius:12px !important; }
body.nw .woocommerce-checkout #payment .place-order{ padding:12px 0 0 !important; }
body.nw .woocommerce-checkout #payment #place_order, body.nw #place_order{ width:100% !important; height:52px !important; font-size:16px !important; margin:0 !important; opacity:1 !important; }
body.nw .woocommerce-checkout .woocommerce-billing-fields h3, body.nw .woocommerce-checkout .woocommerce-additional-fields h3{ font-size:16px !important; margin:0 0 12px !important; padding:0 0 8px !important; border-bottom:2px solid var(--nw-gold-2) !important; }
body.nw .woocommerce-checkout .select2-container{ width:100% !important; }
body.nw .select2-container--default .select2-selection--single, body.nw .select2-container .select2-selection--single{ background:var(--nw-ink-2) !important; border:1.5px solid var(--nw-line-2) !important; border-radius:12px !important; height:46px !important; }
body.nw .select2-container--default .select2-selection--single .select2-selection__rendered{ color:var(--nw-cream) !important; line-height:46px !important; padding-left:14px !important; }
body.nw .select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px !important; }
body.nw .select2-dropdown{ background:var(--nw-panel-solid) !important; border:1px solid var(--nw-line-2) !important; color:var(--nw-cream) !important; }
body.nw .select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--nw-red) !important; }
body.nw .select2-container--default .select2-search--dropdown .select2-search__field{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line-2) !important; }
body.nw .woocommerce form .form-row select, body.nw select{ height:46px !important; }
body.nw .woocommerce-form-coupon-toggle .woocommerce-info{ margin:0 0 14px !important; }
body.nw .woocommerce-form-coupon-toggle .woocommerce-info a{ color:var(--nw-khaki) !important; }
body.nw .woocommerce-checkout .woocommerce-additional-fields, body.nw .woocommerce-checkout .woocommerce-shipping-fields{ padding:0 !important; margin:14px 0 0 !important; }
body.nw .woocommerce-checkout textarea{ min-height:80px; }
/* --- 配送状況: フィルタをピル化（"|" 区切りは非表示） --- */
body.nw.page-id-254 .collection-filter{ display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:8px; font-size:0 !important; color:transparent !important; }
body.nw.page-id-254 .collection-filter a{ display:inline-flex; align-items:center; height:36px; padding:0 16px; border-radius:999px; background:rgba(235,223,135,.06) !important; border:1.5px solid var(--nw-line-2) !important; color:var(--nw-text) !important; font-size:13px !important; font-weight:800; text-decoration:none !important; }
body.nw.page-id-254 .collection-list li p{ font-size:12.5px !important; }
/* --- 旧色の残り（紹介ページ・アカウント編集ボタン） --- */
body.nw .nr-referral__url .nr-btn, body.nw .nr-referral__share .nr-btn, body.nw .nr-referral__share a, body.nw .nr-btn--secondary, body.nw .nr-btn--outline{ background:transparent !important; border:1.5px solid var(--nw-gold-2) !important; color:var(--nw-khaki) !important; box-shadow:none !important; }
body.nw .nr-referral__url .nr-btn--primary, body.nw .nr-referral .nr-btn--primary, body.nw .nr-referral__share .nr-btn--primary{ background:var(--nw-grad-red) !important; color:#fff !important; border:1px solid rgba(255,255,255,.12) !important; }
body.nw .um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn, body.nw .um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn:hover, body.nw .um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn:focus, body.nw .um-profile-edit-a, body.nw .um .um-profile-edit-a{
  background:var(--nw-grad-red) !important; color:#fff !important; border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 6px 16px rgba(173,31,38,.4) !important; border-radius:999px !important;
}
body.nw .um-field-label{ border-bottom:0 !important; }
body.nw .um .um-field-label label{ font-size:13px !important; }
body.nw .um-profile-body .um-field-value{ color:var(--nw-text) !important; }
/* --- 詳細ページ: 賞ランク見出し（画像が無い場合のピル） --- */
body.nw .prize-rank-image{ display:flex; justify-content:center; margin:0 0 12px !important; }
body.nw .nw-rank-pill{ position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:46px; padding:0 30px; border-radius:12px; background:var(--nw-panel-solid); color:var(--nw-cream); font-family:var(--nw-font-display); font-size:22px; font-weight:700; letter-spacing:.12em; box-shadow:0 6px 18px rgba(0,0,0,.5); z-index:0; }
body.nw .nw-rank-pill::before{ content:""; position:absolute; inset:-3px; border-radius:14px; z-index:-1; background:linear-gradient(90deg,#c9ad4c,#fff0a8,#c9ad4c); }
body.nw .nw-rank-pill--ss::before, body.nw .nw-rank-pill--s::before{ background:linear-gradient(90deg,#ff2d6b,#ff8a00,#ffd000,#3ad13a,#22b0ff,#a24bff); }
body.nw .nw-rank-pill--a::before{ background:linear-gradient(90deg,#e33a42,#ffb347,#e33a42); }
body.nw .nw-rank-pill--b::before{ background:linear-gradient(90deg,#c9ad4c,#fff0a8,#c9ad4c); }
body.nw .nw-rank-pill--c::before, body.nw .nw-rank-pill--d::before{ background:linear-gradient(90deg,#82672e,#c9ad4c,#82672e); }
body.nw .nw-rank-pill--last::before{ background:linear-gradient(90deg,#f6d365,#c9972f,#f6d365); }
body.nw .prize-rank-section h2, body.nw .prize-rank-section h3, body.nw .s-prize-title, body.nw .a-prize-title, body.nw .b-prize-title, body.nw .c-prize-title, body.nw .d-prize-title{ color:var(--nw-cream) !important; text-shadow:0 2px 10px rgba(0,0,0,.7); }
/* --- お問い合わせ（CF7）: パネル＋送信ボタン全幅 --- */
body.nw .wpcf7 form{ display:flex; flex-direction:column; gap:4px; }
body.nw .wpcf7 form p{ margin:0 0 12px !important; }
body.nw .wpcf7 form label{ font-size:13px; font-weight:800; color:var(--nw-cream) !important; display:block; margin-bottom:6px; }
body.nw .wpcf7 input:not([type=submit]), body.nw .wpcf7 textarea{ width:100% !important; font-size:16px !important; padding:11px 14px !important; }
body.nw .wpcf7 textarea{ min-height:160px; }
body.nw .wpcf7 input[type="submit"], body.nw .wpcf7-submit{ width:100% !important; height:50px !important; font-size:15px !important; margin:6px 0 0 !important; }
body.nw .wpcf7-spinner{ display:none; }
/* --- ランク表示ページ（display-rank） --- */
body.nw.page-id-1810 #primary .entry-content{ background:var(--nw-panel-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:16px !important; padding:24px 16px !important; text-align:center; font-size:22px; font-weight:900; color:var(--nw-khaki) !important; margin-top:16px !important; }
/* --- 履歴ページ等で上部に余白 --- */
body.nw.page-id-1890 #content, body.nw.page-id-1891 #content, body.nw.page-id-254 #content{ padding-top:16px; }
/* --- 確認モーダルは常に画面中央（一覧カード内のモーダルも同じ見え方に） --- */
body.nw .modal:not(.modal-wrap):not(.nr-prize-modal) > .modal-content{
  position:absolute !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; margin:0 !important;
  width:calc(100% - 32px) !important; max-width:420px !important; max-height:84vh; overflow-y:auto; box-sizing:border-box;
}
body.nw .modal:not(.modal-wrap) > .history-modal-content{ max-width:600px !important; }
/* --- カート: クーポン行がカード外にはみ出さないように --- */
body.nw .woocommerce table.shop_table td.actions .coupon{ width:100%; margin:0 0 10px !important; box-sizing:border-box; }
body.nw .woocommerce table.shop_table td.actions .coupon .input-text{ min-width:0; margin:0 !important; }
body.nw .woocommerce table.shop_table td.actions{ text-align:left !important; }
body.nw .woocommerce table.shop_table td.actions::before{ display:none !important; }
/* --- 支払い: select2 の元 select が二重表示されないように（.select2-hidden-accessible の非表示を復元） --- */
body.nw select.select2-hidden-accessible, body.nw .select2-hidden-accessible{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; border:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
body.nw .woocommerce-checkout #payment ul.payment_methods, body.nw .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method, body.nw #payment .wc_payment_method{ background:transparent !important; border-color:var(--nw-line) !important; }
body.nw .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{ padding:12px !important; border:1px solid var(--nw-line) !important; border-radius:12px !important; }
body.nw .woocommerce-checkout #payment div.payment_box{ background:rgba(8,4,4,.55) !important; }
body.nw .woocommerce-checkout #payment div.payment_box .wc-stripe-elements-field, body.nw .woocommerce-checkout #payment div.payment_box .wc-stripe-upe-element, body.nw #wc-stripe-upe-element{ background:var(--nw-ink-2) !important; border:1px solid var(--nw-line-2) !important; border-radius:10px !important; padding:10px !important; }
body.nw #payment .woocommerce-SavedPaymentMethods-saveNew label{ color:var(--nw-text) !important; font-size:12.5px; }
body.nw #payment .wc-stripe-new-payment-method-container-content{ color:var(--nw-text) !important; }
/* --- アカウント情報（閲覧モード）: 値の表示枠を暗色に --- */
body.nw .um-profile-body .um-field-value, body.nw .um .um-field-value, body.nw .um-viewing .um-field-value{ background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; border:1px solid var(--nw-line-2) !important; border-radius:12px !important; padding:12px 14px !important; font-size:15px !important; min-height:46px; box-shadow:none !important; }
body.nw .um-profile-body .um-field-value:empty::before{ color:var(--nw-muted) !important; }
body.nw .um-profile-body .um-field-area{ padding:0 !important; }
body.nw .um-profile-body .um-field{ margin-bottom:14px !important; }
body.nw .um-profile-body .um-field-radio-state{ display:none; }

/* =====================================================================
   実機（iPhone Safari）確認後の修正（2026-09-11 第3弾）
===================================================================== */
/* --- ヘッダーのキャラボタン: 余計な枠線・影を出さない（上部の黄色い線対策） --- */
body.nw .nw-menubtn, body.nw .taiwangacha-header .nw-menubtn, body.nw .nw-menubtn:hover, body.nw .nw-menubtn:focus, body.nw .nw-menubtn:active{
  -webkit-appearance:none !important; appearance:none !important; background:transparent !important; border:0 !important; outline:0 !important; box-shadow:none !important;
  overflow:hidden !important; isolation:isolate; -webkit-tap-highlight-color:transparent;
}
body.nw .nw-menubtn::before, body.nw .nw-menubtn::after{ content:none !important; display:none !important; }
body.nw .nw-menubtn__ring{ inset:2px; border:2px solid var(--nw-gold-2); box-shadow:none; background:radial-gradient(circle at 50% 40%,#2a2314 0%,#0e0b05 70%); }
body.nw .nw-menubtn__img{ border:0 !important; outline:0 !important; box-shadow:none !important; background:transparent !important; }
body.nw .nw-menubtn.is-open .nw-menubtn__ring{ box-shadow:0 0 14px rgba(217,42,51,.55); }
/* --- コレクション／配送状況: フィルタボタンの文字を上下中央に（Safari）・確定ボタンが商品に被らないように・ポイント行の背景を透明に --- */
body.nw .collection-filter, body.nw .status-filter, body.nw .sort-order{ align-items:center !important; }
body.nw .status-filter a, body.nw .sort-order a, body.nw.page-id-254 .collection-filter a, body.nw .collection-filter a{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; align-self:center !important;
  height:38px !important; min-height:0 !important; max-height:none !important; line-height:1 !important; padding:0 14px !important; margin:0 !important; box-sizing:border-box !important; vertical-align:middle;
}
body.nw .sort-order > span{ display:inline-flex; align-items:center; height:38px; line-height:1; }
body.nw .add-submit-button{ position:static !important; bottom:auto !important; margin:14px 0 0 !important; padding:0 !important; }
body.nw ul.collection-list{ padding-bottom:12px !important; }
body.nw .collection-list li p, body.nw .collection-list li p:nth-of-type(1), body.nw .collection-list li p:nth-of-type(2), body.nw .collection-list li p:nth-of-type(3), body.nw li[data-card-id] p{
  background:transparent !important; color:var(--nw-text) !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:2px 0 !important; width:auto !important; text-align:center;
}
body.nw .collection-list li p:nth-of-type(1), body.nw li[data-card-id] p:nth-of-type(1){ color:var(--nw-cream) !important; font-weight:800; font-size:13px !important; }
body.nw .collection-list li p:nth-of-type(3), body.nw li[data-card-id] p:nth-of-type(3){ color:var(--nw-khaki) !important; font-weight:900; font-size:14px !important; display:inline-flex; align-items:center; justify-content:center; gap:4px; }
body.nw .collection-list li p img, body.nw li[data-card-id] p img{ width:18px !important; height:18px !important; vertical-align:middle; }
body.nw .collection-list li label, body.nw li[data-card-id] label{ line-height:1.2; }
body.nw .sale-disabled{ display:inline-block; margin:6px 0 0; padding:3px 9px; border-radius:999px; background:rgba(173,31,38,.2); border:1px solid rgba(217,42,51,.45); color:#ffb3b6 !important; font-size:11px !important; }
/* --- 商品ページ（ポイント購入の単品）: 画像は角丸の正方形、数量とボタンを中央、ボタンは一覧と同じ赤 --- */
body.nw.single-product div.product .woocommerce-product-gallery, body.nw.single-product div.product .woocommerce-product-gallery__wrapper, body.nw.single-product div.product .woocommerce-product-gallery__image{ width:100% !important; max-width:none !important; float:none !important; margin:0 !important; display:flex !important; justify-content:center; opacity:1 !important; }
body.nw.single-product div.product .woocommerce-product-gallery__image a{ display:block; width:132px; height:132px; border-radius:20px; overflow:hidden; background:#fff; border:1px solid var(--nw-line-2); box-shadow:0 8px 20px rgba(0,0,0,.45); }
body.nw.single-product div.product .woocommerce-product-gallery img{ width:132px !important; height:132px !important; max-width:132px !important; aspect-ratio:1/1; object-fit:contain; border-radius:0 !important; background:#fff; border:0 !important; display:block; margin:0 !important; }
body.nw.single-product div.product .woocommerce-product-gallery__image{ margin-bottom:14px !important; }
body.nw.single-product div.product div.summary{ display:flex; flex-direction:column; align-items:center; }
body.nw.single-product div.product .product_title{ margin:0 0 2px !important; }
body.nw.single-product div.product p.price{ margin:0 0 16px !important; }
body.nw.single-product div.product form.cart{ width:100%; display:flex !important; flex-direction:column; align-items:center !important; gap:12px; margin:0 !important; float:none !important; }
body.nw.single-product div.product form.cart .quantity{ display:inline-flex !important; float:none !important; margin:0 auto !important; width:auto !important; align-items:center; justify-content:center; gap:0; border:1px solid var(--nw-line-2); border-radius:12px; overflow:hidden; background:var(--nw-ink-2); }
body.nw.single-product div.product form.cart .quantity .qty{ width:72px !important; height:44px !important; border:0 !important; border-radius:0 !important; background:var(--nw-ink-2) !important; color:var(--nw-cream) !important; font-size:18px !important; font-weight:900; text-align:center; margin:0 !important; }
body.nw.single-product div.product form.cart .quantity .minus, body.nw.single-product div.product form.cart .quantity .plus, body.nw.single-product .ast-qty-btn{ width:44px !important; height:44px !important; border:0 !important; border-radius:0 !important; background:rgba(235,223,135,.08) !important; color:var(--nw-khaki) !important; font-size:20px !important; font-weight:900; display:inline-flex !important; align-items:center; justify-content:center; margin:0 !important; }
body.nw.single-product div.product form.cart .single_add_to_cart_button, body.nw.single-product .woocommerce .single_add_to_cart_button, body.nw.single-product button.single_add_to_cart_button{
  width:100% !important; max-width:360px; height:50px !important; margin:0 auto !important; font-size:15px !important; float:none !important;
  background:var(--nw-grad-red) !important; color:#fff !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:999px !important; box-shadow:0 6px 16px rgba(173,31,38,.45), inset 0 1px 0 rgba(255,255,255,.2) !important; text-shadow:0 1px 2px rgba(0,0,0,.35);
}
body.nw.single-product div.product .woocommerce-product-details__short-description{ text-align:center; color:var(--nw-text); font-size:13px; }
body.nw.single-product .woocommerce-notices-wrapper:empty{ display:none; }
/* --- キャラボタン: Safari でも確実に円形にクリップするため内側ラッパーで切り抜く --- */
body.nw .nw-menubtn{ overflow:visible !important; }
body.nw .nw-menubtn__inner{ position:absolute; inset:0; border-radius:50%; overflow:hidden; display:block; -webkit-mask-image:-webkit-radial-gradient(white, black); transform:translateZ(0); }
body.nw .nw-menubtn__ring{ position:absolute; inset:0; border-radius:50%; border:2px solid var(--nw-gold-2); box-sizing:border-box; z-index:0; }
body.nw .nw-menubtn__img{ z-index:1; }
/* --- 商品ページ: Astra の 27%/60% 幅（ギャラリー左・概要右）を解除して縦積み中央揃えに --- */
body.nw.single-product #content div.product, body.nw.single-product.woocommerce #content div.product, body.nw.single-product.woocommerce div.product.ast-article-single{
  display:flex !important; flex-direction:column !important; align-items:center !important; flex-wrap:nowrap !important;
}
body.nw.single-product #content div.product .woocommerce-product-gallery, body.nw.single-product.woocommerce #content div.product .woocommerce-product-gallery, body.nw.single-product.woocommerce div.product .woocommerce-product-gallery,
body.nw.single-product #content div.product div.summary, body.nw.single-product.woocommerce #content div.product div.summary, body.nw.single-product.woocommerce div.product div.summary.entry-summary{
  width:100% !important; max-width:none !important; flex:0 0 100% !important; float:none !important; margin:0 !important; clear:both;
}
body.nw.single-product #content div.product .woocommerce-product-gallery{ margin-bottom:14px !important; }
body.nw.single-product #content div.product div.summary{ display:flex !important; flex-direction:column; align-items:center; text-align:center; }
body.nw.single-product #content div.product form.cart{ width:100% !important; }
body.nw.single-product #content div.product form.cart .quantity{ margin:0 auto !important; }
body.nw.single-product #content div.product section.related, body.nw.single-product #content div.product .related.products{ width:100% !important; }

/* --- キャラボタン: 通常時はリング線を出さない（画像上に黄色い線が見える問題）。開いた時だけ赤リング --- */
body.nw .nw-menubtn__ring{ border-color:transparent; background:radial-gradient(circle at 50% 40%,#2a2314 0%,#0e0b05 70%); }
body.nw .nw-menubtn:hover .nw-menubtn__ring{ border-color:rgba(201,173,76,.6); }
body.nw .nw-menubtn.is-open .nw-menubtn__ring{ border-color:var(--nw-red-2); }
body.nw .nw-menubtn__img--face{ transform:scale(1.02) translate(0,3px); }
body.nw .nw-menubtn:hover .nw-menubtn__img--face{ transform:scale(1.08) translate(0,3px); }
/* --- キャラボタン: 旧ハンバーガーの span（高さ2pxの線）指定を完全に打ち消す（黄色い線の正体） --- */
body.nw header .taiwangacha-hamburger.nw-menubtn span.nw-menubtn__inner, body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn span.nw-menubtn__inner{
  position:absolute !important; inset:0 !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; margin:0 !important; padding:0 !important;
  background:transparent !important; border:0 !important; border-radius:50% !important; overflow:hidden !important; display:block !important; transition:none !important; color:transparent !important;
}
body.nw header .taiwangacha-hamburger.nw-menubtn span.nw-menubtn__ring, body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn span.nw-menubtn__ring{
  position:absolute !important; inset:0 !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; margin:0 !important; padding:0 !important; box-sizing:border-box !important;
  background:radial-gradient(circle at 50% 40%,#2a2314 0%,#0e0b05 70%) !important; border:2px solid transparent !important; border-radius:50% !important; display:block !important; transition:border-color .2s !important; color:transparent !important;
}
body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn:hover span.nw-menubtn__ring{ border-color:rgba(201,173,76,.6) !important; }
body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn.is-open span.nw-menubtn__ring{ border-color:var(--nw-red-2) !important; background:radial-gradient(circle at 50% 50%,#3a0a0e 0%,#0e0b05 75%) !important; }
body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn img.nw-menubtn__img{ position:absolute !important; inset:4px !important; width:calc(100% - 8px) !important; height:calc(100% - 8px) !important; max-width:none !important; max-height:none !important; margin:0 !important; object-fit:contain; display:block !important; }
body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn img.nw-menubtn__img--face{ transform:scale(1.06) translate(0,3px); }
body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn.is-open img.nw-menubtn__img--face{ opacity:0; transform:scale(.7); }
body.nw .taiwangacha-header .taiwangacha-hamburger.nw-menubtn.is-open img.nw-menubtn__img--hit{ opacity:1; transform:scale(1) rotate(0deg); }

/* =====================================================================
   2026-09-11 第4弾: iOS の入力時ズーム防止（すべてのフォーム部品を 16px 以上に固定）／メニューの横スクロール禁止
===================================================================== */
html body.nw input:not([type=checkbox]):not([type=radio]):not([type=range]), html body.nw select, html body.nw textarea,
html body.nw .um input.um-form-field, html body.nw .um .um-field-area input, html body.nw .um .um-field-area select, html body.nw .um .um-field-area textarea,
html body.nw.um-page .um-form input, html body.nw.um-page .um-form select, html body.nw.um-page .um-form textarea,
html body.nw .select2-container .select2-selection--single .select2-selection__rendered, html body.nw .select2-container .select2-search__field, html body.nw .select2-results__option,
html body.nw .woocommerce form .form-row input.input-text, html body.nw .woocommerce form .form-row select, html body.nw .woocommerce-input-wrapper input, html body.nw .wpcf7 input, html body.nw .wpcf7 textarea,
html body.nw .nr-input, html body.nw .nw-qty__input, html body.nw .woocommerce .quantity .qty{
  font-size:16px !important;
}
html body.nw .um .um-button, html body.nw .um input[type=submit], html body.nw .um-page input[type=submit], html body.nw .wpcf7 input[type=submit]{ font-size:16px !important; }
/* メニュー（ドロワー）: 横スクロール禁止。弾痕のひび画像は右端で切る */
html body.nw .taiwangacha-drawer{ overflow:hidden !important; }
html body.nw .taiwangacha-drawer__panel, html body.nw .nr-drawer .taiwangacha-drawer__panel, html body.nw .taiwangacha-drawer__panel.nr-drawer__panel, html body.nw .nw-drawer__panel{
  overflow-x:hidden !important; overflow-y:auto !important; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; max-width:100vw !important;
}
html body.nw .nw-drawer-inner{ max-width:min(440px, 100%); box-sizing:border-box; overflow:hidden; }
html body.nw.nw-drawer-open, html body.nw.nw-drawer-open body{ overflow:hidden !important; overscroll-behavior:none; }
