/* ==================================================================
   nexpure-skin.css  v0.4.0  （没入テーマ：桜/マトリックス/HUD/ナチュラル）
   レガシー会員サイトに被せるスキン。機能は一切改変せず、背景演出は
   コンテンツの「後ろ」に重ねるだけ（pointer-events:none）。安全。
   既定は「スタンダード（白）」。🎨パネルから利用者が切替・保存できる。
   ================================================================== */

/* Webフォント（CSS側で読み込むので、別途<link>は不要） */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons+Round');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;700&display=swap'); /* 既定テーマ＝VIPの本文用明朝を事前読込（FOUC回避） */

/* ── デザイントークン（既定＝スタンダード白×レッド） ───────────── */
.nx-skin{
  --nx-primary:#E63946;
  --nx-primary-grad:linear-gradient(135deg,#ef5350,#e53935);
  --nx-secondary:#457B9D;
  --nx-accent-green:#43a047;
  --nx-on-primary:#ffffff; /* テーマ色ボタン(.btn--top)等の上に乗る文字色。明るいテーマでは濃色に上書きして可読性確保 */
  --nx-text:#333333;
  --nx-text-muted:#777777;
  --nx-bg:#ffffff;
  --nx-bg-soft:#f5f6f8;
  --nx-page:#eef1f5;
  --nx-border:#e3e6ea;
  --nx-radius:14px;
  --nx-shadow:0 10px 30px rgba(0,0,0,.08);
  --nx-font:'Inter','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic UI','Meiryo','Noto Sans JP',sans-serif;
  background:var(--nx-page);
}

/* ── テーマ（🎨パネルから data-nx-theme で切替） ──────────────── */
.nx-skin[data-nx-theme="red"]{ --nx-primary:#E63946; --nx-primary-grad:linear-gradient(135deg,#ef5350,#e53935); }
.nx-skin[data-nx-theme="purple"]{ --nx-primary:#7c3aed; --nx-primary-grad:linear-gradient(135deg,#8b5cf6,#7c3aed); --nx-accent-green:#7c3aed; }
.nx-skin[data-nx-theme="orange"]{ --nx-primary:#ea580c; --nx-primary-grad:linear-gradient(135deg,#f97316,#ea580c); --nx-accent-green:#ea580c; }

/* 🌸 桜・ガーリー */
.nx-skin[data-nx-theme="sakura"]{
  --nx-primary:#ec4899; --nx-primary-grad:linear-gradient(135deg,#f9a8d4,#ec4899);
  --nx-accent-green:#ec4899;
  --nx-text:#6a3a52; --nx-text-muted:#a86c86;
  --nx-bg:rgba(255,255,255,.88); --nx-bg-soft:rgba(255,228,242,.7);
  --nx-page:linear-gradient(135deg,#ffe4f0 0%,#fff0f7 60%,#ffe9f3 100%);
  --nx-border:#f6c9dd; --nx-shadow:0 10px 30px rgba(236,72,153,.15);
}
/* 🛰 サイバー（黒×アシッドグリーンのグリッチ／ワイヤーフレーム＋コード散乱／未来フォント） */
.nx-skin[data-nx-theme="cyber"]{
  --nx-primary:#9dff3c; --nx-primary-grad:linear-gradient(135deg,#c6ff6b,#7fd900);
  --nx-accent-green:#9dff3c;
  --nx-text:#e6ffd9; --nx-text-muted:#8fbf7a;
  --nx-bg:rgba(8,12,6,.84); --nx-bg-soft:rgba(20,30,12,.5);
  --nx-page:radial-gradient(ellipse at 30% 0%,#0c1206 0%,#060a04 60%,#03050a 100%);
  --nx-border:rgba(157,255,60,.32); --nx-shadow:0 0 30px rgba(157,255,60,.16);
  --nx-font:'Orbitron','Inter','Hiragino Sans',sans-serif;
}
/* 未来風の文字演出（英数のグロー＋字間） */
.nx-skin[data-nx-theme="cyber"] .info_titile,
.nx-skin[data-nx-theme="cyber"] #pagewrap h1,
.nx-skin[data-nx-theme="cyber"] .card-title,
.nx-skin[data-nx-theme="cyber"] .points-value{ letter-spacing:1px; text-shadow:0 0 10px rgba(157,255,60,.55); }
/* サイバー：演出を強めに＆ネオンの縁取り */
.nx-skin[data-nx-theme="cyber"] #nx-fx>canvas{ opacity:.82; }
.nx-skin[data-nx-theme="cyber"] #pagewrap{ box-shadow:0 0 40px rgba(157,255,60,.1),0 0 0 1px rgba(157,255,60,.22); }
.nx-skin[data-nx-theme="cyber"] .info_titile,
.nx-skin[data-nx-theme="cyber"] #pagewrap h1{ box-shadow:0 0 14px rgba(157,255,60,.16); }
.nx-skin[data-nx-theme="cyber"] .btn--top{ box-shadow:0 0 18px rgba(157,255,60,.4) !important; }
/* 明るい/淡い色テーマ：ボタンの白文字は背景に埋もれて読めないので、濃色文字＋淡い白の縁取りに
   （年配の利用者が多く可読性最優先）。濃い色テーマ(赤/紫/青/ダーク/オーガニック/VIP金)は白文字＋濃い影のまま。 */
.nx-skin[data-nx-theme="rpg"]{ --nx-on-primary:#14143c; }      /* 黄色 → 濃紺文字 */
.nx-skin[data-nx-theme="cyber"]{ --nx-on-primary:#0a1305; }    /* 黄緑 → ほぼ黒文字 */
.nx-skin[data-nx-theme="sakura"]{ --nx-on-primary:#5e2a44; }   /* 淡ピンク → 濃ローズ文字 */
.nx-skin[data-nx-theme="feminine"]{ --nx-on-primary:#4a3338; } /* 淡ピンク → 濃グレー文字 */
.nx-skin[data-nx-theme="nature"]{ --nx-on-primary:#163a1e; }   /* 淡グリーン → 濃緑文字 */
.nx-skin[data-nx-theme="relax"]{ --nx-on-primary:#463218; }    /* 淡オレンジ → 濃茶文字 */
.nx-skin[data-nx-theme="beauty"]{ --nx-on-primary:#3c2937; }   /* モーヴ → 濃プラム文字 */
.nx-skin[data-nx-theme="rpg"] .btn--top, .nx-skin[data-nx-theme="cyber"] .btn--top,
.nx-skin[data-nx-theme="sakura"] .btn--top, .nx-skin[data-nx-theme="feminine"] .btn--top,
.nx-skin[data-nx-theme="nature"] .btn--top, .nx-skin[data-nx-theme="relax"] .btn--top,
.nx-skin[data-nx-theme="beauty"] .btn--top{ text-shadow:0 1px 0 rgba(255,255,255,.5); }
/* 白文字でもグラデが明→暗にまたがり弱い3テーマ(VIP金/ブルーHUD/オレンジ)は、ボタンに薄い暗幕を重ねて
   全体を少し沈め、白文字を確実に読めるようにする（色味は保持）。hoverでも維持するため background-image で指定。 */
.nx-skin[data-nx-theme="vip"] .btn--top, .nx-skin[data-nx-theme="vip"] .btn--top:hover,
.nx-skin[data-nx-theme="ironman"] .btn--top, .nx-skin[data-nx-theme="ironman"] .btn--top:hover,
.nx-skin[data-nx-theme="orange"] .btn--top, .nx-skin[data-nx-theme="orange"] .btn--top:hover{
  background-image:linear-gradient(rgba(0,0,0,.34), rgba(0,0,0,.34)), var(--nx-primary-grad);
}
/* 🔵 ブルーHUD（アイアンマン研究所） */
.nx-skin[data-nx-theme="ironman"]{
  --nx-primary:#38bdf8; --nx-primary-grad:linear-gradient(135deg,#38bdf8,#2563eb);
  --nx-accent-green:#38bdf8;
  --nx-text:#dbeafe; --nx-text-muted:#7fb6e6;
  --nx-bg:rgba(8,18,38,.82); --nx-bg-soft:rgba(20,42,78,.55);
  --nx-page:radial-gradient(ellipse at top,#0b1f3a 0%,#060d1c 100%);
  --nx-border:rgba(56,189,248,.3); --nx-shadow:0 0 30px rgba(56,189,248,.18);
}
/* 🌿 ナチュラル緑 */
.nx-skin[data-nx-theme="nature"]{
  --nx-primary:#16a34a; --nx-primary-grad:linear-gradient(135deg,#4ade80,#16a34a);
  --nx-accent-green:#16a34a;
  --nx-text:#234d2b; --nx-text-muted:#5a7d5f;
  --nx-bg:rgba(255,255,255,.9); --nx-bg-soft:rgba(220,245,225,.72);
  --nx-page:linear-gradient(135deg,#e6f5e6 0%,#f2faf0 60%,#e9f6ea 100%);
  --nx-border:#cfe8d0; --nx-shadow:0 10px 30px rgba(22,163,74,.14);
}
/* ⚫ ダーク（演出なし） */
.nx-skin[data-nx-theme="dark"]{
  --nx-primary:#60a5fa; --nx-primary-grad:linear-gradient(135deg,#3b82f6,#2563eb);
  --nx-text:#e5e7eb; --nx-text-muted:#9aa4b2;
  --nx-bg:#1e2430; --nx-bg-soft:#2a313f; --nx-page:#11151c;
  --nx-border:#374151; --nx-accent-green:#34d399; --nx-shadow:0 10px 30px rgba(0,0,0,.5);
}
/* 👑 VIPゴージャス（白マーブル×金グラデ文字＋ぼかし白円・明朝体） */
.nx-skin[data-nx-theme="vip"]{
  --nx-primary:#a07a2c; --nx-primary-grad:linear-gradient(135deg,#caa24a,#875325 55%,#a8812f);
  --nx-accent-green:#a07a2c;
  --nx-text:#5b4a2a; --nx-text-muted:#9a875e;
  --nx-bg:rgba(255,253,247,.92); --nx-bg-soft:rgba(246,239,224,.82);
  --nx-page:linear-gradient(135deg,#fdfbf5 0%,#f3ece0 45%,#fbf7ee 100%);
  --nx-border:#e7dcc4; --nx-shadow:0 10px 34px rgba(135,83,37,.14);
  --nx-font:'Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;
}
/* VIPゴージャス専用：白マーブル背景＋金グラデ縦バー＋微かな白シャイン */
.nx-skin[data-nx-theme="vip"] .info_titile,
.nx-skin[data-nx-theme="vip"] #pagewrap h1{
  color:#7a4f1f;
  background:
    linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 50%),
    linear-gradient(135deg, #fbf3dc 0%, #f5e8c5 55%, #fbf6e4 100%);
  border-color:#e5cf94;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.nx-skin[data-nx-theme="vip"] .info_titile::before,
.nx-skin[data-nx-theme="vip"] #pagewrap h1::before{
  background:linear-gradient(180deg, #f1d989 0%, #caa24a 35%, #875325 70%, #b8862e 100%);
  box-shadow:0 0 14px rgba(202,162,74,.55), inset 1px 0 0 rgba(255,255,255,.4);
}
.nx-skin[data-nx-theme="vip"] .points-value{ background:linear-gradient(135deg,#caa24a,#875325 60%,#b8862e); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

/* 🎀 フェミニン（女性向けパレット#1：ソフトピンク×ミント×上品グレー文字） */
.nx-skin[data-nx-theme="feminine"]{
  --nx-primary:#e8909a; --nx-primary-grad:linear-gradient(135deg,#f3b2b3,#e58aa0);
  --nx-accent-green:#7fc0c8;
  --nx-text:#585858; --nx-text-muted:#9c8f91;
  --nx-bg:rgba(255,255,255,.92); --nx-bg-soft:rgba(245,250,251,.86);
  --nx-page:linear-gradient(135deg,#eaf6f7 0%,#fdf0f1 55%,#f3f9fb 100%);
  --nx-border:#ecdbde; --nx-shadow:0 10px 30px rgba(243,178,179,.18);
}
/* 🌿 オーガニック（女性向けパレット#2：深緑×ミント×マスタード） */
.nx-skin[data-nx-theme="organic"]{
  --nx-primary:#2e6b38; --nx-primary-grad:linear-gradient(135deg,#3f8a4a,#1f4e25);
  --nx-accent-green:#edd753;
  --nx-text:#27331f; --nx-text-muted:#6a7560;
  --nx-bg:rgba(255,255,255,.92); --nx-bg-soft:rgba(227,241,232,.85);
  --nx-page:linear-gradient(135deg,#e8f3ec 0%,#fbfaf0 55%,#eaf4ec 100%);
  --nx-border:#d2e6d8; --nx-shadow:0 10px 30px rgba(31,78,37,.14);
}
/* 💄 ビューティ（女性向けパレット：シアン×モーヴ×イエロー） */
.nx-skin[data-nx-theme="beauty"]{
  --nx-primary:#bd7fa0; --nx-primary-grad:linear-gradient(135deg,#c595ab,#a86b90);
  --nx-accent-green:#60bdd7;
  --nx-text:#4f4754; --nx-text-muted:#9a8fa0;
  --nx-bg:rgba(255,255,255,.92); --nx-bg-soft:rgba(233,242,238,.85);
  --nx-page:linear-gradient(135deg,#e3f3f6 0%,#faf0f6 55%,#eef5f0 100%);
  --nx-border:#e6dde6; --nx-shadow:0 10px 30px rgba(197,149,171,.18);
}
/* 🍃 癒し系（女性向けパレット：ウォームオレンジ×セージ×イエロー） */
.nx-skin[data-nx-theme="relax"]{
  --nx-primary:#df8a32; --nx-primary-grad:linear-gradient(135deg,#eda758,#cf7a22);
  --nx-accent-green:#a0c7b8;
  --nx-text:#463d2c; --nx-text-muted:#8a7f68;
  --nx-bg:rgba(255,255,255,.92); --nx-bg-soft:rgba(238,244,238,.85);
  --nx-page:linear-gradient(135deg,#fbf6ec 0%,#eef4ef 55%,#f8f2e6 100%);
  --nx-border:#e8ddc9; --nx-shadow:0 10px 30px rgba(223,138,50,.16);
}

/* 🎮 ドット絵RPG風（8bit・白枠メッセージウィンドウ・ドット字） */
.nx-skin[data-nx-theme="rpg"]{
  --nx-primary:#ffd23f; --nx-primary-grad:linear-gradient(135deg,#ffe066,#ffb300);
  --nx-accent-green:#5dd55d;
  --nx-text:#ffffff; --nx-text-muted:#aab8ff;
  --nx-bg:#101046; --nx-bg-soft:#1a1a64; --nx-page:#05051f;
  --nx-border:#ffffff; --nx-radius:0px; --nx-shadow:none;
  --nx-font:'DotGothic16','Courier New',monospace;
}
.nx-skin[data-nx-theme="rpg"] *{ border-radius:0 !important; }
.nx-skin[data-nx-theme="rpg"] #pagewrap{ border:4px solid #fff !important; }
.nx-skin[data-nx-theme="rpg"] .ptmovearea,
.nx-skin[data-nx-theme="rpg"] .info_titile,
.nx-skin[data-nx-theme="rpg"] #pagewrap h1,
.nx-skin[data-nx-theme="rpg"] .linkbox,
.nx-skin[data-nx-theme="rpg"] .card,
.nx-skin[data-nx-theme="rpg"] .meta-box{ border:3px solid #fff !important; background:#101046 !important; }
.nx-skin[data-nx-theme="rpg"] .btn--top,
.nx-skin[data-nx-theme="rpg"] #gomovepoint_btn,
.nx-skin[data-nx-theme="rpg"] #footer_nav a{ border:2px solid #fff !important; }

/* 🌈 隠しテーマ（コナミコマンドで解放・パネル非表示・虹色アニメ） */
.nx-skin[data-nx-theme="secret"]{
  --nx-primary:#ff4d8d; --nx-primary-grad:linear-gradient(135deg,#ff8a00,#e52e71);
  --nx-accent-green:#22c55e;
  --nx-text:#3a2a4a; --nx-text-muted:#7a6a8a;
  --nx-bg:rgba(255,255,255,.86); --nx-bg-soft:rgba(255,255,255,.6);
  --nx-page:linear-gradient(125deg,#ff9a9e,#fad0c4,#fbc2eb,#a6c1ee,#84fab0,#ffd1ff);
  --nx-border:rgba(0,0,0,.08); --nx-shadow:0 10px 30px rgba(0,0,0,.12);
  background-size:400% 400%; animation:nx-rainbow 14s ease infinite;
}
@keyframes nx-rainbow{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
@media (prefers-reduced-motion: reduce){ .nx-skin[data-nx-theme="secret"]{ animation:none; } }

/* ── 背景演出レイヤー（コンテンツの後ろ・操作を妨げない） ────────── */
.nx-skin #nx-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.nx-skin #nx-fx>canvas{ width:100%; height:100%; display:block; opacity:.55; }
.nx-skin #pagewrap{ position:relative; z-index:1; }
.nx-skin #footer{ position:relative; z-index:1; }

/* 花びら・葉っぱ */
.nx-petal,.nx-leaf{
  position:absolute; top:-6vh; pointer-events:none; will-change:transform;
  animation-name:nx-fall; animation-timing-function:linear; animation-iteration-count:infinite;
}
.nx-petal{ background:radial-gradient(circle at 30% 30%, #ffd9ec, #f9a8d4); border-radius:80% 0 80% 0; box-shadow:0 0 6px rgba(249,168,212,.5); }
.nx-leaf{ background:linear-gradient(135deg,#86efac,#16a34a); border-radius:0 100% 0 100%; box-shadow:0 0 6px rgba(34,197,94,.4); }
@keyframes nx-fall{
  0%{ transform:translateY(-6vh) translateX(0) rotate(0deg); }
  50%{ transform:translateY(52vh) translateX(40px) rotate(180deg); }
  100%{ transform:translateY(112vh) translateX(-24px) rotate(360deg); }
}
/* HUDグリッド＋走査ライン */
.nx-hud{
  position:absolute; inset:0;
  background:
    linear-gradient(rgba(56,189,248,.10) 1px, transparent 1px) 0 0/42px 42px,
    linear-gradient(90deg, rgba(56,189,248,.10) 1px, transparent 1px) 0 0/42px 42px;
  animation:nx-hud-pan 18s linear infinite;
}
@keyframes nx-hud-pan{ from{ background-position:0 0,0 0; } to{ background-position:0 42px,42px 0; } }
.nx-scan{
  position:absolute; left:0; right:0; top:-160px; height:160px;
  background:linear-gradient(to bottom, transparent, rgba(56,189,248,.16), transparent);
  animation:nx-scan 7s linear infinite;
}
@keyframes nx-scan{ 0%{ transform:translateY(0); } 100%{ transform:translateY(122vh); } }
/* 金粉（VIP）— 落下するきらめく金の粒 */
.nx-gold{
  position:absolute; top:-6vh; pointer-events:none; will-change:transform;
  animation-name:nx-fall; animation-timing-function:linear; animation-iteration-count:infinite;
  background:radial-gradient(circle,#fff7d6,#d4af37 60%,transparent 72%);
  border-radius:50%; box-shadow:0 0 8px rgba(212,175,55,.85);
}
/* ドット星（RPG）— その場で瞬く四角いピクセル */
.nx-pixstar{ position:absolute; pointer-events:none; image-rendering:pixelated; animation:nx-twinkle linear infinite; }
@keyframes nx-twinkle{ 0%,100%{ opacity:.2; transform:scale(1); } 50%{ opacity:1; transform:scale(1.4); } }
/* ボケ玉（VIP・フェミニン）— ぼかした白円がゆっくり昇る */
.nx-bokeh{ position:absolute; border-radius:50%; pointer-events:none; filter:blur(8px); background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.95), rgba(255,255,255,.4) 55%, transparent 75%); animation:nx-bokeh-rise linear infinite; }
@keyframes nx-bokeh-rise{ 0%{ transform:translateY(12vh) scale(.9); opacity:0; } 15%{ opacity:.85; } 85%{ opacity:.85; } 100%{ transform:translateY(-112vh) scale(1.2); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .nx-hud,.nx-scan,.nx-petal,.nx-leaf,.nx-gold,.nx-pixstar,.nx-bokeh{ animation:none; } }

/* ── ベース ────────────────────────────────────────────────── */
.nx-skin body{
  margin:0; padding:24px 16px; min-height:100vh; box-sizing:border-box;
  background:transparent; color:var(--nx-text);
  font-family:var(--nx-font); -webkit-font-smoothing:antialiased;
}
.nx-skin #pagewrap{
  max-width:1000px; margin:0 auto;
  background:var(--nx-bg); border-radius:var(--nx-radius);
  box-shadow:var(--nx-shadow); overflow:hidden;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
/* レガシーCSSの #pagewrap{min-height:100%} は、カードを常に画面全高(=body min-height:100vh)まで
   引き伸ばす。中身が少ないページ(オートシップ/ボーナス履歴 等)では、暗い半透明カードが画面の大半を
   覆い、テーマの背景演出(サイバーの回路/桜の花びら/HUDの基板 等)がほぼ見えなくなる
   ＝「演出がページによって出たり消えたり」して見える（リジョン指摘260618）。
   → カードは中身の高さに収め、余白に背景演出を出す。これで全ページ・全テーマで演出が均一に見える。
     #bodymap(組織図ツリー＝白地・横スクロール専用)は別レイアウトなので対象外。 */
.nx-skin body:not(#bodymap) #pagewrap{ min-height:0 !important; }

/* ── ヘッダー ──────────────────────────────────────────────── */
.nx-skin #header{ position:relative; display:flex; align-items:center; min-height:64px; padding:16px 24px; background:transparent; border-bottom:1px solid var(--nx-border); }
.nx-skin #header>img{ height:40px; width:auto; }
.nx-skin .btn--top, .nx-skin a.btn--top{ display:inline-block; padding:10px 20px; border-radius:24px; background:var(--nx-primary-grad); color:var(--nx-on-primary,#fff); font-weight:700; text-decoration:none; text-shadow:0 1px 2px rgba(0,0,0,.5); box-shadow:0 4px 12px rgba(0,0,0,.18); transition:transform .15s, box-shadow .15s; }
.nx-skin .btn--top:hover, .nx-skin a.btn--top:hover{ background:var(--nx-primary-grad); color:var(--nx-on-primary,#fff); transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.28); }

/* ── ウェルカム/ユーザーバー ─────────────────────────────────── */
/* 260701 不具合修正：#wellcome はレガシーの生テキスト＋<!--pulldown-->コメント＋インライン要素混在の見出し(h2)。
   display:flex にしていると、Safari(WebKit)が「コメントノード直後のテキスト」を匿名flexアイテムとして
   正しく生成できず、氏名部分だけ描画されない不具合を確認（Chromeは正常）。flexは必須ではない
   （元々全角スペースで手動スペーシングされた地の文）ため、通常のブロック表示に変更して回避。 */
.nx-skin #wellcome{ margin:0; padding:12px 24px; font-size:13px; font-weight:500; color:var(--nx-text-muted); background:transparent; border-bottom:1px solid var(--nx-border); line-height:1.8; }
.nx-skin #wellcome .pulldown{ margin-right:6px; }
.nx-skin #wellcome .trans{ color:var(--nx-text-muted); }
.nx-skin #wellcome a{ color:var(--nx-primary); text-decoration:none; }
/* 会員IDプルダウン（ID切替）：レガシーの pulldown.css を上書きし、全テーマで読みやすく。
   特にマトリックス/ブルーHUD等の暗テーマで、開いたリストの背景・文字が見えなくなる問題を解消。 */
/* レガシー pulldown.css は .pulldown(dl) に固定 width:100px を掛けており、Orbitron/DotGothic16/明朝など
   幅広フォントのテーマで会員IDがはみ出し▼(::after)に被る。→ 固定幅を解除して中身に合わせて伸縮させる。 */
.nx-skin .pulldown{ display:inline-block; position:relative; margin:0 4px; vertical-align:middle; width:auto !important; }
.nx-skin .pulldown dt.js-pulldown{
  cursor:pointer; position:relative; padding:5px 34px 5px 16px; box-sizing:border-box;
  width:auto !important; min-width:54px; /* 固定幅をやめ中身基準。短いIDでも最低幅は確保 */
  background:var(--nx-bg-soft) !important; border:1px solid var(--nx-border) !important; border-radius:8px;
  font-weight:700; color:var(--nx-text) !important; white-space:nowrap;
}
.nx-skin .pulldown dt.js-pulldown::after{ /* 開閉インジケータ ▾ */
  content:"expand_more"; font-family:'Material Icons Round'; font-size:18px;
  position:absolute; right:6px; top:50%; transform:translateY(-50%); color:var(--nx-text-muted);
}
.nx-skin .pulldown dt.js-pulldown.open::after{ content:"expand_less"; }
/* ▼/∨ 二重矢印の解消（リジョン指摘・実DOMで確定260617）：
   レガシー pulldown.css が dt::after に背景画像の矢印(images/common_images/mark_pull.png ▼)を付けており、
   スキンが同じ ::after に出す Material Icons の ∨(expand_more) と重なって矢印が2つ見えていた。
   → スキンの ::after から背景画像を消して ∨ の1つに統一（content の ∨ は文字なので残る）。 */
.nx-skin .pulldown dt.js-pulldown::after{ background:none !important; }
/* 開いたリスト（ドロップダウン）— テーマのカード面＋枠＋影で浮かせる */
.nx-skin .pulldown dd,
.nx-skin .pulldown dd#tg_member_list{
  position:absolute; left:0; top:calc(100% + 6px); z-index:60; min-width:100%;
  margin:0; padding:6px; list-style:none;
  background:var(--nx-bg) !important; border:1px solid var(--nx-border) !important;
  border-radius:10px; box-shadow:var(--nx-shadow);
}
.nx-skin .pulldown dd a,
.nx-skin .pulldown dd a.tg_member_link{
  display:block; margin:0; padding:8px 14px; border-radius:8px; white-space:nowrap;
  color:var(--nx-text) !important; background:transparent !important; text-decoration:none; font-weight:600;
}
.nx-skin .pulldown dd a:hover,
.nx-skin .pulldown dd a.check{ background:var(--nx-bg-soft) !important; color:var(--nx-primary) !important; }
/* 暗テーマ：ID切替の箱と開いたリストが半透明（bg-soft/bg）だと、背面の背景演出と混ざって
   見づらい（システム会社指摘 260610）。→ 不透明の暗地＋テーマ色寄りの明るい枠線で
   「操作できる部品」として浮き立たせる。color-mix非対応ブラウザは1行目の単色で動く。 */
/* 容れ物(.pulldown)とdtの中の子要素まで白背景を打ち消す＝レガシーpulldown.cssの白がdtの周り/隙間から
   覗いて「薄い白背景」に見える問題を防ぐ（全ページ＝plain/非plain共通で暗く・260611）。 */
.nx-skin.nx-dark .pulldown, .nx-skin.nx-dark .pulldown dt.js-pulldown *{ background:transparent !important; }
.nx-skin.nx-dark .pulldown dt.js-pulldown{
  background:#1b212c !important;
  background:color-mix(in srgb, var(--nx-primary) 10%, #161b24) !important;
  border-color:#4a5568 !important;
  border-color:color-mix(in srgb, var(--nx-primary) 45%, #3a4453) !important;
  color:#e8ecf1 !important;
}
.nx-skin.nx-dark .pulldown dt.js-pulldown::after{ color:var(--nx-text); }
.nx-skin.nx-dark .pulldown dd,
.nx-skin.nx-dark .pulldown dd#tg_member_list{ background:#1b212c !important; border-color:#4a5568 !important; }

/* ── メインナビ ────────────────────────────────────────────── */
.nx-skin #nav{ background:transparent; padding:10px 16px; border-bottom:1px solid var(--nx-border); overflow:visible; }
/* スマホでもスキンの横並びアイコンメニューを使い、レガシーのハンバーガー(#nav2)は隠す */
.nx-skin #nav{ display:block !important; }
.nx-skin #nav2{ display:none !important; }
/* レガシーCSSが display/float/nowrap を上書きしても確実に折り返すよう !important で強制 */
.nx-skin #main-nav{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex !important; flex-wrap:wrap !important; justify-content:center; gap:4px; width:auto !important; max-width:100%; white-space:normal !important; }
.nx-skin #main-nav>li{ float:none !important; width:auto !important; max-width:none !important; margin:0 !important; white-space:normal !important; }
.nx-skin #main-nav>li>a{ display:flex; flex-direction:column; align-items:center; gap:6px; min-width:72px; padding:10px 12px; border-radius:12px; text-decoration:none; color:var(--nx-text-muted); font-size:12px; font-weight:600; transition:background .2s,color .2s; }
.nx-skin #main-nav>li>a:hover{ background:var(--nx-bg-soft); color:var(--nx-primary); }
.nx-skin #main-nav>li.nx-active>a{ background:rgba(230,57,70,.12); background:color-mix(in srgb, var(--nx-primary) 16%, transparent); color:var(--nx-primary); font-weight:700; }
/* 既定では元のPNGアイコンを残す（会員ごとに違うメニュー項目でも空欄にしない）。
   マッピング済みの項目だけPNGを隠してMaterial Iconに差し替える。 */
.nx-skin #main-nav>li>a img{ display:inline-block; width:24px; height:24px; object-fit:contain; vertical-align:middle; }
.nx-skin #main-nav a[href*="act=member_top"] img,
.nx-skin #main-nav a[href*="act=pickup"] img,
.nx-skin #main-nav a[href*="act=bonuspayview"] img,
.nx-skin #main-nav a[href*="act=buyhistry"] img,
.nx-skin #main-nav a[href*="act=mapselect"] img,
.nx-skin #main-nav a[href*="act=memdetail"] img,
.nx-skin #main-nav a[href*="act=directdowndisp"] img,
.nx-skin #main-nav a[href*="act=memdownload"] img,
.nx-skin #main-nav a[href*="act=changeurl"] img{ display:none; }
.nx-skin #main-nav>li>a br{ display:none; }
.nx-skin #main-nav>li>a .trans{ color:inherit; }
.nx-skin #main-nav>li>a::before{ font-family:'Material Icons Round'; font-size:24px; line-height:1; color:inherit; }
.nx-skin #main-nav a[href*="act=member_top"]::before{ content:"dashboard"; }
.nx-skin #main-nav a[href*="act=pickup"]::before{ content:"manage_accounts"; }
.nx-skin #main-nav a[href*="act=bonuspayview"]::before{ content:"account_balance_wallet"; }
.nx-skin #main-nav a[href*="act=buyhistry"]::before{ content:"receipt_long"; }
.nx-skin #main-nav a[href*="act=buyhistryauto"]::before{ content:"local_shipping"; }
.nx-skin #main-nav a[href*="act=mapselect"]::before{ content:"account_tree"; }
.nx-skin #main-nav a[href*="act=memdetail"]::before{ content:"stacked_line_chart"; }
.nx-skin #main-nav a[href*="act=directdowndisp"]::before{ content:"groups"; }
.nx-skin #main-nav a[href*="act=memdownload"]::before{ content:"cloud_download"; }
.nx-skin #main-nav a[href*="act=changeurl"]::before{ content:"link"; }
.nx-skin #main-nav a[href*="act=member_move_point"]::before{ content:"currency_exchange"; } /* スキンで追加した「ポイント振分」項目 */

/* ── コンテンツ ────────────────────────────────────────────── */
.nx-skin #content-box{ padding:24px; background:transparent; }
.nx-skin #content>br{ display:none; }

/* 埋め込みカレンダー等の「フルブリード(width:100vw)」を解除。
   スキンのカード(#pagewrap overflow:hidden)で右側が見切れる問題を防ぐ＝コンテンツ幅に収める。 */
.nx-skin #content .full-bleed{
  width:auto !important; max-width:100% !important;
  margin-left:0 !important; margin-right:0 !important;
  border-radius:12px; overflow:hidden;
}
.nx-skin #content .cal-embed{ width:100% !important; }
.nx-skin .ptmovearea{ background:var(--nx-bg-soft); border:1px solid var(--nx-border); border-radius:14px; padding:18px 22px; margin:0 0 24px; }
.nx-skin .ptmovearea p{ margin:0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:15px; }
.nx-skin .ptmovearea span.pt{ color:var(--nx-text); font-weight:600; }
.nx-skin #gomovepoint_btn{ -webkit-appearance:none; appearance:none; font-family:var(--nx-font); background:var(--nx-bg-soft); border:1px solid var(--nx-border); color:var(--nx-text); padding:10px 20px; border-radius:8px; font-weight:600; font-size:14px; cursor:pointer; transition:all .2s; }
.nx-skin #gomovepoint_btn:hover{ border-color:var(--nx-primary); color:var(--nx-primary); }
/* セクション題名バー（お知らせ／状況／組織図／オートシップ／紹介者一覧／購入履歴…全ページ共通）
   左の縦アクセントはテーマグラデで連動、背景はテーマ色の薄ティント→bg-softへなめらかにグラデ。
   color-mix 非対応ブラウザは fallback で var(--nx-bg-soft) 単色になる。 */
/* .info_titile はTOPページ等の見出し(h2)。各ページの見出しはクラス無しの <h1>（レガシーが緑の border-left:7px を付与）。
   この <h1> は #content-box / #sub_nav / 組織図ツリーの #FIX など複数箇所に出るため、#pagewrap h1 でまとめて対象化。
   .nx-skin #pagewrap h1 は詳細度(1,1,1)でレガシー #content-box h1・#sub_nav h1 (1,0,1) に勝ち、緑線を確実に上書きする。 */
.nx-skin .info_titile,
.nx-skin #pagewrap h1{
  position:relative;
  font-size:15px; font-weight:700; color:var(--nx-text);
  margin:24px 0 0;
  padding:14px 20px 14px 28px; /* 左に縦バー分の余白 */
  background:var(--nx-bg-soft);
  background:linear-gradient(135deg, color-mix(in srgb, var(--nx-primary) 14%, var(--nx-bg-soft)) 0%, var(--nx-bg-soft) 65%);
  border:1px solid var(--nx-border);
  border-bottom:none;
  border-left:none !important; /* 旧スキン(配信済み)の緑縦線 border-left:4px solid accent-green を確実に打ち消す＝二重バー防止。縦アクセントは下の::beforeに一本化 */
  border-radius:12px 12px 0 0;
  letter-spacing:.04em;
  overflow:hidden; /* ::before の角丸はみ出し防止 */
}
.nx-skin .info_titile::before,
.nx-skin #pagewrap h1::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px;
  background:var(--nx-primary-grad);
  box-shadow:0 0 10px color-mix(in srgb, var(--nx-primary) 35%, transparent);
}
/* 見出しバーは中身エリア全幅。一方レガシーの表は width:800px 等の固定幅で狭く、
   バーだけ右に長く見える（はみ出し感）ことがある。→ 表に min-width:100% を与え、
   狭い表は見出しと同じ幅まで広げて端を揃える。min-width なので横長の表は縮まず、
   中身が全幅を超える表は従来どおり content 優先＝（nx-plainの）横スクロールを維持する。 */
.nx-skin #content-box table, .nx-skin #content table{ min-width:100% !important; }
.nx-skin #information{ background:transparent; border-left:1px solid var(--nx-border); border-right:1px solid var(--nx-border); padding:6px 18px; height:auto; min-height:0; overflow:visible; }
.nx-skin #information p{ margin:0; }
.nx-skin #information a{ color:var(--nx-primary); text-decoration:none; font-size:12px; }
.nx-skin .linkbox{ background:transparent; border:1px solid var(--nx-border); border-top:none; border-radius:0 0 12px 12px; padding:4px 18px 12px; }
.nx-skin .linkbox br{ display:none; }
.nx-skin .linkbox a{ display:block; padding:13px 4px; color:var(--nx-text); text-decoration:none; border-bottom:1px dashed var(--nx-border); font-size:14px; transition:color .2s; }
.nx-skin .linkbox a:last-child{ border-bottom:none; }
.nx-skin .linkbox a:hover{ color:var(--nx-primary); }

/* ── 可読性セーフガード ─────────────────────────────────────────
   まだ個別対応していないレガシーのページ（登録情報・履歴など）でも、
   表のセル背景を現在テーマのカード面に同調させ、文字色をテーマ文字色に。
   → どのテーマでも「文字が背景に埋もれて読めない」を防ぐ。 */
.nx-skin #content-box table, .nx-skin #content-box thead, .nx-skin #content-box tbody,
.nx-skin #content-box tr, .nx-skin #content-box td, .nx-skin #content-box th,
.nx-skin #content table, .nx-skin #content thead, .nx-skin #content tbody,
.nx-skin #content tr, .nx-skin #content td, .nx-skin #content th{
  background:transparent !important;
}
.nx-skin #content-box td, .nx-skin #content-box th,
.nx-skin #content td, .nx-skin #content th{
  color:var(--nx-text);
  border-color:var(--nx-border) !important;
}
/* 暗いテーマ：表内の文字・リンクを確実に明るく（レガシーの青/灰の文字色を上書き） */
.nx-skin.nx-dark #content-box td, .nx-skin.nx-dark #content-box td *,
.nx-skin.nx-dark #content td, .nx-skin.nx-dark #content td *{ color:var(--nx-text) !important; }
.nx-skin.nx-dark #content-box td a, .nx-skin.nx-dark #content td a{ color:var(--nx-primary) !important; }

/* ── 可読性セーフガード（拡張版・260605） ─────────────────────────
   レガシーASPは <font color="..."> や span に直接色指定するため、表の外（サブメニュー・段落・空状態の文章）で
   暗テーマ＝紺色が黒に埋もれ、PLAIN（白カード）＝黄緑が白に消える、という不読が発生する。
   ここで「リンク／地の文／<font>」を強制的にテーマ可読色へ寄せる。 */
/* レガシー <font color="..."> を中和（親要素の色を継承させる） */
.nx-skin #content-box font, .nx-skin #content font{ color:inherit !important; }
/* .linkbox（サブメニュー帯）：リンクとその中の <span class="trans"> 等を必ず地の文色で表示 */
.nx-skin .linkbox a, .nx-skin .linkbox a *{ color:var(--nx-text) !important; }
.nx-skin .linkbox a:hover, .nx-skin .linkbox a:hover *{ color:var(--nx-primary) !important; }
/* 暗テーマ：#content/#content-box 内の地の文（段落・リスト・spanなど）を強制的に明るい --nx-text に */
.nx-skin.nx-dark #content-box, .nx-skin.nx-dark #content{ color:var(--nx-text) !important; }
.nx-skin.nx-dark #content-box p, .nx-skin.nx-dark #content p,
.nx-skin.nx-dark #content-box li, .nx-skin.nx-dark #content li,
.nx-skin.nx-dark #content-box dt, .nx-skin.nx-dark #content dt,
.nx-skin.nx-dark #content-box dd, .nx-skin.nx-dark #content dd,
.nx-skin.nx-dark #content-box span, .nx-skin.nx-dark #content span,
.nx-skin.nx-dark #content-box small, .nx-skin.nx-dark #content small,
.nx-skin.nx-dark #content-box b, .nx-skin.nx-dark #content b,
.nx-skin.nx-dark #content-box strong, .nx-skin.nx-dark #content strong,
.nx-skin.nx-dark #content-box em, .nx-skin.nx-dark #content em,
.nx-skin.nx-dark #content-box i, .nx-skin.nx-dark #content i,
.nx-skin.nx-dark #content-box font, .nx-skin.nx-dark #content font{
  color:var(--nx-text) !important;
}
/* 暗テーマ：リンクはプライマリ色で光らせる（btn--top は色を保持）。
   #sub_nav も対象に追加（組織図メニュー mapselect・状況 memdetail のサブメニュー/リンクは
   #content-box ではなく #sub_nav 内にあり、レガシーの濃い青紫(#5252e7)が暗地で読めなかった・260609）。 */
.nx-skin.nx-dark #content-box a:not(.btn--top), .nx-skin.nx-dark #content a:not(.btn--top),
.nx-skin.nx-dark #sub_nav a:not(.btn--top),
.nx-skin.nx-dark #content-box a:not(.btn--top) *, .nx-skin.nx-dark #content a:not(.btn--top) *,
.nx-skin.nx-dark #sub_nav a:not(.btn--top) *{
  color:var(--nx-primary) !important;
}
/* 暗テーマ：フォーム部品(入力欄/プルダウン/テキストエリア/選択肢/ボタン)は白背景のまま
   （neutralizeLightBg が触らない＝部品の背景は白を維持）。一方で上の明色文字指定が継承して
   「白地に白(明色)文字」になり読めなくなる（紹介URLの入力欄/プルダウン/URLをコピー等・260609）。
   → フォーム部品の中の文字だけ濃色に戻す。テーマ色ボタン(.btn--top)は対象外。 */
.nx-skin.nx-dark #content-box input, .nx-skin.nx-dark #content input,
.nx-skin.nx-dark #content-box select, .nx-skin.nx-dark #content select,
.nx-skin.nx-dark #content-box option, .nx-skin.nx-dark #content option,
.nx-skin.nx-dark #content-box textarea, .nx-skin.nx-dark #content textarea,
.nx-skin.nx-dark #content-box button:not(.btn--top):not(#gomovepoint_btn), .nx-skin.nx-dark #content button:not(.btn--top):not(#gomovepoint_btn){
  color:#333333 !important;
}
/* ↑ #gomovepoint_btn はスキンが暗い面(bg-soft)＋明色文字で整形済み＝対象外（濃文字にすると暗地に沈む） */
/* 暗テーマ：レガシーの“ボタン風リンク”（.btn-01/.btn-02/.copy_url＝「URLをコピー」等の<a>）は
   淡い背景(実測 rgb(245,249,255))。上の a→--nx-primary でテーマ色(rpg黄/cyber緑)になり淡背景で読めない。
   実DOM確認：<a class="btn-01 btn-02 copy_url">。→ これらは濃文字に戻す（260609）。 */
.nx-skin.nx-dark #content-box a.btn-01.btn-02, .nx-skin.nx-dark #content a.btn-01.btn-02,
.nx-skin.nx-dark #content-box a.copy_url.btn-01, .nx-skin.nx-dark #content a.copy_url.btn-01,
.nx-skin.nx-dark.nx-plain #content-box a.btn-01.btn-02, .nx-skin.nx-dark.nx-plain #content a.btn-01.btn-02,
.nx-skin.nx-dark.nx-plain #content-box a.copy_url.btn-01, .nx-skin.nx-dark.nx-plain #content a.copy_url.btn-01{
  color:#333333 !important; /* 2クラス指定で特異度(1,5,1)＝dark-plainリンク規則(1,4,1)に順序非依存で勝つ。実DOM: <a class="btn-01 btn-02 copy_url"> */
}
/* 暗テーマ：紹介URLの種別タブ(ul#tab-head)＝レガシーが白/クリームのインライン背景＋クラス切替(.tab1/.tab2)で
   描くため、暗テーマの明色文字が乗ると消える（システム会社指摘 260610・テーマごとに見え方が違う件）。
   実DOM: ul#tab-head > li.tab1 > span.trans.tab2（タブがa/input実装の会員種別もあり得るため子全部に網）。
   → タブはスキンが暗スレート地＋明色文字＋枠で確実に管理（!importantでレガシーのインラインstyleにも勝つ。
     ※neutralizeLightBg は #tab-head をスキップさせ、ここでの指定と衝突させない）。 */
.nx-skin.nx-dark #tab-head li, .nx-skin.nx-dark #tab-head li *{
  background-color:#252d3a !important; background-image:none !important;
  color:#e8ecf1 !important; border-color:#4a5568 !important;
}

/* ── 暗いテーマ：メニュー/フッターのリンク文字を明色へ ───────────────
   #main-nav（アイコンメニュー）と #footer_nav は通常 --nx-text-muted（淡色）で表示。
   明るいテーマでは上品だが、暗いテーマ(サイバー/ダーク/ブルーHUD/RPG)では暗い地に
   くすんだ淡色が沈み「文字が見にくい」（システム会社指摘 260609）。
   → 暗いテーマのときだけ、本文と同じ明色 --nx-text に引き上げて確実に読めるようにする。
     選択中メニュー(.nx-active=アクセント色)とホバーは従来どおり維持。 */
.nx-skin.nx-dark #main-nav>li:not(.nx-active)>a,
.nx-skin.nx-dark #footer_nav a{ color:var(--nx-text); }
.nx-skin.nx-dark #main-nav>li:not(.nx-active)>a:hover,
.nx-skin.nx-dark #footer_nav a:hover{ color:var(--nx-primary); }
/* フッターのピル（会社概要/ログオフ等）強化（260610 システム会社指摘）。実DOM調査の事実2つ：
   (1) レガシーの a:link 系ルール（白→#ccc のwebkitグラデ＋灰枠）がbase の background:transparent(0,2,1)に
       詳細度で勝って生き残り、「明るいピルにテーマ色文字」で読めないページがある（例：ログイン直後ページ）。
       → グラデ/背景/枠を !important で確実に潰す（全テーマ。透明ピル＋テーマ枠が本来の意図）。
   (2) ページによって #footer_nav が #content-box の中にあり、コンテンツ内リンク規則
       （.nx-dark #content-box a＝テーマ色!important (1,3,1)や dark-plain版(1,4,1)）が文字色を奪う。
       → #pagewrap を足した2 ID(2,2,1)で恒久的に勝ち、本文と同じ明色に統一（ホバーはテーマ色）。 */
/* 明テーマ：レガシーの白グラデ背景を撃退し、枠線ピルに */
.nx-skin:not(.nx-dark) #footer_nav a{ background-image:none !important; background-color:transparent !important; border-color:var(--nx-border) !important; }
/* ── 暗テーマ：フッターのボタン(会社概要/ログオフ)＆ポイント移動ボタンを「お買い物」風の色付きボタンに ──
   （260611 ユーザー要望「ダーク系全部ボタン文字が見えない→お買い物と同じ色付き背景＋黒文字みたいに」）。
   .btn--top と同じ --nx-primary-grad 背景＋ --nx-on-primary 文字（テーマ別にWCAG調整済：
   サイバー/RPGは濃文字・ダーク/HUDは白文字）。#pagewrap を足した(2,2,x)で content内リンク規則(1,3,1)に勝つ。 */
.nx-skin.nx-dark #pagewrap #footer_nav a, .nx-skin.nx-dark #footer_nav a,
.nx-skin.nx-dark #pagewrap #gomovepoint_btn, .nx-skin.nx-dark #gomovepoint_btn{
  background:var(--nx-primary-grad) !important; background-color:transparent !important;
  border:1px solid transparent !important;
  color:var(--nx-on-primary,#fff) !important; -webkit-text-fill-color:var(--nx-on-primary,#fff);
  text-shadow:0 1px 2px rgba(0,0,0,.45); box-shadow:0 4px 12px rgba(0,0,0,.22); font-weight:700;
}
.nx-skin.nx-dark #pagewrap #footer_nav a *, .nx-skin.nx-dark #footer_nav a *{ color:var(--nx-on-primary,#fff) !important; -webkit-text-fill-color:var(--nx-on-primary,#fff); }
/* ブルーHUD(ironman)は白文字×水色グラデが弱いので薄い暗幕を重ねて確実に（.btn--top と同様） */
.nx-skin.nx-dark[data-nx-theme="ironman"] #pagewrap #footer_nav a, .nx-skin.nx-dark[data-nx-theme="ironman"] #footer_nav a,
.nx-skin.nx-dark[data-nx-theme="ironman"] #pagewrap #gomovepoint_btn, .nx-skin.nx-dark[data-nx-theme="ironman"] #gomovepoint_btn{
  background-image:linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.34)), var(--nx-primary-grad) !important;
}

/* ── ログインボタン（#login .button a） ────────────────────────────
   レガシーは薄いボタン画像(bg_button.gif)背景＋テーマ色文字＝読めない（特に暗テーマ：金文字×薄灰でほぼ不可視）。
   全テーマで「お買い物」(.btn--top)と同じテーマ色グラデ＋--nx-on-primary文字に統一（WCAG調整済トークンを流用）。
   #pagewrap #login の2 ID(2,2,1)＋!importantで、暗テーマのリンク色規則 .nx-dark #content-box a:not(.btn--top)(1,2,1!important) に勝つ。 */
.nx-skin #pagewrap #login .button a{
  display:inline-block !important;
  background-image:var(--nx-primary-grad) !important; background-color:transparent !important;
  color:var(--nx-on-primary,#fff) !important; -webkit-text-fill-color:var(--nx-on-primary,#fff) !important;
  border:1px solid transparent !important; border-radius:24px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.18) !important;
  font-weight:700 !important; text-decoration:none !important;
  text-shadow:0 1px 2px rgba(0,0,0,.5) !important;
}
/* --nx-on-primary が濃色のテーマ（淡背景）は白縁取りに（.btn--top の text-shadow 群と同じ振り分け） */
.nx-skin[data-nx-theme="rpg"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="cyber"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="sakura"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="feminine"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="nature"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="relax"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="beauty"] #pagewrap #login .button a{ text-shadow:0 1px 0 rgba(255,255,255,.5) !important; }
/* グラデが明→暗にまたがり白も濃も片側で弱いテーマは薄暗幕を重ねて白文字を確実化（.btn--top と同様） */
.nx-skin[data-nx-theme="vip"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="ironman"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="orange"] #pagewrap #login .button a{
  background-image:linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.34)), var(--nx-primary-grad) !important;
}

/* ── レガシー表示維持ページ ───────────────────────────────────
   組織図・紹介URL・ボーナス履歴など。中身は白カード＋黒文字で確実に読みやすく、
   でも“外枠”（背景・演出・アクセント色）はテーマのまま＝スキンの世界観は残す。
   （桜なら：ピンク背景＋花びらの中に白いカード。マトリックスなら：黒＋コードの中に白いカード）
   対象は JS の PLAIN_PAGES に列挙。 */
.nx-skin.nx-plain{
  --nx-text:#333333 !important; --nx-text-muted:#777777 !important;
  --nx-bg:#ffffff !important; --nx-bg-soft:#f5f6f8 !important;
  /* --nx-page(背景)・--nx-primary(アクセント)・--nx-border(罫線)・--nx-shadow(外枠の影) はテーマのまま
     ＝外枠・罫線・影がテーマ色に染まり、他ページと統一される。
     ※以前は --nx-border も中立グレーに上書きしていたが、ボーナス履歴/紹介URLだけ罫線がテーマ未反映になる
       というリジョン指摘(260611)を受け、罫線はテーマ色に戻した（白カード上でも可読性に影響なし）。
     ※同様に --nx-shadow も中立グレーに上書きしていたが、ボーナス履歴の外枠の影だけグレーで他ページと
       不統一というリジョン指摘(260618)を受け撤去＝テーマの色付きグロー(桜=桃/サイバー=緑 等)に統一。 */
}
/* PLAIN：白カード内のリンクはブルー、地の文は黒（テーマの黄緑/桃色などが透けて読めない問題を防ぐ）*/
.nx-skin.nx-plain #content-box, .nx-skin.nx-plain #content{ color:#333 !important; }
.nx-skin.nx-plain #content-box p, .nx-skin.nx-plain #content p,
.nx-skin.nx-plain #content-box li, .nx-skin.nx-plain #content li,
.nx-skin.nx-plain #content-box dt, .nx-skin.nx-plain #content dt,
.nx-skin.nx-plain #content-box dd, .nx-skin.nx-plain #content dd,
.nx-skin.nx-plain #content-box span, .nx-skin.nx-plain #content span,
.nx-skin.nx-plain #content-box small, .nx-skin.nx-plain #content small,
.nx-skin.nx-plain #content-box b, .nx-skin.nx-plain #content b,
.nx-skin.nx-plain #content-box strong, .nx-skin.nx-plain #content strong,
.nx-skin.nx-plain #content-box em, .nx-skin.nx-plain #content em,
.nx-skin.nx-plain #content-box i, .nx-skin.nx-plain #content i,
.nx-skin.nx-plain #content-box font, .nx-skin.nx-plain #content font{
  color:#333 !important;
}
.nx-skin.nx-plain #content-box a:not(.btn--top), .nx-skin.nx-plain #content a:not(.btn--top),
.nx-skin.nx-plain #content-box a:not(.btn--top) *, .nx-skin.nx-plain #content a:not(.btn--top) *,
.nx-skin.nx-plain .linkbox a, .nx-skin.nx-plain .linkbox a *{ color:#1d4ed8 !important; }
/* 横長コンテンツを横スクロールできるように（カードのはみ出し隠しを解除） */
.nx-skin.nx-plain #pagewrap{ overflow-x:auto; }
.nx-skin.nx-plain #content-box, .nx-skin.nx-plain #content{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ── プレーンページのメニュー＝テーマ反映（リジョン指摘 260618） ──────────
   .nx-plain は白カードの可読性のため --nx-text-muted を中立グレー(#777)へ上書きする。
   その副作用で #main-nav の非選択リンクが「テーマに関わらず灰色」になっていた
   （ボーナス履歴/紹介URLでメニューが灰色のまま）。
   → 明テーマのプレーンページでは、非選択メニュー文字をテーマのアクセント由来色に戻す。
     白カード上でも読めるよう --nx-primary を濃い中立色と混ぜた“テーマ味のある濃色”にする。
     ホバー/選択中(.nx-active)は base 規則(343/344=--nx-primary・アクセント色)がそのまま効く。
   （暗テーマのプレーンページは上の .nx-dark #main-nav 規則で --nx-text=明色に引上げ済＝対象外）
   詳細度(1,4,2)で base の #main-nav>li>a(1,1,2)に勝つ。 */
.nx-skin.nx-plain:not(.nx-dark) #main-nav>li:not(.nx-active)>a{
  color:#4a5568;                                              /* color-mix 非対応ブラウザの保険＝中立濃灰 */
  color:color-mix(in srgb, var(--nx-primary) 55%, #404040);   /* テーマ色×濃中立＝白カードで読める“テーマ味” */
}

/* ── 暗いテーマのプレーンページ＝白ではなく“暗い可読カード” ───────────
   ボーナス履歴・紹介URL等のプレーンページは、可読性のため白カード＋黒文字に
   固定していた。だが暗いテーマ(サイバー/ダーク/ブルーHUD/RPG)では、暗い画面から
   急に真っ白へ切り替わって違和感がある（システム会社指摘 260609）。
   → 暗いテーマのときだけ、白カードを“不透明な暗いスレート面＋明色文字”に置換。
     高コントラストは保ちつつ、画面全体の暗さと馴染ませる。
   詳細度(0,4,1)で上の .nx-plain(0,3,1) の !important に勝つ。
   ※組織図(#bodymap/#mapid)は別系統(#bodymap …)で白固定のまま＝ここでは変えない。 */
.nx-skin.nx-dark.nx-plain{
  --nx-text:#e8ecf1 !important; --nx-text-muted:#aab3c0 !important;
  --nx-bg:#1b212c !important; --nx-bg-soft:#252d3a !important;
  /* --nx-border・--nx-shadow はテーマのまま＝罫線・外枠の影がテーマ色に染まる
     （罫線は260611、影は260618で中立グレー上書きを撤去＝他ページと統一） */
}
/* 上の汎用スレート(#1b212c)はテーマ非連動なので、ボーナス履歴/紹介URL等のプレーンページの背景が
   「他の同テーマのページ(例:サイバーの購入履歴)」と色が違って見える（ユーザー指摘 260610）。
   → ダーク各テーマで、プレーンページのカード面(--nx-bg/--nx-bg-soft)を“そのテーマ本来の値”に再同期して統一。
     文字色(--nx-text:#e8ecf1)・枠は据え置き＝可読性は維持しつつ、背景・演出の透けがテーマと揃う。 */
.nx-skin.nx-dark.nx-plain[data-nx-theme="cyber"]{ --nx-bg:rgba(8,12,6,.84) !important; --nx-bg-soft:rgba(20,30,12,.5) !important; }
.nx-skin.nx-dark.nx-plain[data-nx-theme="ironman"]{ --nx-bg:rgba(8,18,38,.82) !important; --nx-bg-soft:rgba(20,42,78,.55) !important; }
.nx-skin.nx-dark.nx-plain[data-nx-theme="dark"]{ --nx-bg:#1e2430 !important; --nx-bg-soft:#2a313f !important; }
.nx-skin.nx-dark.nx-plain[data-nx-theme="rpg"]{ --nx-bg:#101046 !important; --nx-bg-soft:#1a1a64 !important; }
.nx-skin.nx-dark.nx-plain #content-box, .nx-skin.nx-dark.nx-plain #content{ color:var(--nx-text) !important; }
.nx-skin.nx-dark.nx-plain #content-box p, .nx-skin.nx-dark.nx-plain #content p,
.nx-skin.nx-dark.nx-plain #content-box li, .nx-skin.nx-dark.nx-plain #content li,
.nx-skin.nx-dark.nx-plain #content-box dt, .nx-skin.nx-dark.nx-plain #content dt,
.nx-skin.nx-dark.nx-plain #content-box dd, .nx-skin.nx-dark.nx-plain #content dd,
.nx-skin.nx-dark.nx-plain #content-box span, .nx-skin.nx-dark.nx-plain #content span,
.nx-skin.nx-dark.nx-plain #content-box small, .nx-skin.nx-dark.nx-plain #content small,
.nx-skin.nx-dark.nx-plain #content-box b, .nx-skin.nx-dark.nx-plain #content b,
.nx-skin.nx-dark.nx-plain #content-box strong, .nx-skin.nx-dark.nx-plain #content strong,
.nx-skin.nx-dark.nx-plain #content-box em, .nx-skin.nx-dark.nx-plain #content em,
.nx-skin.nx-dark.nx-plain #content-box i, .nx-skin.nx-dark.nx-plain #content i,
.nx-skin.nx-dark.nx-plain #content-box td, .nx-skin.nx-dark.nx-plain #content td,
.nx-skin.nx-dark.nx-plain #content-box th, .nx-skin.nx-dark.nx-plain #content th,
.nx-skin.nx-dark.nx-plain #content-box font, .nx-skin.nx-dark.nx-plain #content font{
  color:var(--nx-text) !important;
}
/* リンクは暗カード上で読めるようテーマのアクセント色（明色）へ。#1d4ed8(濃紺)は暗面で沈むため上書き */
.nx-skin.nx-dark.nx-plain #content-box a:not(.btn--top), .nx-skin.nx-dark.nx-plain #content a:not(.btn--top),
.nx-skin.nx-dark.nx-plain #content-box a:not(.btn--top) *, .nx-skin.nx-dark.nx-plain #content a:not(.btn--top) *,
.nx-skin.nx-dark.nx-plain .linkbox a, .nx-skin.nx-dark.nx-plain .linkbox a *{ color:var(--nx-primary) !important; }

/* ── プレーンページ×ドットRPGの可読性fix ──────────────────────────
   RPGテーマは見出しバー/箱に紺色(#101046)＋白枠を強制するが、プレーンページ
   （ボーナス履歴/組織図/紹介URL）は中身を白カード＋黒文字にしている。
   結果 “紺背景×黒文字” で読めなくなる。プレーンページではRPGの紺ボックスを解除し、
   白カード（明背景＋黒文字＋テーマの黄色アクセントバー::beforeはそのまま）に戻す。
   詳細度 (1,3,1) で rpg群 (1,2,1) の !important に勝つ。 */
.nx-skin.nx-plain[data-nx-theme="rpg"] #pagewrap h1,
.nx-skin.nx-plain[data-nx-theme="rpg"] .info_titile,
.nx-skin.nx-plain[data-nx-theme="rpg"] .ptmovearea,
.nx-skin.nx-plain[data-nx-theme="rpg"] .linkbox,
.nx-skin.nx-plain[data-nx-theme="rpg"] .card,
.nx-skin.nx-plain[data-nx-theme="rpg"] .meta-box{
  background:var(--nx-bg-soft) !important;   /* 紺→明るいカード面 */
  border-color:var(--nx-border) !important;  /* 白枠→薄いグレー枠 */
  color:var(--nx-text) !important;           /* →#333 黒文字（明背景で読める） */
}

/* ── 組織図ページ（body#bodymap）専用 ─────────────────────────
   巨大な入れ子テーブル(#mapid)の樹形図。カード枠で囲まず、元の設計どおり
   「ページ全体を横スクロール」できるようにする。白地＋黒文字で確実に読みやすく。 */
.nx-skin #bodymap{ --nx-text:#333333 !important; --nx-text-muted:#777777 !important; }
.nx-skin #bodymap #pagewrap{
  max-width:none !important; width:max-content !important; min-width:100% !important;
  margin:0 !important; border-radius:0 !important; overflow:visible !important;
  box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  background:#ffffff !important;
}
/* 凡例/操作バー(#FIX)は上部固定ヘッダー。スクロール時に樹形図(#mapid)が上に重なるのを防ぐため、
   確実に最前面＋不透明白背景にする。 */
.nx-skin #bodymap #FIX{
  z-index:1000 !important;
  background:#ffffff !important;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.nx-skin #bodymap #mapid, .nx-skin #bodymap table.b{ position:relative; z-index:1; }
/* 注：組織図の実ツリー(#bodymap)は別タブで白表示のままでよい（ユーザー判断260609）。ツリーの箱(td)は白地黒文字を維持。
   ただし上部の見出し/凡例バー(#FIX)は、暗テーマだと「テーマ濃色の地＋濃い文字(#bodymapが--nx-text:#333固定)」で
   真っ黒に見えて読めなかった（260609）。→ 暗テーマのときだけ #FIX を“暗ヘッダー＋明色文字”に統一して可読化。
   ::before のテーマ色アクセントバーは残るのでテーマ感も維持。 */
/* 方針（260609 ユーザー要望）：組織図ツリー(別タブ)は“白パネル＋黒文字”のレガシー表示を基本に維持
   （凡例の顔アイコンが白地に馴染む＝暗パネル化すると白い四角枠が残ってダサい問題を回避）。
   ただし見出し「組織図（バイナリー）」バーだけはテーマの濃色バー＋明色文字でスキン感を出す。
   #FIX の地は base ルールの白(#fff)のまま＝凡例/絞り込みは白地＋黒文字（#bodymapの--nx-text:#333）。 */
.nx-skin.nx-dark #bodymap #pagewrap h1{ color:#e8ecf1 !important; }              /* 見出しバーの文字を明色に（バー自体はテーマ濃色グラデ） */
.nx-skin.nx-dark #bodymap #pagewrap h1 a{ color:var(--nx-primary) !important; }  /* バー内のトグル「▼表示の詳細を…」はテーマ色で */

/* ── フッター ──────────────────────────────────────────────── */
.nx-skin #footer_nav{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:24px 0 0; padding:18px; border-top:1px solid var(--nx-border); }
.nx-skin #footer_nav a{ background:transparent; border:1px solid var(--nx-border); box-shadow:none; color:var(--nx-text-muted); text-decoration:none; font-size:13px; padding:7px 16px; border-radius:20px; transition:all .2s; }
.nx-skin #footer_nav a:hover{ background:var(--nx-bg-soft); color:var(--nx-primary); border-color:var(--nx-primary); }
.nx-skin #footer{ text-align:center; padding:18px; color:var(--nx-text-muted); font-size:12px; }
.nx-skin #footer address{ font-style:normal; }

/* ── 🎨 テーマドック（ニューモーフィズムのテーマ・パレット） ──────────────
   旧UIは「右下に浮く🎨丸＋ポップアップ」で後付けプラグイン感、レガシーの黒帯フッター
   (#footer 背景#221814・角四角)も世界観から浮いていた（260618要望）。
   → 黒帯フッターを廃し、画面下に「テーマ色ボタンをニューモーフィズムで並べた常設パレット」を置く。
     ・各ボタン＝そのテーマの色。選択中は“凹んで見える”インセット影で反転。
     ・ホバーで名前がにゅっと上に出る（ツールチップ）。スマホは折り返して2〜3段。
     ・仕舞わない＝直感でワンタップ切替。後ろのページが見えるので即プレビュー。 */
.nx-skin #footer{ display:none !important; }            /* レガシーの黒帯フッターは廃止（(C)はドックへ移設） */
/* 固定パレットの高さ分の余白は JS が実体スペーサー(#nx-dock-spacer)で確保する。
   body の padding-bottom はこのレイアウトではスクロール範囲に加算されず、長いページで
   最下部がパレットの裏に隠れてしまうため使わない（リジョン指摘260618：登録情報等で下端が見切れる）。 */
.nx-skin #nx-dock-spacer{ width:100%; pointer-events:none; }

.nx-skin #nx-dock{
  position:fixed; left:0; right:0; bottom:0; z-index:2147483599;
  display:flex; flex-direction:column; align-items:center; gap:7px;
  padding:12px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:var(--nx-bg); border-top:1px solid var(--nx-border);
  box-shadow:0 -8px 26px rgba(0,0,0,.16);
  backdrop-filter:blur(12px) saturate(1.1); -webkit-backdrop-filter:blur(12px) saturate(1.1);
  font-family:var(--nx-font);
  transition:transform .34s cubic-bezier(.22,.61,.36,1);
}
/* 引っ込んだ状態：下へスライドして“つまみ”だけ残す（テーマ選択後／スクロール開始で発火・260618要望）。
   再表示は つまみクリック／上スクロール／（PCは）ホバー で。 */
.nx-skin #nx-dock.nx-hidden{ transform:translateY(calc(100% - 26px)); }
/* つまみ（ドック上端の小さなバー。常に掴める） */
.nx-skin #nx-dock-grip{ flex:none; width:100%; height:14px; margin:-4px 0 3px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.nx-skin #nx-dock-grip::before{ content:""; width:44px; height:5px; border-radius:3px; background:var(--nx-border); transition:background .2s ease, width .2s ease; }
.nx-skin #nx-dock:hover #nx-dock-grip::before, .nx-skin #nx-dock.nx-hidden #nx-dock-grip::before{ width:56px; background:var(--nx-text-muted); }
@media (prefers-reduced-motion: reduce){ .nx-skin #nx-dock{ transition:none; } }
.nx-skin #nx-dock-themes{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; max-width:960px; }
.nx-skin #nx-dock .nx-dock-copy{ color:var(--nx-text-muted); font-size:11px; letter-spacing:.04em; opacity:.85; text-align:center; }

/* テーマ色ボタン（ニューモーフィズム）。--c にテーマ色を流し込む。
   既定は“浮き出し”（明側ハイライト＋暗側ドロップ）、.nx-sel で“凹み”（インセット）に反転。 */
.nx-skin .nx-theme-dot{
  -webkit-appearance:none; appearance:none; position:relative; flex:none;
  width:34px; height:34px; border:none; border-radius:11px; cursor:pointer; padding:0;
  background:var(--c,#ccc);
  box-shadow:-3px -3px 7px rgba(255,255,255,.55), 3px 3px 7px rgba(0,0,0,.24);
  transition:transform .16s ease, box-shadow .22s ease, filter .16s ease;
}
.nx-skin .nx-theme-dot:hover{ transform:translateY(-3px); filter:brightness(1.04); }
.nx-skin .nx-theme-dot:active{ transform:translateY(0) scale(.96); }
/* 選択中＝凹んで見える（インセット反転）。やや沈めて“押し込まれた”感も付与 */
.nx-skin .nx-theme-dot.nx-sel{
  box-shadow:inset 2px 2px 5px rgba(0,0,0,.34), inset -2px -2px 5px rgba(255,255,255,.5);
  transform:translateY(1px) scale(.94);
}
.nx-skin .nx-theme-dot.nx-sel::after{           /* 選択中の小さな芯（中央に軽くテーマ色の点） */
  content:""; position:absolute; left:50%; top:50%; width:7px; height:7px; margin:-3.5px 0 0 -3.5px;
  border-radius:50%; background:rgba(255,255,255,.85); box-shadow:0 0 0 1px rgba(0,0,0,.12);
}
/* ユーティリティ（きまぐれ/標準）＝テーマ非依存の淡いニューモーフィズム面＋絵文字 */
.nx-skin .nx-theme-dot.nx-dot-util{ background:var(--nx-bg); display:flex; align-items:center; justify-content:center; }
.nx-skin .nx-theme-dot.nx-dot-util .nx-dot-ico{ font-size:18px; line-height:1; filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.28)); }
/* ホバーで名前が“にゅっ”と上に出るツールチップ */
.nx-skin .nx-theme-dot .nx-dot-label{
  position:absolute; left:50%; bottom:calc(100% + 9px); transform:translate(-50%,6px);
  white-space:nowrap; font-size:11px; font-weight:700; letter-spacing:.02em;
  padding:5px 10px; border-radius:9px;
  background:var(--nx-bg); color:var(--nx-text); border:1px solid var(--nx-border);
  box-shadow:0 8px 20px rgba(0,0,0,.22);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .18s ease, transform .2s cubic-bezier(.22,.61,.36,1), visibility .18s ease;
}
.nx-skin .nx-theme-dot .nx-dot-label::after{      /* 吹き出しの三角 */
  content:""; position:absolute; left:50%; top:100%; transform:translateX(-50%);
  border:5px solid transparent; border-top-color:var(--nx-bg);
}
.nx-skin .nx-theme-dot:hover .nx-dot-label{ opacity:1; visibility:visible; transform:translate(-50%,0); }
@media (prefers-reduced-motion: reduce){
  .nx-skin .nx-theme-dot, .nx-skin .nx-theme-dot .nx-dot-label{ transition:opacity .15s ease, visibility .15s ease; }
  .nx-skin .nx-theme-dot:hover{ transform:none; }
}

/* ══ テーマ深化レイヤー（遊び心・260610） ═══════════════════════════
   「ただ四角く囲む表」から卒業し、各テーマの世界観をUI部品まで届かせる。
   方針：CSSのみ・テーマスコープ・追加のみ（既存ルールは再定義しない）。
   動きはすべて prefers-reduced-motion で停止。装飾は pointer-events:none。 */

/* ── ⚡ サイバー：グリッチ・エディトリアル ──────────────────────
   参考＝黒×アシッドグリーンのグリッチアート。表は枠で囲まず
   「水平スキャンラインのデータリスト」に。見出しに技術ラベル、ページ四隅にブラケット。 */
/* 表：縦罫線を消して水平ラインのみ＝ターミナルのデータ出力風 */
.nx-skin[data-nx-theme="cyber"] #content-box table, .nx-skin[data-nx-theme="cyber"] #content table{ border:none !important; border-collapse:collapse !important; }
.nx-skin[data-nx-theme="cyber"] #content-box td, .nx-skin[data-nx-theme="cyber"] #content-box th,
.nx-skin[data-nx-theme="cyber"] #content td, .nx-skin[data-nx-theme="cyber"] #content th{
  border-style:none none solid none !important;
  border-bottom:1px solid rgba(157,255,60,.22) !important;
}
/* 見出しセル：大文字＋字間＋テーマ色＝システム画面のカラムヘッダ風 */
.nx-skin[data-nx-theme="cyber"].nx-dark #content-box th, .nx-skin[data-nx-theme="cyber"].nx-dark #content th{
  color:var(--nx-primary) !important; text-transform:uppercase; letter-spacing:2px;
  border-bottom:2px solid rgba(157,255,60,.55) !important;
}
/* 行ホバーでスキャン発光（データを“走査”している感） */
.nx-skin[data-nx-theme="cyber"] #content-box tr:hover td, .nx-skin[data-nx-theme="cyber"] #content tr:hover td{
  background:rgba(157,255,60,.07) !important;
}
/* 見出しバー右端に技術ラベル（装飾・たまにフリッカー） */
.nx-skin[data-nx-theme="cyber"] .info_titile::after,
.nx-skin[data-nx-theme="cyber"] #pagewrap h1::after{
  content:"//SYS.LOG_"; position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-family:'Orbitron',monospace; font-size:10px; letter-spacing:3px;
  color:var(--nx-primary); opacity:.5; pointer-events:none;
  animation:nx-cyber-flicker 7s linear infinite;
}
@keyframes nx-cyber-flicker{ 0%,91%,100%{ opacity:.5; } 92%{ opacity:.15; } 94%{ opacity:.45; } 96%{ opacity:.2; } }
/* ページ四隅のコーナーブラケット（技術図面フレーム） */
.nx-skin[data-nx-theme="cyber"] body:not(#bodymap) #pagewrap{ position:relative; }
.nx-skin[data-nx-theme="cyber"] body:not(#bodymap) #pagewrap::after{
  content:""; position:absolute; inset:10px; pointer-events:none; z-index:5; opacity:.55;
  background:
    linear-gradient(var(--nx-primary),var(--nx-primary)) left 0 top 0/26px 2px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) left 0 top 0/2px 26px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) right 0 top 0/26px 2px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) right 0 top 0/2px 26px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) left 0 bottom 0/26px 2px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) left 0 bottom 0/2px 26px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) right 0 bottom 0/26px 2px,
    linear-gradient(var(--nx-primary),var(--nx-primary)) right 0 bottom 0/2px 26px;
  background-repeat:no-repeat;
}
/* ポイント数値の後ろにターミナルカーソル */
.nx-skin[data-nx-theme="cyber"] .points-value::after{
  content:"_"; margin-left:2px; color:var(--nx-primary); animation:nx-cursor-blink 1.1s steps(2) infinite;
}
@keyframes nx-cursor-blink{ 0%,49%{ opacity:1; } 50%,100%{ opacity:0; } }

/* ── 🔵 ブルーHUD：動きのある計器盤 ─────────────────────────────
   走査線がページをゆっくり縦断＋外枠の発光が“呼吸”＋見出しにレーダー風ブラケット。
   背景FX＝電子回路基板（JS fxIronman：配線＋ノード＋電気パルス）。 */
.nx-skin[data-nx-theme="ironman"] #nx-fx>canvas{ opacity:.75; }
.nx-skin[data-nx-theme="ironman"] body:not(#bodymap) #pagewrap{
  position:relative;
  animation:nx-hud-breathe 5.5s ease-in-out infinite;
}
@keyframes nx-hud-breathe{
  0%,100%{ box-shadow:0 0 30px rgba(56,189,248,.18), 0 0 0 1px rgba(56,189,248,.22); }
  50%{ box-shadow:0 0 48px rgba(56,189,248,.34), 0 0 0 1px rgba(56,189,248,.45); }
}
.nx-skin[data-nx-theme="ironman"] body:not(#bodymap) #pagewrap::after{
  content:""; position:absolute; left:0; right:0; top:-12%; height:90px; pointer-events:none; z-index:5;
  background:linear-gradient(to bottom, transparent, rgba(56,189,248,.07) 42%, rgba(56,189,248,.2) 50%, rgba(56,189,248,.07) 58%, transparent);
  animation:nx-hud-sweep 8s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes nx-hud-sweep{ 0%{ top:-12%; } 65%{ top:104%; } 100%{ top:104%; } }
/* 見出しバー右にターゲット・ブラケット（明滅） */
.nx-skin[data-nx-theme="ironman"] .info_titile::after,
.nx-skin[data-nx-theme="ironman"] #pagewrap h1::after{
  content:""; position:absolute; right:10px; top:8px; bottom:8px; width:26px; pointer-events:none;
  border-top:2px solid rgba(56,189,248,.75); border-right:2px solid rgba(56,189,248,.75);
  animation:nx-hud-wink 2.6s ease-in-out infinite;
}
@keyframes nx-hud-wink{ 0%,100%{ opacity:.3; } 50%{ opacity:.9; } }

/* ── 🎮 ドットRPG：コマンドウィンドウ ───────────────────────────
   サブメニュー＝コマンド選択（hoverで「▶」点滅）、見出し＝メッセージ窓（右端に「▼」）。 */
.nx-skin[data-nx-theme="rpg"] .linkbox a{ position:relative; padding-left:26px !important; }
.nx-skin[data-nx-theme="rpg"] .linkbox a::before{
  content:"▶"; position:absolute; left:6px; top:50%; transform:translateY(-50%);
  font-size:11px; color:var(--nx-primary); opacity:0;
}
.nx-skin[data-nx-theme="rpg"] .linkbox a:hover::before{ opacity:1; animation:nx-cursor-blink .9s steps(2) infinite; }
.nx-skin[data-nx-theme="rpg"] .info_titile::after,
.nx-skin[data-nx-theme="rpg"] #pagewrap h1::after{
  content:"▼"; position:absolute; right:12px; top:50%;
  font-size:11px; color:currentColor; pointer-events:none;
  animation:nx-rpg-bob 1s steps(2) infinite;
}
@keyframes nx-rpg-bob{ 0%,49%{ transform:translateY(-50%); } 50%,100%{ transform:translateY(calc(-50% + 3px)); } }
/* 表の見出しセルは勇者の金色 */
.nx-skin[data-nx-theme="rpg"].nx-dark #content-box th, .nx-skin[data-nx-theme="rpg"].nx-dark #content th{
  color:var(--nx-primary) !important;
}

/* ── 🎀 明テーマ群：立体ボタン＆質感（クレイ／グラス／ニューモーフィズム） ──
   参考＝クレイモーフィズム(パステル粘土3D)・ニューモーフィズム(押し出し)・リキッドグラス。
   色はWCAG調整済みの既存トークンのまま、影とハイライトだけで立体感を出す。 */
/* 共通：押せる物は「浮いていて、押すと沈む」 */
.nx-skin .btn--top, .nx-skin a.btn--top, .nx-skin #pagewrap #login .button a{ position:relative; overflow:hidden; }
.nx-skin .btn--top:active, .nx-skin a.btn--top:active,
.nx-skin #pagewrap #login .button a:active{
  transform:translateY(1px) scale(.97) !important;
  box-shadow:0 2px 6px rgba(0,0,0,.18) !important;
}
/* クレイ（粘土のぷにぷに）＝桜/フェミニン/癒し系/ナチュラル：
   上面の照り＋下面の厚み影＋テーマ色のソフトな落ち影。hoverで弾むように浮く */
.nx-skin[data-nx-theme="sakura"] .btn--top, .nx-skin[data-nx-theme="feminine"] .btn--top,
.nx-skin[data-nx-theme="relax"] .btn--top, .nx-skin[data-nx-theme="nature"] .btn--top,
.nx-skin[data-nx-theme="sakura"] #pagewrap #login .button a, .nx-skin[data-nx-theme="feminine"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="relax"] #pagewrap #login .button a, .nx-skin[data-nx-theme="nature"] #pagewrap #login .button a{
  border-radius:999px !important;
  box-shadow:inset 0 2px 4px rgba(255,255,255,.7), inset 0 -3px 5px rgba(0,0,0,.12), 0 8px 18px -6px rgba(0,0,0,.22), 0 3px 6px rgba(0,0,0,.08) !important;
  box-shadow:inset 0 2px 4px rgba(255,255,255,.7), inset 0 -3px 5px rgba(0,0,0,.12), 0 8px 18px -6px color-mix(in srgb, var(--nx-primary) 55%, transparent), 0 3px 6px rgba(0,0,0,.08) !important;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1), box-shadow .28s !important;
}
.nx-skin[data-nx-theme="sakura"] .btn--top:hover, .nx-skin[data-nx-theme="feminine"] .btn--top:hover,
.nx-skin[data-nx-theme="relax"] .btn--top:hover, .nx-skin[data-nx-theme="nature"] .btn--top:hover,
.nx-skin[data-nx-theme="sakura"] #pagewrap #login .button a:hover, .nx-skin[data-nx-theme="feminine"] #pagewrap #login .button a:hover,
.nx-skin[data-nx-theme="relax"] #pagewrap #login .button a:hover, .nx-skin[data-nx-theme="nature"] #pagewrap #login .button a:hover{
  transform:translateY(-2px) scale(1.04);
}
/* クレイ：見出しバーとカードも角を深く＝柔らかい世界観に統一 */
.nx-skin[data-nx-theme="sakura"] .info_titile, .nx-skin[data-nx-theme="sakura"] #pagewrap h1,
.nx-skin[data-nx-theme="feminine"] .info_titile, .nx-skin[data-nx-theme="feminine"] #pagewrap h1,
.nx-skin[data-nx-theme="relax"] .info_titile, .nx-skin[data-nx-theme="relax"] #pagewrap h1,
.nx-skin[data-nx-theme="nature"] .info_titile, .nx-skin[data-nx-theme="nature"] #pagewrap h1{
  border-radius:18px;
  box-shadow:inset 0 1px 3px rgba(255,255,255,.8), 0 4px 12px -4px rgba(0,0,0,.1);
}
/* グラス（リキッドグラスv2）＝ビューティ/パープル：磨りガラスの透け感（半透明白＋backdrop-blur）
   ＋白いリム＋テーマ色のソフトグロー。文字は濃色固定＝磨りガラス白地に濃文字で可読性を確保（参考画像準拠）。
   対象＝お買い物/ログイン/フッター(会社概要・ログオフ)/ポイント移動の全ボタン */
.nx-skin[data-nx-theme="beauty"] .btn--top, .nx-skin[data-nx-theme="purple"] .btn--top,
.nx-skin[data-nx-theme="beauty"] #pagewrap #login .button a, .nx-skin[data-nx-theme="purple"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="beauty"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="purple"] #pagewrap #footer_nav a,
.nx-skin[data-nx-theme="beauty"] #gomovepoint_btn, .nx-skin[data-nx-theme="purple"] #gomovepoint_btn{
  position:relative; overflow:hidden;
  background:rgba(255,255,255,.42) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.5); backdrop-filter:blur(14px) saturate(1.5);
  border:1px solid rgba(255,255,255,.9) !important;
  border-radius:999px !important;
  text-shadow:0 1px 0 rgba(255,255,255,.65) !important;
  transition:transform .2s, box-shadow .25s;
}
.nx-skin[data-nx-theme="beauty"] .btn--top, .nx-skin[data-nx-theme="beauty"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="beauty"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="beauty"] #gomovepoint_btn{
  color:#3c2937 !important; -webkit-text-fill-color:#3c2937 !important;
  box-shadow:0 10px 26px -8px rgba(197,149,171,.6), 0 0 0 4px rgba(255,255,255,.28), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -8px 14px -8px rgba(197,149,171,.45) !important;
}
.nx-skin[data-nx-theme="purple"] .btn--top, .nx-skin[data-nx-theme="purple"] #pagewrap #login .button a,
.nx-skin[data-nx-theme="purple"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="purple"] #gomovepoint_btn{
  color:#3d2a66 !important; -webkit-text-fill-color:#3d2a66 !important;
  box-shadow:0 10px 26px -8px rgba(124,58,237,.45), 0 0 0 4px rgba(255,255,255,.28), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -8px 14px -8px rgba(124,58,237,.35) !important;
}
.nx-skin[data-nx-theme="beauty"] .btn--top:hover, .nx-skin[data-nx-theme="purple"] .btn--top:hover,
.nx-skin[data-nx-theme="beauty"] #pagewrap #footer_nav a:hover, .nx-skin[data-nx-theme="purple"] #pagewrap #footer_nav a:hover,
.nx-skin[data-nx-theme="beauty"] #gomovepoint_btn:hover, .nx-skin[data-nx-theme="purple"] #gomovepoint_btn:hover{
  transform:translateY(-1px);
}
/* フッター/ポイント移動ボタンにも光走り */
.nx-skin[data-nx-theme="beauty"] #pagewrap #footer_nav a::before, .nx-skin[data-nx-theme="purple"] #pagewrap #footer_nav a::before,
.nx-skin[data-nx-theme="beauty"] #gomovepoint_btn::before, .nx-skin[data-nx-theme="purple"] #gomovepoint_btn::before{
  content:""; position:absolute; top:0; bottom:0; left:-80%; width:55%; pointer-events:none;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.7), transparent);
  transform:skewX(-20deg);
}
.nx-skin[data-nx-theme="beauty"] #pagewrap #footer_nav a:hover::before, .nx-skin[data-nx-theme="purple"] #pagewrap #footer_nav a:hover::before,
.nx-skin[data-nx-theme="beauty"] #gomovepoint_btn:hover::before, .nx-skin[data-nx-theme="purple"] #gomovepoint_btn:hover::before{
  animation:nx-glass-sweep .9s ease;
}
.nx-skin[data-nx-theme="beauty"] .btn--top::before, .nx-skin[data-nx-theme="purple"] .btn--top::before,
.nx-skin[data-nx-theme="beauty"] #pagewrap #login .button a::before, .nx-skin[data-nx-theme="purple"] #pagewrap #login .button a::before,
.nx-skin[data-nx-theme="vip"] .btn--top::before, .nx-skin[data-nx-theme="vip"] #pagewrap #login .button a::before{
  content:""; position:absolute; top:0; bottom:0; left:-80%; width:55%; pointer-events:none;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.6), transparent);
  transform:skewX(-20deg);
}
.nx-skin[data-nx-theme="beauty"] .btn--top:hover::before, .nx-skin[data-nx-theme="purple"] .btn--top:hover::before,
.nx-skin[data-nx-theme="beauty"] #pagewrap #login .button a:hover::before, .nx-skin[data-nx-theme="purple"] #pagewrap #login .button a:hover::before{
  animation:nx-glass-sweep .9s ease;
}
@keyframes nx-glass-sweep{ to{ left:130%; } }
/* ニューモーフィズム＝VIP/オーガニック：明面から押し出された柔らかな凹凸（2方向影） */
.nx-skin[data-nx-theme="vip"] .ptmovearea, .nx-skin[data-nx-theme="vip"] .linkbox,
.nx-skin[data-nx-theme="vip"] #gomovepoint_btn{
  border-color:transparent !important;
  box-shadow:6px 6px 14px rgba(135,83,37,.14), -6px -6px 14px rgba(255,255,255,.9), inset 0 0 0 1px rgba(255,255,255,.5) !important;
}
.nx-skin[data-nx-theme="organic"] .ptmovearea, .nx-skin[data-nx-theme="organic"] .linkbox,
.nx-skin[data-nx-theme="organic"] #gomovepoint_btn{
  border-color:transparent !important;
  box-shadow:6px 6px 14px rgba(31,78,37,.16), -6px -6px 14px rgba(255,255,255,.85), inset 0 0 0 1px rgba(255,255,255,.45) !important;
}
/* VIP：金の艶が数秒おきにボタンを流れる（高級時計のリューズ感） */
.nx-skin[data-nx-theme="vip"] .btn--top::before, .nx-skin[data-nx-theme="vip"] #pagewrap #login .button a::before{
  animation:nx-gold-sheen 6s ease-in-out infinite;
}
@keyframes nx-gold-sheen{ 0%{ left:-80%; } 16%{ left:130%; } 100%{ left:130%; } }
/* オーガニック好評につき展開（260610）：他のライトテーマにも「面から浮いた」2方向影カードを。
   影の色は color-mix でテーマ色が自動で混ざる（非対応ブラウザは無彩色フォールバック） */
.nx-skin[data-nx-theme="sakura"] .ptmovearea, .nx-skin[data-nx-theme="sakura"] .linkbox,
.nx-skin[data-nx-theme="feminine"] .ptmovearea, .nx-skin[data-nx-theme="feminine"] .linkbox,
.nx-skin[data-nx-theme="relax"] .ptmovearea, .nx-skin[data-nx-theme="relax"] .linkbox,
.nx-skin[data-nx-theme="nature"] .ptmovearea, .nx-skin[data-nx-theme="nature"] .linkbox,
.nx-skin[data-nx-theme="beauty"] .ptmovearea, .nx-skin[data-nx-theme="beauty"] .linkbox,
.nx-skin[data-nx-theme="purple"] .ptmovearea, .nx-skin[data-nx-theme="purple"] .linkbox{
  border-color:transparent !important;
  box-shadow:6px 6px 14px rgba(0,0,0,.10), -6px -6px 14px rgba(255,255,255,.9), inset 0 0 0 1px rgba(255,255,255,.5) !important;
  box-shadow:6px 6px 14px color-mix(in srgb, var(--nx-primary) 16%, rgba(0,0,0,.05)), -6px -6px 14px rgba(255,255,255,.9), inset 0 0 0 1px rgba(255,255,255,.5) !important;
}
/* クレイ系のフッター(会社概要/ログオフ)＆ポイント移動ボタンも粘土の立体ピルに */
.nx-skin[data-nx-theme="sakura"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="feminine"] #pagewrap #footer_nav a,
.nx-skin[data-nx-theme="relax"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="nature"] #pagewrap #footer_nav a,
.nx-skin[data-nx-theme="sakura"] #gomovepoint_btn, .nx-skin[data-nx-theme="feminine"] #gomovepoint_btn,
.nx-skin[data-nx-theme="relax"] #gomovepoint_btn, .nx-skin[data-nx-theme="nature"] #gomovepoint_btn{
  border-radius:999px !important; border-color:transparent !important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.85), inset 0 -2px 4px rgba(0,0,0,.08), 0 5px 12px -4px rgba(0,0,0,.18) !important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.85), inset 0 -2px 4px rgba(0,0,0,.08), 0 5px 12px -4px color-mix(in srgb, var(--nx-primary) 45%, rgba(0,0,0,.05)) !important;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1), box-shadow .28s, color .2s !important;
}
.nx-skin[data-nx-theme="sakura"] #pagewrap #footer_nav a:hover, .nx-skin[data-nx-theme="feminine"] #pagewrap #footer_nav a:hover,
.nx-skin[data-nx-theme="relax"] #pagewrap #footer_nav a:hover, .nx-skin[data-nx-theme="nature"] #pagewrap #footer_nav a:hover,
.nx-skin[data-nx-theme="sakura"] #gomovepoint_btn:hover, .nx-skin[data-nx-theme="feminine"] #gomovepoint_btn:hover,
.nx-skin[data-nx-theme="relax"] #gomovepoint_btn:hover, .nx-skin[data-nx-theme="nature"] #gomovepoint_btn:hover{
  transform:translateY(-2px);
}
/* VIP/オーガニックのフッターもニューモーフィズムに統一 */
.nx-skin[data-nx-theme="vip"] #pagewrap #footer_nav a{
  border-color:transparent !important;
  box-shadow:4px 4px 10px rgba(135,83,37,.15), -4px -4px 10px rgba(255,255,255,.9) !important;
}
.nx-skin[data-nx-theme="organic"] #pagewrap #footer_nav a{
  border-color:transparent !important;
  box-shadow:4px 4px 10px rgba(31,78,37,.16), -4px -4px 10px rgba(255,255,255,.85) !important;
}
/* ── 🤍 標準(red)：白ニューモーフィズム×赤アクセント（参考＝白UIキット・260610） ──
   グレー地(--nx-page #eef1f5)から白い面が押し出された質感。差し色は赤のまま。 */
.nx-skin[data-nx-theme="red"] .ptmovearea, .nx-skin[data-nx-theme="red"] .linkbox{
  background:#f3f5f9 !important; border-color:transparent !important;
  box-shadow:7px 7px 16px rgba(163,177,198,.45), -7px -7px 16px rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.6) !important;
}
.nx-skin[data-nx-theme="red"] .info_titile, .nx-skin[data-nx-theme="red"] #pagewrap h1{
  border-radius:14px;
  box-shadow:5px 5px 12px rgba(163,177,198,.35), -5px -5px 12px rgba(255,255,255,.9);
}
.nx-skin[data-nx-theme="red"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="red"] #gomovepoint_btn{
  background:#f3f5f9 !important; border-color:transparent !important; border-radius:999px !important;
  color:var(--nx-primary) !important; font-weight:700;
  box-shadow:5px 5px 12px rgba(163,177,198,.5), -5px -5px 12px rgba(255,255,255,.95) !important;
  transition:transform .2s, box-shadow .2s, color .2s !important;
}
.nx-skin[data-nx-theme="red"] #pagewrap #footer_nav a:hover, .nx-skin[data-nx-theme="red"] #gomovepoint_btn:hover{
  transform:translateY(-1px);
}
/* 赤のお買い物/ログインボタン＝赤グラデは保持し、白い面から浮き出るニューモーフィズム影に */
.nx-skin[data-nx-theme="red"] .btn--top, .nx-skin[data-nx-theme="red"] #pagewrap #login .button a{
  box-shadow:6px 6px 14px rgba(163,177,198,.55), -6px -6px 14px rgba(255,255,255,.9), inset 0 1px 0 rgba(255,255,255,.35) !important;
}
/* ── 🧡 オレンジ：インフォグラフィック（橙→桃→紫のグラデピル＋色つき浮き影・260610） ──
   参考＝カラフルなインフォグラフィックUI。主要ボタンは3色グラデ、カードは暖色の浮き影、丸み強め。
   白文字の可読性は薄暗幕(.25)＋text-shadowで担保（元の.34より軽くして色を見せる）。 */
.nx-skin[data-nx-theme="orange"] .btn--top, .nx-skin[data-nx-theme="orange"] .btn--top:hover,
.nx-skin[data-nx-theme="orange"] #pagewrap #login .button a{
  background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25)), linear-gradient(120deg,#ff9559,#ff5e8a 55%,#b07cf7) !important;
  border-radius:999px !important;
  box-shadow:0 10px 22px -8px rgba(255,94,138,.55), 0 4px 10px rgba(0,0,0,.08) !important;
}
.nx-skin[data-nx-theme="orange"] .ptmovearea, .nx-skin[data-nx-theme="orange"] .linkbox{
  border-color:transparent !important; border-radius:18px !important;
  box-shadow:0 12px 26px -10px rgba(255,140,80,.4), 0 3px 8px rgba(0,0,0,.05), inset 0 0 0 1px rgba(255,255,255,.6) !important;
}
.nx-skin[data-nx-theme="orange"] .info_titile, .nx-skin[data-nx-theme="orange"] #pagewrap h1{ border-radius:999px; }
.nx-skin[data-nx-theme="orange"] #pagewrap #footer_nav a, .nx-skin[data-nx-theme="orange"] #gomovepoint_btn{
  background:#ffffff !important; border-color:transparent !important; border-radius:999px !important;
  color:#d14a1f !important; font-weight:700;
  box-shadow:0 6px 14px -5px rgba(255,120,80,.45), 0 2px 5px rgba(0,0,0,.06) !important;
  transition:transform .2s, box-shadow .2s !important;
}
.nx-skin[data-nx-theme="orange"] #pagewrap #footer_nav a:hover, .nx-skin[data-nx-theme="orange"] #gomovepoint_btn:hover{
  transform:translateY(-2px);
}

/* 動きを抑える設定の利用者には深化レイヤーの動きを全停止（装飾は静止表示） */
@media (prefers-reduced-motion: reduce){
  .nx-skin[data-nx-theme="cyber"] .info_titile::after,
  .nx-skin[data-nx-theme="cyber"] #pagewrap h1::after,
  .nx-skin[data-nx-theme="cyber"] .points-value::after,
  .nx-skin[data-nx-theme="ironman"] body:not(#bodymap) #pagewrap,
  .nx-skin[data-nx-theme="ironman"] .info_titile::after,
  .nx-skin[data-nx-theme="ironman"] #pagewrap h1::after,
  .nx-skin[data-nx-theme="rpg"] .linkbox a:hover::before,
  .nx-skin[data-nx-theme="rpg"] .info_titile::after,
  .nx-skin[data-nx-theme="rpg"] #pagewrap h1::after,
  .nx-skin[data-nx-theme="beauty"] .btn--top:hover::before, .nx-skin[data-nx-theme="purple"] .btn--top:hover::before,
  .nx-skin[data-nx-theme="beauty"] #pagewrap #login .button a:hover::before, .nx-skin[data-nx-theme="purple"] #pagewrap #login .button a:hover::before,
  .nx-skin[data-nx-theme="beauty"] #pagewrap #footer_nav a:hover::before, .nx-skin[data-nx-theme="purple"] #pagewrap #footer_nav a:hover::before,
  .nx-skin[data-nx-theme="beauty"] #gomovepoint_btn:hover::before, .nx-skin[data-nx-theme="purple"] #gomovepoint_btn:hover::before,
  .nx-skin[data-nx-theme="vip"] .btn--top::before, .nx-skin[data-nx-theme="vip"] #pagewrap #login .button a::before{ animation:none !important; }
  .nx-skin[data-nx-theme="ironman"] body:not(#bodymap) #pagewrap::after{ display:none; }
}

/* ── スマホ ────────────────────────────────────────────────── */
@media (max-width:600px){
  /* 深化レイヤーの右端装飾はスマホでは見出し文字に被りうるので隠す */
  .nx-skin[data-nx-theme="cyber"] .info_titile::after, .nx-skin[data-nx-theme="cyber"] #pagewrap h1::after,
  .nx-skin[data-nx-theme="ironman"] .info_titile::after, .nx-skin[data-nx-theme="ironman"] #pagewrap h1::after{ display:none; }
  /* スマホでレガシーが #sub_nav のリンク（組織図/状況のサブメニュー）を白ボタン化し、暗テーマで
     白地に淡いテーマ色文字＝読めなくなる（リジョン指摘260611）。PC同様に暗いまま＋テーマ色文字に。 */
  .nx-skin.nx-dark #sub_nav a, .nx-skin.nx-dark #sub_nav a:link, .nx-skin.nx-dark #sub_nav a:visited,
  .nx-skin.nx-dark #sub_nav li, .nx-skin.nx-dark #sub_nav ul{
    background:transparent !important; background-image:none !important;
  }
  .nx-skin.nx-dark #sub_nav a{ border:1px solid var(--nx-border) !important; }
  .nx-skin.nx-dark #sub_nav a, .nx-skin.nx-dark #sub_nav a *{ color:var(--nx-primary) !important; -webkit-text-fill-color:var(--nx-primary) !important; }
  .nx-skin body{ padding:0; overflow-x:hidden; }
  /* 組織図(#bodymap)は「ページ全体を横スクロール」する設計。overflow-x:hidden で横スクロールを殺さない */
  .nx-skin #bodymap{ overflow-x:visible !important; }
  .nx-skin #pagewrap{ border-radius:0; }
  /* レガシーの固定幅レイアウト(width:980px等)をスマホで解除し、画面幅に追従させる＝横はみ出し防止 */
  .nx-skin #pagewrap, .nx-skin #header, .nx-skin #wellcome, .nx-skin #nav,
  .nx-skin #content-box, .nx-skin #content, .nx-skin #information, .nx-skin .linkbox{
    width:auto !important; min-width:0 !important; max-width:100% !important; box-sizing:border-box !important;
  }
  .nx-skin #header{ padding:12px 16px; flex-wrap:wrap; }
  .nx-skin #header>img{ height:32px; }
  .nx-skin .sinbtn{ position:static; width:auto; max-width:none; margin-left:auto; top:auto; left:auto; }
  .nx-skin .btn--top, .nx-skin a.btn--top{ padding:8px 14px; font-size:13px; }
  .nx-skin #wellcome{ padding:10px 14px; font-size:12px; }
  .nx-skin #nav{ padding:8px 6px; }
  .nx-skin #main-nav{ gap:2px; }
  .nx-skin #main-nav>li>a{ min-width:62px; padding:8px 6px; font-size:11px; gap:4px; }
  .nx-skin #main-nav>li>a::before{ font-size:22px; }
  .nx-skin #content-box{ padding:16px; }
  .nx-skin .ptmovearea p{ flex-direction:column; align-items:flex-start; }
  .nx-skin #nx-dock{ padding:10px 12px calc(8px + env(safe-area-inset-bottom,0px)); }
  .nx-skin #nx-dock-themes{ gap:10px; }
  .nx-skin .nx-theme-dot{ width:31px; height:31px; border-radius:10px; }
  .nx-skin .nx-dock-copy{ font-size:10px; }
}
