
/* ── 旧サブギャラリー（説明文下の小グリッド）を非表示 ── */
.eap-auction .eap-subgallery { display: none !important; }

/* ── カルーセル本体 ── */
.eap-photo-carousel-wrap {
    width: 100%; margin: 0 auto 12px; position: relative;
    background: #000; border-radius: 12px; overflow: hidden;
}
.eap-photo-carousel-wrap .swiper { width: 100%; border-radius: 12px; overflow: hidden; }
.eap-photo-carousel-wrap .swiper-slide {
    display: flex; align-items: center; justify-content: center;
    background: #000; aspect-ratio: 4/3; position: relative; overflow: hidden;
}
.eap-photo-carousel-wrap .swiper-slide img {
    width: 100%; height: 100%; object-fit: contain; display: block; cursor: pointer;
}

/* ページネーション */
.eap-photo-carousel-wrap .swiper-pagination-bullet { background: #fff; opacity: 0.5; width: 10px; height: 10px; }
.eap-photo-carousel-wrap .swiper-pagination-bullet-active { opacity: 1; background: #1976d2; }

/* ナビ矢印 */
.eap-photo-carousel-wrap .swiper-button-next,
.eap-photo-carousel-wrap .swiper-button-prev { color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.5); }
.eap-photo-carousel-wrap .swiper-button-next::after,
.eap-photo-carousel-wrap .swiper-button-prev::after { font-size: 24px; }

/* スライドカウンター */
.eap-photo-counter { text-align: center; font-size: 13px; color: #888; margin: 4px 0 8px; font-weight: 600; }

/* 拡大モーダル */
.eap-lightbox-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.92); z-index: 999999;
    display: flex; align-items: center; justify-content: center;
    cursor: zoom-out; animation: eapLBFadeIn 0.2s ease;
}
.eap-lightbox-overlay img { max-width: 95vw; max-height: 92vh; object-fit: contain; border-radius: 4px; }
.eap-lightbox-close {
    position: absolute; top: 12px; right: 18px; color: #fff;
    font-size: 36px; cursor: pointer; line-height: 1;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6); z-index: 10;
}
@keyframes eapLBFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* スマホ：矢印非表示（スワイプで操作） */
@media (max-width: 767px) {
    .eap-photo-carousel-wrap .swiper-button-next,
    .eap-photo-carousel-wrap .swiper-button-prev { display: none; }
}


.eap-auction .eap-hero-inner{overflow:hidden !important;}
.eap-auction .eap-hero-inner iframe{
  position:absolute !important;
  top:-10% !important;        /* 黒帯を上に押し出す（調整可） */
  left:0 !important;
  width:100% !important;
  height:120% !important;      /* 黒帯を枠外に隠す（調整可） */
  border:0 !important;
}



/* ══════════════════════════════════════════════════════════════
   EDO RANMA UI Unifier v1.0
   品評会・図鑑・お薬計算機 → RANMA 欄間 UI v6 完全統一
   既存コードを1行も変更せず、CSSオーバーライドのみで統一
══════════════════════════════════════════════════════════════ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   共通デザイントークン（CSS変数）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root {
  /* 墨染 — 青みを含む深い黒 */
  --rm-m0:#010305; --rm-m1:#020508; --rm-m2:#03070c; --rm-m3:#050c14;
  --rm-m4:#081018; --rm-m5:#0c1620; --rm-m6:#111e2c;

  /* 金泥 — 沈んだ重い金 → 輝く金泥 */
  --rm-k1:#2a1c06; --rm-k2:#4e3510; --rm-k3:#7a5218; --rm-k4:#a87228;
  --rm-k5:#c89038; --rm-k6:#dda844; --rm-k7:#edc054; --rm-k8:#f8d870;
  --rm-k9:#ffe898;

  /* 白磁 */
  --rm-s1:#c8d0d8; --rm-s2:#d8e0e8; --rm-s3:#e8edf2; --rm-s4:#f2f6f8;

  /* 朱漆 */
  --rm-r1:#3c0800; --rm-r2:#780e04; --rm-r3:#b01808; --rm-r4:#d02810; --rm-r5:#f04020;

  /* 藍鉄 */
  --rm-b1:#040c1c; --rm-b2:#081828; --rm-b3:#0e2848; --rm-b4:#183878;

  /* テキスト */
  --rm-tx0:#f6f0e6; --rm-tx1:#e6dccb; --rm-tx2:#c6b89e; --rm-tx3:#96886e;
  --rm-tx4:#685c46; --rm-tx5:#3e3428;

  /* ボーダー */
  --rm-bd0:rgba(221,168,68,.07); --rm-bd1:rgba(221,168,68,.16);
  --rm-bd2:rgba(221,168,68,.32); --rm-bd3:rgba(221,168,68,.56);

  /* サーフェス */
  --rm-sf0:rgba(221,168,68,.04); --rm-sf1:rgba(221,168,68,.09);
  --rm-sf2:rgba(221,168,68,.16);

  /* グラデーション */
  --rm-gk:linear-gradient(135deg,var(--rm-k4),var(--rm-k7) 50%,var(--rm-k5));
  --rm-gk2:linear-gradient(90deg,var(--rm-k3),var(--rm-k7),var(--rm-k3));

  /* フォント */
  --rm-fm:'Zen Old Mincho','YuMincho','Hiragino Mincho ProN',serif;
  --rm-fa:'Zen Antique Soft',serif;
  --rm-fs:'DM Sans','Noto Sans JP',sans-serif;

  /* モーション */
  --rm-ez:cubic-bezier(.16,1,.3,1);

  /* 青海波SVG（Base64） */
  --rm-seigaiha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='23'%3E%3Cellipse cx='20' cy='23' rx='20' ry='12' fill='none' stroke='rgba(221%2C168%2C68%2C0.18)' stroke-width='0.8'/%3E%3Cellipse cx='0' cy='23' rx='20' ry='12' fill='none' stroke='rgba(221%2C168%2C68%2C0.18)' stroke-width='0.8'/%3E%3Cellipse cx='40' cy='23' rx='20' ry='12' fill='none' stroke='rgba(221%2C168%2C68%2C0.18)' stroke-width='0.8'/%3E%3Cellipse cx='10' cy='11.5' rx='20' ry='12' fill='none' stroke='rgba(221%2C168%2C68%2C0.10)' stroke-width='0.6'/%3E%3Cellipse cx='30' cy='11.5' rx='20' ry='12' fill='none' stroke='rgba(221%2C168%2C68%2C0.10)' stroke-width='0.6'/%3E%3C/svg%3E");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   【1】品評会 (eap-fire.php + eap-fair-podium-patch.php) RANMA化
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ===== メインコンテナ ===== */
#eap-fair-root {
  background: var(--rm-m0) !important;
  font-family: var(--rm-fs) !important;
  position: relative !important;
}

/* 青海波背景（コンテナ内に収める） */
#eap-fair-root .eap-fair-wrap {
  position: relative !important;
  z-index: 1 !important;
}

#eap-fair-root .eap-fair-wrap::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--rm-seigaiha) !important;
  background-size: 40px 23px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0.7 !important;
}

#eap-fair-root .eap-fair-wrap > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ===== ヒーロー・タイトル ===== */
#eap-fair-root .eap-hero {
  text-align: center !important;
  padding: 40px 20px !important;
  margin-bottom: 40px !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
  background: linear-gradient(180deg, rgba(221,168,68,.06) 0%, transparent 100%) !important;
  position: relative !important;
}

#eap-fair-root .eap-hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--rm-k5), var(--rm-k7), var(--rm-k5), transparent) !important;
}

#eap-fair-root .eap-title {
  font-family: var(--rm-fm) !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  letter-spacing: .25em !important;
  background: var(--rm-gk) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-shadow: none !important;
  margin-bottom: 10px !important;
}

#eap-fair-root .eap-sub {
  color: var(--rm-tx3) !important;
  font-family: var(--rm-fs) !important;
  letter-spacing: .1em !important;
}

/* ===== タブナビゲーション ===== */
#eap-fair-root .eap-event-tabs,
#eap-fair-root .eap-nav-tabs,
#eap-fair-root .eap-tabs,
#eap-fair-root .eap-list-tabs {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-bottom: 30px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
  position: relative !important;
}

#eap-fair-root .eap-event-tabs::after,
#eap-fair-root .eap-nav-tabs::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 20% !important;
  right: 20% !important;
  height: 1px !important;
  background: var(--rm-gk2) !important;
  opacity: 0.5 !important;
}

#eap-fair-root .eap-event-tab,
#eap-fair-root .eap-nav-item,
#eap-fair-root .eap-tab,
#eap-fair-root .eap-list-tab {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 30px !important;
  padding: 12px 28px !important;
  color: var(--rm-tx3) !important;
  font-family: var(--rm-fs) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  transition: all .3s var(--rm-ez) !important;
}

#eap-fair-root .eap-event-tab:hover,
#eap-fair-root .eap-nav-item:hover,
#eap-fair-root .eap-tab:hover,
#eap-fair-root .eap-list-tab:hover {
  border-color: var(--rm-bd2) !important;
  color: var(--rm-tx1) !important;
  background: var(--rm-m3) !important;
}

#eap-fair-root .eap-event-tab.active,
#eap-fair-root .eap-nav-item.active,
#eap-fair-root .eap-tab.active,
#eap-fair-root .eap-list-tab.active {
  background: linear-gradient(135deg, var(--rm-k3) 0%, var(--rm-k5) 50%, var(--rm-k4) 100%) !important;
  border-color: var(--rm-k6) !important;
  color: var(--rm-m0) !important;
  box-shadow: 0 4px 20px rgba(221,168,68,.25) !important;
}

/* ===== イベントリスト ===== */
#eap-fair-root .eap-event-list {
  display: grid !important;
  gap: 16px !important;
}

#eap-fair-root .eap-event-item {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .3s var(--rm-ez) !important;
}

#eap-fair-root .eap-event-item::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--rm-k5), transparent) !important;
  opacity: 0 !important;
  transition: opacity .3s !important;
}

#eap-fair-root .eap-event-item:hover {
  border-color: var(--rm-bd2) !important;
  transform: translateX(8px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.4) !important;
}

#eap-fair-root .eap-event-item:hover::before {
  opacity: 1 !important;
}

#eap-fair-root .eap-event-status {
  font-family: var(--rm-fm) !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  border-radius: 6px !important;
  padding: 4px 12px !important;
}

#eap-fair-root .eap-event-status.st-active {
  background: linear-gradient(135deg, var(--rm-k4), var(--rm-k6)) !important;
  color: var(--rm-m0) !important;
}

#eap-fair-root .eap-event-status.st-past {
  background: var(--rm-m3) !important;
  color: var(--rm-tx3) !important;
  border: 1px solid var(--rm-bd0) !important;
}

/* ===== メンバーカード ===== */
#eap-fair-root .eap-member-card {
  background: linear-gradient(160deg, rgba(221,168,68,.06) 0%, var(--rm-m1) 50%) !important;
  border: 1px solid var(--rm-k5) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 8px 32px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(221,168,68,.1) !important;
}

#eap-fair-root .eap-member-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent 5%, var(--rm-k5) 30%, var(--rm-k8) 50%, var(--rm-k5) 70%, transparent 95%) !important;
}

#eap-fair-root .eap-mc-icon {
  color: var(--rm-k6) !important;
}

#eap-fair-root .eap-mc-name {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx0) !important;
  letter-spacing: .08em !important;
}

#eap-fair-root .eap-mc-meta {
  color: var(--rm-tx3) !important;
}

#eap-fair-root .eap-mc-badge {
  background: linear-gradient(135deg, var(--rm-k4), var(--rm-k6)) !important;
  color: var(--rm-m0) !important;
  font-family: var(--rm-fm) !important;
  letter-spacing: .12em !important;
  border-radius: 6px !important;
}

/* ===== 作品カード（グリッド） ===== */
#eap-fair-root .eap-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 24px !important;
}

#eap-fair-root .eap-card {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  transition: all .35s var(--rm-ez) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 8px 24px rgba(0,0,0,.4) !important;
}

/* カード上部の金線 */
#eap-fair-root .eap-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--rm-k4), var(--rm-k6), var(--rm-k4), transparent) !important;
  z-index: 10 !important;
  opacity: 0.6 !important;
  transition: opacity .3s !important;
}

#eap-fair-root .eap-card:hover {
  border-color: var(--rm-bd2) !important;
  transform: translateY(-6px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 16px 48px rgba(0,0,0,.5),
    0 0 30px rgba(221,168,68,.1) !important;
}

#eap-fair-root .eap-card:hover::before {
  opacity: 1 !important;
}

#eap-fair-root .eap-card.is-selected {
  border-color: var(--rm-k5) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 0 40px rgba(221,168,68,.2),
    0 16px 48px rgba(0,0,0,.5) !important;
}

#eap-fair-root .eap-card.is-selected::before {
  opacity: 1 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--rm-k5), var(--rm-k8), var(--rm-k5)) !important;
}

/* メディア（動画サムネ） */
#eap-fair-root .eap-media {
  background: var(--rm-m0) !important;
  border-bottom: 1px solid var(--rm-bd0) !important;
}

#eap-fair-root .eap-play-btn {
  background: rgba(1,3,5,.75) !important;
  border: 2px solid var(--rm-k5) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.5) !important;
}

#eap-fair-root .eap-play-btn:hover {
  background: linear-gradient(135deg, var(--rm-k4), var(--rm-k6)) !important;
  border-color: var(--rm-k7) !important;
}

#eap-fair-root .eap-play-btn::before {
  border-color: transparent transparent transparent var(--rm-k7) !important;
}

/* カードボディ */
#eap-fair-root .eap-body {
  padding: 20px !important;
  background: linear-gradient(180deg, transparent 0%, rgba(221,168,68,.02) 100%) !important;
}

#eap-fair-root .eap-card-title {
  font-family: var(--rm-fm) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--rm-tx0) !important;
  letter-spacing: .06em !important;
  margin-bottom: 8px !important;
}

#eap-fair-root .eap-card-exhibitor {
  font-family: var(--rm-fs) !important;
  color: var(--rm-k6) !important;
  font-weight: 500 !important;
}

#eap-fair-root .eap-card-desc {
  color: var(--rm-tx2) !important;
  line-height: 1.7 !important;
}

/* 投票チェックボックス */
#eap-fair-root .eap-chk-label {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 10px !important;
  color: var(--rm-tx2) !important;
  transition: all .25s var(--rm-ez) !important;
}

#eap-fair-root .eap-chk-label:hover {
  border-color: var(--rm-bd2) !important;
  background: var(--rm-m3) !important;
}

#eap-fair-root .eap-chk-icon {
  border-color: var(--rm-k5) !important;
}

#eap-fair-root input[type="checkbox"]:checked + .eap-chk-icon {
  background: linear-gradient(135deg, var(--rm-k4), var(--rm-k6)) !important;
}

/* ===== ボタン類 ===== */
#eap-fair-root .eap-btn,
#eap-fair-root .eap-btn-submit {
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, transparent 40%),
    linear-gradient(135deg, var(--rm-k2) 0%, var(--rm-k5) 30%, var(--rm-k7) 55%, var(--rm-k5) 80%, var(--rm-k3) 100%) !important;
  border: 1px solid var(--rm-k6) !important;
  border-radius: 30px !important;
  color: var(--rm-m0) !important;
  font-family: var(--rm-fm) !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.2) !important;
  box-shadow:
    0 1px 0 rgba(0,0,0,.6),
    0 4px 16px rgba(168,114,40,.2),
    inset 0 1px 0 rgba(255,255,255,.15) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .3s var(--rm-ez) !important;
}

#eap-fair-root .eap-btn::before,
#eap-fair-root .eap-btn-submit::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,.25) 50%, rgba(255,255,255,0) 65%, transparent 100%) !important;
  transform: translateX(-100%) !important;
  transition: transform .5s var(--rm-ez) !important;
}

#eap-fair-root .eap-btn:hover::before,
#eap-fair-root .eap-btn-submit:hover::before {
  transform: translateX(100%) !important;
}

#eap-fair-root .eap-btn:hover,
#eap-fair-root .eap-btn-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 2px 0 rgba(0,0,0,.5),
    0 8px 28px rgba(221,168,68,.3),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
}

#eap-fair-root .eap-btn-outline {
  background: transparent !important;
  border: 1px solid var(--rm-k5) !important;
  color: var(--rm-k6) !important;
}

#eap-fair-root .eap-btn-outline:hover {
  background: var(--rm-sf1) !important;
  color: var(--rm-k8) !important;
}

/* ===== フォームボックス ===== */
#eap-fair-root .eap-form-box {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 16px !important;
  padding: 32px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.4) !important;
}

#eap-fair-root .eap-form-box::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent 10%, var(--rm-k5) 30%, var(--rm-k8) 50%, var(--rm-k5) 70%, transparent 90%) !important;
}

#eap-fair-root input[type="text"],
#eap-fair-root input[type="password"],
#eap-fair-root select,
#eap-fair-root textarea {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 10px !important;
  color: var(--rm-tx1) !important;
  padding: 14px 16px !important;
  font-family: var(--rm-fs) !important;
}

#eap-fair-root input[type="text"]:focus,
#eap-fair-root input[type="password"]:focus,
#eap-fair-root select:focus,
#eap-fair-root textarea:focus {
  outline: none !important;
  border-color: var(--rm-k5) !important;
  box-shadow: 0 0 0 3px rgba(221,168,68,.12) !important;
}

/* ===== モーダル ===== */
#eap-fair-root .eap-modal-overlay {
  background: rgba(1,3,5,.92) !important;
  backdrop-filter: blur(8px) !important;
}

#eap-fair-root .eap-modal {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-k5) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.6) !important;
  position: relative !important;
  overflow: hidden !important;
}

#eap-fair-root .eap-modal::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--rm-k4), var(--rm-k7), var(--rm-k4)) !important;
}

#eap-fair-root .eap-modal ul {
  color: var(--rm-tx2) !important;
}

/* ===== ランキング ===== */
#eap-fair-root .eap-rank-list {
  margin: 24px 0 !important;
}

#eap-fair-root .eap-rank-item {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
  margin-bottom: 12px !important;
  padding: 14px !important;
  transition: all .25s var(--rm-ez) !important;
}

#eap-fair-root .eap-rank-item:hover {
  border-color: var(--rm-bd1) !important;
  background: var(--rm-m3) !important;
}

#eap-fair-root .eap-rank-item.top {
  border-color: var(--rm-k5) !important;
  background: linear-gradient(90deg, rgba(221,168,68,.06) 0%, var(--rm-m2) 100%) !important;
}

#eap-fair-root .eap-bar-wrap {
  background: var(--rm-m4) !important;
  border-radius: 3px !important;
}

#eap-fair-root .eap-bar {
  background: linear-gradient(90deg, var(--rm-k4), var(--rm-k7)) !important;
  box-shadow: 0 0 10px rgba(221,168,68,.4) !important;
}

/* ===== 見出し（h3） ===== */
#eap-fair-root h3 {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx0) !important;
  border-left: 3px solid var(--rm-k5) !important;
  letter-spacing: .1em !important;
  background: linear-gradient(90deg, rgba(221,168,68,.06) 0%, transparent 100%) !important;
  padding: 12px 16px !important;
  border-radius: 0 8px 8px 0 !important;
}

/* ===== リンク ===== */
#eap-fair-root a {
  color: var(--rm-k6) !important;
  transition: color .2s !important;
}

#eap-fair-root a:hover {
  color: var(--rm-k8) !important;
}

/* ===== 表彰台（Podiumパッチ） ===== */
/* 全体コンテナ */
.pdm3 {
  background: var(--rm-m0) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 60px 140px rgba(0,0,0,.9),
    inset 0 1px 0 rgba(221,168,68,.06) !important;
}

/* 青海波背景 */
.pdm3::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--rm-seigaiha) !important;
  background-size: 40px 23px !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.pdm3 > * { position: relative !important; z-index: 1 !important; }

/* ヘッダー */
.pdm3-hd::before, .pdm3-hd::after {
  background: linear-gradient(90deg,transparent,var(--rm-k5),transparent) !important;
}
.pdm3-crown { filter: drop-shadow(0 0 8px rgba(221,168,68,.4)) !important; }
.pdm3-ttl {
  font-family: var(--rm-fm) !important;
  color: var(--rm-k7) !important;
  letter-spacing: .3em !important;
  background: var(--rm-gk) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.pdm3-sub { color: var(--rm-tx3) !important; }

/* カード共通 */
.pdm3-card {
  background: var(--rm-m1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
}

/* 1位 GOLD — 金泥仕様 */
.pdm3-card--1 {
  background: linear-gradient(160deg, rgba(221,168,68,.08) 0%, var(--rm-m1) 50%) !important;
  border: 1px solid var(--rm-k5) !important;
  box-shadow:
    0 0 30px rgba(221,168,68,.15),
    inset 0 1px 0 rgba(221,168,68,.12) !important;
}
.pdm3-card--1 .pdm3-badge {
  background: var(--rm-gk) !important;
  color: var(--rm-m0) !important;
  font-weight: 900 !important;
}
.pdm3-card--1 .pdm3-rank { color: var(--rm-k7) !important; }
.pdm3-card--1 .pdm3-votes {
  background: var(--rm-gk) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.pdm3-card--1 .pdm3-line {
  background: linear-gradient(90deg, transparent, var(--rm-k6) 30%, var(--rm-k6) 70%, transparent) !important;
}

/* 2位 SILVER — 白磁仕様 */
.pdm3-card--2 {
  background: linear-gradient(160deg, rgba(200,208,216,.05) 0%, var(--rm-m1) 50%) !important;
  border: 1px solid rgba(200,208,216,.25) !important;
}
.pdm3-card--2 .pdm3-badge {
  background: linear-gradient(135deg, var(--rm-s1), var(--rm-s3)) !important;
  color: var(--rm-m0) !important;
}
.pdm3-card--2 .pdm3-rank { color: var(--rm-s2) !important; }
.pdm3-card--2 .pdm3-votes { color: var(--rm-s3) !important; }
.pdm3-card--2 .pdm3-line {
  background: linear-gradient(90deg, transparent, var(--rm-s1) 30%, var(--rm-s1) 70%, transparent) !important;
}

/* 3位 BRONZE — 朱漆仕様 */
.pdm3-card--3 {
  background: linear-gradient(160deg, rgba(176,24,8,.06) 0%, var(--rm-m1) 50%) !important;
  border: 1px solid rgba(176,24,8,.35) !important;
}
.pdm3-card--3 .pdm3-badge {
  background: linear-gradient(135deg, #cd7f32, #a06828) !important;
  color: var(--rm-m0) !important;
}
.pdm3-card--3 .pdm3-rank { color: #cd7f32 !important; }
.pdm3-card--3 .pdm3-votes { color: #cd7f32 !important; }
.pdm3-card--3 .pdm3-line {
  background: linear-gradient(90deg, transparent, #a06828 30%, #a06828 70%, transparent) !important;
}

/* 名前・テキスト */
.pdm3-name { color: var(--rm-tx0) !important; }
.pdm3-name a { color: var(--rm-tx0) !important; }
.pdm3-name a:hover { color: var(--rm-k8) !important; }
.pdm3-who { color: var(--rm-tx3) !important; }
.pdm3-vu { color: var(--rm-tx4) !important; }

/* 4位以下リスト */
.pdm3-rest-ttl {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx4) !important;
}
.pdm3-rest {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 10px !important;
}
.pdm3-rest li { border-bottom-color: var(--rm-bd0) !important; }
.pdm3-rest-rk { color: var(--rm-tx4) !important; font-family: var(--rm-fm) !important; }
.pdm3-rest-nm a { color: var(--rm-tx2) !important; }
.pdm3-rest-nm a:hover { color: var(--rm-k7) !important; }
.pdm3-rest-sc { color: var(--rm-k6) !important; font-family: var(--rm-fm) !important; }
.pdm3-hr { border-top-color: var(--rm-bd0) !important; }

/* 総合優勝特別装飾 */
.pdm3--ov .pdm3-card--1 {
  box-shadow:
    0 0 40px rgba(221,168,68,.25),
    0 0 80px rgba(221,168,68,.1),
    inset 0 1px 0 rgba(221,168,68,.15) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   【2】図鑑 (medaka-registry-all-in-one.php + edo-registry-gatekeeper.php) RANMA化
   ※ テーマCSS・既存CSSより確実に上書きするため最高詳細度で指定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ===================================================================
   図鑑ポータル（edo-registry-gatekeeper.php）RANMA化
   白いカードボタンを金泥墨染スタイルに
=================================================================== */

/* ポータル全体 */
html body .mrg-portal,
body .mrg-portal,
.mrg-portal {
  background: var(--rm-m0) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 20px !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 40px 100px rgba(0,0,0,.85),
    inset 0 1px 0 rgba(221,168,68,.06) !important;
  overflow: hidden !important;
  position: relative !important;
}

/* 青海波背景 */
html body .mrg-portal::before,
body .mrg-portal::before,
.mrg-portal::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-image: var(--rm-seigaiha) !important;
  background-size: 40px 23px !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body .mrg-portal > *,
body .mrg-portal > *,
.mrg-portal > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ヘッダー */
html body .mrg-header,
body .mrg-header,
.mrg-header {
  background: linear-gradient(180deg, rgba(221,168,68,.06) 0%, var(--rm-m1) 100%) !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
  padding: 20px 24px !important;
}

html body .mrg-header::after,
body .mrg-header::after,
.mrg-header::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--rm-k5), var(--rm-k7), var(--rm-k5), transparent) !important;
}

html body .mrg-title,
body .mrg-title,
.mrg-title {
  font-family: var(--rm-fm) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  background: var(--rm-gk) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: var(--rm-k7) !important;
}

html body .mrg-user,
body .mrg-user,
.mrg-user {
  color: var(--rm-tx2) !important;
  font-family: var(--rm-fs) !important;
}

/* ボディ */
html body .mrg-body,
body .mrg-body,
.mrg-body {
  background: transparent !important;
  padding: 24px !important;
}

/* ナビゲーション（カードボタン） */
html body .mrg-nav,
body .mrg-nav,
.mrg-nav {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 30px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
}

/* ★ カードボタン — 金泥墨染スタイル ★ */
html body .mrg-btn,
body .mrg-btn,
.mrg-btn,
a.mrg-btn,
.mrg-portal .mrg-btn,
.mrg-nav .mrg-btn {
  all: unset !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 14px !important;
  padding: 24px 16px !important;
  min-height: 110px !important;
  color: var(--rm-tx2) !important;
  font-family: var(--rm-fs) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .3s cubic-bezier(.16,1,.3,1) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 4px 16px rgba(0,0,0,.3) !important;
}

/* カード上部の金線 */
html body .mrg-btn::before,
body .mrg-btn::before,
.mrg-btn::before,
a.mrg-btn::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--rm-k4), var(--rm-k6), var(--rm-k4), transparent) !important;
  opacity: 0.4 !important;
  transition: opacity .3s !important;
}

/* アイコン */
html body .mrg-btn span,
body .mrg-btn span,
.mrg-btn span {
  font-size: 2.2em !important;
  margin-bottom: 10px !important;
  display: block !important;
  filter: grayscale(0.3) !important;
  transition: filter .3s !important;
}

/* ホバー */
html body .mrg-btn:hover,
body .mrg-btn:hover,
.mrg-btn:hover,
a.mrg-btn:hover {
  background: var(--rm-m2) !important;
  border-color: var(--rm-bd2) !important;
  color: var(--rm-k7) !important;
  transform: translateY(-4px) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 12px 32px rgba(0,0,0,.4),
    0 0 20px rgba(221,168,68,.1) !important;
}

html body .mrg-btn:hover::before,
body .mrg-btn:hover::before,
.mrg-btn:hover::before {
  opacity: 1 !important;
}

html body .mrg-btn:hover span,
body .mrg-btn:hover span,
.mrg-btn:hover span {
  filter: grayscale(0) !important;
}

/* アクティブ状態 */
html body .mrg-btn.active,
body .mrg-btn.active,
.mrg-btn.active,
a.mrg-btn.active {
  background: linear-gradient(160deg, rgba(221,168,68,.1) 0%, var(--rm-m1) 100%) !important;
  border-color: var(--rm-k5) !important;
  color: var(--rm-k7) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 0 25px rgba(221,168,68,.15),
    0 8px 24px rgba(0,0,0,.4) !important;
}

html body .mrg-btn.active::before,
body .mrg-btn.active::before,
.mrg-btn.active::before {
  opacity: 1 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--rm-k5), var(--rm-k8), var(--rm-k5)) !important;
}

html body .mrg-btn.active span,
body .mrg-btn.active span,
.mrg-btn.active span {
  filter: grayscale(0) drop-shadow(0 0 6px rgba(221,168,68,.4)) !important;
}

/* 説明書ボタン */
html body .mrg-btn.help-btn,
body .mrg-btn.help-btn,
.mrg-btn.help-btn,
a.mrg-btn.help-btn {
  background: linear-gradient(135deg, rgba(221,168,68,.08) 0%, var(--rm-m1) 100%) !important;
  border-color: var(--rm-bd2) !important;
}

/* コンテンツエリア */
html body .mrg-content,
body .mrg-content,
.mrg-content {
  min-height: 300px !important;
  color: var(--rm-tx1) !important;
}

/* フォームUI補正 */
html body .mrg-portal input,
html body .mrg-portal select,
html body .mrg-portal textarea,
body .mrg-portal input,
body .mrg-portal select,
body .mrg-portal textarea,
.mrg-portal input,
.mrg-portal select,
.mrg-portal textarea {
  background: var(--rm-m2) !important;
  background-color: var(--rm-m2) !important;
  color: var(--rm-tx1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  font-family: var(--rm-fs) !important;
}

html body .mrg-portal input:focus,
html body .mrg-portal select:focus,
html body .mrg-portal textarea:focus,
body .mrg-portal input:focus,
body .mrg-portal select:focus,
body .mrg-portal textarea:focus,
.mrg-portal input:focus,
.mrg-portal select:focus,
.mrg-portal textarea:focus {
  outline: none !important;
  border-color: var(--rm-k5) !important;
  box-shadow: 0 0 0 3px rgba(221,168,68,.15) !important;
}

/* モーダル */
html body .mrg-modal,
body .mrg-modal,
.mrg-modal {
  background: rgba(1,3,5,.92) !important;
  backdrop-filter: blur(8px) !important;
}

html body .mrg-modal-content,
body .mrg-modal-content,
.mrg-modal-content {
  background: var(--rm-m1) !important;
  background-color: var(--rm-m1) !important;
  color: var(--rm-tx1) !important;
  border: 1px solid var(--rm-k5) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.6) !important;
  position: relative !important;
}

html body .mrg-modal-content::before,
body .mrg-modal-content::before,
.mrg-modal-content::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--rm-k4), var(--rm-k7), var(--rm-k4)) !important;
  border-radius: 16px 16px 0 0 !important;
}

html body .mrg-modal h4,
body .mrg-modal h4,
.mrg-modal h4 {
  color: var(--rm-k7) !important;
  font-family: var(--rm-fm) !important;
  border-bottom-color: var(--rm-bd1) !important;
}

html body .mrg-modal p,
body .mrg-modal p,
.mrg-modal p {
  color: var(--rm-tx2) !important;
}

html body .mrg-modal strong,
body .mrg-modal strong,
.mrg-modal strong {
  color: var(--rm-k7) !important;
  background: var(--rm-m2) !important;
}

html body .mrg-modal .note,
body .mrg-modal .note,
.mrg-modal .note {
  background: var(--rm-m2) !important;
  color: var(--rm-tx3) !important;
}

html body .mrg-modal-close,
body .mrg-modal-close,
.mrg-modal-close {
  color: var(--rm-tx3) !important;
}

html body .mrg-modal-close:hover,
body .mrg-modal-close:hover,
.mrg-modal-close:hover {
  color: var(--rm-r4) !important;
}

/* h3見出し（インラインスタイル上書き） */
html body .mrg-portal h3,
html body .mrg-content h3,
body .mrg-portal h3,
body .mrg-content h3,
.mrg-portal h3,
.mrg-content h3,
.mrg-content h3[style] {
  color: var(--rm-k7) !important;
  font-family: var(--rm-fm) !important;
  border-left: 3px solid var(--rm-k5) !important;
  border-left-color: var(--rm-k5) !important;
  background: linear-gradient(90deg, rgba(221,168,68,.06) 0%, transparent 100%) !important;
  padding: 12px 16px !important;
  border-radius: 0 8px 8px 0 !important;
  letter-spacing: .1em !important;
}

/* ===================================================================
   図鑑フォーム（medaka-registry-all-in-one.php）RANMA化
=================================================================== */

/* ===== メインラップ — 最高詳細度で上書き ===== */
html body .mr-wrap,
html body div.mr-wrap,
html body .mr-wrap.mr-member,
html body .mr-wrap.mr-variety-form,
body .mr-wrap,
body div.mr-wrap {
  all: unset !important;
  display: block !important;
  box-sizing: border-box !important;
  background: var(--rm-m0) !important;
  background-color: var(--rm-m0) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  margin: 20px 0 !important;
  color: var(--rm-tx1) !important;
  font-family: var(--rm-fs) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 40px 100px rgba(0,0,0,.85),
    inset 0 1px 0 rgba(221,168,68,.06) !important;
}

/* 青海波背景 */
html body .mr-wrap::before,
body .mr-wrap::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-image: var(--rm-seigaiha) !important;
  background-size: 40px 23px !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body .mr-wrap > *,
body .mr-wrap > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ===== 見出し ===== */
html body .mr-wrap h3,
html body .mr-wrap h4,
html body .mr-wrap h5,
body .mr-wrap h3,
body .mr-wrap h4,
body .mr-wrap h5 {
  all: unset !important;
  display: block !important;
  font-family: var(--rm-fm) !important;
  color: var(--rm-k7) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
  padding-bottom: 12px !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ===== ラベル ===== */
html body .mr-wrap label,
body .mr-wrap label {
  color: var(--rm-tx2) !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

/* ===== 入力フィールド ===== */
html body .mr-wrap input[type="text"],
html body .mr-wrap input[type="email"],
html body .mr-wrap input[type="tel"],
html body .mr-wrap input[type="url"],
html body .mr-wrap input[type="number"],
html body .mr-wrap input[type="password"],
html body .mr-wrap select,
html body .mr-wrap textarea,
body .mr-wrap input[type="text"],
body .mr-wrap input[type="email"],
body .mr-wrap input[type="tel"],
body .mr-wrap input[type="url"],
body .mr-wrap input[type="number"],
body .mr-wrap input[type="password"],
body .mr-wrap select,
body .mr-wrap textarea {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--rm-m2) !important;
  background-color: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 10px !important;
  color: var(--rm-tx1) !important;
  padding: 14px 16px !important;
  margin-bottom: 15px !important;
  font-family: var(--rm-fs) !important;
  font-size: 16px !important;
  transition: border-color .2s, box-shadow .2s !important;
}

html body .mr-wrap input:focus,
html body .mr-wrap select:focus,
html body .mr-wrap textarea:focus,
body .mr-wrap input:focus,
body .mr-wrap select:focus,
body .mr-wrap textarea:focus {
  outline: none !important;
  border-color: var(--rm-k5) !important;
  box-shadow: 0 0 0 3px rgba(221,168,68,.15), 0 0 12px rgba(221,168,68,.1) !important;
}

/* ===== ボタン — 金泥蒔絵スタイル ===== */
html body .mr-btn,
html body .mr-wrap button,
html body .mr-wrap .mr-btn,
html body button.mr-btn,
html body .mr-wrap button[type="submit"],
html body .mr-wrap button[type="button"],
html body #mr_portal_fetch,
html body #mr_do_search,
html body #mr_portal_save_member,
body .mr-btn,
body .mr-wrap button,
body .mr-wrap .mr-btn,
body button.mr-btn,
body #mr_portal_fetch,
body #mr_do_search,
body #mr_portal_save_member {
  all: unset !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, rgba(255,255,255,.08) 0%, transparent 40%),
    linear-gradient(135deg, var(--rm-k2) 0%, var(--rm-k5) 30%, var(--rm-k7) 55%, var(--rm-k5) 80%, var(--rm-k3) 100%) !important;
  border: 1px solid var(--rm-k6) !important;
  border-radius: 10px !important;
  color: var(--rm-m0) !important;
  font-family: var(--rm-fm) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: .15em !important;
  padding: 14px 28px !important;
  margin-top: 10px !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.2) !important;
  box-shadow:
    0 1px 0 rgba(0,0,0,.6),
    0 4px 16px rgba(168,114,40,.2),
    inset 0 1px 0 rgba(255,255,255,.15) !important;
  transition: all .3s cubic-bezier(.16,1,.3,1) !important;
  text-align: center !important;
  text-decoration: none !important;
  z-index: 1 !important;
}

html body .mr-btn:hover,
html body .mr-wrap button:hover,
html body #mr_portal_fetch:hover,
html body #mr_do_search:hover,
html body #mr_portal_save_member:hover,
body .mr-btn:hover,
body .mr-wrap button:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 2px 0 rgba(0,0,0,.5),
    0 8px 28px rgba(221,168,68,.35),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
}

html body .mr-btn:active,
html body .mr-wrap button:active,
body .mr-btn:active,
body .mr-wrap button:active {
  transform: translateY(1px) !important;
}

html body .mr-btn:disabled,
html body .mr-wrap button:disabled,
body .mr-btn:disabled,
body .mr-wrap button:disabled {
  background: var(--rm-m4) !important;
  color: var(--rm-tx4) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  border-color: var(--rm-bd0) !important;
}

/* ===== fieldset ===== */
html body .mr-wrap fieldset,
body .mr-wrap fieldset {
  all: unset !important;
  display: block !important;
  box-sizing: border-box !important;
  background: var(--rm-m1) !important;
  background-color: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
  position: relative !important;
  z-index: 1 !important;
}

html body .mr-wrap legend,
body .mr-wrap legend {
  color: var(--rm-k6) !important;
  font-family: var(--rm-fm) !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  padding: 0 12px !important;
  float: left !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}

/* ===== .mr-row ===== */
html body .mr-wrap .mr-row,
body .mr-wrap .mr-row {
  margin-bottom: 16px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ===== チェックボックス ===== */
html body .mr-wrap input[type="checkbox"],
body .mr-wrap input[type="checkbox"] {
  all: revert !important;
  accent-color: var(--rm-k6) !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}

/* インラインスタイルのラベル */
html body .mr-wrap label[style],
html body .mr-wrap div[style] label,
body .mr-wrap label[style],
body .mr-wrap div[style] label {
  color: var(--rm-tx2) !important;
  display: inline !important;
}

html body .mr-wrap fieldset div[style],
body .mr-wrap fieldset div[style] {
  color: var(--rm-tx2) !important;
  margin: 8px 0 !important;
}

html body .mr-wrap fieldset div[style] div[style],
body .mr-wrap fieldset div[style] div[style] {
  font-weight: 700 !important;
  color: var(--rm-tx1) !important;
  margin-bottom: 8px !important;
}

/* ===== 属性チップ ===== */
html body .mr-attr-chip,
html body span.mr-attr-chip,
body .mr-attr-chip,
body span.mr-attr-chip {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd2) !important;
  color: var(--rm-k7) !important;
  border-radius: 20px !important;
  font-family: var(--rm-fs) !important;
  padding: 4px 12px !important;
  display: inline-block !important;
  margin: 0 5px 5px 0 !important;
}

/* ===== テーブル ===== */
html body .mr-detail-table,
html body .mr-wrap .mr-detail-table,
body .mr-detail-table,
body .mr-wrap .mr-detail-table {
  color: var(--rm-tx1) !important;
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 20px 0 !important;
}

html body .mr-detail-table th,
html body .mr-wrap .mr-detail-table th,
body .mr-detail-table th,
body .mr-wrap .mr-detail-table th {
  background: var(--rm-m2) !important;
  background-color: var(--rm-m2) !important;
  color: var(--rm-k6) !important;
  border: 1px solid var(--rm-bd1) !important;
  font-family: var(--rm-fm) !important;
  padding: 14px !important;
  text-align: left !important;
}

html body .mr-detail-table td,
html body .mr-wrap .mr-detail-table td,
body .mr-detail-table td,
body .mr-wrap .mr-detail-table td {
  background: var(--rm-m1) !important;
  background-color: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd0) !important;
  padding: 14px !important;
  color: var(--rm-tx1) !important;
}

/* ===== 完了メッセージ ===== */
html body .mr-thanks-box,
body .mr-thanks-box {
  background: linear-gradient(135deg, rgba(16,185,129,.08) 0%, var(--rm-m1) 100%) !important;
  border: 1px solid rgba(16,185,129,.3) !important;
  border-radius: 12px !important;
  padding: 20px !important;
}

html body .mr-thanks-title,
body .mr-thanks-title {
  color: #6ee7b7 !important;
  font-family: var(--rm-fm) !important;
}

/* ===== リンク ===== */
html body .mr-wrap a,
body .mr-wrap a {
  color: var(--rm-k6) !important;
  text-decoration: none !important;
}

html body .mr-wrap a:hover,
body .mr-wrap a:hover {
  color: var(--rm-k8) !important;
  text-decoration: underline !important;
}

/* ===== 検索結果リスト ===== */
html body #mr_result_list,
html body ul#mr_result_list,
body #mr_result_list,
body ul#mr_result_list {
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0 !important;
}

html body #mr_result_list li,
body #mr_result_list li {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  transition: all .25s cubic-bezier(.16,1,.3,1) !important;
}

html body #mr_result_list li:hover,
body #mr_result_list li:hover {
  border-color: var(--rm-bd1) !important;
  background: var(--rm-m3) !important;
}

html body #mr_result_list a,
body #mr_result_list a {
  color: var(--rm-k6) !important;
  font-family: var(--rm-fm) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body #mr_result_list a:hover,
body #mr_result_list a:hover {
  color: var(--rm-k8) !important;
}

/* ===== YouTube埋め込み ===== */
html body .mr-embed,
body .mr-embed {
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* ===== ポータル内の品種ボックス（JSで生成） ===== */
html body .mr-varbox,
html body div.mr-varbox,
body .mr-varbox,
body div.mr-varbox {
  background: var(--rm-m1) !important;
  background-color: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin: 16px 0 !important;
}

html body .mr-varbox h5,
body .mr-varbox h5 {
  color: var(--rm-tx0) !important;
  margin: 0 0 12px !important;
}

html body .mr-varbox fieldset,
body .mr-varbox fieldset {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
  padding: 12px !important;
  margin: 12px 0 !important;
}

html body .mr-varbox legend,
body .mr-varbox legend {
  color: var(--rm-k5) !important;
  font-weight: 700 !important;
}

/* ===== メッセージエリア ===== */
html body #mr_member_msg,
html body #mr_variety_msg,
html body #mr_portal_msg,
body #mr_member_msg,
body #mr_variety_msg,
body #mr_portal_msg {
  color: var(--rm-tx2) !important;
  font-size: 14px !important;
}

/* ===== 単一品種ページ（single） ===== */
html body .mr-view,
body .mr-view,
.mr-view {
  background: var(--rm-m0) !important;
  background-color: var(--rm-m0) !important;
  color: var(--rm-tx1) !important;
  padding: 20px !important;
  border-radius: 12px !important;
  margin-bottom: 20px !important;
}

html body .mr-view h1,
html body .mr-view h2,
html body .mr-view h3,
body .mr-view h1,
body .mr-view h2,
body .mr-view h3,
.mr-view h1,
.mr-view h2,
.mr-view h3 {
  color: var(--rm-k7) !important;
  font-family: var(--rm-fm) !important;
  background: transparent !important;
}

html body .mr-view p,
body .mr-view p,
.mr-view p {
  color: var(--rm-tx2) !important;
  background: transparent !important;
}

/* ===================================================================
   品種詳細ページ（single-medaka_variety）全体のRANMA化
   テーマのentry-content/post-content等を上書き
=================================================================== */

/* 投稿タイプ medaka_variety のシングルページ全体 */
body.single-medaka_variety,
html body.single-medaka_variety {
  background: var(--rm-m0) !important;
  background-color: var(--rm-m0) !important;
}

/* ★★★ 最強の上書き：白背景を持つ可能性のある全要素 ★★★ */
body.single-medaka_variety #page,
body.single-medaka_variety #content,
body.single-medaka_variety #primary,
body.single-medaka_variety #main,
body.single-medaka_variety #wrapper,
body.single-medaka_variety .site,
body.single-medaka_variety .site-content,
body.single-medaka_variety .site-main,
body.single-medaka_variety .content-area,
body.single-medaka_variety main,
body.single-medaka_variety article,
body.single-medaka_variety .hentry,
body.single-medaka_variety .post,
body.single-medaka_variety .type-medaka_variety,
body.single-medaka_variety .entry-content,
body.single-medaka_variety .post-content,
body.single-medaka_variety .the-content,
body.single-medaka_variety .page-content,
body.single-medaka_variety .single-content,
body.single-medaka_variety .article-content,
body.single-medaka_variety .entry,
body.single-medaka_variety .post-inner,
body.single-medaka_variety .entry-inner,
body.single-medaka_variety .post-wrap,
body.single-medaka_variety .content-wrap,
body.single-medaka_variety .container,
body.single-medaka_variety .wrapper,
body.single-medaka_variety .inner,
body.single-medaka_variety .row,
body.single-medaka_variety .col,
body.single-medaka_variety [class*="col-"],
body.single-medaka_variety .card,
body.single-medaka_variety .card-body,
body.single-medaka_variety .box,
body.single-medaka_variety .panel,
body.single-medaka_variety .section,
body.single-medaka_variety section,
body.single-medaka_variety .mr-view,
body.single-medaka_variety div:not(.mr-attr-chip):not([class*="mr-embed"]) {
  background: var(--rm-m0) !important;
  background-color: var(--rm-m0) !important;
}

/* テキストカラー強制 */
body.single-medaka_variety,
body.single-medaka_variety *:not(.mr-attr-chip):not(.mr-btn):not(a) {
  color: var(--rm-tx1) !important;
}

/* 投稿タイトル */
body.single-medaka_variety .entry-title,
body.single-medaka_variety h1.entry-title,
body.single-medaka_variety article h1,
body.single-medaka_variety .post-title,
body.single-medaka_variety h1,
body.single-medaka_variety .single-title,
body.single-medaka_variety .page-title {
  color: var(--rm-k7) !important;
  font-family: var(--rm-fm) !important;
  letter-spacing: .1em !important;
  background: transparent !important;
}

/* メタ情報（日付など） */
body.single-medaka_variety .entry-meta,
body.single-medaka_variety .post-meta,
body.single-medaka_variety .posted-on,
body.single-medaka_variety .byline,
body.single-medaka_variety .author,
body.single-medaka_variety time,
body.single-medaka_variety .date,
body.single-medaka_variety .meta {
  color: var(--rm-tx3) !important;
}

/* 本文テキスト */
body.single-medaka_variety p,
body.single-medaka_variety .entry-content p,
body.single-medaka_variety .post-content p,
body.single-medaka_variety article p,
body.single-medaka_variety .mr-view p,
body.single-medaka_variety span:not(.mr-attr-chip):not(.mr-attrs-label) {
  color: var(--rm-tx2) !important;
}

/* リンク */
body.single-medaka_variety a,
body.single-medaka_variety a:link,
body.single-medaka_variety a:visited {
  color: var(--rm-k6) !important;
}

body.single-medaka_variety a:hover,
body.single-medaka_variety a:active {
  color: var(--rm-k8) !important;
}

/* 見出し */
body.single-medaka_variety h1,
body.single-medaka_variety h2,
body.single-medaka_variety h3,
body.single-medaka_variety h4,
body.single-medaka_variety h5,
body.single-medaka_variety h6 {
  color: var(--rm-k7) !important;
  background: transparent !important;
}

/* ヘッダー・フッター */
body.single-medaka_variety .site-header,
body.single-medaka_variety header#masthead,
body.single-medaka_variety header,
body.single-medaka_variety .site-footer,
body.single-medaka_variety footer#colophon,
body.single-medaka_variety footer {
  background: var(--rm-m0) !important;
  color: var(--rm-tx2) !important;
  border-color: var(--rm-bd0) !important;
}

/* サイドバー */
body.single-medaka_variety .sidebar,
body.single-medaka_variety .widget-area,
body.single-medaka_variety aside,
body.single-medaka_variety #secondary {
  background: var(--rm-m1) !important;
  color: var(--rm-tx2) !important;
}

/* ナビゲーション */
body.single-medaka_variety nav,
body.single-medaka_variety .navigation,
body.single-medaka_variety .post-navigation,
body.single-medaka_variety .nav-links {
  background: var(--rm-m1) !important;
  border-color: var(--rm-bd0) !important;
}

/* コメントエリア */
body.single-medaka_variety .comments-area,
body.single-medaka_variety #comments,
body.single-medaka_variety .comment-respond {
  background: var(--rm-m1) !important;
  color: var(--rm-tx2) !important;
}

/* ボーダー */
body.single-medaka_variety hr,
body.single-medaka_variety [class*="border"],
body.single-medaka_variety [class*="divider"] {
  border-color: var(--rm-bd0) !important;
}

/* ===== 作出者ライン ===== */
html body .mr-breeder-line,
body .mr-breeder-line {
  border-bottom-color: var(--rm-bd0) !important;
  color: var(--rm-tx2) !important;
}

html body .mr-breeder-line strong,
body .mr-breeder-line strong {
  color: var(--rm-tx1) !important;
}

html body .mr-breeder-line a,
body .mr-breeder-line a {
  color: var(--rm-k6) !important;
}

/* ===== 属性表示エリア ===== */
html body .mr-attrs,
body .mr-attrs {
  margin: 16px 0 !important;
}

html body .mr-attrs-label,
body .mr-attrs-label {
  color: var(--rm-tx3) !important;
  font-weight: 700 !important;
}

/* ===== #mr-variety-details 強制上書き ===== */
html body #mr-variety-details,
html body #mr-variety-details.mr-wrap,
body #mr-variety-details,
body #mr-variety-details.mr-wrap {
  background: var(--rm-m0) !important;
  background-color: var(--rm-m0) !important;
  border-color: var(--rm-bd1) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   【3】お薬計算機 (medaka-kobo-fish-medicine.php) RANMA化
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* body背景 — ショートコードページのみ */
body:has([class*="hdr-logo"]:not(.mg-app)) {
  background: var(--rm-m0) !important;
}

/* ヘッダー */
.hdr {
  background: linear-gradient(180deg, rgba(221,168,68,.03) 0%, var(--rm-m0) 100%) !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
  backdrop-filter: blur(12px) !important;
}
.hdr::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 5%, var(--rm-k5) 30%, var(--rm-k7) 50%, var(--rm-k5) 70%, transparent 95%) !important;
}

.hdr-logo {
  font-family: var(--rm-fm) !important;
  background: var(--rm-gk) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.hdr-sub { color: var(--rm-tx3) !important; }

/* メニューボタン */
.menu-btn {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 8px !important;
}
.menu-btn span { background: var(--rm-k6) !important; }
.menu-btn:hover { border-color: var(--rm-bd2) !important; }

/* ドロワー */
.drawer {
  background: var(--rm-m1) !important;
  border-left: 1px solid var(--rm-bd1) !important;
}
.drawer-hdr {
  border-bottom: 1px solid var(--rm-bd1) !important;
  background: linear-gradient(180deg, rgba(221,168,68,.04) 0%, transparent 100%) !important;
}
.drawer-title {
  font-family: var(--rm-fm) !important;
  color: var(--rm-k7) !important;
}
.drawer-close {
  color: var(--rm-tx3) !important;
}
.drawer-section-title {
  color: var(--rm-k6) !important;
  font-family: var(--rm-fm) !important;
  letter-spacing: .1em !important;
}
.drawer-item {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
}
.drawer-item:hover {
  border-color: var(--rm-bd1) !important;
  background: var(--rm-m3) !important;
}

/* HERO */
.hero {
  background: linear-gradient(180deg, rgba(221,168,68,.06) 0%, var(--rm-m0) 60%) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 20px !important;
  position: relative !important;
  overflow: hidden !important;
}
.hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--rm-seigaiha) !important;
  background-size: 40px 23px !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.hero > * { position: relative !important; z-index: 1 !important; }

.hero-badge {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd2) !important;
  color: var(--rm-k7) !important;
  font-family: var(--rm-fm) !important;
}

.hero h1 {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx0) !important;
  letter-spacing: .15em !important;
}
.hero h1 .ac {
  background: var(--rm-gk) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.hero-desc { color: var(--rm-tx2) !important; }

.hstat {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
}
.hstat-n {
  color: var(--rm-k7) !important;
  font-family: var(--rm-fm) !important;
}
.hstat-l { color: var(--rm-tx3) !important; }

/* セクションヘッダー */
.sec-hdr { position: relative !important; }
.sec-label {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k6) !important;
  font-family: var(--rm-fm) !important;
  border-radius: 20px !important;
}
.sec-title {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx0) !important;
  letter-spacing: .12em !important;
}
.sec-title span { color: var(--rm-k7) !important; }

/* 症状カード */
.symp-card {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 12px !important;
  transition: all .25s var(--rm-ez) !important;
}
.symp-card:hover, .symp-card.active {
  border-color: var(--rm-bd2) !important;
  background: var(--rm-m3) !important;
}
.symp-card::after { color: var(--rm-tx4) !important; }
.symp-card.active::after { color: var(--rm-k6) !important; }
.symp-glow { background: var(--rm-k6) !important; }
.symp-name { color: var(--rm-tx0) !important; }
.symp-tag {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k6) !important;
}

/* 症状モーダル */
.smodal-overlay {
  background: rgba(1,3,5,.94) !important;
  backdrop-filter: blur(8px) !important;
}
.smodal {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 20px 20px 0 0 !important;
}
@media(min-width:640px) {
  .smodal { border-radius: 20px !important; }
}
.smodal-handle { background: var(--rm-bd1) !important; }
.smodal-hdr {
  border-bottom-color: var(--rm-bd1) !important;
  background: linear-gradient(180deg, rgba(221,168,68,.04) 0%, transparent 100%) !important;
}
.smodal-disease {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx0) !important;
}
.smodal-tag {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k6) !important;
}
.smodal-close {
  background: var(--rm-sf1) !important;
  color: var(--rm-tx2) !important;
}
.smodal-close:hover { background: var(--rm-sf2) !important; }
.smodal-note {
  background: var(--rm-m2) !important;
  border-left: 3px solid var(--rm-k5) !important;
  color: var(--rm-tx2) !important;
}

/* 病気詳細ボタン */
.disease-detail-btn {
  background: linear-gradient(135deg, var(--rm-sf1) 0%, var(--rm-m2) 100%) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k6) !important;
  border-radius: 10px !important;
}
.disease-detail-btn:hover {
  border-color: var(--rm-bd2) !important;
}

.disease-detail-panel {
  background: var(--rm-m0) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
}

/* 薬カード（モーダル内） */
.smod-med-card {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 12px !important;
}
.smod-med-card::before { background: var(--rm-k5) !important; }
.smod-med-card:hover {
  border-color: var(--rm-bd2) !important;
  background: var(--rm-m3) !important;
}
.smod-med-card.rank-p {
  border-color: var(--rm-bd2) !important;
  background: linear-gradient(90deg, rgba(221,168,68,.06) 0%, var(--rm-m2) 100%) !important;
}
.smod-med-card.rank-p::before { background: var(--rm-k6) !important; }
.smod-name { color: var(--rm-tx0) !important; }
.smod-ing { color: var(--rm-tx3) !important; }
.smod-arrow { color: var(--rm-k5) !important; }

.med-rank-label { font-family: var(--rm-fm) !important; }
.mrl-first { color: var(--rm-k7) !important; }
.mrl-alt { color: var(--rm-k5) !important; }

.srb-p {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd2) !important;
  color: var(--rm-k7) !important;
}
.srb-s {
  background: var(--rm-sf0) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k5) !important;
}

/* 計算機ラップ */
.calc-wrap {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 20px !important;
  position: relative !important;
  overflow: hidden !important;
}
.calc-wrap::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--rm-seigaiha) !important;
  background-size: 40px 23px !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.calc-wrap > * { position: relative !important; z-index: 1 !important; }

.calc-hdr {
  background: linear-gradient(180deg, rgba(221,168,68,.05) 0%, transparent 100%) !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
}
.calc-hdr::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--rm-k5), transparent) !important;
}
.calc-hdr h2 {
  font-family: var(--rm-fm) !important;
  color: var(--rm-tx0) !important;
}
.calc-hdr p { color: var(--rm-tx3) !important; }

/* タブナビ */
.tab-nav {
  background: var(--rm-m2) !important;
  border-bottom: 1px solid var(--rm-bd1) !important;
}
.tab-btn {
  background: none !important;
  color: var(--rm-tx4) !important;
  font-family: var(--rm-fs) !important;
  border-bottom: 2px solid transparent !important;
  transition: all .2s !important;
}
.tab-btn:hover { color: var(--rm-tx2) !important; }
.tab-btn.active {
  color: var(--rm-k7) !important;
  border-bottom-color: var(--rm-k6) !important;
  background: var(--rm-sf0) !important;
}

/* タブペイン */
.tab-pane { background: transparent !important; }

/* フォームグループ */
.fg { margin-bottom: 16px !important; }
.fl {
  color: var(--rm-tx2) !important;
  font-family: var(--rm-fs) !important;
  margin-bottom: 6px !important;
}
.req { color: var(--rm-r4) !important; }

/* セレクト */
.sel-wrap { position: relative !important; }
.msel {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 10px !important;
  color: var(--rm-tx1) !important;
  padding: 14px 16px !important;
  font-family: var(--rm-fs) !important;
  width: 100% !important;
  appearance: none !important;
}
.msel:focus {
  outline: none !important;
  border-color: var(--rm-k5) !important;
  box-shadow: 0 0 0 3px rgba(221,168,68,.12) !important;
}

/* 水量グリッド */
.vgrid {
  display: grid !important;
  gap: 6px !important;
}
.vgrid-item {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 8px !important;
  color: var(--rm-tx2) !important;
  transition: all .2s !important;
}
.vgrid-item:hover {
  border-color: var(--rm-bd1) !important;
}
.vgrid-item.active {
  background: var(--rm-sf1) !important;
  border-color: var(--rm-k5) !important;
  color: var(--rm-k7) !important;
}

/* 計算ボタン */
.calc-btn {
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, transparent 40%),
    linear-gradient(135deg, var(--rm-k2) 0%, var(--rm-k5) 30%, var(--rm-k7) 55%, var(--rm-k5) 80%, var(--rm-k3) 100%) !important;
  border: 1px solid var(--rm-k6) !important;
  border-radius: 12px !important;
  color: var(--rm-m0) !important;
  font-family: var(--rm-fm) !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.2) !important;
  box-shadow:
    0 1px 0 rgba(0,0,0,.6),
    0 4px 20px rgba(168,114,40,.25),
    inset 0 1px 0 rgba(255,255,255,.15) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .3s var(--rm-ez) !important;
}
.calc-btn::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,.25) 50%, rgba(255,255,255,0) 65%, transparent 100%) !important;
  transform: translateX(-100%) !important;
  transition: transform .5s var(--rm-ez) !important;
}
.calc-btn:hover::before { transform: translateX(100%) !important; }
.calc-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 2px 0 rgba(0,0,0,.5),
    0 10px 36px rgba(221,168,68,.35),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
}

/* 結果ボックス */
.result-box {
  background: var(--rm-m1) !important;
  border: 1px solid var(--rm-bd1) !important;
  border-radius: 14px !important;
  position: relative !important;
  overflow: hidden !important;
}
.result-box::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent 5%, var(--rm-k5) 30%, var(--rm-k8) 50%, var(--rm-k5) 70%, transparent 95%) !important;
}
.result-title {
  font-family: var(--rm-fm) !important;
  color: var(--rm-k7) !important;
  letter-spacing: .15em !important;
}

.result-row {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
}
.result-lbl { color: var(--rm-tx3) !important; }
.result-val {
  color: var(--rm-k8) !important;
  font-family: var(--rm-fm) !important;
}
.result-unit { color: var(--rm-tx4) !important; }

/* 薬アコーディオン */
.med-acc {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 12px !important;
  transition: border-color .2s !important;
}
.med-acc.open { border-color: var(--rm-bd1) !important; }

.med-acc-hdr { cursor: pointer !important; }
.med-icon {
  background: var(--rm-m3) !important;
  border-radius: 8px !important;
}
.med-name {
  color: var(--rm-tx0) !important;
  font-family: var(--rm-fs) !important;
}
.med-ing { color: var(--rm-tx3) !important; }
.med-arr { color: var(--rm-tx4) !important; }

.med-body-inner {
  border-top: 1px solid var(--rm-bd0) !important;
}

/* バッジ — 金泥系統 */
.bdg {
  border-radius: 6px !important;
  font-family: var(--rm-fs) !important;
}
.bbl {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k6) !important;
}
.bgo {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd2) !important;
  color: var(--rm-k7) !important;
}
.bre {
  background: rgba(176,24,8,.1) !important;
  border: 1px solid rgba(176,24,8,.3) !important;
  color: var(--rm-r4) !important;
}
.bgr {
  background: rgba(16,185,129,.1) !important;
  border: 1px solid rgba(16,185,129,.25) !important;
  color: #6ee7b7 !important;
}

.use-btn {
  background: var(--rm-sf1) !important;
  border: 1px solid var(--rm-bd1) !important;
  color: var(--rm-k6) !important;
  border-radius: 10px !important;
  font-family: var(--rm-fm) !important;
}
.use-btn:hover {
  background: var(--rm-sf2) !important;
  border-color: var(--rm-bd2) !important;
}

.med-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.mdi {
  background: var(--rm-m3) !important;
  border-radius: 8px !important;
}
.mdi-l { color: var(--rm-tx4) !important; }
.mdi-v { color: var(--rm-tx1) !important; }

.med-dis { color: var(--rm-tx2) !important; }
.med-note {
  background: var(--rm-m3) !important;
  border-left: 3px solid var(--rm-bd1) !important;
  color: var(--rm-tx3) !important;
}

/* フッター */
footer {
  border-top: 1px solid var(--rm-bd0) !important;
  color: var(--rm-tx4) !important;
}

/* スクロールトップ */
.scroll-top {
  background: linear-gradient(135deg, var(--rm-k4), var(--rm-k6)) !important;
  border: 1px solid var(--rm-k5) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.4) !important;
}

/* LINE バナー */
.line-banner {
  background: linear-gradient(135deg, rgba(6,199,85,.1) 0%, var(--rm-m1) 100%) !important;
  border: 1px solid rgba(6,199,85,.25) !important;
  border-radius: 16px !important;
}
.line-banner-title {
  font-family: var(--rm-fm) !important;
}
.line-banner-desc { color: var(--rm-tx2) !important; }

/* 病気詳細タブ */
.ddp-tabs {
  border-bottom: 1px solid var(--rm-bd0) !important;
}
.ddp-tab {
  color: var(--rm-tx3) !important;
  font-family: var(--rm-fs) !important;
}
.ddp-tab.active {
  color: var(--rm-k6) !important;
  border-bottom-color: var(--rm-k5) !important;
  background: var(--rm-sf0) !important;
}

/* タイムライン */
.symptom-timeline::before {
  background: linear-gradient(180deg, var(--rm-k5), var(--rm-r4)) !important;
}
.st-item::before { background: var(--rm-k5) !important; border-color: var(--rm-m0) !important; }
.st-stage { color: var(--rm-k6) !important; }
.st-title { color: var(--rm-tx0) !important; }
.st-desc { color: var(--rm-tx2) !important; }

/* 危険サインボックス */
.danger-sign-box {
  background: rgba(176,24,8,.06) !important;
  border: 1px solid rgba(176,24,8,.25) !important;
  border-radius: 10px !important;
}
.dsb-title { color: var(--rm-r4) !important; }
.dsb-icon { color: var(--rm-r4) !important; }

/* 原因グリッド */
.cause-item {
  background: var(--rm-m3) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 8px !important;
}
.cause-label { color: var(--rm-tx4) !important; }
.cause-val { color: var(--rm-tx1) !important; }

/* 適応テーブル */
.adapt-table th {
  background: var(--rm-sf1) !important;
  color: var(--rm-k6) !important;
}
.adapt-table td {
  border-bottom-color: var(--rm-bd0) !important;
}
.adapt-ok { color: #6ee7b7 !important; }
.adapt-ng { color: var(--rm-r4) !important; }
.adapt-caution { color: var(--rm-k6) !important; }
.adapt-note { color: var(--rm-tx4) !important; }

/* 分量比較 */
.dosage-compare {
  background: var(--rm-m2) !important;
  border: 1px solid var(--rm-bd0) !important;
  border-radius: 10px !important;
}
.dc-header {
  background: var(--rm-sf0) !important;
}
.dc-col-label { color: var(--rm-k6) !important; }
.dc-row { border-top-color: var(--rm-bd0) !important; }
.dc-cell { color: var(--rm-tx1) !important; }
.dc-cell.highlight { color: var(--rm-k7) !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   【4】共通アニメーション
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@keyframes rm-katanaGleam {
  0%, 100% { transform: translateX(-5%) skewX(-8deg); opacity: .5; }
  50% { transform: translateX(220%) skewX(-8deg); opacity: 1; }
}

/* 刀身の光（オプション：各コンテナに適用可能） */
.pdm3::after,
.calc-wrap::after {
  content: '' !important;
  position: absolute !important;
  top: -30% !important;
  left: -15% !important;
  width: 50% !important;
  height: 200% !important;
  background: linear-gradient(110deg,
    transparent 0%,
    rgba(221,168,68,.04) 42%,
    rgba(248,216,112,.08) 50%,
    rgba(221,168,68,.04) 58%,
    transparent 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  animation: rm-katanaGleam 12s ease-in-out infinite !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   【5】レスポンシブ対応
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 600px) {
  .pdm3 { padding: 16px !important; border-radius: 16px !important; }
  .mr-wrap { padding: 20px !important; border-radius: 16px !important; }
  .hero { border-radius: 16px !important; }
  .calc-wrap { border-radius: 16px !important; }
}

    


  .atsco-wrap > h2 + div{
    background:#0e1b3f !important;
    border:1px solid #0e1b3f !important;
    color:#fff !important;
    border-radius:8px;
  }
  .atsco-wrap > h2 + div strong,
  .atsco-wrap > h2 + div span{ color:#fff !important; opacity:.95; }
  

    /* eap-ec-shop-nav-patch v1.2.0: カートバーを下端から20px上に */
    #eap-ec-cart-bar {
        bottom: 20px !important;
        border-radius: 8px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
    }
    

    /* v1.4.0: ドロワーフッターをsafe-area対応・常に表示 */
    .ec-drawer {
        /* iOSのノッチ・ホームインジケーター対応 */
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
    .ec-drawer-footer {
        flex-shrink: 0 !important;
        padding-bottom: calc(14px + env(safe-area-inset-bottom, 8px)) !important;
        position: relative;
        z-index: 1;
    }
    .ec-drawer-body {
        /* フッターの高さ分だけ余白を確保してスクロール可能に */
        padding-bottom: 8px !important;
    }
    /* ① カード内に小計行を追加するスタイル */
    .ec-cart-item-sub-wrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 6px;
        font-size: .88em;
        color: #888;
    }
    .ec-cart-item-sub-wrap .sub-total {
        font-weight: bold;
        color: #c00;
        font-size: 1em;
    }
    

    /* v1.5.0: カード内小計行 */
    .ec-card-subtotal-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 4px;
        padding-top: 6px;
        border-top: 1px dashed #e0e0e0;
        font-size: .88em;
        color: #888;
    }
    .ec-card-subtotal-row .sub-val {
        font-weight: bold;
        color: #c00;
        font-size: 1.05em;
    }
    /* ドロワー内 各アイテムの単価行に小計を追記 */
    .ec-cart-item-price-sub {
        font-size: .84em;
        color: #c00;
        font-weight: bold;
        margin-top: 2px;
    }
    

    /* eapsnp v1.9.0: クーポン成功メッセージを緑・✅ で明確に表示 */
    .eapcp-coupon-msg.ok {
        color: #1a7a1a !important;
        font-weight: bold !important;
        font-size: 0.92rem !important;
        background: #eafbea;
        border: 1px solid #a0d8a0;
        border-radius: 5px;
        padding: 5px 10px;
        display: inline-block;
        margin-top: 6px;
    }
    .eapcp-coupon-msg.err {
        color: #cc0000 !important;
        font-weight: bold !important;
        font-size: 0.92rem !important;
        background: #fff0f0;
        border: 1px solid #f0a0a0;
        border-radius: 5px;
        padding: 5px 10px;
        display: inline-block;
        margin-top: 6px;
    }
    

            /* Hide 3rd party subtitle inputs in frontend form */
            .eap-form-box input[name="subtitle"], 
            .eap-form-box .subtitle-wrap,
            #kia-subtitle-form-row { display: none !important; }
        
.eappd-cert-sticker{--eappd-c:#39424e;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;margin:3px 6px 3px 0;border:1px solid var(--eappd-c);border-radius:999px;background:#fff;color:var(--eappd-c);font-size:11px;line-height:1.15;vertical-align:middle;box-shadow:0 1px 3px rgba(0,0,0,.08)}.eappd-cert-sticker b{white-space:nowrap}.eappd-cert-sticker small{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eappd-cert-sticker i{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--eappd-c);color:#fff;font-style:normal;font-size:10px}
