/*
Theme Name: reoreo
Theme URI: https://nowripa.jp/
Description: NOWRIPA（オンラインオリパ）用の Astra 子テーマ。
Template: astra
Author: Global Step
Version: 1.0.0
Text Domain: reoreo
*/

/* メインページのトップにマージンを追加 */
main {
    margin-top:40px;
}
.page-id-3 .site-content,
.page-id-493 .site-content,
.page-id-1565 .site-content {
    padding-left: 8px !important;
    padding-right: 4px !important;
}

@media(min-width:720px){
	.gacha-item{
	margin-bottom:30px;
	}
}
.custom-logo {
    overflow: hidden; /* 画像の余分な部分を隠す */
    width: 100px; /* 必要に応じてサイズを調整 */
    height: 100px; /* 必要に応じてサイズを調整 */
    object-fit: cover; /* 画像を中央に収める */
}


.ast-container{
   padding-bottom:0px !important;
   padding-top:0px !important;
}



.site-branding.ast-site-identity {
	padding-top:0px;
}



/* =====================
   taiwangacha header
===================== */
.taiwangacha-header{
  background:linear-gradient(135deg, #0f0a2a 0%, #1e1b4b 100%);
  border-bottom:1px solid rgba(109,40,217,0.3);
  box-shadow:0 4px 20px rgba(0,0,0,0.4);
  position:sticky;
  top:0;
  z-index:9990;
}
.taiwangacha-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
}
.taiwangacha-header__logo{
  font-weight:900;
  font-size:28px;
  text-decoration:none;
  color:#fff !important;
  line-height:1;
  letter-spacing:-0.02em;
  text-shadow:0 0 20px rgba(109,40,217,0.3);
}
.taiwangacha-header__right{
  display:flex;
  align-items:center;
  gap:10px;
}

/* buttons */
.taiwangacha-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 18px;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  font-size:14px;
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  transform: scale(1);
  cursor: pointer;
}

.taiwangacha-btn:active {
  transform: scale(0.94) !important;
}

/* Ghost Button */
.taiwangacha-btn--ghost {
  border: 1.5px solid rgba(255,255,255,0.5);
  color: #fff !important;
  background: transparent;
}
.taiwangacha-btn--ghost:hover {
  background: rgba(255,255,255,0.1);
  color: #fff !important;
  border-color: #fff;
  box-shadow: 0 4px 15px rgba(255,255,255,0.1);
  transform: translateY(-1px);
}

/* Solid Button */
.taiwangacha-btn--solid {
  border: none;
  color: #fff !important;
  background: linear-gradient(135deg, #6d28d9 0%, #a855f7 100%);
  box-shadow: 0 3px 12px rgba(109,40,217,0.4);
}
.taiwangacha-btn--solid:hover {
  background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
  box-shadow: 0 6px 20px rgba(109,40,217,0.5);
  transform: translateY(-2px);
}
.taiwangacha-btn--solid:active {
  background: #4c1d95;
  box-shadow: 0 1px 4px rgba(109,40,217,0.3);
  transform: scale(0.94) translateY(0);
}

/* points button + dropdown */
.taiwangacha-points{
  position:relative;
  display:flex;
  align-items:center;
}
.taiwangacha-pointbtn{
  display:inline-flex;
  align-items:center;
  height:36px;
  border:1px solid rgba(109,40,217,0.4);
  background:linear-gradient(135deg, #6d28d9 0%, #a855f7 100%);
  color:#fff;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  padding:5px;
  box-shadow:0 3px 12px rgba(109,40,217,0.4);
  transition:all 0.2s ease;
}
.taiwangacha-pointbtn__star{ padding:0 10px; }

.taiwangacha-pointbtn__plus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  font-size:18px;
  font-weight:900;
}
.taiwangacha-pointmenu{
  position:absolute;
  top:44px;
  right:0;
  min-width:190px;
  background:#1e1b4b;
  border:1px solid rgba(109,40,217,0.3);
  border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,0.5);
  display:none;
  padding:6px;
  z-index:9999;
}
.taiwangacha-pointmenu.is-open{ display:block; }
.taiwangacha-pointmenu__item{
  display:block;
  padding:10px 14px;
  border-radius:8px;
  text-decoration:none;
  color:rgba(255,255,255,0.85) !important;
  font-weight:800;
  font-size:14px;
  transition:all 0.15s ease;
}
.taiwangacha-pointmenu__item:hover{
  background:rgba(109,40,217,0.2);
  color:#ec4899 !important;
}

/* hamburger */
.taiwangacha-hamburger{
  width:42px;
  height:36px;
  border:0;
  background-color: transparent !important;
  cursor:pointer;
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  box-shadow: none;
  padding: 8px;
}
.taiwangacha-hamburger span{
  display:block;
  height:2px;
  background:#fff !important;
  border-radius:2px;
  color:#fff !important;
  width: 100% !important;
  transition: all 0.2s ease;
}

header .taiwangacha-hamburger span,
.taiwangacha-header .taiwangacha-hamburger span {
  background-color: #fff !important;
  background: #fff !important;
}

/* =====================
   Drawer (Dark Design)
===================== */
.taiwangacha-drawer {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 10000;
}
.taiwangacha-drawer.is-open {
  display: block;
}

/* オーバーレイ */
.taiwangacha-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  animation: taiwangachaFadeIn 0.3s ease;
}

/* ドロワーパネル本体 */
.taiwangacha-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(380px, 85vw);
  height: 100%;
  background: linear-gradient(180deg, #14123a 0%, #0b0a1f 100%);
  padding: 20px;
  overflow-y: auto;
  box-shadow: -8px 0 40px rgba(0,0,0,0.5);
  display: flex;
  flex-direction: column;
  animation: taiwangachaSlideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 閉じるボタン */
.taiwangacha-drawer__close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: rgba(255,255,255,0.7);
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.2s ease;
}
.taiwangacha-drawer__close:hover {
  background: #6d28d9;
  border-color: #6d28d9;
  color: #fff;
}

/* トップエリア（会員情報カード） */
.taiwangacha-drawer__top {
  margin-top: 50px;
  background: rgba(255,255,255,0.04);
  border-radius: 16px;
  padding: 20px;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}

/* 会員ランクボックス */
.taiwangacha-rankbox {
  background: transparent;
  border-radius: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-bottom: 15px;
}
.taiwangacha-rankbox__rank {
  font-weight: 900;
  color: #ec4899;
  font-size: 24px;
  letter-spacing: 0.05em;
}
.taiwangacha-rankbox__meta {
  font-weight: 500;
  color: rgba(255,255,255,0.45);
  font-size: 11px;
  text-align: right;
  line-height: 1.4;
}

/* ポイント表示 */
.taiwangacha-drawer__pt {
  margin-top: 0;
  background: linear-gradient(135deg, #6d28d9 0%, #a855f7 100%);
  color: #fff;
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 4px 15px rgba(109,40,217,0.3);
}
.taiwangacha-drawer__ptlabel {
  font-size: 12px;
  font-weight: 700;
  opacity: 0.9;
}
.taiwangacha-drawer__ptvalue {
  font-size: 18px;
  font-weight: 900;
}

/* メニューリスト */
.taiwangacha-drawer__menu {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* メニューアイテム */
.taiwangacha-drawer__item {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 16px 20px;
  text-decoration: none;
  color: rgba(255,255,255,0.85) !important;
  font-weight: 700;
  font-size: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s ease;
  box-shadow: none;
}

/* ホバー */
.taiwangacha-drawer__item:hover {
  background: rgba(109,40,217,0.15);
  border-color: rgba(109,40,217,0.3);
  transform: translateX(4px);
  box-shadow: none;
  color: #ec4899 !important;
}

/* 矢印アイコン */
.taiwangacha-drawer__item::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid rgba(255,255,255,0.25);
  border-right: 2px solid rgba(255,255,255,0.25);
  transform: rotate(45deg);
  transition: all 0.2s;
  flex-shrink: 0;
}
.taiwangacha-drawer__item:hover::after {
  border-color: #ec4899;
  transform: rotate(45deg) translateX(2px);
}

/* ログアウトボタン */
.taiwangacha-drawer__item--logout {
  margin-top: 20px;
  background: transparent;
  border: 0;
  color: rgba(255,255,255,0.35) !important;
  font-weight: 600;
  font-size: 13px;
  justify-content: center;
  box-shadow: none;
}
.taiwangacha-drawer__item--logout:hover {
  background: rgba(255,255,255,0.05);
  transform: none;
  color: rgba(255,255,255,0.6) !important;
  box-shadow: none;
}
.taiwangacha-drawer__item--logout::after {
  display: none;
}

/* アニメーション */
@keyframes taiwangachaFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes taiwangachaSlideIn {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

@media (max-width: 768px){
  .taiwangacha-header__logo{ font-size:24px; }
  .taiwangacha-header__inner{ padding:12px 14px; }
}

@media (min-width:1024px) {
  .taiwangacha-header__inner{
    padding:14px 48px;
  }
}

@media (max-width: 550px){
  .taiwangacha-header__logo{ font-size:20px; }
  .taiwangacha-btn{
    font-size:12px;
    height:32px;
    padding:0 12px;
  }
  .taiwangacha-header__inner{ padding:10px 12px; }
}



/* =====================
   Rank Colors
===================== */

/* デフォルト（BEGINNER） & 共通変数 */
.taiwangacha-drawer__panel {
  --rank-text: #ec4899;
  --rank-bg-start: #6d28d9;
  --rank-bg-end: #a855f7;
}

/* BRONZE: 銅色 */
.taiwangacha-drawer__panel[data-rank="bronze"] {
  --rank-text: #d48c56;
  --rank-bg-start: #a05822;
  --rank-bg-end: #d48c56;
}

/* SILVER: 銀色 */
.taiwangacha-drawer__panel[data-rank="silver"] {
  --rank-text: #90a4ae;
  --rank-bg-start: #607d8b;
  --rank-bg-end: #90a4ae;
}

/* GOLD: ゴールド */
.taiwangacha-drawer__panel[data-rank="gold"] {
  --rank-text: #fdd835;
  --rank-bg-start: #d4af37;
  --rank-bg-end: #fdd835;
}

/* PLATINUM: プラチナ */
.taiwangacha-drawer__panel[data-rank="platinum"] {
  --rank-text: #b0bec5;
  --rank-bg-start: #78909c;
  --rank-bg-end: #b0bec5;
}

/* DIAMOND: シアン */
.taiwangacha-drawer__panel[data-rank="diamond"] {
  --rank-text: #4dd0e1;
  --rank-bg-start: #00bcd4;
  --rank-bg-end: #4dd0e1;
}

/* MASTER: 紫 */
.taiwangacha-drawer__panel[data-rank="master"] {
  --rank-text: #e91e63;
  --rank-bg-start: #7b1fa2;
  --rank-bg-end: #e91e63;
}

/* LEGEND: 黒×ゴールド */
.taiwangacha-drawer__panel[data-rank="legend"] {
  --rank-text: #d4af37;
  --rank-bg-start: #212121;
  --rank-bg-end: #424242;
}


/* =====================
   適用設定
===================== */

/* 1. ランク名の文字色 */
.taiwangacha-rankbox__rank {
  color: var(--rank-text) !important;
}
.taiwangacha-drawer__panel[data-rank="legend"] .taiwangacha-rankbox__rank {
  background: linear-gradient(45deg, #d4af37, #fff8e1, #d4af37);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 2. 所持ポイントの背景色 */
.taiwangacha-drawer__pt {
  background: linear-gradient(135deg, var(--rank-bg-start) 0%, var(--rank-bg-end) 100%) !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  color: #fff;
}

/* LEGEND */
.taiwangacha-drawer__panel[data-rank="legend"] .taiwangacha-drawer__pt {
  border: 1px solid rgba(212,175,55,0.4);
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%) !important;
  color: #d4af37;
}

/* 3. ホバー時のカラー連動 */
.taiwangacha-drawer__item:hover {
  border-color: rgba(109,40,217,0.3) !important;
  color: var(--rank-text) !important;
}
.taiwangacha-drawer__item:hover::after {
  border-color: var(--rank-text) !important;
}



/* コイン画像 */
.taiwangacha-pointbtn__coin{
  width:30px;
  height:30px;
  object-fit:contain;
  margin:0 8px 0 10px;
  flex:0 0 auto;
  display:block;
}


/* Astraの button:hover / button:focus の色変更を無効化 */
button.taiwangacha-pointbtn,
button.taiwangacha-pointbtn:hover,
button.taiwangacha-pointbtn:focus,
button.taiwangacha-pointbtn:active,
button.taiwangacha-pointbtn:focus-visible{
  color: #fff !important;
  background: linear-gradient(135deg, #6d28d9 0%, #a855f7 100%) !important;
  border-color: rgba(109,40,217,0.4) !important;
  outline: none !important;
  box-shadow: 0 3px 12px rgba(109,40,217,0.4) !important;
}

button.taiwangacha-pointbtn:hover,
button.taiwangacha-pointbtn:focus-visible{
  filter: brightness(1.1) !important;
}
button.taiwangacha-pointbtn:active{
  filter: brightness(0.85) !important;
}

.history-modal-content h2{
  font-size: 24px !important;
  color: #1e1b4b !important;
  border-bottom:2px solid #6d28d9 !important;
}
.history-table th{
  background-color: #1e1b4b !important;
}
.history-table th, .history-table td{
  padding: 3px !important;
}
.history-table td:first-child {
    color: #6d28d9 !important;
}

/*トップページbutton*/
.wp-block-button .wp-block-button__link, .wp-block-search .wp-block-search__button, body .wp-block-file .wp-block-file__button{
   background: black;
   font-size:13px;
   display: inline-block;
   margin: -2px;
   text-align:center;
   padding:10px 10px;
   flex: 1 1 auto; /* フレックスアイテムとしての設定 */
   white-space: nowrap; /* テキストの折り返しを防止 */
}
/* 隙間をなくすための余白調整 */
p.has-text-align-left.gachatext {
    margin: 0; /* 段落の上下の余白を0に設定 */
    padding: 0; /* 段落のパディングを0に設定 */
}

/* 親要素の余白を調整する場合 */
.parent-element-selector {
    margin: 0; /* 親要素の余白を0に設定 */
    padding: 0; /* 親要素のパディングを0に設定 */
}



/* Contact Form 7 の文字色を白にする */
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select,
.wpcf7-form label{
    color: #000; 
}

.wpcf7-form input[type="submit"],
.wpcf7-form input[type="button"] {
    background: #6d28d9;
    color: #fff; /* ボタンの文字色を白に設定 */
    border: none; /* ボーダーを消去 */
    padding: 10px 20px; /* ボタンのパディングを調整 */
    border-radius: 5px; /* ボタンの角を丸くする */
    cursor: pointer; /* ホバー時にカーソルをポインタに変更 */
}

/* ボタンにホバー時のエフェクトを追加 */
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form input[type="button"]:hover {
    opacity: 0.9; /* 少し透明度を追加 */
}


/* 入力フィールドのフォーカス時の背景色を変更 */
input:focus, 
textarea:focus, 
select:focus {
    background-color: #eee !important; /* フォーカス時の背景色を変更 */
    color: #000 !important; /* テキストの色を白に設定 */
    border: 1px solid #fff !important; /* フォーカス時の境界線の色を白に設定 */
    outline: none !important; /* フォーカス時のアウトラインを削除 */
}

/* 特定のフォームフィールドに対してフォーカス時の背景色を変更 */
.wpcf7-form-control-wrap input:focus, 
.wpcf7-form-control-wrap textarea:focus, 
.wpcf7-form-control-wrap select:focus {
    background-color: #eee !important; /* フォーカス時の背景色を変更 */
    color: #000 !important; /* テキストの色を白に設定 */
    border: 1px solid #fff !important; /* フォーカス時の境界線の色を白に設定 */
    outline: none !important; /* フォーカス時のアウトラインを削除 */
}

/* その他の設定（必要に応じて調整） */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea {
    background-color: #eee; /* デフォルトの背景色を黒に設定 */
    color: #000; /* テキストの色を白に設定 */
    border: 1px solid #fff; /* 境界線の色を白に設定 */
}

/* Ultimate Memberページの文字色設定 */


/* WooCommerceページのボタンスタイル設定 */
body.woocommerce-page .button, 
body.woocommerce-page .btn, 
body.woocommerce-page input[type="submit"] {
    background: #6d28d9 !important;
    color: white !important;
    border: none !important;
}

/* ボタンのホバー効果 */
body.woocommerce-page .button:hover, 
body.woocommerce-page .btn:hover, 
body.woocommerce-page input[type="submit"]:hover {
    opacity: 0.8;
}


/* WooCommerceの表の背景を透明にしつつ文字が読みやすいように調整 */
body.woocommerce-page .woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-page .woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-page .woocommerce-account .woocommerce-MyAccount-navigation ul li,
body.woocommerce-page .woocommerce-Address-title,
body.woocommerce-page .woocommerce-Address {
 /* 背景を黒の半透明に設定 */
    padding: 10px !important;
    border-radius: 5px !important;
}

/* Ultimate Memberページのボタンスタイル設定 */
body.um-page .um-button, 
body.um-page .um-btn, 
body.um-page input[type="submit"] {
    background: #6d28d9 !important;
    color: white !important;
    border: none !important;
}

/* ボタンのホバー効果 */
body.um-page .um-button:hover, 
body.um-page .um-btn:hover, 
body.um-page input[type="submit"]:hover {
    opacity: 0.8;
}

/* Ultimate Memberページのフッタ（ヘッダは全ページ共通の #taiwangacha-header を使うため上書きしない） */
body.um-page .site-footer {
    background-color: #12122a !important;
}

/* Ultimate Memberの表の背景を透明にしつつ文字が読みやすいように調整 */
body.um-page .um-field, 
body.um-page .um-field-area, 
body.um-page .um-profile-body {
    padding: 10px !important;
    border-radius: 5px !important;
}

/*支払いの枠線*/
.woocommerce-message, .woocommerce-info {
 border-top-color: #6d28d9;
}
.woocommerce-message::before,.woocommerce-info::before{
 color: #6d28d9;
}
.Label{
 color: #333;
}

.woocommerce-cart-form__cart-item.cart_item {
	border-bottom: 1px solid #eee !important;
  padding: 10px;
  box-sizing: border-box;
}

/*請求先/お届け先住所*/
.woocommerce .woocommerce-Addresses .woocommerce-Address-title, .woocommerce .woocommerce-Addresses .woocommerce-column__title, .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title, .woocommerce .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce .woocommerce-customer-details .woocommerce-Address-title, .woocommerce .woocommerce-customer-details .woocommerce-column__title, .woocommerce-account .woocommerce-Addresses .woocommerce-Address-title, .woocommerce-account .woocommerce-Addresses .woocommerce-column__title, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce-account .woocommerce-customer-details .woocommerce-Address-title, .woocommerce-account .woocommerce-customer-details .woocommerce-column__title{
	background: #f7f7f9;
	border-radius: 8px;
	color: #1e1b4b !important;
	font-weight: 700;
}
/*支払方法*/
.woocommerce-js table.shop_table thead, .woocommerce-page table.shop_table thead {
    background-color: #f7f7f9;
}
/*決済方法追加*/
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box{
	background-color: #f7f7f9;
	border: 1px solid #eee;
	border-radius: 8px;
	color: #333;
}
/*お買い物カゴ*/
.woocommerce-cart .cart-collaterals .cart_totals>h2, .woocommerce-cart .cart-collaterals .cross-sells>h2{
	background-color: transparent;
	font-size: 20px !important;
	color: #1e1b4b !important;
	font-weight: 800 !important;
	border-bottom: 2px solid #6d28d9;
	padding-bottom: 10px;
}
/*お買い物カゴを更新を薄くなくするdisab*/
body.woocommerce-page .button:disabled,
body.woocommerce-page .button[disabled] {
    opacity: .5 !important;
    filter: none !important;
    background: #6d28d9 !important;
    cursor: not-allowed;
}


/*/*ログイン住所選択*/
.um-field .select2.select2-container .select2-selection, .um-search-filter .select2.select2-container .select2-selection{
	background-color:#eee;
}
.select2-search__field{
	display:none;
}

.select2-search--dropdown{
 padding:0px;
}
label, legend {
    color: #333;
}
/*支払い注文情報*/
.woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-column__title, .woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-order-details__title, .woocommerce.woocommerce-checkout .woocommerce-order h2.woocommerce-column__title, .woocommerce.woocommerce-checkout .woocommerce-order h2.woocommerce-order-details__title{
	background-color: transparent;
	color: #1e1b4b !important;
	font-weight: 800;
	border-bottom: 2px solid #6d28d9;
	padding-bottom: 8px;
}
/*ログインページ*/
.select2-container .select2-choice, .select2-container-multi .select2-choices, .um .um-form input[type=number], .um .um-form input[type=password], .um .um-form input[type=search], .um .um-form input[type=tel], .um .um-form input[type=text], .um .um-form textarea {
    background-color: #eee;
}
.select2-container .select2-choice:hover,
.select2-container-multi .select2-choices:hover,
.um .um-form input[type=number]:hover,
.um .um-form input[type=password]:hover,
.um .um-form input[type=search]:hover,
.um .um-form input[type=tel]:hover,
.um .um-form input[type=text]:hover,
.um .um-form textarea:hover {
    background-color: #f0f0f3 !important;
    color: #333 !important;
}

.woocommerce form.checkout_coupon .button{
  border-radius: 5px !important;
}


/* プレースホルダーテキストの色変更 */
.page-id-152 .um .um-form input::placeholder,
.page-id-152 .um .um-form textarea::placeholder {
  color: #ccc !important; /* ライトグレーのプレースホルダー */
}
/* ドロップダウンメニューの背景色とテキスト色変更 */
.page-id-152 .um-field .select2-container.select2-container--open .select2-dropdown .select2-results li,
.page-id-152 .um-search-filter .select2-container.select2-container--open .select2-dropdown .select2-results li {
  color: #333 !important;
}
.page-id-152 .select2-dropdown {
  background-color: #fff !important;
}
.page-id-152 .um-field .select2-dropdown .select2-results li.select2-results__option[aria-selected=true],
.page-id-152 .um-search-filter .select2-dropdown .select2-results li.select2-results__option[aria-selected=true] {
  background-color: #f7f7f9 !important;
}
.page-id-152 .um-field .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted,
.page-id-152 .um-search-filter .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted {
  background: #6d28d9 !important;
  color: #fff !important;
}

/*list-test*/
.ast-container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}


.gacha-prizes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; /* 左詰めに変更 */
  width: 60%; /* 横幅を60%に設定 */
  margin: 0 auto; /* 中央寄せ */
}
.gacha-prize-item {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  width: 100%; 
}
.gacha-prize-image {
  margin-right: 10px;
}

.gacha-prize-image img {
  width: 100px; /* 各画像のサイズを調整 */
  height: auto;
}

/* detail内サムネイル画像のサイズ調整 */
img[alt="ガチャサムネイル"] {
	width:100% !important;
  margin: auto;
  display: block;
}

.gacha-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 95%; /* 横幅を80%に */
  margin: 0 auto; 
}

.gacha-item {
  width: 100%; 
  margin-bottom: 20px;
  padding: 10px;
}

@media(min-width:800px){
.gacha-list {
    display: flex;
    flex-wrap: wrap; /* 子要素を折り返す */
    gap: 10px; /* 子要素の間に隙間を設ける */
}

.gacha-item {
    width: calc(50% - 10px); /* 2つを横並びにし、間の隙間を考慮する */
    box-sizing: border-box; /* パディングやボーダーを含む幅設定 */
	 border-radius: 15px;
	}
}


.gacha-content {
  border-radius: 10px;                     /* 角丸 */
  box-shadow: 0 4px 12px rgb(255 0 0 / 35%); /* ふわっと影 */
  overflow: hidden;                        /* 子要素の角も揃える */
  margin: 0 auto 32px;                     /* カード間の余白（任意） */
  transition: transform .15s;
  background: #000;
}


/*ガチャ画像*/
.gacha-thumbnail {
 flex: 5; 
 text-align: center;
 overflow: hidden;  /* 画像を切り取らない */
}
.gacha-thumbnail img {
  width: 100%; 
  height:auto;
  transition: transform 0.3s ease;
	border-radius: 10px 10px 0px 0px;            /* 上だけ丸く */
}
.gacha-thumbnail img:hover{
	transform:scale(1.05);
}

.gacha-details {
	flex: 1;
	display: flex;
  flex-direction: column;
}



.remaining-content{
	min-width:60%;
	padding: 5px;
}

/*残り数bar*/
/* ▼ 背景を持つラッパー要素 */
.remaining-bar-wrapper {
  background:#e0e0e0;
  width: 100%;
  height: 7px;
  /* 5px 上に移動 */
	border-radius: 5px;
  transform: translateY(-5px);
  position: relative;
	margin-top: 7px;
}

/* ▼ 実際のバー部分 */
.remaining-bar {
  background-color: #4CAF50;
  height: 100%;
  border-radius: 5px;
	border-color: #333;
}

/* 50%未満：黄色 */
.remaining-bar.is-mid{
  background-color: #ffc107 !important;
}

/* 20%以下：赤 */
.remaining-bar.is-low{
  background-color: #a855f7 !important;
}

/* 色変化を滑らかに（任意） */
.remaining-bar{
  transition: background-color .2s ease, background .2s ease;
}


/*ガチャるボタン*/
.gacha-button button {
	margin-right:2px;
	margin-left:2px;
  padding: 10px 15px;
  border: none;
  cursor: pointer;
  width:150px
}
/*Top残りやポイント*/
.remaining-info{
	display: flex;
  padding-left: 9px;
  padding-right:9px;
  justify-content: center;
	color:#ffffff;

}

.gacha-price-info{
	color:#ffffff;
	margin-right:5px;
	font-size:14px;
        white-space: nowrap;
}
@media(min-width:1030px){
	.gacha-price-info{
    font-size: 16px;
	}
}

@media(max-width:976px){
	 .gacha-button button{
       padding:11px 5px;
	}
}

/*ガチャリスト横幅など*/
@media(max-width:820px){
    .gacha-button button{

     padding:11px 5px;
	}
    .gacha-list{
		width:95%;
	}
	.remaining-info{
  padding-left: 12px;
  padding-right:12px;
}
}
@media(max-width:800px){
	.gacha-price-info{
    font-size: 20px;
    margin-top: 6px;
	}
}
@media(max-width:700px){
	.gacha-list{
		width:98%;
	}
	.remaining-info{
  padding-left: 7px;
  padding-right:7px;
		font-size:15px;
	}
}
@media(max-width:678px){
 .gacha-price-info {
    font-size: 17px;
    margin-top: 8px;
 }
}
@media(max-width:564px){
 .gacha-price-info {
    font-size: 15px;
    margin-top: 8px;
 }
}
/*一回が二段に*/
@media(max-width:496px){
 .gacha-price-info {
    font-size: 15px;
    margin-top: 8px;
 }
}
@media(max-width:400px){
 .gacha-price-info {
    font-size: 15px;
    margin-top: 8px;
 }
	.gacha-item {
    width: 100%;
    margin-bottom: 20px;
    padding: 5px;
	}
}
@media(max-width:335px){
 .gacha-price-info {
    font-size: 13px;
    margin-top: 8px;
 }
}


/* fガチャるボタンの背景色とテキストの色を変更 */
#gacha1,#gacha10,#gacha100{
 color:#333;
 font-size: 15px; 
 padding: 10px;
 cursor: pointer; /* カーソルをポインターに設定 */
 transition: opacity 0.5s ease, box-shadow 0.5s ease;
 font-weight:550;
}

/* ガチャるホバー時 */
#gacha1:hover, #gacha10:hover, #gacha100:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/*無限ガチャのフッター*/
#infiGacha1,#infiGacha10,#infiGacha100 {
    color: #333;
    font-size: 15px;
    padding: 10px;
    cursor: pointer;
    transition: opacity 0.5s ease, box-shadow 0.5s ease;
    font-weight: 550;
}
.infi-gacha-button {
    flex: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
	  padding: 11px 0px;
}

@media(max-width:550px){
	#gacha1,#gacha10,#gacha100{
 color:#333;
 font-size: 13px; 
 cursor: pointer; /* カーソルをポインターに設定 */
 padding:10px;
 margin:2px;
 transition: opacity 0.5s ease, box-shadow 0.5s ease;
 font-weight:550;
	}
#infiGacha1,#infiGacha10,#infiGacha100 {
    color: #333;
    font-size: 13px;
	  padding:10px;
	  margin:2px;
    cursor: pointer;
    transition: opacity 0.5s ease, box-shadow 0.5s ease;
    font-weight: 550;
	}
}

@media(max-width:450px){
	#gacha1,#gacha10,#gacha100{
 color:#333;
 font-size: 11px; 
 cursor: pointer; /* カーソルをポインターに設定 */
 padding:10px;
 margin:2px;
 transition: opacity 0.5s ease, box-shadow 0.5s ease;
 font-weight:550;
	}
#infiGacha1,#infiGacha10,#infiGacha100 {
    color: #333;
    font-size: 11px;
	  padding:10px;
	  margin:2px;
    cursor: pointer;
    transition: opacity 0.5s ease, box-shadow 0.5s ease;
    font-weight: 550;
	}
}

/* モーダルウィンドウのスタイル */
.modal {
  display: none;
  position: fixed;
  z-index: 10001; /* ヘッダー(9990)より前面に */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.6); /* 背景をより暗く */
  -webkit-overflow-scrolling: touch;
}


/* モーダル内のテキストスタイル */
.modal-content h2 {
  color: #333333;
  margin-bottom: 20px;
}

.modal-content p {
  color: #666666;
  line-height: 1.6;
}

/* 閉じるボタンのスタイル（必要に応じて） */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.close:hover,
.close:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
}





/* フッターに固定するためのスタイル */
.fixed-footer {
    position: fixed;
    bottom: 0;
	left:0px;
	right:0px;
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #000; /* 背景色を指定（必要に応じて変更） */
    padding: 10px 10px;
    z-index: 1000; /* 他の要素の上に表示するための指定 */

}

/* ボタンを横並びにするためのスタイル */
.fixed-footer button {
    margin: 0 10px; /* ボタン間のマージン */
    border: none;
    cursor: pointer;
    transition: opacity 0.5s ease, box-shadow 0.5s ease, font-weight 0.5s ease;
}

/* ボタンのホバースタイル */
.fixed-footer button:hover {
    opacity: 0.8;
}
/* fixed-footerの場合にマックスウィドスを削除 */
.entry-content[data-ast-blocks-layout] > * {
    max-width: 100% !important;
}

.ast-container{
	padding:20px;
}
@media(max-width:800px){
	.fixed-footer button{
		padding: 11px;
		font-size:15px;
	}
  .ast-container{
	  padding:10px;
  }
}
@media(max-width:500px){
    .fixed-footer button {
       border: none;
       cursor: pointer;
       transition: opacity 0.5s ease, box-shadow 0.5s ease, font-weight 0.5s ease;
    }
    .fixed-footer button {
			  padding: 11px;
        font-size: 13px;
    }
}
@media(max-width:375px){
    .fixed-footer button {
			  padding: 11px;
        font-size: 11px;
    }
}

/*ボタンやモーダルを横幅一杯に*/
.entry-content[ast-blocks-layout] > *{
 max-width:100% !important;
}


/* モーダルコンテンツのスタイル */
.modal-content {
    background-color: #fff;
    margin-top: 15vh;
    margin-bottom: 5vh;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 400px;
    border-radius: 10px;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    color: #000 !important; /* テキストカラーを黒に設定 */
}

/* 閉じるボタンは無くす */
.close {
    display: none; /* 閉じるボタンを非表示に設定 */
}

/* モーダル内のボタンのスタイル */
.modal-buttons {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

.modal-button {
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.modal-button.cancel {
    background-color: #fff !important;
    color: #ec4899 !important;
    border: 1px solid #ec4899; /* ボーダーを追加 */
}

.modal-button.confirm {
    color: #fff !important;
	  background-color:#ec4899 !important;
}

.modal-button.cancel:hover {
    background-color: #ec4899 !important;
    color: #fff !important;
}

.modal-button.confirm:hover {
  opacity:0.8;
}

/* テキストのスタイル */
.modal-content p {
    color: #000 !important; /* テキストカラーを黒に設定 */
    text-align: center; /* 横中央に配置 */
}


@media (max-width: 768px) {
    /* モーダルコンテンツのスタイル */
    .modal-content {
        background-color: #fff;
        margin-top: 12vh;
        margin-bottom: 5vh;
        margin-left: auto;
        margin-right: auto;
        padding: 20px;
        border: 1px solid #888;
        width: 85%;
        max-width: 400px;
        border-radius: 10px;
        position: relative;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        color: #000 !important; /* テキストカラーを黒に設定 */
    }

    /* 閉じるボタンは無くす */
    .close {
        display: none; /* 閉じるボタンを非表示に設定 */
    }

    /* モーダル内のボタンのスタイル */
    .modal-buttons {
        display: flex !important;
        justify-content: space-around !important;
        margin-top: 20px !important;
    }

    .modal-button {
        padding: 10px 20px !important;
        border: none !important;
        cursor: pointer !important;
        font-size: 12px !important;
        border-radius: 5px !important;
			width:auto !important;
        transition: background-color 0.3s ease !important;
    }

    .modal-button.cancel {
        background-color: #fff ;
        color: #ec4899 !important;
        border: 1px solid #ec4899 !important; /* ボーダーを追加 */
    }

    .modal-button.confirm {
        color: #ffffff;
    }

    .modal-button.cancel:hover {
        background-color: #ec4899;
        color: #fff !important;
    }
    /* テキストのスタイル */
    .modal-content p {
        color: #000 !important; /* テキストカラーを黒に設定 */
    }
}

/*トップページのスクロールを無くす*/
#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right {
    display: none !important;
}



/* 結果画面 */
.post-248.page.type-page.status-publish.ast-article-single .entry-content ul {
    display: flex;
    flex-wrap: wrap; /* 子要素が見切れる前に折り返すように設定 */
    list-style: none; /* リストスタイルを削除 */
    padding: 0; /* パディングを削除 */
    margin: 0; /* マージンを削除 */
}

.post-248.page.type-page.status-publish.ast-article-single .entry-content ul li {
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    margin:10px;
    border: 1px solid #eee;
    border-radius: 10px;
    transition: transform 0.3s ease;
    max-width: 300px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.post-248.page.type-page.status-publish.ast-article-single .entry-content ul li img{
	width:150px;
  height:200px;
  margin-top:10px;
}

.post-248.page.type-page.status-publish.ast-article-single .entry-content ul li:hover {
    transform: scale(1.03); /* ホバー時に少し拡大する */
}

.post-248 
/* li内のp要素のスタイルを変更 */
.post-248.page.type-page.status-publish.ast-article-single .entry-content ul li p {
    white-space: nowrap; /* テキストを折り返さないように設定 */
    overflow: hidden; /* テキストがあふれた場合に隠す */
    text-overflow: ellipsis; /* あふれたテキストに省略記号を追加 */
    width: 100%;
    text-align: center;
}
.post-248 label{
	color:#333;
}
.post-248 p{
	color:#333;
}

/*collection内の文字色*/
.page-id-231 h1, 
.page-id-231 .entry-content h1, 
.page-id-231 h2, 
.page-id-231 .entry-content h2, 
.page-id-231 h3, 
.page-id-231 .entry-content h3, 
.page-id-231 h4, 
.page-id-231 .entry-content h4, 
.page-id-231 h5, 
.page-id-231 .entry-content h5, 
.page-id-231 h6, 
.page-id-231 .entry-content h6 {
    color: #333;
}

.page-id-231 label {
    color: #333;
}
.page-id-231 p{
	color:#333;
}

.collection-list img{
	margin-top:25px;
	width:30%;
}

/* フォーム内の画像のスタイルを変更 */
.collection-list form img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
}

/* ラジオボタンのスタイルを変更 */
.collection-list form input[type="radio"] {
    margin-right: 5px;
    margin-left:5px;
}

/* 送信ボタンのスタイルを変更 */
.collection-list form button[type="submit"] {
    color: #ffffff;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 25px;
    transition: opacity 0.5s ease, box-shadow 0.5s ease, font-weight 0.5s ease;
    margin-left:10px;
}

/* 送信ボタンのホバースタイルを変更 */
.collection-list form button[type="submit"]:hover {
    opacity: 0.8;
}

/* フォーム全体のスタイルを変更 */
.collection-list form {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

@media(max-width:730px){
	.collection-list img{
	margin-top:5px;
	width:45%;
	}
.collection-list p{
	font-size:15px;
	}
}
@media(max-width:680px){
	.collection-list {
	font-size:14px;
	}
.collection-list form button[type="submit"] {
    font-size:14px;
	  font-weight:450;
    padding: 5px 10px;
	}
}

/*collectionリストのコード上にもあり*/
.collection-list {
    display: flex;
    flex-wrap: wrap; /* 子要素が見切れる前に折り返すように設定 */
    list-style: none; /* リストスタイルを削除 */
    padding: 0; /* パディングを削除 */
    margin: 0; /* マージンを削除 */
	  justify-content: center;
}

.collection-list li {
		margin-top: 20px;
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin:10px;
    border: 1px solid #eee;
    border-radius: 10px;
    max-width: 300px;
    transition: transform 0.3s ease;
    justify-content: flex-end;
}

.collection-list li p{
    text-overflow: ellipsis; /* あふれたテキストに省略記号を追加 */
    width: 100%;
    text-align: center;
}
.collection-list li img{
	width:150px;
  height:200px;
  margin-top:10px;
}
.collection-list li:hover {
    transform: scale(1.01); /* ホバー時に少し拡大する */
}
.collection-filter{
	display:flex !important;
	flex-direction:column;
}
.sort-order span{
	color:#333;
	margin-left:15px;
}

/*左上のカードの状況を示す文字のデザイン*/
.page-id-231 .collection-filter a {
    display: inline-block;
    margin-right: 5px; /* 各リンクの間隔を調整 */
	  margin-left:5px;
    padding: 8px 16px; /* ボタンの内側の余白を設定 */
    color: #333; /* テキストカラー */
    background-color: #ffffff; /* ボタンの背景色 */
    border-radius: 5px; /* 角を丸くする */
    text-decoration: none; 
    font-weight: bold; /* 太字にする */
    transition: all 0.3s ease; 
    box-shadow: 0 4px 11px rgb(255 0 0 / 18%);
    border: 1px solid rgba(176, 0, 32, .25);
}
.page-id-231 .collection-filter a:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時に影を強調 */
    transform: scale(1.01); 
}

.page-id-231 .site-main{
  margin-top: 40px;
}

@media(max-width:719px){
	.page-id-231 .collection-filter a {
    display: inline-block;
    margin-right: 2px;
		margin-left: 2px;
    padding: 6px 13px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
	}
	.sort-order span {
    color: #333;
    margin-left: 15px;
	}
}

@media(max-width:647px){
	.page-id-231 .collection-filter a {
    display: inline-block;
    margin-right: 0px;
    padding: 5px 10px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
	}
	.sort-order span {
    color: #333;
    margin-left: 5px;
	}
}
@media (max-width: 598px) {
		.page-id-231 .collection-filter a {
    display: inline-block;
    margin-right: 0px;
    padding: 4px 7px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
		font-size:14px;
	}
}
@media (max-width: 530px) {
	.collection-filter {
    display: flex !important;
    flex-direction: column;
    margin-left: 5px !important;
	}
	.sort-order{
		 margin-top: 9px;
	}
	.page-id-231 .collection-filter a {
        display: inline-block;
        margin-right: 5px;
        padding: 8px 12px;
        
        border-radius: 5px;
        text-decoration: none;
        font-weight: bold;
        transition: all 0.3s ease;
        font-size: 15px;
        margin-left: 5px;
    }
	.status-filter {
	   margin-bottom:8px;
	}
}
@media (max-width: 440px) {
	.collection-filter {
    display: flex !important;
    flex-direction: column;
    margin-left: 5px !important;
	}
	.page-id-231 .collection-filter a {
        display: inline-block;
        margin-right: 2px;
        padding: 5px 9px;
        border-radius: 5px;
        text-decoration: none;
        font-weight: bold;
        transition: all 0.3s ease;
        font-size: 12px;
        margin-left: 2px;
    }
		.status-filter {
	   margin-bottom:3px;
	}
}
@media (max-width: 377px) {
  .collection-list li {
    flex: 1 1 150px; /* ボタンの最小幅を縮小 */
    margin: 5px; /* マージンを小さく */
    max-width: 200px; /* ボタンの最大幅を縮小 */
    border: 2px solid #fff; /* ボーダー幅を縮小 */
    border-radius: 8px; /* 角丸を小さく */
  }

  .collection-list li p {
    font-size: 0.8rem; /* テキストサイズを縮小 */
  }
	/*左上のカードの状況を示す文字のデザイン*/
  .page-id-231 .collection-filter a {
    display: inline-block;
    margin-right: 2px; /* 各リンクの間隔を調整 */
    padding: 4px 4px; /* ボタンの内側の余白を設定 */
    border-radius: 5px; /* 角を丸くする */
    text-decoration: none; 
    transition: all 0.3s ease;
  }
  .page-id-231 .collection-filter a:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時に影を強調 */
    transform: scale(1.01); 
  }

  .collection-filter {
    flex-direction: column; /* 並び順のボタンを縦方向に配置 */
    align-items: center; /* 中央揃え */
    gap: 5px; /* ボタン間のスペースを縮小 */
	  margin-left: 0px !important;
  }
	.sort-order{
		margin-top:5px;
	}

  .sort-order span {
    font-size: 0.9rem; /* ラベルのフォントサイズを縮小 */
  }

  .sort-order a {
    padding: 4px 8px; /* ボタンのパディングを小さく */
    font-size: 0.8rem; /* ボタンのフォントサイズを縮小 */
  }

}


ul.collection-list {
  margin: 0;
  padding: 0;
  list-style: none;  /* リストマーカーを消す */
  margin-top: 25px;
}

.collection-list {
  /* 2枚目のようにカードを並べるためflexを使用 */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* 中央寄せ */
  gap: 16px;                 /* カード間の余白 */
}

.collection-list li {
  /* カード風のデザイン */
  max-width: 200px;              /* カードの幅はお好みで */
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  text-align: center;
  padding: 12px;
  position: relative;        /* 必要に応じて */
	
}

/* 画像（例: デモBドラゴンなど） */
.collection-list li img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  /* 画像のアスペクト比維持用。必要に応じて高さ固定など */
}

.collection-list li p {
  margin: 6px 0;
  font-size: 18px;
  color: #ed357b;
}

/* 価格の部分だけ色やサイズを変えたい場合の例 */
.collection-list li p:nth-of-type(2) {
  color: #222;
  margin-top:-3px;
  font-size: 17px;
  font-weight: bold;
}

.collection-list li p:nth-of-type(1){
  font-weight: bold;
}

.collection-list li p:nth-of-type(3){
  background-color: #eeeeeecf;
  padding: 5px 12px;
}

.collection-list li label {
  display: flex;       /* 縦並びにする */
  margin-top: 4px;      /* ラベル間の余白 */
  font-size: 12px;
  color: #333;
  cursor: pointer;      /* ポインタ形状に変更（好みで） */
}

/* ラジオボタンそのものを少し小さくしたい場合の例 */
.collection-list li input[type="radio"] {
  transform: scale(0.9);
  margin-right: 4px;
}


@media (max-width: 1200px) {
  .collection-list li {
    width: 180px;
    margin: 6px;
    padding: 8px;
  }
  .collection-list li img {
    max-width: 180px;
    margin: 0 auto;
    display: block;
  }
  .collection-list li label {
    margin-top: 2px;
  }
}

@media (max-width: 992px) {
  .collection-list li {
    width: 160px;
    margin: 6px;
    padding: 8px;
  }
  .collection-list li img {
    max-width: 160px;
    margin: 0 auto;
  }
  .collection-list li label {
    margin-top: 2px;
  }
}

@media (max-width: 768px) {
  .collection-list li {
    width: 140px;
    margin: 4px;
    padding: 6px;
  }
  .collection-list li img {
    max-width: 140px;
    margin: 0 auto;
  }
  .collection-list li label {
    margin-top: 2px;
  }
}
@media (max-width: 470px) {
  .collection-list li {
    width: 48%;
    margin:0px auto;
    padding: 6px;
	  flex: 1 1 140px !important;
  }
}
@media (max-width: 458px) {
  .collection-list li {
    width: 48%;
    margin:0px auto;
    padding: 6px;
	  flex: 1 1 130px !important;
  }
	.collection-list li p{
		font-size:15px;
	}
	.collection-list li p:nth-of-type(2){
		font-size:15px;
	}
  .collection-list li img {
    max-width: 70% !important;
    margin: 0 auto;
  }
  .collection-list li label {
    margin-top: 2px;
		font-size: 12px;
  }
}

@media (max-width: 320px) {
  .collection-list li {
    width: 45% !important;
    margin: 4px auto;
    padding: 4px;
		flex: 1 1 160px;
  }
  .collection-list li img {
    max-width: 50%;
    margin: 0 auto;
  }
  .collection-list li label {
    margin-top: 1px;
  }
}
@media (min-width: 320px) and (max-width: 400px) {
  .collection-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 5px !important; /* 必要に応じて調整可能 */
  }

  .collection-list li {
    width: 100% !important; /* gridにあわせて幅調整 */
		max-width:165px;
  }
}
/*collectionの自動売却の文章*/
.notice-sentence{
	color:red !important;
}

/*結果画面にも同じデザイン　ガチャ詳細ページ*/
#gacha-result-form ul {
  margin: 0;
  padding: 0;
  list-style: none; 
  margin-top: 25px;
  display: flex;           /* 2枚目のようにカードを並べる */
  flex-wrap: wrap; 
  justify-content: center; /* 中央寄せ */
  gap: 16px;               /* カード間の余白 */
}

#gacha-result-form ul li {
  max-width: 200px;        /* カードの幅(お好みで調整) */
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  text-align: center;
  padding: 12px;
  position: relative; 
}

#gacha-result-form ul li img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

#gacha-result-form ul li p {
  margin: 6px 0;
  font-size: 18px;
  color: #ed357b;
}

/* 2番目のだけ少し調整する例 */
#gacha-result-form ul li p:nth-of-type(2) {
  color: #222;
  font-weight: bold;
  margin-top: -3px;
  font-size: 17px;
}
#gacha-result-form ul li p:nth-of-type(1) {
  font-weight: bold;
}


#gacha-result-form ul li label {
  display: block;    
  margin-top: 4px;   
  font-size: 12px;
  color: #333;
  cursor: pointer;   
}

/* ラジオボタンを小さく */
#gacha-result-form ul li input[type="radio"] {
  transform: scale(0.9);
  margin-right: 4px;
}

@media (max-width: 1200px) {
  #gacha-result-form ul li {
    width: 180px;
    margin: 6px;
    padding: 8px;
  }
  #gacha-result-form ul li img {
    max-width: 180px;
    margin: 0 auto;
    display: block;
  }
  #gacha-result-form ul li label {
    margin-top: 2px;
  }
}

@media (max-width: 992px) {
  #gacha-result-form ul li {
    width: 160px;
    margin: 6px;
    padding: 8px;
  }
  #gacha-result-form ul li img {
    max-width: 160px;
    margin: 0 auto;
  }
  #gacha-result-form ul li label {
    margin-top: 2px;
  }
}

@media (max-width: 768px) {
  #gacha-result-form ul li {
    width: 140px;
    margin: 4px;
    padding: 6px;
  }
  #gacha-result-form ul li img {
    max-width: 140px;
    margin: 0 auto;
  }
  #gacha-result-form ul li label {
    margin-top: 2px;
  }
}

@media (max-width: 470px) {
  #gacha-result-form ul li {
    width: 48%;
    margin: 0px auto;
    padding: 6px;
    flex: 1 1 140px !important;
  }
}

@media (max-width: 458px) {
  #gacha-result-form ul li {
    width: 48%;
    margin: 0px auto;
    padding: 6px;
    flex: 1 1 130px !important;
  }
  #gacha-result-form ul li p {
    font-size: 15px;
  }
  #gacha-result-form ul li p:nth-of-type(2) {
    font-size: 15px;
  }
  #gacha-result-form ul li img {
    max-width: 70% !important;
    margin: 0 auto;
  }
  #gacha-result-form ul li label {
    margin-top: 2px;
    font-size: 12px;
  }
}

@media (max-width: 320px) {
  #gacha-result-form ul li {
    width: 45% !important;
    margin: 4px auto;
    padding: 4px;
    flex: 1 1 160px;
  }
  #gacha-result-form ul li img {
    max-width: 50%;
    margin: 0 auto;
  }
  #gacha-result-form ul li label {
    margin-top: 1px;
  }
}
/*結果画面にも同じデザイン　ガチャ詳細ページ終わり*/



/* 
  1) 「賞画像」を全賞で統一デザインに 
  （中央寄せ＆同じ比率にしたい場合）
*/
.prize-rank-image {
  text-align: center; /* 画像を中央寄せ */
  margin: 0 auto;
}


.prize-rank-image img {
    display: inline-block;
    max-width: 30%;
    height: auto;
    margin-top: 20px;
    margin-bottom: 10px;
}

@media(max-width:550px){
	.prize-rank-image img {
        display: inline-block;
        height: auto;
        margin-top: 15px;
        margin-bottom: 5px;
	}
}
@media(max-width:380px){
	.prize-rank-image img {
        display: inline-block;
        height: auto;
        margin-top: 10px;
        margin-bottom: 0px;
	}
}

/* =========================
   全ての賞の列数を「2列」で固定（上書き）
   ※このブロックはCSSの一番下に置く
========================= */
.s-prize-section .s-prize-items,
.a-prize-section .a-prize-items,
.b-prize-section .b-prize-items,
.c-prize-section .c-prize-items,
.d-prize-section .d-prize-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: center;
}

/* C賞：画像のセレクタ（ドット抜け修正） */
.c-prize-section .c-prize-item img {
  padding: 5px;
  height: auto;
}

/* 31枚目以降を非表示（効く形に整理） */
.c-prize-items > .prize-image.c-prize-item:nth-child(n+31) {
  display: none !important;
}

/* D賞：画像のセレクタ（ドット抜け修正） */
.d-prize-section .d-prize-item img {
  padding: 5px;
  height: auto;
}

/* 41枚目以降を非表示（効く形に整理） */
.d-prize-items > .prize-image.d-prize-item:nth-child(n+41) {
  display: none !important;
}




/* ラストワン賞のコンテナ（商品画像を2列中央寄せ） */
.last-one-prize-section >.last-one-prize-items {
  display: grid;
  justify-items: center;
}
.last-one-prize-section.last-one-prize-item img {
  padding: 5px;
  height: auto;
}
.prize-image.last-one-prize-item {
	display: flex;
  justify-content: center;
	width:60%;
}


#gacha-animation {
    position: fixed; /* 画面全体に固定 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10050; /* ヘッダー・固定フッターより前面（演出を最前面に） */
    background-color: black; /* 背景を黒にする */
    overflow: hidden; /* はみ出した部分を非表示にする */
	display: flex;
	align-items: center;
  }
  
#gacha-animation video {
    width: 100vw;
    height: auto;
    object-fit: cover; /* アスペクト比を維持して画面全体に表示 */
}
@media only screen and (max-width: 768px) {
	.page-id-250 img{
		max-width: 100% !important;
		height: auto;
	}
	.page-id-246 img{
		max-width: 100% !important;
		height: auto;
	}
	.page-id-240 img{
		max-width: 100% !important;
		height: auto;
	}
	#gacha-animation {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #gacha-animation video {
        width: auto;
        height: 100vh; /* 高さを自動調整 */
        object-fit: contain; /* 横幅にフィットさせて高さを維持 */
    }
}


/*ガチャの説明装飾*/
.gacha-prize-title{
	  border: 2px solid white; 
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 5px; 
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    color: white; 
    font-weight: bold; 
}


.add-submit-button {
    position: fixed;
    bottom: 0;
	left:0px;
	right:0px;
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #000; /* 背景色を指定（必要に応じて変更） */
    padding: 10px 0;
    z-index: 1000; /* 他の要素の上に表示するための指定 */

}

/* コレクションの一括設定ボタン */
.add-submit-button button {
    margin: 0 10px; /* ボタン間のマージン */
    color: #fff !important;
    border: none;
    cursor: pointer;
    transition: opacity 0.5s ease, box-shadow 0.5s ease, font-weight 0.5s ease;
	background-color:#ec4899;
}
/* ボタンのホバースタイル */
.add-submit-button button:hover {
    opacity: 0.8;
}
.submit-button{
    color: #fff !important;
    font-size: 15px;
    padding: 10px 35px;
    cursor: pointer;
    transition: opacity 0.5s ease, box-shadow 0.5s ease;
    font-weight: 550;
	width:100%;
}
.submit-button:hover{
	opacity:0.8;
}

/* WC 注文完了ページの「ショップに戻る」ボタンだけ強制的に白 */
body.woocommerce-page div.add-submit-button .submit-button{
  color:#ffffff !important;   /* 3 つの class を積んで specificity で勝つ */
}

/* ページIDが118ログインの真っ白問題*/
.select2-container--default .select2-results>.select2-results__options {
  background-color: #fff;
}
/*新規登録・ログインボタンの色*/
body.page-id-59.um-page .um-button {
    color: white !important; /* ボタンの文字色を白に設定 */
}
body.page-id-60.um-page .um-button {
    color: white !important; /* ボタンの文字色を白に設定 */
}
.um-field-area:hover input {
    background-color: #f0f0f3 !important;
}

h1, .entry-content h1, h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6{
	color:#1e1b4b;
}


/* 以下フッター */


/*Copyrightの下の隙間を小さくする*/
.site-primary-footer-wrap.ast-builder-grid-row-container.site-footer-focus-item.ast-builder-grid-row-full.ast-builder-grid-row-tablet-full.ast-builder-grid-row-mobile-full.ast-footer-row-stack.ast-footer-row-tablet-stack.ast-footer-row-mobile-stack{
	padding-bottom:0px;
}

ul#astra-footer-menu li a {
    display: inline-block;
    margin-right: 10px; /* Space between links */
    padding: 8px 16px; /* Padding for button-like feel */
    color: #333; /* Text color */
    background-color: #fff !important; /* Background color for links */
    border-radius: 5px; /* Rounded corners */
    text-decoration: none; /* Remove underline */
    font-weight: bold; /* Bold text */
    transition: all 0.3s ease; /* Smooth transition for hover effect */
    box-shadow: 0 3px 3px rgb(255 0 0 / 15%);
    /* ▼▼ 追加: モバイル特有の灰色のハイライトを消す魔法のコード ▼▼ */
    -webkit-tap-highlight-color: transparent;
}



/* hover相当をスマホにも適用 */
ul#astra-footer-menu li a:hover,
ul#astra-footer-menu li a:active,
ul#astra-footer-menu li a:focus,
ul#astra-footer-menu li a:focus-visible,
/* ▼▼ 追加: 訪問済みリンクを押している時も強制的に適用 ▼▼ */
ul#astra-footer-menu li a:visited:active, 
ul#astra-footer-menu li a:visited:hover {
    background-color: #ec4899 !important;
    color: #fff !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
    transform: scale(1.02);
    outline: none;
}



/* フッターの下部ボーダーのみを非表示にする */
.site-footer .site-below-footer-wrap {
    border-top: none !important;
}
/* フッターメニュー項目の間に縦方向の隙間を追加 */
@media(max-width:922px){
    ul#astra-footer-menu li {
        margin-bottom: 10px; /* メニュー項目間の縦方向の隙間 */
    }

    ul#astra-footer-menu li:last-child {
        margin-bottom: 0; /* 最後の項目には余計な隙間を追加しない */
    }
}

/*Footerのすべての見出しを黒に*/
article#post-545 h2,
article#post-493 h2,
article#post-3 h2,
article#post-493 a,
article#post-3 a{
    color: #333 ; /* 任意の黒系の色 */
}

/* 結果画面ボタンデザインを適用 */
button.text-link {
    display: inline-block;
    margin-right: 10px; /* リンク間のスペース */
    padding: 8px 16px; /* ボタン風のパディング */
    border-radius: 5px; /* 角を丸める */
    text-decoration: none; /* 下線を削除 */
    font-weight: bold; /* 太字 */
    transition: all 0.3s ease; /* ホバー効果のスムーズなトランジション */
    box-shadow: 0 4px 12px rgb(255 0 0 / 35%); /* 立体感のための影 */
    border: none; /* ボタンのデフォルトボーダーを削除 */
    cursor: pointer; /* マウスカーソルをポインタに変更 */
}

/* ホバー効果 */
button.text-link:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時の強い影 */
    transform: scale(1.02); /* ホバー時に少し拡大 */
}

@media(max-width:650px){
button.text-link {
    display: inline-block;
    margin-right: 10px;
    padding: 8px 6px;
    color: #333;
    background-color: #f0f0f0;
    border-radius: 5px;
    border: none;
    cursor: pointer;
	font-size:18px;
      box-shadow: 0 3px 4px rgb(255 0 0 / 15%);
	}
}
@media(max-width:595px){
button.text-link {
    display: inline-block;
    margin-right: 10px;
    padding: 8px 6px;
    color: #333;
    background-color: #f0f0f0;
    border-radius: 5px;

    border: none;
    cursor: pointer;
	font-size:12px;
	}
	.page-id-248 .nav-links {
		    display: flex;
        flex-wrap: nowrap;
	}
}
@media(max-width:480px){
	.nav-links {
    display: flex;
    gap: 5px !important;
    margin-bottom: 25px;
	}
}
@media(max-width:360px){
	button.text-link {
    display: inline-block;
    margin-right: 7px;
    padding: 6px 3px;
    color: #333;
    border: none;
    cursor: pointer;
	font-size:12px;
	}
}

/* ===== 結果ページのガイド ===== */
.page-id-248 .result-guide{
  max-width: 900px;
  margin: 12px auto 27px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f7f7f7;
  border: 1px solid #e8e8e8;
}
.page-id-248 .result-guide__title{
  font-weight: 900;
  font-size: 16px;
  margin-bottom: 4px;
  color: #ec4899;
}
.page-id-248 .result-guide__desc{
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}

/* ===== ナビの整列（PCでもwrapして詰まらないように） ===== */
.page-id-248 .nav-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 10px 0 27px;
}

/* ===== 既存 .text-link を活かしつつ、種類を追加 ===== */
.page-id-248 button.text-link{
  background: #fff; /* いまの黄色ベースを踏襲 */
  color: #333;
  border: 1px solid rgba(176, 0, 32, .25);
}


.page-id-248 button.text-link--danger{
  background: #ec4899;
  color: #fff;
  border: 0px solid rgba(176,0,32,.25);
}

/* hover時は暗くする系（前にやったのと同じ方向性） */
.page-id-248 button.text-link:hover{
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.page-id-248 button.text-link:active{
  filter: brightness(0.9);
  transform: translateY(0);
}
.page-id-248 .site-main{
  margin-top: 40px;
}




/*在庫なしの文字*/
/* 特定のページだけに適用 */
.page-id-246 .entry-content.clear {
    display: flex; /* フレックスボックスを使用 */
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え */
    height: 100vh; /* 親コンテナを画面全体の高さに設定 */
    text-align: center; /* テキストを中央揃え */
    position: relative; /* 必要に応じて相対位置 */
}

/* point商品の画像 */
@media (max-width: 921px) {
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary,
    .woocommerce #content div.product div.images,
    .woocommerce #content div.product div.summary,
    .woocommerce-page div.product div.images,
    .woocommerce-page div.product div.summary,
    .woocommerce-page #content div.product div.images,
    .woocommerce-page #content div.product div.summary {
        display: block;
        width: 50%;
        height: auto;
        box-shadow: none;
    }
}

/* (UM text color already set above) */
a.real_url[href$="/mypage-kari/"] {
    display: none !important;
}

.woocommerce-js h2{
  font-size: 36px !important;
}
/*全てのタイトルを小さく*/
@media(max-width:500px){
	.woocommerce-js h2 {
    margin-bottom: .7em;
		margin-left: 5px !important;
		font-size: 28px !important;
	}
}

/* 特定ページ（1565 / 493）の文字色を #333 に統一 */
body.page-id-1565,
body.page-id-493 {
    color: #333;
}

/* 見出しも確実に揃えたい場合 */
body.page-id-1565 h1,
body.page-id-1565 h2,
body.page-id-1565 h3,
body.page-id-1565 h4,
body.page-id-1565 h5,
body.page-id-1565 h6,
body.page-id-493 h1,
body.page-id-493 h2,
body.page-id-493 h3,
body.page-id-493 h4,
body.page-id-493 h5,
body.page-id-493 h6 {
    color: #333;
}

/* お知らせカード内（念のため明示） */
body.page-id-1565 .gg-news-card,
body.page-id-493 .gg-news-card {
    color: #333;
}

body.page-id-1565 .gg-news-card a,
body.page-id-493 .gg-news-card a {
    color: #333;
}




/*ガチャ演出*/
@media(min-width:601px){
	#fullscreen-video {
    width: 100vw;
    height: 100vh;
  }
}
@media(max-width:600px){
		#fullscreen-video {
    width: 100vw !important;
    height: auto !important;
  }
}
@media(min-width:630px){
	#skip-button{
		color:#888 !important;
		right:10% !important;
	}
}

/*トグルを非表示*/
.ast-arrow-svg{
	z-index:-1;
}
@media(min-width:920px){
	.ast-arrow-svg{
		display:none;
	}
}
.ast-menu-toggle{
	width:100% !important;
}


/* 残り回数バー */
.page-id-233 .gacha-remaining,
.page-id-242 .gacha-remaining,
.page-id-244 .gacha-remaining,
.page-id-1691 .gacha-remaining {
    flex: 4;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: -20px;
}

@media (max-width: 500px) {
    /* スマホ時にも1691を追加 */
    .page-id-242 .gacha-remaining,
    .page-id-244 .gacha-remaining,
    .page-id-1691 .gacha-remaining {
        flex: 4;
        text-align: left;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        margin-top: -20px;
    }
}

/* 価格情報（px, ptなど） */
.page-id-233 .gacha-price-info,
.page-id-242 .gacha-price-info,
.page-id-244 .gacha-price-info,
.page-id-1691 .gacha-price-info,
.post-233 .gacha-price-info,
.post-242 .gacha-price-info,
.post-244 .gacha-price-info,
.post-1691 .gacha-price-info {
    color: #333;
    margin-right: 2px;
    margin-left: 2px;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 800px) {
    .page-id-233 .gacha-price-info,
    .page-id-242 .gacha-price-info,
    .page-id-244 .gacha-price-info,
    .page-id-1691 .gacha-price-info {
        margin-right: 15px;
        margin-left: 5px;
        font-size: 20px;
        margin-top: 6px;
    }
}

@media (max-width: 678px) {
    .page-id-233 .gacha-price-info,
    .page-id-242 .gacha-price-info,
    .page-id-244 .gacha-price-info,
    .page-id-1691 .gacha-price-info {
        margin-right: 20px;
        margin-left: 5px;
        font-size: 17px;
        margin-top: 8px;
    }
}

@media (max-width: 564px) {
    .page-id-233 .gacha-price-info,
    .page-id-242 .gacha-price-info,
    .page-id-244 .gacha-price-info,
    .page-id-1691 .gacha-price-info {
        margin-right: 10px;
        margin-left: 5px;
        font-size: 15px;
        margin-top: 8px;
    }
}

@media (max-width: 496px) {
    .page-id-233 .gacha-price-info,
    .page-id-242 .gacha-price-info,
    .page-id-244 .gacha-price-info,
    .page-id-1691 .gacha-price-info {
        margin-right: 5px;
        margin-left: 5px;
        font-size: 15px;
        margin-top: 8px;
    }
}

@media (max-width: 324px) {
    .page-id-233 .gacha-price-info,
    .page-id-242 .gacha-price-info,
    .page-id-244 .gacha-price-info,
    .page-id-1691 .gacha-price-info {
        margin-right: 4px;
        margin-left: 4px;
        font-size: 14px;
        margin-top: 8px;
    }
}

/* プログレスバー本体 */
.page-id-233 .remaining-bar,
.page-id-242 .remaining-bar,
.page-id-244 .remaining-bar,
.page-id-1691 .remaining-bar {
    background-color: #fb9944;
    height: 100%;
    border-radius: 5px;
    border-color: #333;
}

/* 残数テキスト */
.page-id-233 .remaining-info,
.page-id-242 .remaining-info,
.page-id-244 .remaining-info,
.page-id-1691 .remaining-info {
    display: flex;
    padding-left: 9px;
    padding-right: 9px;
    justify-content: center;
    color: #333;
    font-weight: 700;
}

@media (max-width: 820px) {
    .page-id-233 .remaining-info,
    .page-id-242 .remaining-info,
    .page-id-244 .remaining-info,
    .page-id-1691 .remaining-info {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media (max-width: 700px) {
    .page-id-233 .remaining-info,
    .page-id-242 .remaining-info,
    .page-id-244 .remaining-info,
    .page-id-1691 .remaining-info {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 15px;
    }
}

/* ========= 残りバー：割合による色変更（共通） ========= */
/* 50%未満：黄色 */
.page-id-233 .remaining-bar.is-mid,
.page-id-242 .remaining-bar.is-mid,
.page-id-244 .remaining-bar.is-mid,
.page-id-1691 .remaining-bar.is-mid{
  background-color: #ffc107 !important;
  background: #ffc107 !important;
}

/* 20%以下：赤 */
.page-id-233 .remaining-bar.is-low,
.page-id-242 .remaining-bar.is-low,
.page-id-244 .remaining-bar.is-low,
.page-id-1691 .remaining-bar.is-low{
  background-color: #a855f7 !important;
  background: #a855f7 !important;
}

/* 色変化を滑らかに（任意） */
.page-id-233 .remaining-bar,
.page-id-242 .remaining-bar,
.page-id-244 .remaining-bar,
.page-id-1691 .remaining-bar{
  transition: background-color .2s ease, background .2s ease;
}

/* トップページ以外では info（価格情報）を非表示 */
body:not(.home) .gacha-price-info{
  display: none !important;
}



.page-id-3 h3,
.page-id-3 {
	color:#1E293B;
	
}
html, body {
    overflow-x: hidden !important; /* 横スクロールを隠す */
}

/* 「操作」見出しセルと隣のセルをまるごと非表示にする */
.woocommerce-table--order-details tfoot tr th.order-actions--heading,
.woocommerce-table--order-details tfoot tr th.order-actions--heading + td {
  display: none !important;
}

.notice-wrap{
	display:none !important;
}

@media (min-width: 545px) and (max-width: 720px) {
  .wp-block-image img.wp-image-1607 {
    margin-top: 10px !important;
  }
}
/* 1. コインアイコン（選択画像）の margin-top を 0 に */
#collection-form .collection-list li > p:nth-of-type(3) img {
  margin-top: -2px !important;
}

/* 2. 1200px 以下ではアイコンと文字を常に横並びに */
@media (max-width: 1200px) {
  /* アイコン＋“100pt” の親要素を flex 化 */
  #collection-form .collection-list li > p:nth-of-type(3) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 2px !important;
    white-space: nowrap;
  }

  /* コインアイコンそのものの余白を完全に消す */
  #collection-form .collection-list li > p:nth-of-type(3) img {
    margin: 0 !important;
    padding: 0 !important;
    /* 必要あれば幅・高さも再指定 */
    width: 20px;
    height: 20px;
		margin-top: -1px !important;
  }

  /* アイコンとテキストの間隔を微調整したい場合は、
     下記の margin-right の値を変えてください */
  #collection-form .collection-list li > p:nth-of-type(3) img {
    margin-right: 4px !important;
  }
}
  
#gacha-result-form ul li > p:nth-of-type(3) img {
		margin-top: -1px !important;

}

@media (max-width: 1200px) {
  #gacha-result-form ul li > p:nth-of-type(3) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
		margin-bottom:5px!important;

  }
  #gacha-result-form ul li > p:nth-of-type(3) img {
    margin: 0 !important;
    padding: 0 !important;
    width: 20px;
    height: 20px;
		margin-top: -1px !important;
		margin-right:4px !important;
  }
}
#gacha-result-form ul li p:nth-of-type(3) {
  background-color: #eeeeeecf;
  padding: 5px 15px !important;
}

@media (min-width: 850px) {
  .item-quantity-badge {
    position: absolute;
    padding: 4px 7px !important;
    border-radius: 3px;
    font-size: 20px !important;
    font-weight: bold;
  }
}
.item-quantity-badge{
    border: 2px solid #ec4899;
    box-sizing: border-box;
}

.um-tip .um-tip-w{
	color:white;
}

/* ---------- ガチャボタンのレイアウト ---------- */
.gacha-button {                    /* ← ボタンを内包している div */
  display: grid;                   /* 2 列グリッドに変更 */
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;                       /* ボタン間の余白 */
  justify-items: center;           /* 各セル内で中央寄せ */
	padding: 11px 15px;
}

/* 100連ボタンだけ 2 列ぶち抜き & 幅いっぱい */
.gacha-button .gacha-button-multi.gacha-100 {
  grid-column: 1 / -1;             /* 1 列目〜最後の列まで＝横幅全域 */
  width: 100%;
}

/* 既存のボタン共通スタイル（大きさ・丸みなど） */
.gacha-button-single,
.gacha-button-multi.gacha-10,
.gacha-button-multi.gacha-100 {
	width: 100% !important;
  padding:       12px 10px !important;  /* 縦横余白を増やして大きめに */

}
.gacha-button-single{
	  background-color: #888 !important;
    color:#ffffff !important;
}
.gacha-button-multi.gacha-10{
	  background-color: #6d28d9 !important;
  color:            #ffffff !important;
}
/* 100連ボタンだけ赤背景（色はお好みで） */
.gacha-button-multi.gacha-100 {
  background: linear-gradient(90deg, #e11d48, #ff7a00, #fff700, #10f72c, #00e7ff, #2b50ff, #9f00ff) !important;
  border-color:     #ec398e !important;
  color:            #ffffff !important;
	  font-size: 1.1rem;
}
.gacha-button-multi.gacha-100.disabled{
    background: #ccc !important;

}

/* コインアイコンなどがある場合の微調整（任意） */
.gacha-button-single i,
.gacha-button-multi i {
  margin-right: 8px !important;
  font-size:    1.2em !important;
}

/* -------------------------------------------------
    一日一回無料 —— 100連と同じく横幅100%
------------------------------------------------- */
.gacha-button .gacha-button-daily {
  grid-column: 1 / -1;         /* グリッド 2 列ぶち抜き */
  width: 100%;
}

/* 「一日一回無料」の配色を 1回・10回と合わせたい場合（任意） */
.gacha-button-daily {
  background-color: #ffcf47 !important;   /* 同じ黄色 */
  border-color:     #ffcf47 !important;
  color:            #333333 !important;
}
/* =======================================================
   1) ボタン内の文字をタテヨコ中央寄せ
   ======================================================= */
.fixed-footer button,
.gacha-button   button,          /* ← 通常表示ブロック */
.fixed-footer .infi-gacha-button,
.gacha-button   .infi-gacha-button,
.gacha-button-daily {
  display: flex !important;      /* フレックスで中央寄せ */
  align-items:    center !important;
  justify-content:center !important;
  text-align:     center !important;
  line-height:    1.3;           /* 2 行になっても詰まり過ぎないように調整 */
  border-radius: 6px;
}

/* =======================================================
   2) フッター内 inﬁ ガチャ（無限ガチャ？）も
      通常と同じ 2 段レイアウトに揃える
   ======================================================= */
.fixed-footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  justify-items: center;
}

.fixed-footer .gacha-1{
	background-color: #888 !important;
  color: #ffffff !important;
}
.fixed-footer .gacha-10{
	background-color: #6d28d9 !important;
  color: #ffffff !important;
}

/* 100連（gacha-100）と 無料 1 回ボタンは幅いっぱい */
.fixed-footer .gacha-100,
.fixed-footer .gacha-button-daily,
.fixed-footer .infi-gacha-button.gacha-100 {
  grid-column: 1 / -1;
  background: linear-gradient(90deg, #e11d48, #ff7a00, #fff700, #10f72c, #00e7ff, #2b50ff, #9f00ff) !important;
  border-color: #ec398e !important;
  color: #ffffff !important;
  font-size: 1.1rem;
}

/* 共通サイズ調整（まだ入れていなければ） */
.fixed-footer .gacha-1,
.fixed-footer .gacha-10,
.fixed-footer .gacha-100,
.fixed-footer .infi-gacha-button {
  color: #fff !important;
  width: 100% !important;
  padding: 8px 10px !important;
}

/* 100連を赤背景に（すでに書いてあれば不要） */
.fixed-footer .gacha-100,
.fixed-footer .infi-gacha-button.gacha-100 {
  background-color: #6d28d9 !important;
  color:            #ffffff !important;
}

/* 一日一回無料ボタンの配色（任意・黄色に合わせる例） */
.gacha-button-daily {
  background-color: #6d28d9 !important;
  color:            #fff !important;
}

@media (max-width: 400px){

	/* 1回ガチャ用ボタン */
	.gacha-button-single,

	/* 10回／100回ガチャ用ボタン（同じ要素に複数クラスが付いている） */
	.gacha-button-multi.gacha-10,
	.gacha-button-daily.gacha-limited,
	.gacha-button-onetime{

		font-size: 0.8rem;   /* 好きなサイズに */
	}
}


/* =====================================================
   無料1回ガチャ ＆ 課金版 daily-paid をフルワイドで表示
   ===================================================== */

/* 通常ブロック (.gacha-button) とフッター (.fixed-footer) の両方に対応 */
.gacha-button .gacha-button-daily.gacha-limited,
.fixed-footer .gacha-limited,
.gacha-button .gacha-button-onetime,
.fixed-footer .gacha-onetime {
  /* 2列グリッドをぶち抜き → 横幅100% */
  grid-column: 1 / -1 !important;
  width: 100%;

  /* ボタン共通の見た目（丸み・余白など）も合わせておくと統一感アップ*/
  padding: 13px 10px;
  font-size: 1.1rem;
	background-color: #ec398e !important;
  border-color:     #ec398e !important;
  color:            #ffffff !important;
  /* 中央寄せ（flex）――まだ入れていなければ */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* 例：配色を 1回・10回と同じ黄色にしたい場合は任意で */
.gacha-limited,
.gacha-button-onetime {
  background-color: #ec398e !important;
  border-color:     #ec398e !important;
  color:            #ffffff !important;
}
.gacha-price-info,
.remaining-info {
	display:flex;
	align-items:baseline;
  justify-content: flex-start;
}

.gacha-remaining .label { 
	font-size:.75rem; 
	font-weight:400; 
	line-height:1;
	white-space: nowrap !important;
	
}

.gacha-remaining .num   { 
	font-size:1.1rem; 
	font-weight:700; 
	line-height:1; 
}

/* WooCommerce クーポンリンクを下線付きにする */
.woocommerce-form-coupon-toggle a.showcoupon {
  text-decoration: underline !important;
}
/* 一括売却選択ボタンだけ色を変更 */
#bulk-sale-select {
  background-color: #ec4899 !important;  /* 好きな背景色に */
  color:            #ffffff !important;  /* 文字色 */
  border-color:     #ec4899 !important;  /* 枠線がある場合は同色で */
}
.status-filter{
	margin-bottom:13px;
}

@media(max-width:360px){
	.remaining-content {
    min-width: 55%;
    padding: 5px;
	}
	.gacha-item{
		width: 100%;
    margin-bottom: 20px;
    padding: 0px;
  }
	.gacha-remaining .label { 
	font-size:.75rem; 
	font-weight:400; 
	line-height:1;
	white-space: nowrap !important;
	}
	.gacha-remaining .num   { 
		font-size:0.95rem; 
		font-weight:700; 
		line-height:1; 
	}
}

/* 価格+残数（上段）を左右に並べる */
.gacha-meta{
  display:flex;
  flex-wrap:nowrap;           /* ↔ 折り返さない */
  align-items:flex-end;
  column-gap:12px;
  margin-bottom: 4px;

}

/* 左ブロック（価格）は shrink させて右に余白を譲る */
.gacha-price-info{
  flex:0 0 auto;              /* 幅を必要分だけ確保 */
  display:flex;
  align-items:center;
}

/* 右ブロック（残数）は残り幅いっぱい使う */
.remaining-info{
  flex:1 1 auto;              /* 余った幅を全部使う */
  text-align:right;           /* 数字を右寄せ */
  white-space:nowrap;
}

/* ── コインアイコン ─────────────────── */
.gacha-price-info .coin-icon{
  width:25px;                 /* ← 18px 程度で十分 */
  height:25px;
}

.genre-filter-container {
	margin-bottom:20px;
}

/* 480px 以下でジャンルフィルターを横並びにし、広告より上に搬送 */
@media (max-width: 480px) {
  /* ジャンルバーを横並びフレックスに */
  .genre-filter-bar {
    display: flex !important;
    flex-wrap: wrap ;
    justify-content: space-between;
    gap: 8px;
  }

  /* フィルター全体ブロックを広告より前に表示 */
  .genre-filter-container {
    /* 親要素が flex であれば order で位置制御できます */
    order: -1;
    /* もしくは絶対位置指定で上側へ */
    position: relative;
    z-index: 10;
    margin-bottom: 16px; /* 下の広告とのスペース */
  }
	      .genre-btn {
          padding: 8px 10px !important;
          font-size: 10px !important;
          flex: 1;
          min-width: 55px !important;
      }
}
@media (max-width: 360px) {
	.genre-btn {
          padding: 8px 1px !important;
          font-size: 9px !important;
          flex: 1;
          min-width: 50px !important;
      }
}
/* ▼ 670px 以下 ─────────────────────────────── */
@media (max-width: 670px) {
	.woocommerce-cart td.actions {
		display: flex !important;
		flex-wrap: wrap;       /* 折り返し可 */
		justify-content: flex-end;
	}
	/* クーポン入力欄は上段 100% 幅にして余白 */
	.woocommerce-cart td.actions .coupon {
		flex: 1 1 100%;
		margin-bottom: 8px;
	}
}

/* ▼ 400px 以下 ─────────────────────────────── */
@media (max-width: 400px) {
	/* クーポン適用 & カゴ更新ボタンの文字サイズ */
	.woocommerce-cart td.actions .button {
		font-size: 13px !important;
		margin-top: 10px !important;
	}
	  .woocommerce-cart
  .wc-proceed-to-checkout
  >a.checkout-button.button.alt.wc-forward{
      font-size: 13px;
  }
}

/* スライダーなど “バーの高さ分” だけ押し下げたい要素 */
.tcg-top-slider-wrap{
  margin-top: calc(var(--headerH,80px) + 55px) !important;
}
.genre-filter-container{
  position: sticky;
  top: var(--headerH,80px);
  z-index: 9;
  background:#f4f2fb;
  transition: box-shadow .2s;
}

/* 吸着中だけ影＋下線 */
.genre-filter-container.stuck{
  box-shadow: 0 3px 6px rgba(0,0,0,.15);
  border-bottom: 2px solid #6d28d9;
}




/* ==============================================================
   (全賞共通) 最後の行を中央寄せにする Flex 設定
   全賞「2列固定」版
============================================================== */

/* 共通：コンテナをFlex化して中央寄せ */
div.prize-images-container.s-prize-items,
div.prize-images-container.a-prize-items,
div.prize-images-container.b-prize-items,
div.prize-images-container.c-prize-items,
div.prize-images-container.d-prize-items,
div.prize-images-container.last-one-prize-items{
  display: flex !important;              /* Grid ➜ Flex に強制 */
  flex-wrap: wrap !important;
  justify-content: center !important;    /* 余りを中央寄せ */
  gap: 12px;                             /* お好みで */
}

/* 共通：子要素を「2列固定」に */
div.prize-images-container.s-prize-items > .prize-image,
div.prize-images-container.a-prize-items > .prize-image,
div.prize-images-container.b-prize-items > .prize-image,
div.prize-images-container.c-prize-items > .prize-image,
div.prize-images-container.d-prize-items > .prize-image,
div.prize-images-container.last-one-prize-items > .prize-image{
  flex: 0 0 calc(50% - 12px);
  max-width: calc(50% - 12px);
}

.prize-image.s-prize-item img,
.prize-image.a-prize-item img,
.prize-image.b-prize-item img,
.prize-image.c-prize-item img,
.prize-image.d-prize-item img{
  width:95%;
}


/* =======================================================
   page-id-1786 だけ “白文字” を #333 に強制上書き
   （※ ボタン類の文字色はそのまま残す）
======================================================= */

/* 見出し・通常テキスト・表など ——*/
.page-id-1786
.entry-content,
.page-id-1786
.entry-content :where(p, h1, h2, h3, h4, h5, h6, span, li, th, td, label){
  color:#333 !important;
}

/* フォームプレースホルダ・入力値 ——*/
.page-id-1786 input:not([type="submit"])::placeholder,
.page-id-1786 textarea::placeholder,
.page-id-1786 input:not([type="submit"]),
.page-id-1786 textarea{
  color:#333 !important;
}

/* 送信ボタンなど “.button / input[type=submit]” は除外する */

.header-coin-icon{
	width:25px;
	height:25px;
}

.page-id-233 .gacha-remaining{
	display:none;
}
/* デイリーだけバーの上に 10px */
.remaining-bar-wrapper.daily-bar{
    margin-top:20px;
}

/* ───────── 609px 以下 ───────── */
@media (max-width: 609px){
  .mycred-nav-total{
    width: 100% !important;      /* 横幅いっぱいに */
    display: flex !important;    /* フレックス化 */
    justify-content: center !important;  /* 横方向中央寄せ */
    align-items: center !important;      /* 縦方向中央寄せ */
    font-size: 14px !important;  /* 文字サイズ */
  }
}

/* =======================
   2. Base style
======================== */
.btn-resend{
  position:relative;
  display:block;
  width:100%;
  height:48px;
  border:none;
  border-radius:4px;
  background:#1DA1F2;      /* Twilio ブルーに近い色 */
  color:#fff;
  font-weight:600;
  letter-spacing:.5px;
  box-shadow:0 2px 4px rgba(0,0,0,.15);
  cursor:pointer;
  transition:background .2s ease, box-shadow .2s ease;
}
.btn-resend:hover:not(:disabled){
  background:#0d8ae6;
  box-shadow:0 4px 8px rgba(0,0,0,.2);
}
.btn-resend:disabled{
  background:#b6d4f4;
  cursor:not-allowed;
  box-shadow:none;
}

/* ラベル・カウントダウン・スピナー */
.btn-label, .btn-countdown{display:inline-block;}
.btn-countdown{margin-left:4px;}
.spinner{
  position:absolute;
  right:16px;
  top:50%;
  width:18px; height:18px;
  margin-top:-9px;
  border:2px solid rgba(255,255,255,.6);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .9s linear infinite;
  display:none;            /* 初期は非表示 */
}
@keyframes spin{to{transform:rotate(360deg);}}

.dig_resendotp{
    width: 100%;
    direction: ltr;
    text-align: center;
    margin-top: 4px;
    cursor: pointer;
    text-transform: uppercase;
    display: none;
    margin-bottom: 20px;
    background-color: #ff97986b;
    color: #fff !important;
}

/* =====================
   Ultimate Member Custom Design (v5 - Final Layout)
===================== */

/* 1. 不要な要素（画像、カバー、メタ情報）を非表示 */
.um-profile-photo,
.um-cover,
.um-profile-meta {
  display: none !important;
}

.um-header {
  min-height: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* 2. プロフィール全体のコンテナをカード化 */
.um-profile-body {
  max-width: 600px;
  padding: 40px !important;
  border-radius: 24px;
}

@media (max-width: 768px) {
  .um-profile-body {
    padding: 24px !important;

    border-radius: 16px;
  }
}

/* 3. 元々の「歯車ボタン」を消す */
.um-profile-edit {
  display: none !important;
}

/* 4. 新しい「プロフィール編集」ボタンエリアのデザイン */

/* ボタンを囲むエリア */
.taiwangacha-edit-footer {
    margin-top: 20px;
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}

.um-center{
  margin-top:20px !important;
  margin-bottom: 20px !important;
}

/* ボタン本体のデザイン（詳細度を上げて優先させる） */
/* .um-profile-body を頭につけて優先順位を強化 */
.um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn {
  display: inline-block !important; /* flexからblockに変更して安定させる */
  min-width: 240px; /* 画像のように少し幅広に */
  padding: 16px 24px !important;
  
  /* 色と見た目（画像3枚目を再現） */
  background: #6d28d9 !important; /* 赤色 */
  color: #fff !important;          /* 文字色：白（強制） */
  border-radius: 4px !important;   /* 丸すぎない、少し角丸の四角 */
  border: none !important;
  
  /* フォント設定 */
  text-decoration: none !important;
  font-weight: 700 !important;
  line-height: 1.2;
  
  /* 動き */
  transition: all 0.2s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  cursor: pointer;
}

/* ホバー時の挙動 */
.um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn:hover {
  background: #4c1d95 !important; /* 少し濃い赤へ */
  color: #fff !important;
  transform: translateY(-2px);     /* ふわっと浮く */
  box-shadow: 0 4px 12px rgba(109,40,217, 0.3); /* 赤い影 */
  opacity: 1 !important;
}

/* リンクの下線などを強制的に消す（テーマ対策） */
.um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn:visited,
.um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn:active,
.um-profile-body .taiwangacha-edit-footer .taiwangacha-edit-btn:focus {
  color: #fff !important;
  text-decoration: none !important;
  outline: none !important;
}


/* 5. 各項目のラベル・入力値のデザイン */
.um-field-label {
  display: block;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #6d28d9;
  margin-bottom: 6px !important;
  text-transform: uppercase;
  opacity: 0.8;
}

.um-field-value {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #333 !important;
  background: #f9f9f9;
  padding: 12px 16px !important;
  border-radius: 8px;
  border: 1px solid #eee;
}
.um-field-value:empty::before {
  content: "-";
  color: #ccc;
}
.um-field {
  padding: 0 0 20px 0 !important;
  border-bottom: none !important;
}
.um-title-text {
  display: none;
}

.um-header{
  border-bottom: none !important;
}

/* =====================================================================
   GLOBAL REDESIGN — Taiwan Gacha unified theme
   Background: #f4f2fb  |  Accent: #6d28d9  |  Text: #1e1b4b / #555
===================================================================== */

/* ── 1. Body & base ────────────────────────────── */
body {
  background: #f4f2fb !important;
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}
.site-content {
  background: transparent;
}

/* ── 2. Generic page content card ──────────────── */
/* Gacha-related pages are excluded to preserve their custom dark layouts */
body:not(.home):not(.woocommerce-page):not(.um-page):not(.page-id-242):not(.page-id-233):not(.page-id-244):not(.page-id-246):not(.page-id-248):not(.page-id-240):not(.page-id-231):not(.page-id-1691):not(.page-id-1693):not(.page-id-1810):not(.page-id-766):not(.page-id-1397):not(.page-id-1400):not(.page-id-1402):not(.page-id-1392):not(.page-id-1404):not(.page-id-254) #primary .entry-content,
body:not(.home):not(.woocommerce-page):not(.um-page):not(.page-id-242):not(.page-id-233):not(.page-id-244):not(.page-id-246):not(.page-id-248):not(.page-id-240):not(.page-id-231):not(.page-id-1691):not(.page-id-1693):not(.page-id-1810):not(.page-id-766):not(.page-id-1397):not(.page-id-1400):not(.page-id-1402):not(.page-id-1392):not(.page-id-1404):not(.page-id-254) #primary article.page {

  border-radius: 16px;

  padding: 32px 28px;
  margin-bottom: 24px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
body.home #primary article.page {
  background: transparent;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
}

/* ── 3. Page titles ────────────────────────────── */
body:not(.home):not(.single-product) .entry-title,
body:not(.home):not(.single-product) .page-title,
body:not(.home) .ast-archive-description .ast-archive-title {
  font-size: 24px;
  font-weight: 800;
  color: #1e1b4b;
  text-align: center;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 3px solid #6d28d9;
}
/* WC product title — no underline, left-aligned */
body.single-product .product_title.entry-title {
  font-size: 24px;
  font-weight: 800;
  color: #1e1b4b;
  text-align: left;
  border-bottom: none;
  padding-bottom: 0;
}

/* ── 4. Links ──────────────────────────────────── */
body:not(.home) .entry-content a:not(.button):not(.btn):not(.taiwangacha-btn):not(.wp-block-button__link):not(.text-link) {
  color: #6d28d9;
  text-underline-offset: 2px;
}
body:not(.home) .entry-content a:not(.button):not(.btn):not(.taiwangacha-btn):not(.wp-block-button__link):not(.text-link):hover {
  color: #4c1d95;
}


/* =====================================================================
   WOOCOMMERCE PAGES — カート・チェックアウト・ショップ・マイアカウント
===================================================================== */

/* Shop product grid card */
body.woocommerce-page .products .product,
body.woocommerce ul.products li.product {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  padding: 16px;
  transition: transform .2s, box-shadow .2s;
  border: 1px solid #eee;
}
body.woocommerce-page .products .product:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,.1);
}

/* Product title */
body.woocommerce-page .products .product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #1e1b4b !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* Product price */
body.woocommerce-page .products .product .price,
body.woocommerce ul.products li.product .price {
  color: #6d28d9 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}

/* WC add to cart button */
body.woocommerce-page .products .product .button,
body.woocommerce ul.products li.product .button {
  background: #6d28d9 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  transition: background .2s !important;
  border: none !important;
}
body.woocommerce-page .products .product .button:hover {
  background: #4c1d95 !important;
}

/* Cart table */
body.woocommerce-page table.shop_table {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  border: 1px solid #eee !important;
}
body.woocommerce-page table.shop_table th {
  background: #f7f7f9 !important;
  color: #1e1b4b !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #eee !important;
}
body.woocommerce-page table.shop_table td {
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Cart totals */
body.woocommerce-page .cart_totals {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  padding: 20px;
  border: 1px solid #eee;
}
body.woocommerce-page .cart_totals > h2 {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #1e1b4b !important;
  background: transparent !important;
  border-bottom: 2px solid #6d28d9;
  padding-bottom: 10px;
  margin-bottom: 16px;
}

/* Checkout button */
body.woocommerce-page .wc-proceed-to-checkout .checkout-button,
body.woocommerce-page .checkout-button {
  background: #6d28d9 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 14px 24px !important;
  transition: background .2s !important;
  border: none !important;
}
body.woocommerce-page .wc-proceed-to-checkout .checkout-button:hover {
  background: #4c1d95 !important;
}

/* Checkout form */
body.woocommerce-page .woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-page .woocommerce-checkout #customer_details,
body.woocommerce-page .woocommerce-checkout #order_review {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  padding: 24px;
  margin-bottom: 20px;
  border: 1px solid #eee;
}

/* Checkout headings */
body.woocommerce-page .woocommerce-checkout h3,
body.woocommerce-page .woocommerce-checkout h2 {
  color: #1e1b4b !important;
  font-weight: 800 !important;
  border-bottom: 2px solid #6d28d9;
  padding-bottom: 8px;
  margin-bottom: 16px;
}

/* Form inputs */
body.woocommerce-page input[type="text"],
body.woocommerce-page input[type="email"],
body.woocommerce-page input[type="tel"],
body.woocommerce-page input[type="number"],
body.woocommerce-page input[type="password"],
body.woocommerce-page select,
body.woocommerce-page textarea {
  background: #f7f7f9 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  color: #333 !important;
  transition: border-color .2s !important;
}
body.woocommerce-page input:focus,
body.woocommerce-page select:focus,
body.woocommerce-page textarea:focus {
  border-color: #6d28d9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(109,40,217,.1) !important;
  outline: none !important;
}

/* WC buttons — unified */
body.woocommerce-page .button,
body.woocommerce-page .btn,
body.woocommerce-page input[type="submit"] {
  background: #6d28d9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  cursor: pointer;
  transition: background .2s, transform .15s !important;
}
body.woocommerce-page .button:hover,
body.woocommerce-page .btn:hover,
body.woocommerce-page input[type="submit"]:hover {
  background: #4c1d95 !important;
  transform: translateY(-1px);
  opacity: 1 !important;
}

/* WC notices */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info {
  background: #fff !important;
  /* border-top: 3px solid #6d28d9 !important;  赤い上線は不要のため削除 */
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  color: #333 !important;
}
body.woocommerce-page .woocommerce-message::before,
body.woocommerce-page .woocommerce-info::before {
  color: #6d28d9 !important;
}
body.woocommerce-page .woocommerce-error {
  background: #fff !important;
  border-top: 3px solid #a855f7 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* WC My Account navigation */
body.woocommerce-page .woocommerce-MyAccount-navigation ul {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid #eee;
}
body.woocommerce-page .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid #f0f0f0;
  padding: 0 !important;
}
body.woocommerce-page .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}
body.woocommerce-page .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 20px !important;
  color: #333 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .2s, color .2s;
}
body.woocommerce-page .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-page .woocommerce-MyAccount-navigation ul li a:hover {
  background: #6d28d9 !important;
  color: #fff !important;
}
body.woocommerce-page .woocommerce-MyAccount-content {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  padding: 24px !important;
  border: 1px solid #eee;
}

/* WC order table */
body.woocommerce-page .woocommerce-orders-table,
body.woocommerce-page .woocommerce-table--order-details {
  border-radius: 12px !important;
  overflow: hidden;
}


/* =====================================================================
   ULTIMATE MEMBER PAGES — ログイン・新規登録・プロフィール
===================================================================== */

/* UM form card */
body.um-page .um-form {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.08) !important;
  padding: 36px 32px !important;
  max-width: 480px;
  margin: 40px auto !important;
  border: 1px solid #eee;
}
@media (max-width: 768px) {
  body.um-page .um-form {
    padding: 24px 20px !important;
    margin: 20px 16px !important;
    border-radius: 12px !important;
  }
}

/* UM form title */
body.um-page .um-form .um-form-title {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1e1b4b !important;
  text-align: center;
  margin-bottom: 24px !important;
}

/* UM inputs */
body.um-page .um .um-form input[type=text],
body.um-page .um .um-form input[type=password],
body.um-page .um .um-form input[type=email],
body.um-page .um .um-form input[type=tel],
body.um-page .um .um-form input[type=number],
body.um-page .um .um-form input[type=search],
body.um-page .um .um-form textarea,
body.um-page .um .um-form select {
  background: #f7f7f9 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  color: #333 !important;
  transition: border-color .2s, box-shadow .2s !important;
  font-size: 15px !important;
}
body.um-page .um .um-form input:focus,
body.um-page .um .um-form textarea:focus,
body.um-page .um .um-form select:focus {
  border-color: #6d28d9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(109,40,217,.1) !important;
  outline: none !important;
  color: #333 !important;
}
body.um-page .um .um-form input:hover,
body.um-page .um .um-form textarea:hover {
  background: #f0f0f3 !important;
  color: #333 !important;
}

/* UM labels */
body.um-page .um-field label,
body.um-page .um-field .um-field-label-text {
  color: #555 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* UM submit button */
body.um-page .um-button,
body.um-page .um-btn,
body.um-page input[type="submit"] {
  background: #6d28d9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 24px !important;
  cursor: pointer;
  transition: background .2s, transform .15s !important;
  width: 100%;
}
body.um-page .um-button:hover,
body.um-page .um-btn:hover,
body.um-page input[type="submit"]:hover {
  background: #4c1d95 !important;
  transform: translateY(-1px);
  opacity: 1 !important;
}

/* UM links (forgot password etc) */
body.um-page .um-col-alt a,
body.um-page .um-form .um-link a {
  color: #6d28d9 !important;
}
body.um-page .um-col-alt a:hover,
body.um-page .um-form .um-link a:hover {
  color: #4c1d95 !important;
}

/* UM select2 dropdown */
body.um-page .select2-container .select2-choice,
body.um-page .select2-container-multi .select2-choices {
  background: #f7f7f9 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
}
.select2-container--default .select2-results > .select2-results__options {
  background-color: #fff;
  color: #333;
}
.select2-dropdown {
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.select2-results__option {
  color: #333 !important;
}
.select2-results__option--highlighted {
  background: #6d28d9 !important;
  color: #fff !important;
}


/* =====================================================================
   STATIC PAGES — プライバシーポリシー・利用規約・お問い合わせ・特定商取引法
===================================================================== */

/* Ensure all text is dark on static pages */
body.page-id-3 .entry-content,
body.page-id-493 .entry-content,
body.page-id-545 .entry-content,
body.page-id-1565 .entry-content {
  color: #333 !important;
}
body.page-id-3 .entry-content h2,
body.page-id-3 .entry-content h3,
body.page-id-493 .entry-content h2,
body.page-id-493 .entry-content h3,
body.page-id-545 .entry-content h2,
body.page-id-545 .entry-content h3,
body.page-id-1565 .entry-content h2,
body.page-id-1565 .entry-content h3 {
  color: #1e1b4b !important;
  font-weight: 800;
  border-bottom: 2px solid #6d28d9;
  padding-bottom: 8px;
  margin-top: 32px;
  margin-bottom: 16px;
}
body.page-id-3 .entry-content p,
body.page-id-493 .entry-content p,
body.page-id-545 .entry-content p,
body.page-id-1565 .entry-content p {
  color: #555 !important;
  line-height: 1.8;
}


/* =====================================================================
   CONTACT FORM 7 — お問い合わせフォーム
===================================================================== */

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea {
  background: #f7f7f9 !important;
  color: #333 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  transition: border-color .2s !important;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color: #6d28d9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(109,40,217,.1) !important;
  color: #333 !important;
}
.wpcf7-form input[type="submit"] {
  background: #6d28d9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 30px !important;
  cursor: pointer;
  transition: background .2s !important;
}
.wpcf7-form input[type="submit"]:hover {
  background: #4c1d95 !important;
}
.wpcf7-form label {
  color: #555 !important;
  font-weight: 600;
}


/* =====================================================================
   FOOTER — 統一デザイン
===================================================================== */

.site-footer {
  background: #12122a !important;
  color: #ccc !important;
}
.site-footer a {
  color: #eee !important;
}
.site-footer .site-below-footer-wrap {
  background: #12122a !important;
}
.site-footer .ast-footer-copyright {
  color: #888 !important;
}

/* Footer menu — override to dark theme */
ul#astra-footer-menu li a {
  background-color: transparent !important;
  color: #ccc !important;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px;
  padding: 8px 16px;
  transition: all .2s;
}
ul#astra-footer-menu li a:hover,
ul#astra-footer-menu li a:active,
ul#astra-footer-menu li a:focus,
ul#astra-footer-menu li a:visited:active,
ul#astra-footer-menu li a:visited:hover {
  background-color: #6d28d9 !important;
  color: #fff !important;
  border-color: #6d28d9 !important;
  box-shadow: 0 4px 12px rgba(109,40,217,.3) !important;
  transform: translateY(-1px);
}


/* =====================================================================
   GENERAL FORM FOCUS — 統一フォーカス
===================================================================== */

input:focus,
textarea:focus,
select:focus {
  background-color: #fff !important;
  color: #333 !important;
  border: 1px solid #6d28d9 !important;
  box-shadow: 0 0 0 3px rgba(109,40,217,.1) !important;
  outline: none !important;
}


/* =====================================================================
   TOP PAGE — home background override (keep dark card look)
===================================================================== */

body.home {
  background: #f4f2fb !important;
}
body.home .site-content {
  background: transparent;
}
body.home .ast-container {
  background: transparent;
}

/* Gacha card text on home: keep white */
body.home .gacha-content,
body.home .gacha-item {
  color: #fff;
}
body.home .remaining-info {
  color: #fff;
}
body.home .gacha-price-info {
  color: #fff;
}


/* =====================================================================
   GACHA DETAIL PAGES — 詳細・一覧・コレクション統一デザイン
===================================================================== */

/* Detail pages: title area */
.page-id-242 .entry-title,
.page-id-244 .entry-title,
.page-id-233 .entry-title,
.page-id-1691 .entry-title {
  color: #12122a!important;
  font-weight: 800;
  text-align: center;
  font-size: 22px;
}

/* Detail pages: gacha thumbnail card */
.page-id-242 img[alt="ガチャサムネイル"],
.page-id-244 img[alt="ガチャサムネイル"],
.page-id-233 img[alt="ガチャサムネイル"],
.page-id-1691 img[alt="ガチャサムネイル"] {
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
}

/* Prize section backgrounds */
.gacha-prizes-container {
  max-width: 800px;
  margin: 0 auto;
}
.prize-rank-section {
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
  border: 1px solid #eee;
}

/* Prize images card style */
.prize-image img {
  border-radius: 8px;
  transition: transform .2s;
}
.prize-image:hover img {
  transform: scale(1.03);
}

/* Quantity badge */
.item-quantity-badge {
  background: #fff !important;
  border: 2px solid #6d28d9;
  color: #6d28d9 !important;
  font-weight: 800;
  border-radius: 6px;
  padding: 3px 8px !important;
  font-size: 13px !important;
}

/* Gacha detail — remaining info text color */
.page-id-242 .remaining-info,
.page-id-244 .remaining-info,
.page-id-233 .remaining-info,
.page-id-1691 .remaining-info {
  color: #333;
}

/* Fixed footer buttons — consistent with top page */
.fixed-footer {
  background: #1e1b4b !important;
  border-top: 1px solid rgba(255,255,255,.1);
}

/* WC Product page — cleaner layout */
body.single-product .summary.entry-summary {
  color: #333;
}
body.single-product .price {
  color: #6d28d9 !important;
  font-weight: 800 !important;
  font-size: 24px !important;
}
body.single-product .woocommerce-product-details__short-description {
  color: #555;
}
body.single-product .single_add_to_cart_button {
  background: #6d28d9 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border: none !important;
  transition: background .2s !important;
}
body.single-product .single_add_to_cart_button:hover {
  background: #4c1d95 !important;
}

/* Breadcrumb */
body.single-product .woocommerce-breadcrumb,
body.woocommerce-page .woocommerce-breadcrumb {
  color: #888 !important;
  font-size: 13px;
}
body.single-product .woocommerce-breadcrumb a,
body.woocommerce-page .woocommerce-breadcrumb a {
  color: #6d28d9 !important;
}

/* WC quantity input */
body.single-product .quantity .qty {
  background: #f7f7f9 !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  color: #333 !important;
  font-weight: 600;
}

/* Gacha card frame on TOP (matching screenshot) */
.gacha-content {
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  overflow: hidden;
  background: #111;
}
.gacha-thumbnail img {
  border-radius: 12px 12px 0 0;
}

/* Gacha buttons area on top page */
.gacha-button {
  background: #111;
  border-radius: 0 0 12px 12px;
}


/* ======================================================================
   2026 REFRESH LAYER — Taiwan Gacha
   目的: ブランド色の統一 / スマホのタップ性・可読性 / iPhone safe-area /
         モーダルとガチャ演出の重なり整理 / 画像の歪み防止。
   既存ルールを壊さないよう、ファイル末尾でまとめて上書きする方針。
   ここより上の散在した色・サイズ指定より、この層が優先されます。
====================================================================== */

:root{
  /* --- ブランドカラー（ここだけ変えれば全CTAが変わる） --- */
  --tcg-red:        #7c3aed;   /* プライマリCTA */
  --tcg-red-dark:   #5b21b6;   /* 押下・グラデ終点 */
  --tcg-red-soft:   #f3e8ff;   /* 薄い赤（背景・淡色） */
  --tcg-gold-1:     #f0c04a;   /* プレミアム(100連)グラデ始点 */
  --tcg-ink:        #1e1b4b;   /* 見出し文字 */
  --tcg-ink-soft:   #555;      /* 本文 */
  --tcg-line:       #e7e1dc;   /* 罫線 */
  /* --- 角丸・影を2〜3種に集約 --- */
  --tcg-r-sm: 8px;
  --tcg-r-md: 14px;
  --tcg-r-pill: 999px;
  --tcg-shadow:    0 2px 10px rgba(0,0,0,.08);
  --tcg-shadow-lg: 0 8px 28px rgba(0,0,0,.16);
  --tcg-cta-grad:      linear-gradient(135deg, var(--tcg-red) 0%, var(--tcg-red-dark) 100%);
  --tcg-premium-grad:  linear-gradient(135deg, var(--tcg-gold-1) 0%, var(--tcg-red) 58%, var(--tcg-red-dark) 100%);
}

/* --- 日本語フォント優先（日本語らしい字形で統一） --- */
body{
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
               "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
}

/* ====================== 1. ブランド赤の統一 ====================== */
/* バラバラだったCTA赤(#ec4899 / #a855f7 等)を1色に集約 */
/* 10連・デイリー・確定系＝ブランド赤で統一 */
.modal-button.confirm,
.fixed-footer .gacha-10,
.gacha-button-multi.gacha-10,
.add-submit-button button,
.gacha-button-daily,
.fixed-footer .gacha-button-daily{
  background: var(--tcg-cta-grad) !important;
  border-color: var(--tcg-red-dark) !important;
  color: #fff !important;
}
.modal-button.cancel{
  color: var(--tcg-red) !important;
  border: 1.5px solid var(--tcg-red) !important;
}
.modal-button.cancel:hover{ background: var(--tcg-red) !important; color:#fff !important; }

/* 100連＝最上位ボタン。10連(赤)と一目で見分けられるよう虹色グラデ＋ゆるやかな流れで豪華に */
.gacha-button-multi.gacha-100,
.fixed-footer .gacha-100,
.fixed-footer .infi-gacha-button.gacha-100{
  background: linear-gradient(100deg,
    #ec4899 0%, #ff8a00 17%, #ffd60a 34%, #34c759 52%,
    #00c7ff 70%, #5e5ce6 86%, #bf5af2 100%) !important;
  background-size: 220% 100% !important;
  animation: tcg-rainbow 7s linear infinite;
  border: none !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  text-shadow: 0 1px 2px rgba(0,0,0,.6), 0 0 2px rgba(0,0,0,.45);
  box-shadow: 0 4px 16px rgba(0,0,0,.28) !important;
}
@keyframes tcg-rainbow { from { background-position: 0% 50%; } to { background-position: 220% 50%; } }
/* SOLD OUT / 無効化ボタンはグレーで統一（アニメも止める） */
.gacha-button-multi.gacha-100.disabled,
.gacha-button-single{ background:#8a8a8a !important; background-image:none !important; animation:none !important; }

/* 吸着中フィルターの下線もブランド赤へ */
.genre-filter-container.stuck{ border-bottom-color: var(--tcg-red) !important; }

/* ====================== 2. タップ性・可読性（44px / 13px+） ====================== */
/* 極小フォント(9〜12px)と狭いタップ領域をまとめて底上げ */
.genre-btn{
  min-height: 44px !important;
  font-size: 13px !important;
  padding: 8px 8px !important;
  border-radius: var(--tcg-r-pill) !important;
  font-weight: 700;
  white-space: nowrap !important;   /* ラベルを常に1行に（「スニーカー」等が2行に折れないように） */
  line-height: 1.2 !important;
}
/* ジャンルバーは1行のまま。万一収まらない端末では折り返さず横スクロールで逃がす */
.genre-filter-bar{
  flex-wrap: nowrap !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.genre-filter-bar::-webkit-scrollbar{ display: none; }
#gacha1,#gacha10,#gacha100,
#infiGacha1,#infiGacha10,#infiGacha100{
  font-size: 15px !important;
  font-weight: 700 !important;
}
.fixed-footer button,
.add-submit-button button{
  min-height: 50px !important;
  font-size: 15px !important;
  font-weight: 700;
  border-radius: var(--tcg-r-sm) !important;
}
.modal-button{
  min-height: 46px !important;
  font-size: 15px !important;
  border-radius: var(--tcg-r-sm) !important;
  flex: 1;
  width: 100%;
}
/* 確認ボタンは <form> に包まれているため、フォームも伸縮させて左右均等に */
.modal-buttons{ display: flex; gap: 12px; align-items: stretch; }
.modal-buttons > form{ flex: 1; display: flex; margin: 0; }
/* コレクション/結果画面のフィルター・ナビは押せる大きさに */
.collection-filter a,
.status-filter a,
.sort-order a,
button.text-link{
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 6px 12px !important; font-size: 13px !important;
}

/* ====================== 3. iPhone safe-area（ホームバー回避） ====================== */
.fixed-footer{
  padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
}
.add-submit-button{
  padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
}
.taiwangacha-drawer{
  padding-bottom: env(safe-area-inset-bottom);
}

/* ====================== 4. モーダル：背景スクロール固定＋見た目 ====================== */
body.modal-open{ overflow: hidden !important; }
.modal-content{
  border-radius: var(--tcg-r-md) !important;
  box-shadow: var(--tcg-shadow-lg) !important;
  border: none !important;
}
.modal-buttons{ gap: 12px; }

/* 結果ページ（発送/売却）の確認・サイズ選択モーダルを画面中央に配置。
   JSで display:block 表示されるため、絶対配置＋translateで上下中央に固定する。
   ID指定でインラインの margin:5% auto より優先させる。 */
#resultConfirmModal .modal-content,
#sizeSelectModal .modal-content,
#collectionSizeSelectModal .modal-content,
#confirmModal .modal-content,
#infiConfirmModal .modal-content,
#cgDailyConfirmModal .modal-content,
#bulkConfirmModal .modal-content{
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  max-height: 88vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* ====================== 5. 画像の歪み防止（object-fit / aspect-ratio） ====================== */
/* 対象は「賞品カード画像」のみ。コインアイコン等の小さな装飾画像は除外する
   （除外しないと width:100% がインラインの 20px 指定を上書きし巨大化する） */
.post-248 .entry-content ul li img:not([alt="ポイント"]):not([alt="pt"]):not(.coin-icon),
.collection-list li img:not([alt="ポイント"]):not([alt="pt"]):not(.coin-icon),
.post-248.page.type-page.status-publish.ast-article-single .entry-content ul li img:not([alt="ポイント"]):not([alt="pt"]):not(.coin-icon){
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--tcg-r-sm);
}
/* コインアイコンは元の小さいサイズを維持 */
.post-248 .entry-content ul li img[alt="ポイント"],
.collection-list li img[alt="ポイント"],
.gacha-result li img[alt="ポイント"]{
  width: 20px !important;
  height: 21px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  vertical-align: middle;
  display: inline !important;
}
.prize-image img,
.gacha-thumbnail img{
  max-width: 100%;
  height: auto;
}

/* ====================== 6. ヘッダーのロゴ折返し防止 ====================== */
.taiwangacha-header__logo{ white-space: nowrap; }
.taiwangacha-pointbtn__text{
  max-width: 8em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* ポイントドロップダウンが長い時はメニュー自体をスクロール可に */
.taiwangacha-pointmenu{
  max-height: 70vh; overflow-y: auto;
}

/* ====================== 7. カード類の角丸・影を統一 ====================== */
.gacha-content{
  border-radius: var(--tcg-r-md) !important;
  box-shadow: var(--tcg-shadow) !important;
}
.gacha-item{
  border-radius: var(--tcg-r-md) !important;
  /* box-shadow: var(--tcg-shadow) !important;  影は無しの方が良いとのことで外す */
  box-shadow: none !important;
  margin-bottom: 0px !important;
}

/* モーション設定を尊重 */
@media (prefers-reduced-motion: reduce){
  *{ transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* ====================== 広告スライダー（ジャンルバーの真上） ====================== */
.tcg-adslider{
  position: relative; width: 100%; max-width: 100%;
  margin: 0 auto 14px; border-radius: var(--tcg-r-md);
  overflow: hidden; box-shadow: var(--tcg-shadow); background:#111;
}
/* 旧CSSでジャンルバーを広告より上にしていた order 指定を無効化（広告を上にするため） */
.genre-filter-container{ order: 0 !important; }
.tcg-adslider__viewport{ overflow: hidden; }
.tcg-adslider__track{ display: flex; transition: transform .5s cubic-bezier(.4,0,.2,1); will-change: transform; }
.tcg-adslide{
  position: relative; flex: 0 0 100%; aspect-ratio: 3 / 1;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; color: #fff; overflow: hidden;
}
/* リンクなのでテーマ標準の紫色・下線が付くのを打ち消す（白・下線なしに固定） */
.tcg-adslide,
.tcg-adslide:link,
.tcg-adslide:visited,
.tcg-adslide:hover,
.tcg-adslide:active,
.tcg-adslide *{
  color: #fff !important;
  text-decoration: none !important;
}
.tcg-adslide__img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.tcg-adslide__body{ display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; padding: 0 48px; }
.tcg-adslide__title{ font-size: clamp(1rem, 3.4vw, 1.6rem); font-weight: 800; line-height: 1.25; text-shadow: 0 2px 6px rgba(0,0,0,.35); text-wrap: balance; }
.tcg-adslide__sub{ font-size: clamp(.72rem, 2.2vw, .95rem); opacity: .92; }
.tcg-adslide__tag{
  position: absolute; top: 8px; left: 8px; background: rgba(0,0,0,.45);
  color:#fff; font-size: 10px; font-weight: 700; letter-spacing: .08em;
  padding: 2px 7px; border-radius: 4px;
}
.tcg-adslider__nav{
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border: none; border-radius: 50%;
  background: rgba(0,0,0,.35); color: #fff; font-size: 22px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  z-index: 2; transition: background .2s;
}
.tcg-adslider__nav:hover{ background: rgba(0,0,0,.6); }
.tcg-adslider__nav--prev{ left: 8px; }
.tcg-adslider__nav--next{ right: 8px; }
.tcg-adslider__dots{
  position: absolute; bottom: 8px; left: 0; right: 0;
  display: flex; justify-content: center; gap: 7px; z-index: 2;
}
.tcg-addot{
  width: 8px; height: 8px; border-radius: 50%; border: none;
  background: rgba(255,255,255,.5); cursor: pointer; padding: 0;
  transition: background .2s, width .2s;
}
.tcg-addot.is-active{ background: #fff; width: 20px; border-radius: 4px; }
@media (max-width: 600px){
  .tcg-adslide{ aspect-ratio: 16 / 7; }
  .tcg-adslider__nav{ width: 30px; height: 30px; font-size: 18px; }
  .tcg-adslide__body{ padding: 0 36px; }
}


/* ====================== WooCommerce コンパクト化（全WooCommerceページ） ======================
   商品カードを低く・詰めて、1画面でなるべく多くの商品が見えるように調整。 */

/* --- ショップ商品グリッド：カードを低く --- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  margin-bottom: 1em !important;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img{
  max-width: 96px !important;
  height: auto !important;
  margin: 0 auto 6px !important;
  display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  font-size: .92rem !important;
  padding: 2px 0 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  font-size: .95rem !important;
  margin: 2px 0 6px !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .button{
  padding: 6px 14px !important;
  font-size: .85rem !important;
  margin-top: 2px !important;
  min-height: 40px;
}

/* スマホ：詰めつつ、狭すぎない2列を維持 */
@media (max-width: 600px){
  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img{ max-width: 78px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title{ font-size: .84rem !important; }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{ margin-bottom: .7em !important; }
}

/* --- 単一商品ページ：画像と余白を詰めて購入エリアを見えやすく --- */
.woocommerce div.product div.images,
.woocommerce-page div.product div.images{ margin-bottom: 12px !important; }
.woocommerce div.product .product_title,
.woocommerce-page div.product .product_title{ font-size: 1.3rem !important; margin-bottom: 6px !important; }
.woocommerce div.product p.price,
.woocommerce-page div.product p.price{ font-size: 1.15rem !important; margin: 6px 0 !important; }

/* --- カート／マイアカウントの表：行の余白を詰める --- */
.woocommerce table.shop_table td,
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table td,
.woocommerce-page table.shop_table th{
  padding: 8px 10px !important;
}


/* ====================== 単一商品ページ：小さめ画像＋情報を横並び ====================== */
.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce #content div.product div.images,
.woocommerce-page #content div.product div.images{
  width: 30% !important;
  max-width: 280px !important;
  float: left !important;
  margin: 0 4% 24px 0 !important;
}
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce #content div.product div.summary,
.woocommerce-page #content div.product div.summary{
  width: 66% !important;
  float: left !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img{ max-width: 100% !important; height: auto !important; }
/* タブ・関連商品は回り込み解除 */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells{ clear: both !important; }
@media (max-width: 600px){
  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images{ width: 38% !important; max-width: 140px !important; margin: 0 5% 12px 0 !important; }
  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.summary{ width: 57% !important; }
}

/* ====================== チェックアウトをスタイリッシュに整える ====================== */
/* セクション間にゆとり（枠同士が近い問題を解消） */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout #customer_details{ margin-bottom: 24px !important; }

/* info / message ボックスを統一（角丸・余白・やわらかい枠。重い赤い上線をやめる） */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info{
  border: 1px solid var(--tcg-line) !important;
  border-radius: 12px !important;
  padding: 15px 18px !important;
  background: #fff !important;
  box-shadow: var(--tcg-shadow) !important;
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before{ position: static !important; margin-right: 4px; }

/* 変な下線を消す。クーポンのリンクは色＋控えめな下線で「押せる」ことだけ示す */
.woocommerce-checkout a{ text-decoration: none !important; }
.woocommerce-checkout .showcoupon{
  color: var(--tcg-red) !important; font-weight: 700 !important;
  border-bottom: 1px dashed var(--tcg-red);
}
.woocommerce-checkout .showcoupon:hover{ opacity: .8; }

/* 入力欄を見やすく（高さ・角丸・枠・行間） */
.woocommerce-checkout .form-row{ margin: 0 0 14px !important; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  padding: 10px 12px !important;
  border: 1px solid var(--tcg-line) !important;
  border-radius: 8px !important;
  min-height: 44px;
  box-sizing: border-box;
}
.woocommerce-checkout label{ margin-bottom: 4px !important; font-weight: 600; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{ padding: 0 !important; }

/* 注文レビュー（右側）をカード化してまとまりを出す */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{
  background: #fff !important;
  border: 1px solid var(--tcg-line) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: var(--tcg-shadow) !important;
}
.woocommerce-checkout #order_review table.shop_table{ border: none !important; margin-bottom: 8px; }
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th{ padding: 10px 8px !important; }


/* ====================== 追加調整（カート/ヘッダー/ショップ/クーポン） ====================== */

/* ① お買い物カゴ：タイトル下の赤い線を削除 */
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title{
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* ④ ヘッダー：ポイントは桁が増えても省略せず全部表示（100万=1,000,000ptまで）。
   代わりにロゴ・コインを少し小さくして収める。足りなければロゴ側を省略。 */
.taiwangacha-pointbtn__text{
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.taiwangacha-header__logo{ min-width: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 480px){
  .taiwangacha-header__logo{ font-size: 18px !important; }
  .taiwangacha-pointbtn__coin{ width: 22px !important; height: 22px !important; margin: 0 5px 0 6px !important; }
  .taiwangacha-pointbtn__text{ font-size: 13px !important; }
  .taiwangacha-header__inner{ padding: 10px 10px !important; }
}
@media (max-width: 360px){
  .taiwangacha-header__logo{ font-size: 16px !important; }
  .taiwangacha-pointbtn__text{ font-size: 12px !important; }
}

/* ②③ ショップ商品カード：縦パディングを詰めて多く見せる＋中身とボタンを中央寄せ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  text-align: center !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .button{
  display: inline-block !important;
  float: none !important;
  margin: 6px auto 0 !important;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  text-align: center !important;
}

/* ⑤ カート：クーポンコード入力とクーポン適用ボタンを横一列に */
.woocommerce-cart .coupon,
.woocommerce .cart .coupon,
.woocommerce-page .cart .coupon{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.woocommerce-cart .coupon #coupon_code,
.woocommerce .cart .coupon #coupon_code{
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.woocommerce-cart .coupon .button,
.woocommerce .cart .coupon .button{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  margin: 0 !important;
}


/* ====================== 「発送不可」「売却不可」を分かりやすい赤バッジに ====================== */
.sale-disabled{
  display: inline-block !important;
  background: var(--tcg-red-soft, #f3e8ff) !important;
  color: var(--tcg-red-dark, #5b21b6) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tcg-red, #6d28d9) 30%, transparent) !important;
  margin: 2px 4px !important;
  white-space: nowrap;
  line-height: 1.4;
}


/* ====================== 空のページヘッダーによる上部余白を解消 ====================== */
/* タイトル非表示ページで、中身の無い entry-header が上に余白を作るのを消す */
.entry-header.ast-header-without-markup{ display: none !important; }

/* お問い合わせページ：タイトル上の大きな余白を詰める */
body.page-id-545 main{ margin-top: 14px !important; }
body.page-id-545 #primary article.page{ padding-top: 16px !important; }

/* =====================
   taiwangacha footer
===================== */
.taiwangacha-footer{
  position: relative;
  background: linear-gradient(180deg, #17153a 0%, #0b0a1f 100%);
  color: rgba(255,255,255,0.8);
  margin-top: 60px;
  overflow: hidden;
}
/* 上端の赤いアクセントライン */
.taiwangacha-footer::before{
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #6d28d9 20%, #ec4899 50%, #6d28d9 80%, transparent 100%);
}
/* うっすら赤の光彩 */
.taiwangacha-footer__glow{
  position: absolute;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
  width: 640px;
  height: 240px;
  background: radial-gradient(ellipse at center, rgba(109,40,217,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.taiwangacha-footer__inner{
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 24px 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 64px;
  justify-content: space-between;
}
.taiwangacha-footer__brand{
  max-width: 340px;
}
.taiwangacha-footer__logo{
  font-weight: 900;
  font-size: 26px;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none;
  color: #fff !important;
  text-shadow: 0 0 20px rgba(109,40,217,0.35);
}
.taiwangacha-footer__logo span{
  background: linear-gradient(135deg, #ec4899 0%, #6d28d9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-left: 2px;
}
.taiwangacha-footer__tagline{
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.9;
  color: rgba(255,255,255,0.55);
}
.taiwangacha-footer__nav{
  display: flex;
  flex-wrap: wrap;
  gap: 40px 64px;
}
.taiwangacha-footer__heading{
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ec4899;
}
.taiwangacha-footer__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.taiwangacha-footer__list a{
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: rgba(255,255,255,0.72) !important;
  transition: color 0.2s ease, transform 0.2s ease;
}
.taiwangacha-footer__list a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #ec4899, transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.taiwangacha-footer__list a:hover{
  color: #fff !important;
  transform: translateX(3px);
}
.taiwangacha-footer__list a:hover::after{
  transform: scaleX(1);
}
.taiwangacha-footer__bottom{
  position: relative;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 18px 24px;
  text-align: center;
}
.taiwangacha-footer__copy{
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.4);
}
@media (max-width: 640px){
  .taiwangacha-footer__inner{
    flex-direction: column;
    gap: 32px;
    padding: 40px 20px 28px;
  }
  .taiwangacha-footer__nav{
    gap: 28px 48px;
  }
}

/* =====================
   header 磨き込み
===================== */
/* 下端に赤のアクセントライン
   注意: このヘッダーには backdrop-filter / filter / transform を付けないこと。
   子孫の position:fixed（ドロワーメニュー）の基準がヘッダーになり、メニューが潰れる。 */
.taiwangacha-header{
  background: linear-gradient(135deg, rgba(13,13,13,0.97) 0%, rgba(26,26,46,0.97) 100%);
  border-bottom: 0;
}
.taiwangacha-header::after{
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #6d28d9 20%, #ec4899 50%, #6d28d9 80%, transparent 100%);
}
.taiwangacha-header__logo span{
  background: linear-gradient(135deg, #ec4899 0%, #6d28d9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-left: 2px;
}
.taiwangacha-header__logo{
  transition: text-shadow 0.25s ease;
}
.taiwangacha-header__logo:hover{
  text-shadow: 0 0 28px rgba(236,72,153,0.55);
}


/* =====================================================================
   NOWRIPA BRAND LAYER
   ブランド: NOWRIPA（株式会社アップドラフト）
   配色: バイオレット #7c3aed → ピンク #ec4899 / インク #1e1b4b / 背景 #f4f2fb
   ここは他レイヤーより後に読み込まれるため最優先で効きます。
===================================================================== */
:root{
  --nr-violet:#7c3aed; --nr-violet-dark:#5b21b6; --nr-pink:#ec4899; --nr-cyan:#22d3ee;
  --nr-ink:#1e1b4b; --nr-bg:#f4f2fb;
  --nr-grad:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
}
/* --- ロゴ --- */
.nr-logo{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; text-shadow:none !important; }
.nr-logo__icon{ width:36px; height:36px; flex:0 0 auto; filter:drop-shadow(0 2px 8px rgba(124,58,237,.5)); }
.nr-logo .nr-logo__text{
  font-family:'Montserrat', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight:900; font-size:26px; letter-spacing:-0.03em; line-height:1;
  color:#fff; background:none; -webkit-text-fill-color:#fff;
}
.nr-logo .nr-logo__text .nr-logo__accent{
  background:linear-gradient(135deg,#a78bfa 0%,#ec4899 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.nr-logo--footer .nr-logo__icon{ width:32px; height:32px; }
@media (max-width:480px){ .nr-logo .nr-logo__text{ font-size:22px; } .nr-logo__icon{ width:30px; height:30px; } }
/* --- ヘッダー／フッターのアクセントライン --- */
.taiwangacha-header{ border-bottom:none; }
.taiwangacha-header::after{ content:""; display:block; height:3px; background:linear-gradient(90deg,#7c3aed 0%,#ec4899 55%,#22d3ee 100%); }
.taiwangacha-footer::before{ background:linear-gradient(90deg, transparent 0%, #7c3aed 20%, #ec4899 50%, #7c3aed 80%, transparent 100%); }
/* --- ページ背景（カテゴリごとに変化） --- */
body{ background:var(--nr-bg) !important; transition:background .45s ease; }
body[data-genre="all"]{ background:linear-gradient(180deg,#ede9fe 0%,#f4f2fb 380px) !important; }
body[data-genre="0"]{ background:linear-gradient(180deg,#fef3c7 0%,#f4f2fb 380px) !important; }
body[data-genre="1"]{ background:linear-gradient(180deg,#ffe4e6 0%,#f4f2fb 380px) !important; }
body[data-genre="2"]{ background:linear-gradient(180deg,#cffafe 0%,#f4f2fb 380px) !important; }
/* --- 会員ランク: VIP（旧マスター） --- */
.taiwangacha-drawer__panel[data-rank="vip"]{ --rank-text:#f0abfc; --rank-bg-start:#7c3aed; --rank-bg-end:#ec4899; }
/* --- CTA ボタン --- */
.taiwangacha-btn--solid{ background:var(--nr-grad); box-shadow:0 3px 12px rgba(124,58,237,.4); }
.taiwangacha-btn--solid:hover{ background:linear-gradient(135deg,#8b5cf6 0%,#f472b6 100%); box-shadow:0 6px 20px rgba(236,72,153,.45); }
/* --- 特商法などの法務ページ --- */
.nr-legal__lead{ color:#555; font-size:14px; margin-bottom:18px; }
.nr-legal__table{ width:100%; border-collapse:collapse; font-size:14px; }
.nr-legal__table th, .nr-legal__table td{ border:1px solid #e5e1f5; padding:12px 14px; vertical-align:top; text-align:left; }
.nr-legal__table th{ width:32%; background:#f3e8ff; color:#1e1b4b; font-weight:700; }
.nr-legal__table small{ color:#777; }
@media (max-width:600px){ .nr-legal__table th, .nr-legal__table td{ display:block; width:100%; } .nr-legal__table th{ border-bottom:none; } }


/* =====================================================================
   NOWRIPA — ON-GACHA STYLE LAYER（ライトテーマ / 2026-09）
   参考: on-gacha.com（白背景・角丸カード・ティール主色・ピンク〜紫アクセント）
   このレイヤーは最後に読み込まれ、既存レイヤー（ダーク×バイオレット）を上書きする。
   主色: --og-primary ティール / ブランド: バイオレット→ピンク グラデ
===================================================================== */
:root{
  --og-primary:#12a5ba; --og-primary-dark:#0d8598; --og-primary-soft:#e6f7f9;
  --og-pink:#ec4899; --og-violet:#7c3aed;
  --og-ink:#1e1b4b; --og-text:#1f2937; --og-muted:#6b7280; --og-line:#e9ebf0;
  --og-bg:#ffffff; --og-bg-soft:#f6f7fb; --og-card:#ffffff;
  --og-radius:16px; --og-radius-lg:20px; --og-pill:999px;
  --og-shadow:0 4px 14px rgba(17,24,39,.06); --og-shadow-lg:0 12px 30px rgba(17,24,39,.10);
  --og-grad-brand:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  --og-grad-high:linear-gradient(90deg,#00d4ff 0%,#00ff88 100%);
  --og-grad-mid:linear-gradient(90deg,#ffaa00 0%,#ff0080 100%);
  --og-grad-low:linear-gradient(90deg,#ff0000 0%,#ff0080 100%);
  --og-gold:#f5b301;
  --og-nav-h:64px;
}

/* ---------- Base ---------- */
html{ scroll-behavior:smooth; }
body, body.home, body[data-genre]{
  background:var(--og-bg) !important;
  color:var(--og-text);
  font-family:"Inter","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif !important;
  -webkit-font-smoothing:antialiased;
}
/* カテゴリごとの背景（薄いティントをヘッダー直下だけに） */
body[data-genre="all"]{ background:linear-gradient(180deg,#f3f0ff 0,#ffffff 420px) !important; }
body[data-genre="0"]{ background:linear-gradient(180deg,#fff7db 0,#ffffff 420px) !important; }
body[data-genre="1"]{ background:linear-gradient(180deg,#ffe8ec 0,#ffffff 420px) !important; }
body[data-genre="2"]{ background:linear-gradient(180deg,#e0f7fb 0,#ffffff 420px) !important; }
body[data-genre="3"]{ background:linear-gradient(180deg,#e7f8ee 0,#ffffff 420px) !important; }
body[data-genre="4"]{ background:linear-gradient(180deg,#fdebff 0,#ffffff 420px) !important; }
main{ margin-top:0 !important; }
.ast-container{ max-width:1200px; }
body #content .site-content, .site-content{ background:transparent; }
a{ color:var(--og-primary); }
body:not(.home) .entry-content a:not(.button):not(.btn):not(.taiwangacha-btn):not(.wp-block-button__link):not(.text-link):not(.nr-btn){ color:var(--og-primary); }
body:not(.home) .entry-content a:not(.button):not(.btn):not(.taiwangacha-btn):not(.wp-block-button__link):not(.text-link):not(.nr-btn):hover{ color:var(--og-primary-dark); }
body:not(.home):not(.single-product) .entry-title, body:not(.home):not(.single-product) .page-title{ border-bottom-color:var(--og-primary); color:var(--og-ink); }
.nr-error{ background:#fff1f2; border:1px solid #fecdd3; color:#9f1239; padding:12px 14px; border-radius:12px; font-size:14px; }

/* ---------- Buttons（共通） ---------- */
.nr-btn{ display:inline-flex; align-items:center; justify-content:center; height:38px; padding:0 16px; border-radius:var(--og-pill); font-weight:700; font-size:14px; text-decoration:none !important; transition:.18s; line-height:1; }
.nr-btn--primary, .taiwangacha-btn--solid.nr-btn--primary{ background:var(--og-primary) !important; color:#fff !important; box-shadow:0 4px 12px rgba(18,165,186,.28) !important; border:none !important; }
.nr-btn--primary:hover, .taiwangacha-btn--solid.nr-btn--primary:hover{ background:var(--og-primary-dark) !important; transform:translateY(-1px); }
.nr-btn--text, .taiwangacha-btn--ghost.nr-btn--text{ background:transparent !important; border:none !important; color:var(--og-text) !important; box-shadow:none !important; padding:0 10px; }
.nr-btn--text:hover{ color:var(--og-primary) !important; background:var(--og-primary-soft) !important; }
.nr-btn--outline{ background:#fff; border:1.5px solid var(--og-primary); color:var(--og-primary) !important; }
.nr-btn--brand{ background:var(--og-grad-brand) !important; color:#fff !important; border:none !important; }

/* ---------- Points 表記 ---------- */
.nr-pt{ display:inline-flex; align-items:center; gap:6px; font-weight:800; color:var(--og-ink); }
.nr-pt__coin{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#ffe27a 0,#f5b301 55%,#d98e00 100%); color:#fff; font-size:13px; font-weight:900; box-shadow:inset 0 -2px 0 rgba(0,0,0,.15); flex:0 0 auto; }
.nr-pt__num{ font-size:22px; letter-spacing:-.01em; }
.nr-pt__unit{ font-size:12px; color:var(--og-muted); font-weight:700; }
.nr-pill{ display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 10px; border-radius:var(--og-pill); font-size:11px; font-weight:800; line-height:1; white-space:nowrap; }
.nr-pill--low{ background:#fff1f2; color:#e11d48; }
.nr-pill--new{ background:var(--og-grad-brand); color:#fff; }
.nr-pill--hot{ background:#fff7ed; color:#ea580c; }
.nr-pill--tag{ background:#f3f4f6; color:#374151; font-weight:700; }
.nr-pill--tag::before{ content:"#"; color:#9ca3af; margin-right:1px; }

/* ---------- Header ---------- */
.nr-header, .taiwangacha-header.nr-header{
  background:#fff !important;
  border-bottom:1px solid var(--og-line) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.02) !important;
  position:sticky; top:0; z-index:9990;
}
.nr-header.is-scrolled{ box-shadow:0 6px 18px rgba(17,24,39,.06) !important; }
.taiwangacha-header.nr-header::after{ content:none; }
.nr-header__inner{ max-width:1200px; margin:0 auto; padding:10px 16px !important; gap:14px !important; min-height:60px; }
.nr-header .nr-logo .nr-logo__text{ color:var(--og-ink); -webkit-text-fill-color:var(--og-ink); font-size:24px; }
.nr-header .nr-logo .nr-logo__text .nr-logo__accent{ background:var(--og-grad-brand); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.nr-header .nr-logo__icon{ filter:drop-shadow(0 2px 6px rgba(124,58,237,.25)); }
.nr-header__nav{ display:none; gap:4px; margin-left:8px; flex:1; }
.nr-header__nav a{ color:var(--og-text); text-decoration:none; font-weight:700; font-size:14px; padding:8px 12px; border-radius:var(--og-pill); }
.nr-header__nav a:hover{ background:var(--og-bg-soft); color:var(--og-primary); }
.nr-header__nav a.is-active{ color:var(--og-primary); background:var(--og-primary-soft); }
@media (min-width:900px){ .nr-header__nav{ display:flex; } }
.nr-header__right{ gap:8px !important; }
.nr-header__tagline{
  margin:0; padding:8px 12px; text-align:center; font-size:13px; font-weight:800; letter-spacing:.02em;
  background:linear-gradient(90deg,#f6f2ff 0%,#fff0f7 100%);
  color:#7c3aed;
}
.nr-header__tagline{ background-image:linear-gradient(90deg,#f6f2ff 0%,#fff0f7 100%); }
.nr-header__tagline{ -webkit-text-fill-color:initial; }

/* ポイントボタン（ログイン時） */
.nr-pointbtn, .taiwangacha-pointbtn.nr-pointbtn{
  background:#fff !important; border:1.5px solid var(--og-line) !important; color:var(--og-ink) !important;
  border-radius:var(--og-pill) !important; height:38px !important; padding:0 6px 0 6px !important; gap:6px; box-shadow:none !important;
}
.nr-pointbtn .nr-pt__coin{ width:24px; height:24px; }
.nr-pointbtn__text{ font-weight:800 !important; font-size:15px !important; color:var(--og-ink) !important; }
.nr-pointbtn__text small{ font-size:10px; color:var(--og-muted); margin-left:2px; font-weight:700; }
.nr-pointbtn__plus, .taiwangacha-pointbtn__plus.nr-pointbtn__plus{
  width:26px; height:26px; border-radius:50%; background:var(--og-primary) !important; color:#fff !important;
  display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:16px; line-height:1;
}
.nr-pointmenu, .taiwangacha-pointmenu.nr-pointmenu{
  background:#fff !important; border:1px solid var(--og-line) !important; border-radius:16px !important; box-shadow:var(--og-shadow-lg) !important; padding:8px !important; min-width:220px;
}
.nr-pointmenu__head{ display:flex; flex-direction:column; gap:2px; padding:8px 10px 10px; border-bottom:1px solid var(--og-line); margin-bottom:6px; font-weight:800; color:var(--og-ink); font-size:13px; }
.nr-pointmenu__head small{ color:var(--og-muted); font-weight:600; font-size:11px; }
.nr-pointmenu__item, .taiwangacha-pointmenu__item.nr-pointmenu__item{
  display:flex !important; align-items:center; gap:8px; color:var(--og-ink) !important; background:transparent !important; border:none !important;
  padding:9px 10px !important; border-radius:10px !important; font-weight:800; font-size:14px; text-decoration:none;
}
.nr-pointmenu__item:hover{ background:var(--og-primary-soft) !important; color:var(--og-primary) !important; }
.nr-pointmenu__item .nr-pt__coin{ width:20px; height:20px; font-size:11px; }
.nr-pointmenu__yen{ margin-left:auto; font-size:12px; color:var(--og-muted); font-weight:600; }

/* ハンバーガー（線を濃色に） */
.nr-hamburger span, .taiwangacha-header .taiwangacha-hamburger.nr-hamburger span{ background:var(--og-ink) !important; }

/* ドロワー（ライト化） */
.nr-drawer .taiwangacha-drawer__panel, .taiwangacha-drawer__panel.nr-drawer__panel{
  background:#fff !important; color:var(--og-text) !important; box-shadow:-10px 0 30px rgba(17,24,39,.15) !important;
}
.nr-drawer .taiwangacha-drawer__close{ color:var(--og-ink) !important; background:var(--og-bg-soft) !important; border:none !important; }
.nr-drawer .taiwangacha-rankbox{ background:var(--og-bg-soft) !important; border:1px solid var(--og-line) !important; border-radius:14px !important; }
.nr-drawer .taiwangacha-rankbox__rank{ font-family:'Montserrat',sans-serif; font-weight:900; letter-spacing:.06em; }
.nr-drawer .taiwangacha-rankbox__jp{ font-size:12px; color:var(--og-muted); font-weight:700; margin-top:2px; }
.nr-drawer .taiwangacha-rankbox__meta{ color:var(--og-muted) !important; }
.nr-drawer .taiwangacha-drawer__pt{ border-radius:14px !important; }
.nr-drawer .taiwangacha-drawer__ptsub{ display:block; font-size:11px; opacity:.9; margin-top:4px; }
.nr-drawer .taiwangacha-drawer__item{ color:var(--og-text) !important; background:transparent !important; border-bottom:1px solid var(--og-line) !important; border-top:none !important; }
.nr-drawer .taiwangacha-drawer__item:hover{ background:var(--og-primary-soft) !important; color:var(--og-primary) !important; }
.nr-drawer .taiwangacha-drawer__item::after{ border-color:#9ca3af !important; }
.nr-drawer .taiwangacha-drawer__item--logout{ color:#e11d48 !important; border:none !important; background:#fff1f2 !important; border-radius:12px !important; margin-top:12px; }
.nr-drawer .taiwangacha-drawer__panel[data-rank="beginner"]{ --rank-text:#12a5ba; --rank-bg-start:#12a5ba; --rank-bg-end:#3cc6d8; }
.nr-drawer .taiwangacha-drawer__panel[data-rank="vip"]{ --rank-text:#c026d3; --rank-bg-start:#7c3aed; --rank-bg-end:#ec4899; }

/* ---------- Bottom nav（モバイル） ---------- */
.nr-bottom-nav{
  position:fixed; left:0; right:0; bottom:0; z-index:9980;
  display:flex; justify-content:space-around; align-items:stretch;
  height:calc(var(--og-nav-h) + env(safe-area-inset-bottom,0px));
  padding-bottom:env(safe-area-inset-bottom,0px);
  background:rgba(255,255,255,.96); backdrop-filter:saturate(160%) blur(8px);
  border-top:1px solid var(--og-line); box-shadow:0 -6px 20px rgba(17,24,39,.05);
}
.nr-bottom-nav__item{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#6b7280; text-decoration:none !important; font-size:11px; font-weight:700; }
.nr-bottom-nav__item svg{ width:24px; height:24px; fill:currentColor; }
.nr-bottom-nav__item.is-active{ color:var(--og-primary); }
.nr-bottom-nav__item:active{ transform:scale(.96); }
body{ padding-bottom:calc(var(--og-nav-h) + env(safe-area-inset-bottom,0px)); }
body.nr-has-fixed-footer .nr-bottom-nav{ display:none; }
body.nr-has-fixed-footer{ padding-bottom:0; }
@media (min-width:900px){ .nr-bottom-nav{ display:none; } body{ padding-bottom:0; } }

/* ---------- Banners（管理画面から設定） ---------- */
.nr-banners{ position:relative; margin:14px auto 10px; max-width:1200px; padding:0 12px; }
.nr-banners__track{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.nr-banners__track::-webkit-scrollbar{ display:none; }
.nr-banner{ flex:0 0 100%; scroll-snap-align:start; border-radius:var(--og-radius-lg); overflow:hidden; box-shadow:var(--og-shadow); background:#f3f4f6; display:block; }
.nr-banner img{ width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; display:block; }
@media (min-width:900px){ .nr-banner{ flex:0 0 calc(50% - 6px); } }
.nr-banners__dots{ display:flex; justify-content:center; gap:6px; margin-top:8px; }
.nr-banners__dot{ width:8px; height:8px; border-radius:999px; background:#d1d5db; border:none; padding:0; }
.nr-banners__dot.is-active{ width:22px; background:var(--og-ink); }
/* 旧・PRスライダー（残っていても調和させる） */
.tcg-adslider{ margin:14px 12px 8px; border-radius:var(--og-radius-lg); overflow:hidden; box-shadow:var(--og-shadow); }
.tcg-adslide{ border-radius:0; }

/* ---------- 当選速報（ティッカー） ---------- */
.nr-ticker{ margin:8px 12px 14px; background:#fff; border:1px solid var(--og-line); border-radius:var(--og-pill); box-shadow:var(--og-shadow); display:flex; align-items:center; overflow:hidden; height:40px; }
.nr-ticker::before{ content:"当選速報"; flex:0 0 auto; height:100%; display:flex; align-items:center; padding:0 14px 0 16px; background:var(--og-grad-brand); color:#fff; font-size:12px; font-weight:900; letter-spacing:.04em; clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%); }
.nr-ticker__list{ list-style:none; margin:0; padding:0 0 0 12px; display:flex; gap:40px; white-space:nowrap; animation:nrTicker 40s linear infinite; }
.nr-ticker:hover .nr-ticker__list{ animation-play-state:paused; }
.nr-ticker__item{ font-size:13px; color:var(--og-text); display:inline-flex; align-items:center; gap:4px; }
.nr-ticker__name{ font-weight:800; color:var(--og-ink); }
.nr-ticker__item-name{ font-weight:700; }
.nr-ticker__time{ color:var(--og-muted); font-size:11px; margin-left:4px; }
.nr-ticker__rank{ display:inline-flex; align-items:center; height:18px; padding:0 7px; border-radius:999px; font-size:11px; font-weight:900; color:#fff; background:#6b7280; }
.nr-ticker__rank.nr-rank-s, .nr-rank-s{ background:linear-gradient(135deg,#f5b301,#ff6a00); }
.nr-ticker__rank.nr-rank-a, .nr-rank-a{ background:linear-gradient(135deg,#ef4444,#ec4899); }
.nr-ticker__rank.nr-rank-b, .nr-rank-b{ background:linear-gradient(135deg,#3b82f6,#06b6d4); }
.nr-ticker__rank.nr-rank-c, .nr-rank-c{ background:linear-gradient(135deg,#22c55e,#84cc16); }
.nr-ticker__rank.nr-rank-d, .nr-rank-d{ background:#9ca3af; }
@keyframes nrTicker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .nr-ticker__list{ animation:none; } }

/* ---------- セクション見出し ---------- */
.nr-section-head{ text-align:center; margin:22px 12px 12px; }
.nr-section-pill{ display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 14px; border-radius:var(--og-pill); background:var(--og-grad-brand); color:#fff; font-size:12px; font-weight:900; letter-spacing:.04em; }
.nr-section-head h2{ margin:10px 0 4px; font-size:22px; font-weight:900; color:var(--og-ink); letter-spacing:-.01em; }
.nr-section-head p{ margin:0; color:var(--og-muted); font-size:13px; }

/* ---------- ジャンルフィルター ---------- */
.genre-filter-container, .genre-filter-container.stuck{
  background:rgba(255,255,255,.92) !important; backdrop-filter:blur(8px); border:none !important; border-bottom:1px solid var(--og-line) !important;
  box-shadow:none !important; padding:8px 12px !important; margin:0 !important; border-radius:0 !important;
}
.genre-filter-bar{ gap:8px !important; padding:2px 0 !important; }
.genre-btn{
  background:#fff !important; color:#374151 !important; border:1.5px solid #e5e7eb !important; border-radius:var(--og-pill) !important;
  font-weight:800 !important; font-size:13px !important; padding:8px 16px !important; box-shadow:none !important; min-width:0 !important; flex:0 0 auto !important; height:36px;
}
.genre-btn:hover{ border-color:var(--og-primary) !important; color:var(--og-primary) !important; }
.genre-btn.active{ background:var(--og-primary) !important; color:#fff !important; border-color:var(--og-primary) !important; box-shadow:0 4px 12px rgba(18,165,186,.28) !important; }

/* ---------- ガチャ一覧カード ---------- */
.gacha-list{ display:grid !important; grid-template-columns:1fr; gap:18px !important; padding:14px 12px 24px !important; margin:0 auto !important; max-width:1200px; }
@media (min-width:640px){ .gacha-list{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .gacha-list{ grid-template-columns:repeat(3,1fr); gap:22px !important; } }
.gacha-item{
  background:var(--og-card) !important; border:1px solid var(--og-line) !important; border-radius:var(--og-radius) !important;
  box-shadow:var(--og-shadow) !important; overflow:hidden !important; margin:0 !important; padding:0 !important; width:100% !important; max-width:none !important;
  position:relative; transition:transform .18s, box-shadow .18s; cursor:pointer;
}
.gacha-item:hover{ transform:translateY(-2px); box-shadow:var(--og-shadow-lg) !important; }
.gacha-item.hidden{ display:none !important; }
.gacha-content{ background:transparent !important; padding:0 !important; border-radius:0 !important; display:block !important; }
.gacha-thumbnail{ position:relative; margin:0 !important; padding:0 !important; background:#f3f4f6; }
.gacha-thumbnail a{ display:block; }
.gacha-thumbnail img{ width:100% !important; height:auto !important; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:0 !important; transform:none !important; }
.gacha-thumbnail img:hover{ transform:none !important; }
.gacha-details{ padding:12px 14px 14px !important; background:transparent !important; color:var(--og-text) !important; }
.gacha-title{ font-size:15px; font-weight:800; color:var(--og-ink); margin:0 0 8px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nr-card-tags{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.gacha-remaining{ margin:0 !important; }
.gacha-meta{ display:flex !important; flex-direction:column; gap:6px; }
.remaining-info{ display:flex !important; align-items:baseline; justify-content:space-between; color:var(--og-text) !important; font-size:14px !important; font-weight:700; width:100%; }
.remaining-info .label{ color:var(--og-text); font-weight:700; }
.remaining-info .num, .remaining-info .cur{ font-size:18px; font-weight:900; color:var(--og-ink); margin:0 2px; }
.remaining-info .tot{ font-size:15px; font-weight:800; color:var(--og-muted); }
.remaining-info .nr-total{ color:var(--og-muted); font-weight:700; font-size:13px; }
.remaining-bar-wrapper{ height:8px !important; background:#e5e7eb !important; border-radius:var(--og-pill) !important; overflow:hidden; margin:6px 0 10px !important; border:none !important; }
.remaining-bar{ height:100% !important; border-radius:var(--og-pill) !important; background:var(--og-grad-high) !important; transition:width .6s ease; }
.remaining-bar.is-mid{ background:var(--og-grad-mid) !important; }
.remaining-bar.is-low{ background:var(--og-grad-low) !important; }
.remaining-bar-wrapper.daily-bar .remaining-bar{ background:var(--og-grad-high) !important; }
.gacha-price-info{ display:flex !important; align-items:center; justify-content:space-between; gap:8px; margin:0 !important; color:var(--og-ink) !important; }
.gacha-price-info .label{ display:none; }
.gacha-price-info .num{ font-size:22px; font-weight:900; }
.gacha-price-info .coin-icon{ width:24px; height:24px; }
.nr-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nr-card-foot .nr-pills{ display:flex; gap:6px; }
/* 一覧内のガチャ実行ボタンは非表示（詳細ページで回数を選ぶ） */
.gacha-item .gacha-button, .gacha-item .gacha-buttons, .gacha-item .gacha-button-multi, .gacha-item .gacha-button-single, .gacha-item .gacha-button-daily{ display:none !important; }
/* 一覧に詳細ボタン（JSで付与） */
.nr-card-cta{ display:inline-flex; align-items:center; justify-content:center; height:36px; padding:0 16px; border-radius:var(--og-pill); background:var(--og-primary); color:#fff !important; font-size:13px; font-weight:800; text-decoration:none !important; box-shadow:0 4px 12px rgba(18,165,186,.25); }
/* SOLD OUT / 公開前 */
.soldout-overlay, .release-overlay{ background:rgba(255,255,255,.72) !important; backdrop-filter:blur(2px); color:var(--og-ink) !important; border-radius:var(--og-radius) !important; }
.soldout-text{ color:var(--og-ink) !important; text-shadow:none !important; font-family:'Montserrat',sans-serif; font-weight:900 !important; letter-spacing:.08em; }
.history-button{ background:var(--og-primary) !important; color:#fff !important; border-radius:var(--og-pill) !important; border:none !important; font-weight:800 !important; }
.countdown{ background:var(--og-ink) !important; color:#fff !important; border-radius:12px !important; font-weight:900 !important; }

/* ---------- ガチャ詳細 ---------- */
.nr-gacha-title{ font-size:20px; font-weight:900; color:var(--og-ink); text-align:center; margin:14px 12px 10px; line-height:1.35; }
body.page-id-242 .entry-content > img, .gacha-thumbnail-wrapper img, img.gacha-thumbnail-img, .entry-content img[alt][src*="admedia"]{ border-radius:var(--og-radius); box-shadow:var(--og-shadow); }
.gacha-progress-wrapper, .gacha-progress{ background:#fff; border:1px solid var(--og-line); border-radius:var(--og-radius); box-shadow:var(--og-shadow); padding:14px; margin:12px; }
.gacha-prizes-container{ padding:0 12px 24px; display:flex; flex-direction:column; gap:14px; }
.prize-rank-section{ background:#fff !important; border:1px solid var(--og-line) !important; border-radius:var(--og-radius) !important; box-shadow:var(--og-shadow) !important; padding:14px !important; margin:0 !important; }
.prize-rank-image{ display:flex; justify-content:center; margin:0 0 12px !important; }
.prize-rank-image img{ max-height:64px !important; width:auto !important; }
.prize-images-container{ display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
@media (min-width:640px){ .prize-images-container{ grid-template-columns:repeat(3,1fr) !important; } }
@media (min-width:1024px){ .prize-images-container{ grid-template-columns:repeat(4,1fr) !important; } }
.prize-image{ position:relative; margin:0 !important; width:auto !important; max-width:none !important; }
.prize-image img{ width:100% !important; height:auto !important; aspect-ratio:1/1; object-fit:cover; border-radius:12px !important; border:1px solid var(--og-line); background:#f9fafb; display:block; }
.c-prize-items > .prize-image.c-prize-item:nth-child(n+31), .d-prize-items > .prize-image.d-prize-item:nth-child(n+41){ display:block !important; }
.item-quantity-badge{
  position:absolute !important; right:6px !important; bottom:6px !important; left:auto !important; top:auto !important;
  background:rgba(30,27,75,.88) !important; color:#fff !important; border:none !important; border-radius:var(--og-pill) !important;
  font-size:11px !important; font-weight:800 !important; padding:3px 9px !important; line-height:1.3 !important; width:auto !important; height:auto !important; box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.item-quantity-badge .cur{ font-size:13px; }
.item-quantity-badge .tot{ opacity:.8; }
.prize-name{ font-size:12px; font-weight:700; color:var(--og-text); margin:6px 0 0; line-height:1.4; }
.prize-memo{ font-size:11px; color:var(--og-muted); margin:4px 0 0; line-height:1.5; }
.gacha-prize-item{ background:#fff; border:1px solid var(--og-line); border-radius:12px; padding:10px; }
.gacha-prize-image img{ border-radius:10px; }
/* 詳細の固定フッター（回数ボタン） */
body .fixed-footer{
  background:rgba(255,255,255,.97) !important; backdrop-filter:blur(10px); border-top:1px solid var(--og-line) !important;
  box-shadow:0 -8px 24px rgba(17,24,39,.08) !important; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)) !important;
  display:flex !important; flex-wrap:wrap; gap:8px !important; justify-content:center; align-items:center; z-index:9970 !important;
}
body .fixed-footer .gacha-button, body .fixed-footer button, body .fixed-footer .infi-gacha-button, body .fixed-footer .gacha-button-daily, body .fixed-footer .gacha-onetime{
  flex:1 1 calc(33.333% - 8px) !important; min-width:0 !important; max-width:none !important; height:46px !important; margin:0 !important;
  border-radius:var(--og-pill) !important; font-weight:900 !important; font-size:15px !important; letter-spacing:.02em; line-height:1 !important;
  display:inline-flex !important; align-items:center; justify-content:center; box-shadow:none !important; transition:.15s; cursor:pointer;
}
body .fixed-footer .gacha-1, body .fixed-footer .gacha-3, body .fixed-footer .gacha-5{ background:#fff !important; color:var(--og-primary) !important; border:1.5px solid var(--og-primary) !important; }
body .fixed-footer .gacha-1:hover, body .fixed-footer .gacha-3:hover, body .fixed-footer .gacha-5:hover{ background:var(--og-primary-soft) !important; }
body .fixed-footer .gacha-10{ background:var(--og-primary) !important; color:#fff !important; border:none !important; box-shadow:0 6px 16px rgba(18,165,186,.3) !important; }
body .fixed-footer .gacha-100, body .fixed-footer .infi-gacha-button.gacha-100{ background:var(--og-grad-brand) !important; color:#fff !important; border:none !important; box-shadow:0 6px 16px rgba(236,72,153,.3) !important; flex-basis:100% !important; }
body .fixed-footer .gacha-button-daily, body .fixed-footer .gacha-onetime, body .fixed-footer .gacha-button-onetime{ background:var(--og-primary) !important; color:#fff !important; border:none !important; flex-basis:100% !important; }
body .fixed-footer .gacha-button.disabled, body .fixed-footer button:disabled{ opacity:.45 !important; filter:grayscale(.4); cursor:not-allowed; }
body .fixed-footer .nr-footer-price{ flex-basis:100%; text-align:center; font-size:12px; color:var(--og-muted); font-weight:700; }
@media (min-width:900px){ body .fixed-footer{ left:50% !important; transform:translateX(-50%); width:min(720px,100%) !important; border-radius:20px 20px 0 0; } }
/* 詳細ページ本体の下余白（固定フッターぶん） */
body.nr-has-fixed-footer #content{ padding-bottom:140px; }

/* ---------- モーダル ---------- */
.modal-content{ background:#fff !important; color:var(--og-text) !important; border-radius:18px !important; border:none !important; box-shadow:var(--og-shadow-lg) !important; }
.modal-content h2, .modal-content h3, .modal-header{ color:var(--og-ink) !important; }
.modal-button, .modal-button.confirm, .modal-button.cancel{ border-radius:var(--og-pill) !important; font-weight:800 !important; height:44px; }
.modal-button.confirm{ background:var(--og-primary) !important; border-color:var(--og-primary) !important; color:#fff !important; }
.modal-button.confirm:hover{ background:var(--og-primary-dark) !important; }
.modal-button.cancel{ background:#f3f4f6 !important; color:#374151 !important; border:none !important; }
.close, .close-button{ color:#9ca3af !important; }

/* ---------- WooCommerce / UM / 汎用フォーム ---------- */
body.woocommerce-page input[type="submit"], body.um-page input[type="submit"], .um-button, .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .wp-block-button .wp-block-button__link{
  background:var(--og-primary) !important; color:#fff !important; border-radius:var(--og-pill) !important; border:none !important; font-weight:800 !important; box-shadow:0 4px 12px rgba(18,165,186,.25) !important;
}
body.woocommerce-page input[type="submit"]:hover, .um-button:hover, .woocommerce .button:hover{ background:var(--og-primary-dark) !important; }
.um .um-button.um-alt{ background:#f3f4f6 !important; color:#374151 !important; box-shadow:none !important; }
.um-field-label label, .um .um-field-label, .woocommerce form .form-row label{ color:var(--og-text) !important; }
.um .um-field-area input, .um input[type=text], .um input[type=password], .um input[type=email], .um input[type=tel], .woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce-input-wrapper input{
  background:#fff !important; color:var(--og-text) !important; border:1.5px solid #e5e7eb !important; border-radius:12px !important; padding:12px 14px !important;
}
.um .um-field-area input:focus, .woocommerce form .form-row input.input-text:focus{ border-color:var(--og-primary) !important; box-shadow:0 0 0 3px rgba(18,165,186,.15) !important; outline:none; }
.woocommerce table.shop_table, .um-account-tab, .woocommerce-Address{ background:#fff !important; color:var(--og-text) !important; border:1px solid var(--og-line) !important; border-radius:var(--og-radius) !important; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td{ color:var(--og-text) !important; border-color:var(--og-line) !important; }
.wpcf7 input, .wpcf7 textarea{ color:var(--og-text) !important; background:#fff !important; border:1.5px solid #e5e7eb !important; border-radius:12px !important; }
.wpcf7 label{ color:var(--og-text) !important; }
.wpcf7 input[type="submit"]{ background:var(--og-primary) !important; color:#fff !important; border-radius:var(--og-pill) !important; }
/* ページ本文カード（法務ページなど） */
body:not(.home) #primary .entry-content, body:not(.home) #primary article.page{ background:transparent; }
.nr-legal{ background:#fff; border:1px solid var(--og-line); border-radius:var(--og-radius); box-shadow:var(--og-shadow); padding:18px 16px; }
.nr-legal__table th{ background:var(--og-primary-soft); color:var(--og-ink); }
.nr-legal__table th, .nr-legal__table td{ border-color:var(--og-line); }
/* 汎用カード／テーブル（マイページ等） */
.nr-card{ background:#fff; border:1px solid var(--og-line); border-radius:var(--og-radius); box-shadow:var(--og-shadow); padding:16px; margin:0 12px 14px; }
.nr-table{ width:100%; border-collapse:collapse; font-size:13px; background:#fff; border-radius:12px; overflow:hidden; }
.nr-table th{ background:var(--og-bg-soft); color:var(--og-ink); font-weight:800; text-align:left; padding:10px 12px; border-bottom:1px solid var(--og-line); }
.nr-table td{ padding:10px 12px; border-bottom:1px solid var(--og-line); color:var(--og-text); }
.nr-table tr:last-child td{ border-bottom:none; }
.nr-plus{ color:#16a34a; font-weight:800; } .nr-minus{ color:#dc2626; font-weight:800; }
.nr-badge-rank{ display:inline-flex; align-items:center; height:26px; padding:0 12px; border-radius:var(--og-pill); background:var(--og-grad-brand); color:#fff; font-weight:900; font-size:12px; letter-spacing:.04em; }
.nr-progress{ height:8px; border-radius:999px; background:#e5e7eb; overflow:hidden; }
.nr-progress > span{ display:block; height:100%; background:var(--og-grad-brand); border-radius:999px; }
.nr-mypage__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
@media (min-width:640px){ .nr-mypage__grid{ grid-template-columns:repeat(4,1fr); } }
.nr-mypage__grid a{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 8px; background:#fff; border:1px solid var(--og-line); border-radius:14px; text-decoration:none !important; color:var(--og-ink); font-weight:800; font-size:13px; box-shadow:var(--og-shadow); }
.nr-mypage__grid a:hover{ border-color:var(--og-primary); color:var(--og-primary); }

/* ---------- コレクション／結果ページ（ダーク背景の名残を明るく） ---------- */
.collection-container, .gacha-result-container, .result-container, .collection-filters, .collection-item, .result-item, .card-item{ color:var(--og-text); }
.collection-item, .result-item, .card-item, .card{ background:#fff; border:1px solid var(--og-line); border-radius:14px; box-shadow:var(--og-shadow); }
.status-filter a, .filter-tab, .sort-link{ color:var(--og-text); }
.status-filter a.active, .filter-tab.active{ color:var(--og-primary); font-weight:800; }
.add-submit-button button, .bulk-sell-button, #bulk-sell{ background:var(--og-primary) !important; color:#fff !important; border-radius:var(--og-pill) !important; border:none !important; font-weight:800 !important; }

/* ---------- フッター（ライト） ---------- */
.nr-footer, .taiwangacha-footer.nr-footer{ background:var(--og-bg-soft) !important; color:#475569 !important; margin-top:40px !important; }
.taiwangacha-footer.nr-footer::before{ background:var(--og-grad-brand) !important; height:3px; }
.nr-footer .taiwangacha-footer__glow{ display:none; }
.nr-footer .nr-logo .nr-logo__text{ color:var(--og-ink); -webkit-text-fill-color:var(--og-ink); }
.nr-footer .nr-logo .nr-logo__text .nr-logo__accent{ background:var(--og-grad-brand); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.nr-footer .taiwangacha-footer__tagline{ color:#64748b !important; font-size:13px; line-height:1.7; }
.nr-footer__sns{ display:flex; gap:10px; margin-top:12px; }
.nr-footer__sns a{ width:36px; height:36px; border-radius:50%; background:#fff; border:1px solid var(--og-line); display:inline-flex; align-items:center; justify-content:center; color:var(--og-ink); }
.nr-footer__sns a:hover{ color:var(--og-primary); border-color:var(--og-primary); }
.nr-footer__sns svg{ width:18px; height:18px; fill:currentColor; }
.nr-footer .taiwangacha-footer__heading{ color:var(--og-ink) !important; font-weight:900; font-size:13px; letter-spacing:.04em; }
.nr-footer .taiwangacha-footer__list a{ color:#475569 !important; font-size:13px; }
.nr-footer .taiwangacha-footer__list a:hover{ color:var(--og-primary) !important; }
.nr-footer .taiwangacha-footer__bottom{ background:#eef1f6 !important; border-top:1px solid var(--og-line) !important; }
.nr-footer .taiwangacha-footer__copy{ color:#64748b !important; font-size:12px; }
body.nr-has-fixed-footer .nr-footer{ display:none; }
@media (max-width:899px){ .nr-footer{ padding-bottom:8px; } }

/* ---------- ON-GACHA LAYER 追補 1: フッター・UM・コレクション ---------- */
body .site-footer.nr-footer, body.um-page .site-footer.nr-footer, body.woocommerce-page .site-footer.nr-footer{ background:var(--og-bg-soft) !important; color:#475569 !important; }
body .site-footer.nr-footer a{ color:#475569 !important; }
body .site-footer.nr-footer .site-below-footer-wrap{ background:transparent !important; }
body.um-page .um-button, body.um-page .um-btn, body.um-page input[type="submit"], .taiwangacha-edit-footer a, .taiwangacha-edit-footer button{ background:var(--og-primary) !important; border-radius:var(--og-pill) !important; }
body.um-page .um-field, body.um-page .um-field-area, body.um-page .um-profile-body{ background:transparent !important; }
.um-account-main, .um-account-side{ background:#fff; }
.woocommerce-message, .woocommerce-info{ border-top-color:var(--og-primary) !important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--og-primary) !important; }
.woocommerce-cart .cart-collaterals .cart_totals>h2{ border-bottom-color:var(--og-primary) !important; }
/* ページ見出し（ブロック h2） */
.entry-content > h2.wp-block-heading:first-child{ font-size:20px; font-weight:900; color:var(--og-ink); text-align:center; margin:14px 0 12px; }
/* コレクション／配送状況 */
.notice-sentence{ margin:0 12px 12px; padding:10px 12px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:12px; font-size:13px; font-weight:700; text-align:center; }
.collection-filter{ margin:0 12px 12px; display:flex; flex-direction:column; gap:8px; }
.status-filter, .sort-order{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13px; color:var(--og-muted); }
.status-filter a, .sort-order a{ display:inline-flex; align-items:center; height:32px; padding:0 14px; border-radius:var(--og-pill); background:#fff; border:1.5px solid #e5e7eb; color:#374151 !important; font-weight:800; font-size:13px; text-decoration:none !important; box-shadow:none !important; }
.status-filter a.active, .sort-order a.active{ background:var(--og-primary); border-color:var(--og-primary); color:#fff !important; }
.sort-order a#bulk-sale-select{ background:var(--og-grad-brand); border:none; color:#fff !important; margin-left:auto; }
.collection-list{ list-style:none; margin:0 12px; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media (min-width:640px){ .collection-list{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .collection-list{ grid-template-columns:repeat(4,1fr); } }
.collection-list > p{ grid-column:1/-1; text-align:center; color:var(--og-muted); padding:40px 0; }
.collection-list li{ background:#fff; border:1px solid var(--og-line); border-radius:14px; box-shadow:var(--og-shadow); padding:10px; color:var(--og-text); list-style:none; }
.collection-list li img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; display:block; margin-bottom:8px; }
.collection-list li p{ margin:2px 0; font-size:12px; line-height:1.4; }
.collection-list li .rarity{ color:var(--og-muted); }
.collection-list label{ font-size:12px; font-weight:700; color:var(--og-text); display:inline-flex; align-items:center; gap:4px; margin-right:8px; }
.collection-list input[type="radio"]{ accent-color:var(--og-primary); }
.sale-disabled, .error-notice{ color:#9ca3af; font-size:11px; }
.add-submit-button{ position:sticky; bottom:calc(var(--og-nav-h) + 8px); margin:14px 12px 0; text-align:center; z-index:5; }
.add-submit-button .submit-button{ width:100%; max-width:480px; height:48px; font-size:15px; }
/* 結果ページ */
.result-guide{ margin:14px 12px; padding:14px; background:#fff; border:1px solid var(--og-line); border-radius:var(--og-radius); box-shadow:var(--og-shadow); }
.result-guide__title{ font-weight:900; color:var(--og-ink); margin:0 0 6px; }
.result-guide__desc{ color:var(--og-muted); font-size:13px; margin:0; }
.text-link{ color:var(--og-primary) !important; font-weight:700; }
.text-link--danger{ color:#e11d48 !important; }
.nav-links{ display:flex; justify-content:center; gap:10px; margin:16px 12px; }
.nav-links a{ display:inline-flex; align-items:center; height:40px; padding:0 18px; border-radius:var(--og-pill); background:#fff; border:1.5px solid var(--og-primary); color:var(--og-primary) !important; font-weight:800; text-decoration:none !important; }

/* ---------- ON-GACHA LAYER 追補 2: マイページ／紹介／認証／履歴（inc モジュール） ---------- */
.nr-card{ margin:0 0 14px; }
.entry-content .nr-card:first-child{ margin-top:4px; }
.nr-card__title{ font-size:16px !important; font-weight:900 !important; color:var(--og-ink) !important; margin:0 0 12px !important; padding:0 0 8px; border-bottom:1px solid var(--og-line); text-align:left !important; }
.nr-card__title .nr-badge{ margin-left:6px; }
.nr-badge{ display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:var(--og-pill); font-size:11px; font-weight:800; background:#f3f4f6; color:#374151; }
.nr-badge--ok, .nr-status--ok{ background:#dcfce7; color:#166534; }
.nr-badge--ng, .nr-status--ng, .nr-badge--warn{ background:#fef3c7; color:#92400e; }
.nr-status{ display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:var(--og-pill); font-size:12px; font-weight:800; background:#f3f4f6; color:#374151; }
.nr-muted{ color:var(--og-muted); font-size:12px; }
.nr-mono{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.06em; }
.nr-empty{ text-align:center; color:var(--og-muted); padding:28px 0; font-size:13px; }
.nr-link{ color:var(--og-primary) !important; font-weight:700; text-decoration:none; }
.nr-notice{ padding:10px 12px; border-radius:12px; font-size:13px; font-weight:700; margin:0 0 12px; background:var(--og-primary-soft); color:#0d5f6c; border:1px solid #bfe9ef; }
.nr-notice--error, .nr-notice--danger{ background:#fff1f2; color:#9f1239; border-color:#fecdd3; }
.nr-notice--success{ background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.nr-form{ display:flex; flex-direction:column; gap:10px; }
.nr-form--inline{ flex-direction:row; flex-wrap:wrap; align-items:center; }
.nr-label{ font-size:12px; font-weight:800; color:var(--og-text); }
.nr-input, .nr-form input[type="text"], .nr-form input[type="tel"], .nr-form input[type="email"]{ width:100%; height:44px; padding:0 14px; border:1.5px solid #e5e7eb; border-radius:12px; font-size:15px; background:#fff; color:var(--og-text); }
.nr-input:focus{ border-color:var(--og-primary); box-shadow:0 0 0 3px rgba(18,165,186,.15); outline:none; }
.nr-btn--secondary{ background:#f3f4f6 !important; color:#374151 !important; }
.nr-btn--sm{ height:32px; padding:0 12px; font-size:12px; }
.nr-btn--block{ width:100%; }
.nr-form .nr-btn{ align-self:flex-start; }
/* マイページ */
.nr-mypage{ display:flex; flex-direction:column; gap:0; }
.nr-mypage .nr-card{ margin-bottom:14px; }
.nr-mypage__who{ display:flex; align-items:center; gap:14px; }
.nr-mypage__avatar{ width:64px; height:64px; border-radius:50%; overflow:hidden; flex:0 0 auto; border:3px solid #fff; box-shadow:var(--og-shadow); background:#f3f4f6; }
.nr-mypage__avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.nr-mypage__name{ font-size:18px; font-weight:900; color:var(--og-ink); line-height:1.3; }
.nr-mypage__san{ font-size:12px; color:var(--og-muted); font-weight:600; margin-left:2px; }
.nr-mypage__member{ font-size:11px; color:var(--og-muted); font-weight:700; letter-spacing:.04em; margin-top:2px; }
.nr-mypage__rank{ margin-top:6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.nr-rank-badge, .nr-rank-tag{ display:inline-flex; align-items:center; height:24px; padding:0 12px; border-radius:var(--og-pill); background:var(--og-grad-brand); color:#fff; font-weight:900; font-size:12px; letter-spacing:.04em; }
.nr-rank-badge--beginner, .nr-rank-tag--beginner{ background:linear-gradient(135deg,#12a5ba,#3cc6d8); }
.nr-rank-badge--bronze, .nr-rank-tag--bronze{ background:linear-gradient(135deg,#a05822,#d48c56); }
.nr-rank-badge--silver, .nr-rank-tag--silver{ background:linear-gradient(135deg,#607d8b,#90a4ae); }
.nr-rank-badge--gold, .nr-rank-tag--gold{ background:linear-gradient(135deg,#d4af37,#fdd835); color:#5b3a00; }
.nr-rank-badge--platinum, .nr-rank-tag--platinum{ background:linear-gradient(135deg,#78909c,#cfd8dc); color:#1e1b4b; }
.nr-rank-badge--diamond, .nr-rank-tag--diamond{ background:linear-gradient(135deg,#00bcd4,#7ee8f7); color:#063e46; }
.nr-rank-badge--vip, .nr-rank-tag--vip{ background:linear-gradient(135deg,#7c3aed,#ec4899); }
.nr-mypage__rank-bonus{ font-size:11px; color:var(--og-muted); font-weight:700; }
.nr-mypage__progress-head{ display:flex; justify-content:space-between; align-items:baseline; font-size:12px; color:var(--og-muted); font-weight:700; margin-bottom:8px; flex-wrap:wrap; gap:4px 10px; }
.nr-mypage__progress-head b, .nr-mypage__progress-head strong{ color:var(--og-ink); font-size:14px; }
.nr-progress{ height:10px; border-radius:999px; background:#e5e7eb; overflow:hidden; }
.nr-progress__bar, .nr-progress > span{ display:block; height:100%; background:var(--og-grad-brand); border-radius:999px; transition:width .6s; }
.nr-mypage__pt-row{ display:flex; flex-direction:column; gap:6px; }
.nr-mypage__pt{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 0; border-bottom:1px dashed var(--og-line); }
.nr-mypage__pt:last-of-type{ border-bottom:none; }
.nr-mypage__pt--total{ padding:12px 14px; background:var(--og-bg-soft); border-radius:12px; border:none; }
.nr-mypage__pt--total .nr-pt__num{ font-size:28px; }
.nr-mypage__pt-label{ font-size:13px; font-weight:800; color:var(--og-text); }
.nr-mypage__pt .nr-pt__num{ font-size:20px; }
.nr-ticket{ display:inline-flex; align-items:center; gap:6px; font-weight:800; color:var(--og-ink); }
.nr-ticket::before{ content:"🎟"; }
.nr-mypage .nr-btn{ margin-top:10px; }
.nr-status-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.nr-status-list__item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px dashed var(--og-line); font-size:13px; }
.nr-status-list__item:last-child{ border-bottom:none; }
.nr-status-list__label{ font-weight:800; color:var(--og-text); }
.nr-status-list__value{ display:flex; align-items:center; gap:8px; color:var(--og-muted); }
.nr-mypage__menu{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; list-style:none; margin:0; padding:0; }
@media (min-width:640px){ .nr-mypage__menu{ grid-template-columns:repeat(4,1fr); } }
.nr-mypage__menu-item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:14px 8px; background:#fff; border:1px solid var(--og-line); border-radius:14px; text-decoration:none !important; color:var(--og-ink) !important; box-shadow:var(--og-shadow); }
.nr-mypage__menu-item:hover{ border-color:var(--og-primary); color:var(--og-primary) !important; }
.nr-mypage__menu-item--logout{ color:#e11d48 !important; background:#fff1f2; border-color:#fecdd3; }
.nr-mypage__menu-icon{ font-size:24px; line-height:1; }
.nr-mypage__menu-label{ font-weight:800; font-size:13px; }
.nr-mypage__menu-sub{ font-size:11px; color:var(--og-muted); }
/* 履歴 */
.nr-history__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.nr-history__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.nr-history__item{ display:flex; gap:12px; align-items:center; padding:10px; background:#fff; border:1px solid var(--og-line); border-radius:12px; }
.nr-history__thumb{ width:56px; height:56px; border-radius:10px; object-fit:cover; flex:0 0 auto; background:#f3f4f6; }
.nr-history__body{ flex:1; min-width:0; }
.nr-history__gacha{ font-size:11px; color:var(--og-muted); font-weight:700; }
.nr-history__item-name{ font-size:13px; font-weight:800; color:var(--og-ink); line-height:1.35; }
.nr-history__prize{ margin-right:4px; }
.nr-history__date{ font-size:11px; color:var(--og-muted); }
.nr-history__status{ font-size:11px; }
.nr-table-wrap{ overflow-x:auto; }
.nr-table__date{ white-space:nowrap; color:var(--og-muted); font-size:12px; }
.nr-table__entry{ font-size:13px; }
.nr-num{ font-weight:900; white-space:nowrap; text-align:right; }
.nr-num--plus{ color:#16a34a; } .nr-num--minus{ color:#dc2626; }
.nr-type{ font-size:11px; padding:2px 8px; border-radius:999px; background:#f3f4f6; }
.nr-type--paid{ background:#fef3c7; color:#92400e; } .nr-type--free{ background:#dcfce7; color:#166534; }
/* 紹介 */
.nr-referral__desc{ font-size:13px; color:var(--og-text); line-height:1.7; margin:0 0 12px; }
.nr-referral__code{ font-family:'Montserrat',ui-monospace,monospace; font-size:28px; font-weight:900; letter-spacing:.12em; color:var(--og-ink); text-align:center; padding:12px; background:var(--og-bg-soft); border-radius:12px; margin:0 0 10px; }
.nr-referral__url{ display:flex; gap:8px; align-items:center; margin:0 0 10px; }
.nr-referral__url .nr-input{ flex:1; font-size:13px; }
.nr-referral__share{ display:flex; flex-wrap:wrap; gap:8px; }
.nr-referral__share .nr-btn{ flex:1 1 calc(50% - 4px); }
/* 認証 */
.nr-phone-verify__desc{ font-size:13px; line-height:1.7; color:var(--og-text); }
.nr-line-link__steps{ padding-left:20px; font-size:13px; line-height:1.8; }
/* 一般ページタイトルの下線をブランド色に */
body:not(.home):not(.single-product) .entry-title{ border-bottom-width:3px; }
/* ページ本文の余白 */
body:not(.home) #primary .entry-content{ padding:0 12px 24px; }
/* PayPay 説明ページ */
.nr-paypay h2{ font-size:16px; font-weight:900; color:var(--og-ink); margin:20px 0 8px; padding-left:10px; border-left:4px solid var(--og-primary); }
.nr-paypay ol, .nr-paypay ul{ padding-left:22px; font-size:14px; line-height:1.8; }

/* ---------- ON-GACHA LAYER 追補 3: 細部修正 ---------- */
.woocommerce-js .nr-card__title, .entry-content h2.nr-card__title, h2.nr-card__title, h3.nr-card__title{ font-size:16px !important; line-height:1.4 !important; }
.woocommerce-js h2.nr-section-head__title{ font-size:22px !important; }
.nr-mypage__who{ display:flex; flex-direction:column; gap:4px; min-width:0; flex:1; }
.nr-mypage__name{ word-break:break-word; }
.nr-referral__url{ flex-wrap:wrap; }
.nr-referral__url .nr-input{ flex:1 1 100%; min-width:0; }
.nr-referral__url .nr-btn{ flex:1 1 calc(50% - 4px); }
.nr-referral__share a{ font-weight:800; }
.nr-rank-badge, .nr-rank-tag{ color:#fff !important; -webkit-text-fill-color:#fff; font-size:12px !important; line-height:1 !important; white-space:nowrap; }
.nr-rank-badge--gold, .nr-rank-badge--platinum, .nr-rank-badge--diamond{ color:#1e1b4b !important; -webkit-text-fill-color:#1e1b4b; }

/* ---------- ON-GACHA LAYER 追補 4: カード余白／ジャンル配置／ティッカー／ヘッダー縮小／動画ページ ---------- */
.gacha-item, .gacha-content{ padding:0 !important; min-height:0 !important; height:auto !important; }
.gacha-details{ padding:12px 14px 14px !important; min-height:0 !important; height:auto !important; margin:0 !important; }
.gacha-remaining{ margin:0 !important; padding:0 !important; min-height:0 !important; display:flex; flex-direction:column; gap:6px; }
.gacha-remaining .remaining-bar-wrapper{ order:2; margin:2px 0 8px !important; }
.gacha-remaining .remaining-info{ order:1; }
.gacha-remaining .gacha-price-info{ order:3; }
.gacha-item::after, .gacha-content::after, .gacha-details::after{ content:none !important; display:none !important; }
.genre-filter-bar{ justify-content:flex-start !important; }
@media (min-width:900px){ .genre-filter-bar{ justify-content:center !important; } .genre-btn{ padding:9px 22px !important; font-size:14px !important; } }
.nr-ticker{ position:relative; }
.nr-ticker::before{ position:relative; z-index:2; box-shadow:6px 0 10px rgba(255,255,255,.9); }
.nr-ticker__list{ position:relative; z-index:1; }
.nr-ticker__list.is-cloned{ animation-duration:calc(var(--nr-ticker-dur, 40s)); }
.nr-header .nr-logo{ flex:0 1 auto; min-width:0; }
.nr-header .nr-logo .nr-logo__text{ white-space:nowrap; }
@media (max-width:480px){ .nr-header__inner{ padding:8px 12px !important; gap:8px !important; } .nr-header .nr-logo .nr-logo__text{ font-size:19px; } .nr-header .nr-logo__icon{ width:28px; height:28px; } .nr-pointbtn{ height:34px !important; } .nr-pointbtn .nr-pt__coin{ width:20px; height:20px; font-size:11px; } .nr-pointbtn__text{ font-size:13px !important; } .nr-pointbtn__plus{ width:22px; height:22px; font-size:14px; } .nr-hamburger{ transform:scale(.85); } }
@media (max-width:360px){ .nr-header .nr-logo .nr-logo__text{ display:none; } }
/* ガチャ演出（動画）ページ: ナビ・ヘッダー・フッターを隠して全画面に */
body.nr-movie{ padding:0 !important; background:#000 !important; }
body.nr-movie .nr-header, body.nr-movie .nr-bottom-nav, body.nr-movie .nr-footer, body.nr-movie .site-footer{ display:none !important; }
body.nr-movie #content{ padding:0 !important; }

/* ---------- ON-GACHA LAYER 追補 5: ショップ（ポイント購入） ---------- */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:12px !important; margin:0 0 20px !important; }
@media (min-width:768px){ .woocommerce ul.products{ grid-template-columns:repeat(4,1fr) !important; } }
.woocommerce ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; background:#fff; border:1px solid var(--og-line); border-radius:var(--og-radius); box-shadow:var(--og-shadow); padding:14px 12px 16px !important; text-align:center; }
.woocommerce ul.products li.product img{ width:96px !important; height:96px !important; object-fit:contain; margin:0 auto 8px !important; border-radius:50%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .ast-woo-product-category{ color:var(--og-ink) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:18px !important; font-weight:900 !important; }
.woocommerce ul.products li.product .ast-woo-product-category{ display:none; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce .price{ color:var(--og-muted) !important; font-weight:800 !important; font-size:14px !important; }
.woocommerce ul.products li.product a.button, .woocommerce a.add_to_cart_button, .woocommerce .single_add_to_cart_button, .woocommerce button.button.alt, .woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce input.button.alt{
  background:var(--og-primary) !important; color:#fff !important; border-radius:var(--og-pill) !important; border:none !important; font-weight:800 !important; padding:10px 18px !important; box-shadow:0 4px 12px rgba(18,165,186,.25) !important; margin-top:8px !important;
}
.woocommerce ul.products li.product a.button:hover{ background:var(--og-primary-dark) !important; }
.woocommerce .woocommerce-result-count{ color:var(--og-muted); font-size:13px; }
.woocommerce .woocommerce-ordering select.orderby{ border:1.5px solid #e5e7eb; border-radius:12px; padding:8px 12px; background:#fff; color:var(--og-text); }
.woocommerce-breadcrumb, .woocommerce-breadcrumb a{ color:var(--og-muted) !important; font-size:12px; }
.ast-woo-product-category{ display:none !important; }
.woocommerce-page .ast-woocommerce-container{ padding-left:12px; padding-right:12px; }
/* お買い物カゴ・チェックアウトの主ボタン */
.woocommerce .wc-proceed-to-checkout a.checkout-button, .woocommerce #place_order{ background:var(--og-primary) !important; border-radius:var(--og-pill) !important; }

/* ---------- ON-GACHA LAYER 追補 6: 結果ページ・カードリスト共通 ---------- */
.result-guide{ background:#fff !important; border:1px solid var(--og-line) !important; color:var(--og-text) !important; }
.result-guide__title{ color:var(--og-ink) !important; font-size:15px !important; }
.result-guide__desc{ color:var(--og-muted) !important; }
.nav-links a, .text-link{ border:1.5px solid var(--og-primary) !important; color:var(--og-primary) !important; background:#fff !important; border-radius:var(--og-pill) !important; box-shadow:none !important; }
.text-link--danger{ border-color:#e11d48 !important; color:#e11d48 !important; }
.add-submit-button{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; }
form > ul:has(> li[data-card-id]){ list-style:none; margin:0 12px; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media (min-width:640px){ form > ul:has(> li[data-card-id]){ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ form > ul:has(> li[data-card-id]){ grid-template-columns:repeat(4,1fr); } }
li[data-card-id]{ background:#fff !important; border:1px solid var(--og-line) !important; border-radius:14px !important; box-shadow:var(--og-shadow) !important; padding:10px !important; color:var(--og-text) !important; list-style:none; text-align:center; }
li[data-card-id] img:first-child{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; display:block; margin:0 0 8px; }
li[data-card-id] p{ margin:2px 0 !important; font-size:12px !important; line-height:1.4; color:var(--og-text) !important; }
li[data-card-id] p:nth-of-type(1){ font-weight:800; color:var(--og-ink) !important; font-size:13px !important; }
li[data-card-id] .rarity{ color:var(--og-muted) !important; }
li[data-card-id] p img{ width:16px !important; height:16px !important; vertical-align:-3px; }
li[data-card-id] label{ display:inline-flex; align-items:center; gap:4px; margin:6px 6px 0 0; font-size:12px; font-weight:700; color:var(--og-text); }
li[data-card-id] input[type="radio"]{ accent-color:var(--og-primary); margin:0; }

/* ---------- ON-GACHA LAYER 追補 7: ティッカー表示枠／詳細ページ幅／ショップ価格色 ---------- */
.nr-ticker__viewport{ flex:1 1 auto; min-width:0; overflow:hidden; position:relative; height:100%; display:flex; align-items:center; }
.nr-ticker__viewport .nr-ticker__list{ width:max-content; padding-left:12px; }
.nr-ticker::before{ box-shadow:none; }
body.nr-has-fixed-footer #primary, body.nr-has-fixed-footer .ast-container{ max-width:760px; margin-left:auto; margin-right:auto; }
.woocommerce .price, .woocommerce .price .amount, .woocommerce-Price-amount, .woocommerce-Price-amount bdi{ color:var(--og-ink) !important; }
.woocommerce ul.products li.product .price{ font-size:15px !important; }
.woocommerce-breadcrumb a, .ast-breadcrumbs-wrapper a, .ast-breadcrumbs a{ color:var(--og-primary) !important; }
.woocommerce-breadcrumb, .ast-breadcrumbs-wrapper, .ast-breadcrumbs{ color:var(--og-muted) !important; font-size:12px; }

.gacha-content{ margin:0 !important; }
.gacha-item{ margin:0 !important; }

/* ---------- ON-GACHA LAYER 追補 8: コレクションのフィルター ---------- */
.notice-sentence, p.notice-sentence{ color:#9a3412 !important; font-weight:700 !important; }
.status-filter, .sort-order{ font-size:0; color:transparent; }
.status-filter a, .sort-order a, .sort-order span{ font-size:13px; }
.sort-order span{ color:var(--og-muted); font-weight:700; }
.status-filter a, .sort-order a{ border:1.5px solid #e5e7eb !important; color:#374151 !important; background:#fff !important; box-shadow:none !important; text-shadow:none !important; }
.status-filter a.active, .sort-order a.active{ background:var(--og-primary) !important; border-color:var(--og-primary) !important; color:#fff !important; }
.sort-order a#bulk-sale-select{ background:var(--og-grad-brand) !important; border:none !important; color:#fff !important; }

/* ---------- ON-GACHA LAYER 追補 9: 回数ボタン 1|10 / 100・PC 全幅／賞品 2 列＋モーダル／ドロワー修正／管理バー対応 ---------- */
body .fixed-footer .gacha-1, body .fixed-footer .gacha-10, body .fixed-footer .infi-gacha-button.gacha-1, body .fixed-footer .infi-gacha-button.gacha-10{ flex:1 1 calc(50% - 4px) !important; }
body .fixed-footer .gacha-100, body .fixed-footer .infi-gacha-button.gacha-100{ flex:1 1 100% !important; }
body .fixed-footer .gacha-1, body .fixed-footer .infi-gacha-button.gacha-1{ background:#fff !important; color:var(--og-primary) !important; border:1.5px solid var(--og-primary) !important; }
@media (min-width:900px){ body .fixed-footer{ left:0 !important; right:0 !important; transform:none !important; width:100% !important; border-radius:0 !important; padding-left:24px !important; padding-right:24px !important; } }
/* 賞品グリッド: 常に 2 列、画像＋登録在庫数のみ */
.prize-images-container{ grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
.prize-image{ cursor:pointer; }
.prize-image:hover img{ filter:brightness(1.03); }
.prize-image .prize-name, .prize-image .prize-memo{ display:none !important; }
.item-quantity-badge::before{ content:"×"; font-size:10px; opacity:.85; margin-right:1px; }
.item-quantity-badge .tot{ font-size:13px; opacity:1; }
/* 賞品モーダル */
.nr-prize-modal{ position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,10,42,.72); backdrop-filter:blur(4px); }
.nr-prize-modal.is-open{ display:flex; }
.nr-prize-modal__box{ background:#fff; border-radius:20px; width:min(520px,100%); max-height:92vh; overflow:auto; box-shadow:var(--og-shadow-lg); position:relative; animation:nrPop .22s ease; }
@keyframes nrPop{ from{ transform:scale(.94); opacity:0; } to{ transform:none; opacity:1; } }
.nr-prize-modal__close{ position:absolute; top:10px; right:10px; width:36px; height:36px; border-radius:50%; border:none; background:rgba(255,255,255,.9); color:var(--og-ink); font-size:22px; font-weight:900; line-height:1; cursor:pointer; box-shadow:var(--og-shadow); z-index:2; }
.nr-prize-modal__img{ width:100%; aspect-ratio:1/1; object-fit:contain; background:#f6f7fb; display:block; border-radius:20px 20px 0 0; }
.nr-prize-modal__body{ padding:16px 18px 20px; }
.nr-prize-modal__rank{ display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:999px; color:#fff; font-size:11px; font-weight:900; background:#6b7280; margin-bottom:8px; }
.nr-prize-modal__title{ font-size:18px; font-weight:900; color:var(--og-ink); margin:0 0 10px; line-height:1.35; }
.nr-prize-modal__dl{ display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:0; font-size:13px; }
.nr-prize-modal__dl dt{ color:var(--og-muted); font-weight:700; }
.nr-prize-modal__dl dd{ margin:0; color:var(--og-text); font-weight:700; }
.nr-prize-modal__memo{ margin:12px 0 0; padding-top:12px; border-top:1px solid var(--og-line); font-size:13px; color:var(--og-text); line-height:1.7; white-space:pre-wrap; }
body.nr-modal-open{ overflow:hidden; }
/* ドロワーの崩れ修正（ランク枠・ポイント枠を縦積みに） */
.nr-drawer .taiwangacha-drawer__panel{ padding:64px 18px 24px !important; gap:0; }
.nr-drawer .taiwangacha-drawer__close{ top:14px !important; right:14px !important; }
.nr-drawer .taiwangacha-rankbox{ display:grid !important; grid-template-columns:1fr auto; grid-template-areas:"rank meta" "jp meta"; align-items:center; gap:2px 12px; padding:14px 16px !important; margin-bottom:12px !important; }
.nr-drawer .taiwangacha-rankbox__rank{ grid-area:rank; font-size:22px !important; line-height:1.1; }
.nr-drawer .taiwangacha-rankbox__jp{ grid-area:jp; }
.nr-drawer .taiwangacha-rankbox__meta{ grid-area:meta; text-align:right; white-space:nowrap; font-size:11px !important; line-height:1.4; }
.nr-drawer .taiwangacha-drawer__pt{ display:flex !important; flex-direction:column; align-items:flex-start; gap:2px; padding:14px 16px !important; }
.nr-drawer .taiwangacha-drawer__ptlabel{ font-size:12px; opacity:.9; font-weight:700; }
.nr-drawer .taiwangacha-drawer__ptvalue{ font-size:26px; font-weight:900; line-height:1.1; }
.nr-drawer .taiwangacha-drawer__ptsub{ font-size:11px; opacity:.9; margin-top:2px; white-space:nowrap; }
.nr-drawer .taiwangacha-drawer__menu{ margin-top:16px; }
/* WordPress 管理バー表示時のオフセット */
body.admin-bar .nr-header{ top:46px; }
body.admin-bar .taiwangacha-drawer__panel{ top:46px !important; height:calc(100% - 46px) !important; }
@media (min-width:783px){ body.admin-bar .nr-header{ top:32px; } body.admin-bar .taiwangacha-drawer__panel{ top:32px !important; height:calc(100% - 32px) !important; } }

/* ---------- ON-GACHA LAYER 追補 10: ドロワー上部（ランク枠＋ポイント枠）の表示崩れ修正 ---------- */
.nr-drawer .taiwangacha-drawer__top{ margin:0 0 6px !important; padding:0 !important; background:none !important; border:none !important; overflow:visible !important; height:auto !important; display:flex !important; flex-direction:column; gap:10px; position:static !important; }
.nr-drawer .taiwangacha-drawer__pt{ position:static !important; width:100% !important; margin:0 !important; height:auto !important; }
.nr-drawer .taiwangacha-rankbox{ margin:0 !important; }

/* ---------- 賞品モーダル 閉じるボタン: Astra の汎用 button スタイル（padding 18px 32px / font-size 20px / 角丸50px）を打ち消す ---------- */
.nr-prize-modal__close,
.nr-prize-modal__close:hover,
.nr-prize-modal__close:focus{
  position:absolute !important; top:10px !important; right:10px !important;
  width:36px !important; height:36px !important; min-width:0 !important; min-height:0 !important;
  padding:0 !important; margin:0 !important; box-sizing:border-box !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  border:0 !important; border-radius:50% !important;
  background:rgba(255,255,255,.92) !important; color:var(--og-ink, #1e1b4b) !important;
  font-size:22px !important; font-weight:900 !important; line-height:1 !important; font-family:inherit !important;
  text-transform:none !important; letter-spacing:0 !important; text-decoration:none !important;
  box-shadow:0 2px 8px rgba(0,0,0,.18) !important; z-index:3 !important; cursor:pointer !important;
  transform:none !important;
}
.nr-prize-modal__close:hover{ background:#fff !important; }
.nr-prize-modal__close:focus-visible{ outline:2px solid var(--og-primary, #7c3aed) !important; outline-offset:2px !important; }
/* 画像が角丸の外に出ないように */
.nr-prize-modal__box{ overflow:hidden !important; display:flex; flex-direction:column; }
.nr-prize-modal__body{ overflow:auto; }

/* ---------- ガチャ詳細: 賞ランクのカード枠・商品タイルの枠を撤去してページ背景に馴染ませる ---------- */
.prize-rank-section,
.s-prize-section, .a-prize-section, .b-prize-section, .c-prize-section, .d-prize-section, .last-one-prize-section{
  background:transparent !important; border:none !important; box-shadow:none !important;
  border-radius:0 !important; padding:0 !important; margin:0 !important;
}
.gacha-prizes-container{ gap:26px; }
.prize-rank-image{ margin:0 0 10px !important; }
.prize-image img{ border:none !important; background:transparent !important; box-shadow:none !important; }
.gacha-prize-item{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; }
.gacha-prizes{ background:transparent !important; border:none !important; box-shadow:none !important; }
