/* ============================
   ベース
   ============================ */
:root {
  --menes-accent: #ff4f7f;
  --menes-subtext: #bbbbbb;
}

html,
body {
  margin: 0;
  padding: 0;
  font-family: "Meiryo", "Hiragino Kaku Gothic ProN",
               "Yu Gothic", "MS PGothic",
               system-ui, -apple-system, BlinkMacSystemFont,
               "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  background: #F4F5F7;
  color: #333;
}

a {
  color: #ff4f7f;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

/* ラッパー */
.menes-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 20px 60px;
}

/* ============================
   共通ヘッダー
   ============================ */
.menes-header {
  background: #050608;
  border-bottom: 1px solid #222;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.menes-header-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  gap: 24px;
}

/* 左ロゴ */
.menes-logo {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.menes-logo a {
  font-weight: 800;
  font-size: 20px;
  color: #ffffff;
}

.menes-logo-sub {
  font-weight: 400;
  font-size: 11px;
  color: #ffb9dd;
}

/* 中央メニュー */
.menes-header-nav {
  flex: 1;
}

.menes-global-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 18px;
}

.menes-global-menu li a {
  font-size: 13px;
  font-weight: 700;
  color: #f7f7f7;
  position: relative;
  padding-bottom: 2px;
}

.menes-global-menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  width: 0;
  background: #ff4f9a;
  transition: width 0.2s ease-out;
}

.menes-global-menu li a:hover::after,
.menes-global-menu li a:focus-visible::after {
  width: 100%;
}

/* 右：駅ちか風ピルボタン */
.menes-header-actions {
  margin-left: auto;          /* ★ 右端に押し出すポイント */
  display: flex;
  align-items: center;
  gap: 8px;
}


/* ベースボタン */
.menes-nav-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: transform 0.08s ease, box-shadow 0.08s ease, opacity 0.08s ease;
}

.menes-nav-pill--shop {
  background: #3d5cff;
}

.menes-nav-pill--girl {
  background: #ff4f9a;
}

.menes-nav-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.35);
  opacity: 0.96;
}

/* アイコン */
.pill-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.pill-icon svg {
  width: 18px;
  height: 18px;
}

.pill-label {
  white-space: nowrap;
}

/* スマホ */
@media (max-width: 767px) {
  .menes-header-inner {
    flex-wrap: wrap;
    gap: 10px;
  }

  .menes-header-nav {
    order: 3;
    width: 100%;
  }

  .menes-global-menu {
    justify-content: flex-start;
    gap: 12px;
  }

  .menes-header-actions {
    order: 2;
    width: 100%;
    justify-content: flex-end;
  }
}

/* ============================
   メンズエステ帝国ページ
   ============================ */
.empire-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

.empire-page h1 {
  font-size: 32px;
  margin-bottom: 16px;
  color: #ff4f7f;
}

.empire-page .lead {
  margin-bottom: 32px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.empire-page h2 {
  font-size: 22px;
  margin: 32px 0 12px;
  border-left: 4px solid #ff4f7f;
  padding-left: 8px;
}

.btn-ranking {
  display: inline-block;
  margin-top: 8px;
  padding: 10px 18px;
  background: #ff4f7f;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
}

.area-list {
  list-style: none;
  padding-left: 0;
  margin: 8px 0 4px;
}

.area-list li {
  margin: 4px 0;
}

.area-list a {
  color: #7ec3ff;
}

.area-list a:hover {
  text-decoration: underline;
}

.empire-page .more {
  margin-top: 8px;
  font-size: 13px;
  opacity: .8;
}

/* ============================
   ヘッダー上部 ネオンテロップバー
   ============================ */
.menes-top-bar {
  background: linear-gradient(90deg, #ff4f9a, #ffb347);
  padding: 3px 0;
  font-size: 11px;
  color: #111;
}

.menes-top-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ===== 王冠アイコン ===== */
.menes-top-bar-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #ffffff;          /* SVG を白にする */
}

.menes-top-bar-label svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

/* ===== テロップ枠 ===== */
.menes-top-bar-marquee {
  overflow: hidden;
  position: relative;
  flex: 1;
}

/* 左端をふんわり隠すマスク（ピンク→透明） */
.menes-top-bar-marquee::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;

  /* 王冠のすぐ右横だけ隠せばいいのでこのくらい */
  width: 26px;

  /* 左端ピンク → 右側は透明にフェードさせる */
  background: linear-gradient(
    90deg,
    rgba(255, 79, 154, 1),
    rgba(255, 79, 154, 0)
  );

  z-index: 2;
  pointer-events: none;
}

/* ===== 流れるテキスト ===== */
.menes-top-bar-marquee span {
  display: inline-block;
  white-space: nowrap;

  /* 王冠との間にちょっとだけ余白 */
  padding-left: 14px;

  color: #ffffff;
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.7),
    0 0 8px rgba(0, 0, 0, 0.5);

  animation: menes-marquee 18s linear infinite;
}

/* ここは今のままでOK（参考） */
@keyframes menes-marquee {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}


/* ============================
   共通ヘッダー（重複分の調整）
   ============================ */
.menes-header {
  background: #050608;
  border-bottom: 1px solid #222;
  position: sticky;
  top: 0;
  z-index: 900;
}

.menes-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 24px;
}

/* ロゴ */
.menes-logo {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.menes-logo a {
  font-weight: 700;
  font-size: 20px;
  color: #ff4f7f;
  text-decoration: none;
}

.menes-logo-sub {
  font-size: 11px;
  color: #f0f0f0;
}

/* グローバルメニュー */
.menes-global-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 18px;
  flex: 1;
}

.menes-global-menu a {
  font-size: 13px;
  color: #f8f8f8;
  text-decoration: none;
  position: relative;
  padding-bottom: 2px;
}

.menes-global-menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #ff4f9a;
  transition: width 0.2s ease-out;
}

.menes-global-menu a:hover::after {
  width: 100%;
}

/* 右側：駅ちか風ピルボタン */
.menes-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.menes-nav-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  transition: transform 0.08s ease, box-shadow 0.08s ease, opacity 0.08s ease;
}

.menes-nav-pill--shop {
  background: #3d5cff;
}

.menes-nav-pill--girl {
  background: #ff4f9a;
}

.menes-nav-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.35);
  opacity: 0.96;
}

.pill-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.pill-icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: #ffffff;
}

.pill-label {
  white-space: nowrap;
}

/* スマホ調整 */
@media (max-width: 767px) {
  .menes-header-inner {
    flex-wrap: wrap;
    gap: 10px;
  }

  .menes-global-menu {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    gap: 12px;
  }

  .menes-header-actions {
    order: 2;
    width: 100%;
    justify-content: flex-end;
  }
}

/* =========================
   メンズエステ帝国ページ専用
   背景を白にする
   ========================= */

/* ページ全体の背景を白に */
body.page-template-page-mensesthe {
  background: #ffffff;
  color: #222222;
}

/* コンテンツラッパーも白背景に */
body.page-template-page-mensesthe .menes-main {
  background: #ffffff;
  color: #222222;
}

/* 見出しはピンクで強調 */
body.page-template-page-mensesthe .empire-page h1,
body.page-template-page-mensesthe .empire-page h2 {
  color: #ff4f7f;
}

/* 本文テキストは濃いグレーで読みやすく */
body.page-template-page-mensesthe .empire-page p {
  color: #333333;
}

/* ============================
   トップのワイドスライダー（フルワイド）
   ============================ */

/* PC：今のフルワイドそのまま */
.menes-hero-slider {
  position: relative;
  left: 50%;
  width: 100vw;          /* 画面幅いっぱい */
  margin-left: -50vw;    /* 左右の余白を消す */
  padding: 32px 0 40px;  /* 上下だけ余白 */
  box-sizing: border-box;
  overflow: hidden;
}

.menes-hero-slider .swiper-wrapper {
  align-items: center;
}

/* 真ん中のスライドを強調＋左右ちょい見せ（PC用） */
.menes-hero-slider .swiper-slide {
  width: 80%;
  max-width: 1120px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.menes-hero-slider img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

/* アクティブスライドを少し拡大 */
.menes-hero-slider .swiper-slide-active {
  transform: scale(1.03);
}

/* ページネーション */
.menes-hero-slider .swiper-pagination {
  position: relative;
  margin-top: 14px;
  text-align: center;
}

.menes-hero-slider .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.6);
  opacity: 1;
  margin: 0 4px !important;
}

.menes-hero-slider .swiper-pagination-bullet-active {
  background: #ff4f9a;
}

/* 矢印 */
.menes-hero-slider .swiper-button-next,
.menes-hero-slider .swiper-button-prev {
  color: #ffffff;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

.menes-hero-slider .swiper-button-next:after,
.menes-hero-slider .swiper-button-prev:after {
  font-size: 16px;
}

/* ============================
   スマホ専用調整（駅ちかサイズ寄せ）
   ============================ */
@media (max-width: 767px) {

  .menes-hero-slider {
    padding: 16px 0 26px;
  }

  .menes-hero-slider .swiper-slide {
    width: 100vw;
    max-width: none;
  }

  /* ★ トリミングを駅ちか寄りに最適化した画像設定 */
  .menes-hero-slider .swiper-slide img {
    width: 100vw;
    height: 54vw;               /* ← 駅ちかにかなり近い比率 */
    object-fit: cover;
    object-position: center 20%;
    border-radius: 0;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  }

  .menes-hero-slider .swiper-button-next,
  .menes-hero-slider .swiper-button-prev {
    display: none;
  }

  .menes-hero-slider .swiper-pagination {
    margin-top: 10px;
  }
}

/* ============================
   都道府県からメンエスを探す（エリア検索）
   ============================ */

.menes-area-search {
  max-width: 1120px;
  margin: 48px auto 56px;
}

.menes-area-search-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.menes-area-search-header h2 {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #ff4f7f;
}

/* 見出しのアイコン：帝国カラーの王冠＋虫めがねイメージ */
.menes-area-search-icon {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #ffe6fb 0, #ff4f9a 40%, #ffb347 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 8px rgba(255, 79, 154, 0.6);
  position: relative;
}
.menes-area-search-icon::before {
  content: "🔍";
  font-size: 16px;
  color: #fff;
}
.menes-area-search-icon::after {
  content: "♛";
  position: absolute;
  right: -6px;
  top: -6px;
  font-size: 11px;
  color: #fff;
  text-shadow: 0 0 4px rgba(0,0,0,0.4);
}

/* カード本体 */
.menes-area-card {
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e3e5ea;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
  padding: 18px 22px 20px;
}

/* 2カラムグリッド（PC） */
.menes-area-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
}

/* 各エリア行 */
.menes-area-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 0;
  border-top: 1px dashed #e5e7eb;
}
.menes-area-row:first-child {
  border-top: none;
}

/* 左側のエリアラベル */
.menes-area-region {
  flex-shrink: 0;
  min-width: 110px;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 4px 10px rgba(148, 163, 184, 0.6);
}

.menes-area-region--north  { background: #2563eb; }
.menes-area-region--kanto  { background: #0ea5e9; }
.menes-area-region--chubu  { background: #10b981; }
.menes-area-region--kansai { background: #f97316; }
.menes-area-region--chugoku{ background: #8b5cf6; }
.menes-area-region--kyushu { background: #ec4899; }

/* 右側：都道府県のリスト */
.menes-area-pref-list {
  list-style: none;
  margin: 2px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  font-size: 13px;
}

.menes-area-pref-list a {
  color: #2563eb;
  text-decoration: none;
  position: relative;
}
.menes-area-pref-list a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: #ff4f7f;
  transition: width 0.18s ease-out;
}
.menes-area-pref-list a:hover::after {
  width: 100%;
}

/* まだエリアが無いところはグレーアウト */
.menes-area-pref-disabled {
  color: #9ca3af;
  cursor: default;
}

/* スマホレイアウト */
@media (max-width: 767px) {
  .menes-area-search {
    margin: 32px auto 40px;
    padding: 0 16px;
  }

  .menes-area-card {
    padding: 14px 14px 16px;
  }

  .menes-area-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .menes-area-row {
    flex-direction: column;
    align-items: flex-start;
    padding: 8px 0;
  }

  .menes-area-region {
    min-width: 0;
    padding-inline: 14px;
  }

  .menes-area-pref-list {
    margin-top: 6px;
  }
}
/* ============================
   メンズエステ帝国 イントロ（余白調整済）
   ============================ */

.empire-intro {
  max-width: 1120px;
  margin: 24px auto 32px;   /* ← 上余白を 56px → 24px に減らした！ */
  text-align: center;
}

.empire-intro-logo {
  display: inline-block;
  max-width: 520px;
  width: 100%;
  height: auto;
  margin-bottom: 14px;      /* ← ロゴ下も少し詰めて 20 → 14px */
}

.empire-intro .lead {
  font-size: 15px;
  line-height: 1.9;
  color: #374151;
  max-width: 820px;
  margin: 0 auto;           /* ← テキスト幅を締めて綺麗に中央寄せ */
}

/* モバイル時の余白最適化 */
@media (max-width: 767px) {
  .empire-intro {
    margin: 16px auto 28px; /* ← モバイルはさらに詰める */
  }
  .empire-intro-logo {
    max-width: 78%;         /* ← スマホでロゴ無駄に大きすぎるのを防止 */
    margin-bottom: 12px;
  }
}
/* ============================
   スライダー下の余白を詰める
   ============================ */

.menes-hero-slider {
  margin-bottom: 0 !important;     /* ← 完全に余白を消す */
  padding-bottom: 0 !important;
}

/* ページトップのイントロをスライダーにより近づける */
.empire-intro {
  margin-top: 12px !important;     /* ← 24px → 12px にさらに詰める */
}

@media (max-width: 767px) {
  .menes-hero-slider {
    margin-bottom: -4px !important; /* スマホはさらにタイトに */
  }
  .empire-intro {
    margin-top: 8px !important;
  }
}

/* ===========================
   MENES 帝国ランキング UI（駅ちか風）
   =========================== */

.menes-ranking-page {
  max-width: 1200px;
  margin: 40px auto 80px;
  padding: 0 16px;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ヘッダー */

.menes-ranking-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 24px;
}

.menes-ranking-title {
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 8px;
}

.menes-ranking-sub {
  margin: 0 0 4px;
  font-size: 13px;
  color: #6b7280;
}

.menes-ranking-date {
  margin: 0;
  font-size: 12px;
  color: #9ca3af;
}

.menes-ranking-date-form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.menes-ranking-date-label {
  font-size: 13px;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 6px;
}

.menes-ranking-date-label input[type="date"] {
  padding: 4px 8px;
  border-radius: 9999px;
  border: 1px solid #d1d5db;
  font-size: 13px;
}

/* ボタン */

.menes-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: transform 0.08s ease, box-shadow 0.08s ease, background 0.2s ease;
}

.menes-button--primary {
  background: linear-gradient(90deg, #f97316, #ec4899);
  color: #fff;
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.35);
}

.menes-button--primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(249, 115, 22, 0.45);
}

/* 2カラムレイアウト */

.menes-ranking-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 24px;
  align-items: flex-start;
}

/* サイドバー */

.menes-ranking-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.menes-sidebar-box {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
  padding: 12px 14px;
}

.menes-sidebar-title {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 8px;
  border-left: 3px solid #f97316;
  padding-left: 6px;
}

.menes-sidebar-body {
  font-size: 12px;
  color: #4b5563;
}

.menes-sidebar-row {
  display: flex;
  justify-content: space-between;
  margin: 2px 0;
}

.menes-sidebar-row span {
  color: #6b7280;
}

.menes-sidebar-row strong {
  font-weight: 600;
}

.menes-sidebar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.menes-chip {
  border-radius: 9999px;
  border: 1px solid #f97316;
  background: #fff7ed;
  color: #c2410c;
  font-size: 11px;
  padding: 3px 10px;
  cursor: pointer;
}

.menes-chip--sub {
  border-color: #d1d5db;
  background: #f9fafb;
  color: #4b5563;
}

/* メインカラム */

.menes-ranking-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 並び順バー */

.menes-ranking-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 16px;
  border-radius: 9999px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  font-size: 12px;
  color: #6b7280;
}

.menes-ranking-filter-item span {
  font-weight: 700;
  color: #111827;
}

.menes-ranking-filter-note {
  font-size: 11px;
  color: #9ca3af;
}

/* 空メッセージ */

.menes-ranking-empty {
  text-align: center;
  padding: 60px 20px;
  border-radius: 24px;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 14px;
}

/* ランキングリスト */

.menes-ranking-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* カード全体 */

.menes-card {
  position: relative;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
  padding: 18px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.menes-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 5px;
  border-radius: 12px 12px 0 0;
  background: linear-gradient(90deg, #ff4f9a, #fbbf24);
}

/* 上部ヘッダー */

.menes-card-header {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 140px;
  gap: 12px;
  align-items: center;
}

.menes-card-rank-circle {
  width: 52px;
  height: 52px;
  border-radius: 9999px;
  background: #111827;
  color: #f9fafb;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.menes-card-rank-number {
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  color: #fbbf24;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
}

.menes-card-rank-label {
  font-size: 11px;
}

.menes-card-title-area {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.menes-card-shop-name {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

.menes-card-shop-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.menes-card-tag {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 9999px;
}

.menes-card-tag--genre {
  background: #f1f5f9;
  color: #0f172a;
}

.menes-card-tag--badge {
  background: #f97316;
  color: #fff7ed;
}

.menes-card-trend {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 9999px;
}

.menes-card-trend--up {
  background: #dcfce7;
  color: #15803d;
}

.menes-card-trend--down {
  background: #fee2e2;
  color: #b91c1c;
}

.menes-card-trend--flat {
  background: #e5e7eb;
  color: #4b5563;
}

/* 口コミバッジ */

.menes-card-review {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 9999px;
  background: #fff7ed;
  color: #b45309;
  font-weight: 600;
}

/* スコアバッジ & 本日出勤 */

.menes-card-score-badge {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

/* 本日出勤＆キープを横並びにする行 */
.menes-card-score-top {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;         /* 折り返し禁止 */
}

.menes-card-today {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 9999px;
  background: #111827;
  color: #f9fafb;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;       /* 「本日出勤」を改行させない */
}

.menes-card-today-label {
  line-height: 1;
}

.menes-card-today-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  padding: 1px 6px;
  border-radius: 9999px;
  background: #fbbf24;
  color: #111827;
  font-size: 11px;
  font-weight: 800;
}

/* 追加：スコアバッジ内の小さめゲージ */
.menes-card-score-badge .menes-score-gauge--small {
  width: 120px;
  margin-top: 2px;
}

.menes-card-score-label {
  display: block;
  font-size: 11px;
  color: #9ca3af;
}

.menes-card-score-value {
  font-size: 24px;
  font-weight: 800;
  color: #f97316;
}

/* 中段：画像＋説明 */

.menes-card-body {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 12px;
}

.menes-card-images {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 6px;
}

.menes-card-image-slot {
  background: #f3f4f6;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

/* 画像を入れたときのトリミング */
.menes-card-image-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.menes-card-image-slot--main {
  grid-row: 1 / 3;
}

.menes-card-image-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #9ca3af;
}

/* 説明・クーポン・店舗情報 */

.menes-card-desc {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}

.menes-card-desc-main {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.menes-card-copy {
  margin: 0;
  font-size: 13px;
  color: #4b5563;
}

.menes-card-coupon {
  background: #050608;
  color: #f9fafb;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12px;
  line-height: 1.6;
}

.menes-card-coupon-title {
  font-size: 11px;
  font-weight: 700;
  color: #fde68a;
  margin-bottom: 4px;
}

.menes-card-coupon-text {
  margin: 0;
}

.menes-card-shop-info {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
}

.menes-shop-info-row {
  display: flex;
  gap: 6px;
  align-items: baseline;
}

.menes-shop-info-label {
  flex-shrink: 0;
  min-width: 60px;
  font-weight: 600;
  color: #6b7280;
}

.menes-shop-info-value {
  color: #111827;
}

/* 割引枠 */

.menes-card-discount {
  margin-top: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  background: #fef3c7;
  border: 1px dashed #facc15;
  font-size: 12px;
}

.menes-card-discount-lead {
  margin: 0 0 2px;
  font-size: 12px;
  color: #92400e;
}

.menes-card-discount-main {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: #b45309;
}

/* CTAボタン */

.menes-card-cta {
  align-self: flex-start;
  border-radius: 9999px;
  border: 1px solid #f97316;
  background: #fff7ed;
  color: #c2410c;
  font-size: 12px;
  padding: 6px 16px;
  cursor: pointer;
}

/* お気に入り（キープ）ボタン：本日出勤の右隣に並ぶ */

.menes-card-fav {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 9999px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  font-size: 11px;
  color: #6b7280;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
  transition: background 0.15s ease, color 0.15s ease,
              border-color 0.15s ease, box-shadow 0.15s ease,
              transform 0.05s ease;
  white-space: nowrap;      /* 「★ キープ」を改行させない */
}

.menes-card-fav-icon {
  font-size: 12px;
  line-height: 1;
}

.menes-card-fav-label {
  line-height: 1;
}

/* hover したとき少し駅ちかっぽく */
.menes-card-fav:hover {
  background: #fff7ed;
  border-color: #f97316;
  color: #f97316;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.25);
}

/* クリックで ON にした状態用（JS から .is-active を付ける想定） */
.menes-card-fav.is-active {
  background: #f97316;
  border-color: #f97316;
  color: #ffffff;
}

.menes-card-fav.is-active .menes-card-fav-icon {
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}

/* 下部：指標ラベル */

.menes-card-footer {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  margin-top: 2px;
}

.menes-card-footer-label {
  font-size: 11px;
  color: #9ca3af;
}

/* ゲージ */

.menes-score-gauge {
  --menes-score: 0;
  width: 220px;
  max-width: 100%;
  height: 7px;
  border-radius: 9999px;
  background: #e5e7eb;
  overflow: hidden;
  position: relative;
}

.menes-score-gauge-fill {
  position: absolute;
  inset: 0;
  transform-origin: left center;
  transform: scaleX(calc(var(--menes-score) / 100));
  background: linear-gradient(90deg, #22c55e, #facc15, #f97316, #ef4444);
  transition: transform 0.35s ease-out;
}

/* レスポンシブ */

@media (max-width: 960px) {
  .menes-ranking-layout {
    grid-template-columns: 1fr;
  }

  .menes-ranking-sidebar {
    order: 2;
  }

  .menes-ranking-main {
    order: 1;
  }

  .menes-card-body {
    grid-template-columns: 1fr;
  }
}
/* ===============================
   MENES 店舗ページ UI（駅ちか寄せ）
   =============================== */

.menes-shop-page {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 16px 80px;
  font-family: "Noto Sans JP", sans-serif;
}

/* ---------- 上部 横長バナー（マネタイズ枠） ---------- */

.menes-shop-top-banner {
  max-width: 1200px;
  margin: 32px auto 24px;
  padding: 0 16px;
}

.menes-shop-top-banner-inner {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.45);
  background: #000;
}

.menes-shop-top-banner-inner img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---------- 本日出勤下のネオンテロップ（イベント／待機中） ---------- */

.menes-shop-ticker {
  max-width: 1200px;
  margin: 8px auto 24px;
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  gap: 10px; /* ここだけ余白を広げた */
}

/* ここから下の headband-* は、以前の左側スライダーと同じデザインを流用 */

.headband-line {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  background: #050608;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.headband-label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 0 6px rgba(0,0,0,0.6);
}

.headband-label--coupon {
  background: linear-gradient(135deg, #f97316, #f973bc);
}

.headband-label--waiting {
  background: linear-gradient(135deg, #0ea5e9, #6366f1);
}

.headband-marquee {
  position: relative;
  overflow: hidden;
}

.headband-marquee span {
  display: inline-block;
  padding-left: 16px;
  white-space: nowrap;
  font-size: 12px;
  color: #f9fafb;
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.8),
    0 0 8px rgba(236, 72, 153, 0.7);
  animation: menes-headband-marquee 18s linear infinite;
}

@keyframes menes-headband-marquee {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* ---------- 店舗ヘッダー ---------- */

.menes-shop-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid #f973bc;
}

.menes-shop-name {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 4px;
}

.menes-shop-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}

.menes-tag {
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 999px;
}

.menes-tag--genre {
  background: #ffe4f4;
  color: #b91c1c;
}

.menes-tag--area {
  background: #e0f2fe;
  color: #0369a1;
}

.menes-shop-score-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.menes-shop-score-label {
  font-size: 11px;
  color: #6b7280;
}

.menes-shop-score-value {
  font-size: 26px;
  font-weight: 800;
  color: #f97316;
}

.menes-shop-score-gauge {
  width: 140px;
  height: 7px;
  border-radius: 999px;
  background: #e5e7eb;
  overflow: hidden;
  position: relative;
}

.menes-shop-score-fill {
  position: absolute;
  inset: 0;
  width: calc(var(--score) * 1%);
  background: linear-gradient(90deg, #22c55e, #facc15, #f97316, #ef4444);
}

.menes-shop-rank-info {
  display: flex;
  gap: 8px;
  font-size: 11px;
  margin-top: 2px;
}

.menes-rank-badge {
  background: #fef3c7;
  color: #b45309;
  border-radius: 999px;
  padding: 2px 8px;
  font-weight: 700;
}

.menes-rank-change {
  color: #6b7280;
}

.menes-shop-hero-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.menes-shop-today {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #111827;
  color: #f9fafb;
  font-size: 11px;
  font-weight: 700;
}

.menes-shop-today-count {
  border-radius: 999px;
  padding: 1px 6px;
  background: #fbbf24;
  color: #111827;
  font-weight: 800;
}

.menes-shop-fav-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  font-size: 12px;
  cursor: pointer;
  box-shadow: 0 3px 8px rgba(15,23,42,0.16);
}

.menes-shop-fav-btn .fav-icon {
  color: #f59e0b;
}

/* ---------- 店舗内メニュー ---------- */

.menes-shop-nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 6px;
}

.menes-shop-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border-radius: 999px;
  background: #f3f4ff;
  border: 1px solid #c4b5fd;
  font-size: 12px;
  color: #4338ca;
  text-decoration: none;
  font-weight: 600;
}

/* ---------- 横長スライダー ---------- */

.menes-shop-hero-banner {
  margin: 12px 0 28px;
}

.menes-slider {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(15,23,42,0.25);
  background: #000;
}

.menes-slide {
  display: none;
}

.menes-slide.is-active {
  display: block;
}

.menes-slide img {
  width: 100%;
  display: block;
}

.menes-slider-dots {
  position: absolute;
  right: 16px;
  bottom: 12px;
  display: flex;
  gap: 6px;
}

.menes-slider-dots .dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.4);
}

.menes-slider-dots .dot.is-active {
  background: #ffffff;
}

/* ---------- 2カラム（左：店舗情報 / 右：クーポン＋即ヒメ） ---------- */

.menes-shop-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 24px;
  margin-bottom: 32px;
}

/* 左カラム：店舗カード */

.menes-shop-side-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(15,23,42,0.18);
  padding: 12px 14px 16px;
  border-top: 4px solid #ff5fa7;
  font-size: 13px;
}

.side-shop-name {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 6px;
}

.side-shop-genre-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}

.side-tag {
  border-radius: 999px;
  padding: 2px 8px;
  background: #f3f4f6;
  font-size: 11px;
}

.side-shop-rank-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  font-size: 11px;
}

.side-area-tag,
.side-genre-tag {
  background: #f97316;
  color: #fff;
  padding: 2px 6px;
  border-radius: 999px;
}

.side-rank-badge {
  margin-left: auto;
  background: #fef3c7;
  color: #b45309;
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 700;
}

.side-shop-tel-row,
.side-shop-hours-row,
.side-shop-holiday-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.side-label {
  font-weight: 700;
  color: #374151;
  min-width: 60px;
}

.side-tel-number {
  color: #ef4444;
  font-weight: 700;
  text-decoration: none;
}

.side-value {
  color: #111827;
}

.side-shop-course {
  margin: 10px 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fef3c7;
  border: 1px dashed #facc15;
}

.course-label {
  font-size: 11px;
  font-weight: 700;
  color: #b45309;
  margin-bottom: 2px;
}

.course-main {
  font-weight: 700;
  color: #b45309;
}

.course-note {
  font-size: 11px;
  color: #92400e;
}

.side-shop-basic {
  margin-top: 8px;
  border-top: 1px dashed #e5e7eb;
  padding-top: 6px;
}

.basic-row {
  display: flex;
  gap: 6px;
  margin-bottom: 4px;
}

.basic-label {
  min-width: 60px;
  font-weight: 700;
  color: #6b7280;
}

.basic-value {
  color: #111827;
}

.side-map-btn {
  margin-top: 10px;
  width: 100%;
  padding: 8px 10px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(90deg, #fb7185, #f97316);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

/* 右カラム：クーポン＋即ヒメ */

.menes-shop-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.menes-shop-coupon {
  background: #050608;
  color: #f9fafb;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.7;
  box-shadow: 0 10px 24px rgba(0,0,0,0.4);
}

.coupon-title {
  font-size: 13px;
  font-weight: 700;
  color: #fde047;
  margin-bottom: 4px;
}

.coupon-text {
  margin: 0;
}

/* 即ヒメ */

.menes-sokuhime {
  border-radius: 12px;
  padding: 10px 12px 12px;
  background: #111827;
  border: 2px solid #f97316;
  box-shadow: 0 10px 24px rgba(0,0,0,0.5);
  color: #f9fafb;
}

.menes-sokuhime-head {
  font-size: 14px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: #ef4444;
  display: inline-block;
  margin-bottom: 4px;
}

.menes-sokuhime-note {
  font-size: 11px;
  color: #e5e7eb;
  margin-bottom: 8px;
}

.menes-sokuhime-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sokuhime-card {
  width: 160px;
  background: #020617;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(248,250,252,0.1);
}

.sokuhime-thumb {
  position: relative;
}

.sokuhime-thumb img {
  width: 100%;
  display: block;
}

.sokuhime-badge {
  position: absolute;
  left: 6px;
  top: 6px;
  background: #f97316;
  color: #fff;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 700;
}

.sokuhime-body {
  padding: 6px 8px 8px;
  font-size: 12px;
}

.sokuhime-name {
  font-weight: 700;
  margin-bottom: 2px;
}

.sokuhime-time {
  font-size: 11px;
  color: #e5e7eb;
}

/* ---------- 共通セクション ---------- */

.menes-shop-section {
  margin-top: 40px;
}

.section-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
  padding-left: 8px;
  border-left: 4px solid #fb7185;
}

/* 料金表 */

.menes-shop-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.menes-shop-table th {
  background: #fef3c7;
  padding: 10px;
  width: 160px;
  border-bottom: 1px solid #e5e7eb;
}

.menes-shop-table td {
  padding: 10px;
  border-bottom: 1px solid #e5e7eb;
}

/* クレカ / 規約ボックス */

.menes-shop-terms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
  margin-top: 16px;
}

.menes-shop-terms-box {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #ffffff;
}

.terms-label {
  background: #f3f4f6;
  padding: 10px;
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.terms-body {
  padding: 10px 12px;
  font-size: 12px;
}

.terms-text {
  margin: 0 0 8px;
}

.terms-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.card-logo {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 6px;
  background: #111827;
  color: #f9fafb;
}

/* 出勤カード */

.menes-shop-cast-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.cast-card {
  width: 180px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 6px 14px rgba(15,23,42,0.2);
  overflow: hidden;
}

.cast-card img {
  width: 100%;
  display: block;
}

.cast-info {
  padding: 6px 8px 10px;
  font-size: 12px;
}

.cast-name {
  font-weight: 700;
  margin-bottom: 2px;
}

.menes-shop-schedule-link {
  margin-top: 12px;
}

.menes-shop-schedule-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #0ea5e9;
  background: #e0f2fe;
  color: #0369a1;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

/* 写メ日記（インスタ風カード） */

.menes-diary-grid {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 4px 2px 4px 0;
}

.menes-diary-grid::-webkit-scrollbar {
  height: 6px;
}
.menes-diary-grid::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.7);
  border-radius: 999px;
}

.diary-card {
  min-width: 180px;
  max-width: 220px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(15,23,42,0.25);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.diary-thumb {
  position: relative;
  overflow: hidden;
}

.diary-thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.diary-badge {
  position: absolute;
  left: 8px;
  top: 8px;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #ec4899;
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 0 8px rgba(0,0,0,0.4);
}

.diary-body {
  padding: 8px 10px 10px;
  font-size: 12px;
}

.diary-meta {
  color: #6b7280;
  font-size: 11px;
  margin-bottom: 2px;
}

.diary-girl {
  font-weight: 700;
  margin-bottom: 2px;
}

.diary-text {
  font-size: 12px;
  color: #4b5563;
}

/* ---------- 口コミ（駅ちか風） ---------- */

.menes-shop-section--review {
  margin-top: 48px;
}

/* 青ヘッダー */

.menes-review-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #0ea5e9;
  color: #ffffff;
  border-radius: 999px;
  padding: 8px 14px;
  margin-bottom: 14px;
}

.menes-review-head-title {
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}

.review-head-icon {
  font-size: 16px;
}

.menes-review-head-button {
  border-radius: 999px;
  border: none;
  background: #ffffff;
  color: #0ea5e9;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  cursor: pointer;
}

/* 口コミカード */

.menes-review-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.menes-review-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #fecaca;
  box-shadow: 0 6px 18px rgba(15,23,42,0.18);
  padding: 10px 14px;
}

.menes-review-avatar {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: linear-gradient(135deg,#fb7185,#f97316);
}

/* 本文 */

.menes-review-meta-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
}

.review-name-line {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: baseline;
}

.review-name {
  font-weight: 700;
}

.review-profile {
  font-size: 11px;
  color: #6b7280;
}

.review-meta-right {
  text-align: right;
  font-size: 11px;
  color: #6b7280;
}

.review-meta-tag {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid #fecaca;
  margin-bottom: 2px;
}

.review-sub-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11px;
  color: #6b7280;
  margin: 6px 0;
}

.review-body-block {
  margin-top: 4px;
}

.review-body-label {
  font-size: 11px;
  font-weight: 700;
  color: #6b7280;
}

.review-body-text {
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.review-footer {
  text-align: right;
  margin-top: 6px;
}

.menes-review-more {
  border-radius: 999px;
  border: 1px solid #0ea5e9;
  background: #ffffff;
  color: #0ea5e9;
  font-size: 11px;
  padding: 4px 10px;
  cursor: pointer;
}

/* アクセス画像など（必要に応じて） */

.menes-shop-map img {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(15,23,42,0.18);
}

/* ---------- SP簡易対応 ---------- */

@media (max-width: 960px) {
  .menes-shop-top-banner {
    margin: 24px auto 16px;
    padding: 0 12px;
  }

  .menes-shop-ticker {
    padding: 0 12px;
  }

  .menes-shop-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .menes-shop-layout {
    grid-template-columns: 1fr;
  }

  .menes-shop-side-card {
    order: 1;
  }

  .menes-shop-main {
    order: 2;
  }

  .menes-shop-terms-grid {
    grid-template-columns: 1fr;
  }

  /* 即ヒメ & 本日の出勤カード：横二列で横スクロール */
  .menes-sokuhime-list,
  .menes-shop-cast-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }

  .menes-sokuhime-list::-webkit-scrollbar,
  .menes-shop-cast-list::-webkit-scrollbar {
    height: 6px;
  }
  .menes-sokuhime-list::-webkit-scrollbar-thumb,
  .menes-shop-cast-list::-webkit-scrollbar-thumb {
    background: rgba(148,163,184,0.7);
    border-radius: 999px;
  }

  .sokuhime-card,
  .cast-card {
    width: 46%;
    min-width: 46%;
    max-width: 240px;
  }

  .menes-diary-grid {
    gap: 10px;
  }
}

/* ============================
   セラピスト一覧（menes_therapist）
   PC: 5列グリッド / SP: 1列（左画像・右テキスト）
   ============================ */

.menes-therapist-list-wrap {
  margin: 32px auto 40px;
}

.menes-therapist-list-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  padding-left: 8px;
  border-left: 4px solid #ff4f7f;
}

/* 一覧が空のとき */
.menes-therapist-list-empty {
  margin: 24px 0 40px;
  padding: 32px 20px;
  text-align: center;
  font-size: 14px;
  color: #6b7280;
  background: #f9fafb;
  border-radius: 12px;
  border: 1px dashed #e5e7eb;
}

/* PC：5列グリッド */
.menes-therapist-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

/* カード本体 */
.menes-therapist-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;
}

.menes-therapist-card:hover {
  transform: translateY(-2px);
  border-color: #ff4f9a;
  box-shadow: 0 10px 24px rgba(248, 113, 113, 0.26);
}

/* 画像部分 */
.menes-therapist-card-thumb {
  position: relative;
  width: 100%;
  padding-top: 130%; /* 縦長比率 */
  overflow: hidden;
  background: #f3f4f6;
}

.menes-therapist-card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 画像が無いときのプレースホルダ */
.menes-therapist-card-img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #9ca3af;
}

/* リボン */
.menes-therapist-ribbon {
  position: absolute;
  left: 0;
  top: 10px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
  border-radius: 0 999px 999px 0;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.35);
}

.menes-therapist-ribbon--new {
  background: #22c55e;
}

.menes-therapist-ribbon--sokuhime {
  top: 32px;
  background: #f97316;
}

/* テキスト部分 */
.menes-therapist-card-body {
  padding: 8px 10px 10px;
  font-size: 12px;
}

/* 名前行：名前 + 年齢 + ランク */
.menes-therapist-name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 4px;
}

.menes-therapist-name {
  font-size: 14px;
  font-weight: 700;
}

.menes-therapist-age {
  font-size: 12px;
  color: #6b7280;
}

.menes-therapist-rank {
  margin-left: auto;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
}

/* ランク別カラー */
.menes-therapist-rank--queen {
  background: linear-gradient(135deg, #fbbf24, #f97316);
}
.menes-therapist-rank--platinum {
  background: linear-gradient(135deg, #c4b5fd, #6366f1);
}
.menes-therapist-rank--gold {
  background: linear-gradient(135deg, #facc15, #eab308);
}

/* サイズ・身長 */
.menes-therapist-size {
  font-size: 11px;
  color: #4b5563;
  margin-bottom: 4px;
}

.menes-therapist-height {
  margin-right: 4px;
}

/* タグ */
.menes-therapist-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}

.menes-therapist-tag {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  background: #f3f4ff;
  color: #4338ca;
}

/* ============================
   SPレイアウト
   ============================ */

@media (max-width: 959px) {
  .menes-therapist-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .menes-therapist-card {
    flex-direction: row;
    padding: 6px 8px;
    border-radius: 10px;
  }

  .menes-therapist-card-thumb {
    flex: 0 0 38%;
    padding-top: 0;
    height: 110px;
    border-radius: 8px;
    overflow: hidden;
  }

  .menes-therapist-card-img,
  .menes-therapist-card-img--placeholder {
    position: relative;
    inset: auto;
    width: 100%;
    height: 100%;
  }

  .menes-therapist-card-body {
    flex: 1;
    padding: 2px 4px 2px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }

  .menes-therapist-name-row {
    margin-bottom: 2px;
  }

  .menes-therapist-name {
    font-size: 13px;
  }

  .menes-therapist-size {
    font-size: 11px;
  }

  .menes-therapist-tags {
    margin-top: 2px;
  }

  .menes-therapist-tag {
    font-size: 10px;
    padding: 1px 6px;
  }

  .menes-therapist-ribbon {
    font-size: 10px;
    padding: 3px 8px;
  }
}

/* ヘッダー：待機中 / 出勤予定 + タブ + フィルタバー */
.menes-therapist-list-header {
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* 待機人数表示 */
.menes-therapist-status-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
}

.menes-therapist-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #4b5563;
}

.menes-therapist-status-pill .num {
  font-weight: 700;
  color: #111827;
}

.menes-therapist-status-pill.is-wait {
  background: #ecfdf5;
  color: #15803d;
}
.menes-therapist-status-pill.is-schedule {
  background: #eff6ff;
  color: #1d4ed8;
}

/* タブ */
.menes-therapist-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  background: #f9fafb;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  width: fit-content;
}

.menes-therapist-tabs .tab-btn {
  border: none;
  background: transparent;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  cursor: pointer;
  color: #6b7280;
}

.menes-therapist-tabs .tab-btn.is-active {
  background: #ffffff;
  color: #111827;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
}

/* フィルタバー */
.menes-therapist-filterbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: #6b7280;
}

.menes-therapist-filterbar .filter-label {
  font-weight: 600;
}

.menes-therapist-filterbar .filter-order select {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
}

/* シフト行（カード内） */
.menes-therapist-shift-row {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
  font-size: 11px;
  color: #4b5563;
}

.menes-therapist-shift-row .shift-icon {
  font-size: 13px;
}

.menes-therapist-shift-row.is-sokuhime {
  color: #f97316;
  font-weight: 600;
}

@media (max-width: 959px) {
  .menes-therapist-list-header {
    gap: 6px;
  }

  .menes-therapist-status-counts {
    font-size: 11px;
  }

  .menes-therapist-filterbar {
    font-size: 11px;
  }
}

/* =====================================
   single-menes_therapist 専用デザイン
   （店舗ページ寄せ / 背景コンテナ無し）
   ===================================== */

body.single-menes_therapist {
  background-color: #f4f5f7;
}

/* ラッパー：背景色は透明（＝周りと同化） */
body.single-menes_therapist .menes-therapist-page-wrapper {
  max-width: 1120px;
  margin: 32px auto 72px;
  padding: 0 16px;
  background: transparent;
}

/* 中身 */
body.single-menes_therapist .menes-therapist-page {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* -------------------------
   店舗マネタイズ横長バナー
   ------------------------- */
body.single-menes_therapist .menes-shop-top-banner.menes-therapist-top-banner {
  max-width: 1120px;
  margin: 0 auto 18px;
  padding: 0;
}

/* -------------------------
   在籍店舗ヘッダー行
   ------------------------- */
body.single-menes_therapist .menes-therapist-shop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 10px 20px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #ffd0e2;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

body.single-menes_therapist .shop-header-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

body.single-menes_therapist .shop-label {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 999px;
  background: #ff7ab7;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

body.single-menes_therapist .shop-name-link {
  font-size: 15px;
  font-weight: 800;
  color: #d81b60;
  text-decoration: none;
}

body.single-menes_therapist .shop-name-link:hover {
  text-decoration: underline;
}

body.single-menes_therapist .shop-area {
  font-size: 11px;
  color: #666;
}

body.single-menes_therapist .shop-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.single-menes_therapist .therapist-call-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(135deg, #ff5c9c, #ff8a3d);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(255, 92, 156, 0.7);
}

body.single-menes_therapist .therapist-call-btn .icon {
  font-size: 16px;
}

body.single-menes_therapist .therapist-call-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(255, 92, 156, 0.9);
}

body.single-menes_therapist .shop-back-link {
  font-size: 12px;
  color: #ff5c9c;
  text-decoration: none;
}

body.single-menes_therapist .shop-back-link:hover {
  text-decoration: underline;
}

/* -------------------------
   タブナビ
   ------------------------- */
body.single-menes_therapist .menes-therapist-nav {
  margin: 14px 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: #ffe7f1;
  border: 1px solid #ffc2dd;
}

body.single-menes_therapist .menes-therapist-nav a {
  padding: 5px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: #d46a98;
  text-decoration: none;
}

body.single-menes_therapist .menes-therapist-nav a.is-active,
body.single-menes_therapist .menes-therapist-nav a:hover {
  background: linear-gradient(135deg, #ff5c9c, #ff8a3d);
  color: #fff;
  box-shadow: 0 4px 10px rgba(255, 92, 156, 0.6);
}

/* -------------------------
   ファーストビュー：2カラム
   ------------------------- */
body.single-menes_therapist .menes-therapist-fv {
  display: grid;
  grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
  gap: 26px;
  align-items: flex-start;
}

/* 左：画像カード */
body.single-menes_therapist .menes-therapist-photos {
  background: #ffffff;
  border-radius: 22px;
  padding: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}

body.single-menes_therapist .menes-therapist-photo-main {
  border-radius: 18px;
  overflow: hidden;
}

body.single-menes_therapist .menes-therapist-photo-main img {
  display: block;
  width: 100%;
  height: auto;
}

body.single-menes_therapist .menes-therapist-photo-thumbs {
  margin-top: 10px;
  display: flex;
  gap: 8px;
}

body.single-menes_therapist .menes-therapist-photo-thumb {
  border: none;
  padding: 0;
  margin: 0;
  flex: 0 0 70px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  opacity: 0.6;
  border: 2px solid transparent;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

body.single-menes_therapist .menes-therapist-photo-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body.single-menes_therapist .menes-therapist-photo-thumb.is-active {
  opacity: 1;
  border-color: #ff5c9c;
  box-shadow: 0 6px 16px rgba(255, 92, 156, 0.65);
}

/* 右：プロフィールカード */
body.single-menes_therapist .menes-therapist-profile-head {
  background: #ffffff;
  border-radius: 22px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
  padding: 18px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.single-menes_therapist .menes-therapist-profile-head .name-line {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px dashed #ffe0ef;
  padding-bottom: 6px;
  margin-bottom: 4px;
}

body.single-menes_therapist .therapist-name {
  font-size: 22px;
  font-weight: 800;
  color: #222;
}

body.single-menes_therapist .therapist-age {
  font-size: 14px;
  color: #777;
}

body.single-menes_therapist .therapist-rank-badge {
  margin-left: auto;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 8px 18px rgba(255, 170, 0, 0.5);
}

body.single-menes_therapist .therapist-rank-badge.rank-queen {
  background: linear-gradient(135deg, #ffcc33, #ff7b7b);
}
body.single-menes_therapist .therapist-rank-badge.rank-platinum {
  background: linear-gradient(135deg, #c4c8ff, #7a7fff);
}
body.single-menes_therapist .therapist-rank-badge.rank-gold {
  background: linear-gradient(135deg, #ffd95c, #ffa031);
}

body.single-menes_therapist .therapist-size-line {
  font-size: 13px;
  color: #444;
  display: flex;
  gap: 8px;
}

body.single-menes_therapist .therapist-size-line .size-item.cup {
  color: #ff5c9c;
  font-weight: 700;
}

body.single-menes_therapist .therapist-catchcopy {
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #fff7fb;
}

/* タグ */
body.single-menes_therapist .therapist-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 11px;
}

body.single-menes_therapist .therapist-tags li {
  padding: 3px 10px;
  border-radius: 999px;
  background: #ffe3f1;
  color: #d63384;
  font-weight: 600;
}

/* CTA 行 */
body.single-menes_therapist .therapist-cta-row {
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 12px;
}

body.single-menes_therapist .therapist-main-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5c9c, #ff8a3d);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(255, 92, 156, 0.65);
}

body.single-menes_therapist .therapist-main-cta .icon {
  font-size: 18px;
}

body.single-menes_therapist .therapist-main-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(255, 92, 156, 0.9);
}

body.single-menes_therapist .therapist-shop-info {
  font-size: 11px;
  color: #666;
}

body.single-menes_therapist .therapist-shop-info .row {
  display: flex;
  gap: 6px;
}

/* -------------------------
   女の子メッセージ（丸アイコン）
   ------------------------- */
body.single-menes_therapist .therapist-msg-from-girl {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 18px;
  background: #ffe3f0;
  border: 1px solid #ffc2dd;
  box-shadow: 0 10px 24px rgba(255, 149, 204, 0.45);
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

body.single-menes_therapist .therapist-msg-from-girl .msg-avatar {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 6px 14px rgba(255, 122, 183, 0.7);
}

body.single-menes_therapist .therapist-msg-from-girl .msg-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.single-menes_therapist .therapist-msg-from-girl .msg-inner {
  flex: 1;
}

body.single-menes_therapist .therapist-msg-from-girl .msg-title {
  font-size: 13px;
  font-weight: 700;
  color: #d63384;
  margin-bottom: 4px;
}

body.single-menes_therapist .therapist-msg-from-girl .msg-body {
  font-size: 13px;
  line-height: 1.9;
  color: #444;
}

/* お店コメント */
body.single-menes_therapist .therapist-msg-from-shop {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
}

/* -------------------------
   共通セクション（色分け）
   ------------------------- */
body.single-menes_therapist .menes-therapist-section {
  margin-top: 10px;
  padding: 18px 18px 20px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid #ffd6e8;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

body.single-menes_therapist .menes-therapist-section.qa-section {
  background: #fff4fa;
  border-color: #ffc2dd;
}

body.single-menes_therapist .menes-therapist-section.schedule-section {
  background: #fff8f1;
  border-color: #ffd7a8;
}

body.single-menes_therapist .menes-therapist-section.diary-section {
  background: #f7f4ff;
  border-color: #d1c4ff;
}

body.single-menes_therapist .menes-therapist-section.review-section {
  background: #f9fbff;
  border-color: #cbd5f5;
}

/* 見出しライン */
body.single-menes_therapist .section-title {
  position: relative;
  margin: 0 0 10px;
  padding-left: 16px;
  font-size: 18px;
  font-weight: 700;
  color: #222;
}

body.single-menes_therapist .section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff7ab7, #ff9a5c);
}

body.single-menes_therapist .section-note {
  font-size: 12px;
  color: #6b7280;
  margin: 0 0 12px;
}

/* 出勤スケジュール */
body.single-menes_therapist .menes-therapist-schedule-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  font-size: 11px;
}

body.single-menes_therapist .schedule-day-card {
  padding: 8px 6px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #ffd7a8;
}

body.single-menes_therapist .schedule-day-card .day-label {
  font-weight: 700;
  margin-bottom: 4px;
  color: #ff8a3d;
}

/* Q&A アコーディオン */
body.single-menes_therapist .qa-accordion {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.single-menes_therapist .qa-item {
  border-radius: 12px;
  overflow: hidden;
  background: #fff8fc;
  border: 1px solid #ffe1f0;
}

body.single-menes_therapist .qa-question {
  width: 100%;
  padding: 8px 10px;
  border: none;
  background: transparent;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

body.single-menes_therapist .qa-question .q-label {
  font-size: 11px;
  color: #ff5c9c;
}

body.single-menes_therapist .qa-question .q-text {
  font-size: 13px;
  flex: 1;
  text-align: left;
}

body.single-menes_therapist .qa-toggle {
  font-size: 16px;
}

body.single-menes_therapist .qa-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 10px;
  font-size: 13px;
  line-height: 1.7;
  transition: max-height 0.25s ease, padding 0.25s ease;
}

body.single-menes_therapist .qa-answer.is-open {
  max-height: 200px;
  padding: 6px 10px 10px;
}

/* 写メ日記ダミー */
body.single-menes_therapist .menes-therapist-diary-placeholder {
  padding: 12px 10px;
  border-radius: 12px;
  background: #fff8fc;
  font-size: 13px;
}

/* 口コミカード（駅ちか寄せ） */
body.single-menes_therapist .review-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

body.single-menes_therapist .review-head-left {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

body.single-menes_therapist .review-post-btn {
  border-radius: 999px;
  border: none;
  padding: 5px 14px;
  font-size: 12px;
  background: #9ca3af;
  color: #fff;
  cursor: not-allowed;
}

body.single-menes_therapist .review-card {
  display: flex;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  background: #f9fbff;
  border: 1px solid #cbd5f5;
}

body.single-menes_therapist .review-avatar {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5c9c, #ff8a3d);
}

/* 店舗ヘッダー右側：TEL / 営業時間ブロック */
body.single-menes_therapist .shop-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

body.single-menes_therapist .shop-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 12px;
  line-height: 1.5;
  color: #555;
}

body.single-menes_therapist .shop-contact-row {
  display: flex;
  gap: 6px;
}

body.single-menes_therapist .shop-contact-row .label {
  font-weight: 600;
  font-size: 11px;
  color: #ff5c9c;
}

body.single-menes_therapist .shop-contact-row .value {
  font-size: 12px;
}

/* -------------------------
   SP レイアウト
   ------------------------- */
@media (max-width: 959px) {
  body.single-menes_therapist .menes-therapist-page-wrapper {
    margin: 20px auto 40px;
    padding: 0 10px;
  }

  body.single-menes_therapist .menes-therapist-shop-header {
    flex-direction: column;
    align-items: flex-start;
    border-radius: 18px;
  }

  body.single-menes_therapist .menes-therapist-fv {
    grid-template-columns: minmax(0, 1fr);
  }

  body.single-menes_therapist .therapist-rank-badge {
    margin-left: 0;
  }

  body.single-menes_therapist .therapist-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  body.single-menes_therapist .menes-therapist-schedule-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* ============================
   店舗上部マネタイズバナー（セラピストページ用）
   ============================ */
body.single-menes_therapist .menes-shop-top-banner {
  max-width: 1180px;
  margin: 32px auto 12px;
  padding: 0 24px;
}

body.single-menes_therapist .menes-shop-top-banner-inner {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  background: #000; /* はみ出し防止の土台色 */
}

body.single-menes_therapist .menes-shop-top-banner-inner img {
  display: block;
  width: 100%;
  height: auto;
}
/* ============================
   スマホ時 店舗ヘッダー整形
   ============================ */
@media (max-width: 767px) {
  /* ヘッダー自体は横並び＋折り返し */
  body.single-menes_therapist .menes-therapist-shop-header {
    flex-wrap: wrap;
    padding: 10px 16px;
  }

  /* 左：在籍店舗＋店名＋エリア */
  body.single-menes_therapist .shop-header-left {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* 店名少し小さく */
  body.single-menes_therapist .shop-name-link {
    font-size: 14px;
  }

  body.single-menes_therapist .shop-area {
    font-size: 11px;
  }

  /* 右：TEL / 営業時間を店名の横にコンパクト表示 */
  body.single-menes_therapist .shop-header-right {
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
  }

  body.single-menes_therapist .shop-contact {
    font-size: 11px;
    line-height: 1.4;
  }

  body.single-menes_therapist .shop-contact-row .label {
    font-size: 10px;
  }

  body.single-menes_therapist .shop-contact-row .value {
    font-size: 11px;
  }

  /* コールボタンはその下で横幅ひろめに */
  body.single-menes_therapist .therapist-call-btn {
    font-size: 12px;
    padding: 6px 14px;
  }

  /* 「店舗ページへ戻る」はボタンの下に細く */
  body.single-menes_therapist .shop-back-link {
    font-size: 11px;
  }
}
/* ============================
   店舗上部マネタイズバナー（セラピストページ用）
   ============================ */
body.single-menes_therapist .menes-shop-top-banner {
  max-width: 1180px;
  margin: 32px auto 12px;
  padding: 0 24px;
}

body.single-menes_therapist .menes-shop-top-banner-inner {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  background: #000; /* はみ出し防止の土台色 */
}

body.single-menes_therapist .menes-shop-top-banner-inner img {
  display: block;
  width: 100%;
  height: auto;
}
/* お店からのメッセージタイトルを赤〜ゴールド系に */
body.single-menes_therapist .therapist-msg-from-shop .msg-title {
  color: #c67a00;              /* ゴールド寄り */
  font-weight: 700;
}
body.single-menes_therapist .therapist-msg-from-shop .msg-title {
  background: linear-gradient(90deg, #ff4b6a, #ffc664);
  -webkit-background-clip: text;
  color: transparent;
  font-weight: 700;
}
/* ============================
   SP用 店舗ヘッダー レイアウト調整
   （左：店舗名、右：TEL/営業時間＋CTA）
   ============================ */
@media (max-width: 767px) {
  /* カード自体は中央に置きつつ、中身は左右レイアウト */
  body.single-menes_therapist .menes-therapist-page-wrapper {
    margin: 16px auto 40px;
    padding: 16px 10px 24px;
  }

  body.single-menes_therapist .menes-therapist-shop-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 20px;
  }

  /* 左側：在籍店舗ラベル＋店名＋エリア */
  body.single-menes_therapist .menes-therapist-shop-header .shop-header-left {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
  }

  body.single-menes_therapist .menes-therapist-shop-header .shop-label {
    font-size: 11px;
  }

  /* 店名を大きく・目立たせる */
  body.single-menes_therapist .menes-therapist-shop-header .shop-name-link {
    display: block;
    margin-top: 4px;
    font-size: 16px;
    font-weight: 800;
  }

  body.single-menes_therapist .menes-therapist-shop-header .shop-area {
    margin-top: 2px;
    font-size: 11px;
  }

  /* 右側：TEL/営業時間 + CTA + 戻るリンク */
  body.single-menes_therapist .menes-therapist-shop-header .shop-header-right {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 4px;
  }

  body.single-menes_therapist .menes-therapist-shop-header .shop-header-contact {
    font-size: 11px;
    line-height: 1.4;
  }

  body.single-menes_therapist .menes-therapist-shop-header .shop-header-contact .contact-row + .contact-row {
    margin-top: 2px;
  }

  /* 電話CTAボタンは右寄せでその下に「店舗ページへ戻る」 */
  body.single-menes_therapist .menes-therapist-shop-header .therapist-call-btn {
    padding: 6px 14px;
    font-size: 11px;
  }

  body.single-menes_therapist .menes-therapist-shop-header .therapist-call-btn .icon {
    font-size: 14px;
  }

  body.single-menes_therapist .menes-therapist-shop-header .shop-back-link {
    font-size: 11px;
    margin-top: 2px;
  }
}
/* ============================
   店舗ヘッダー レイアウト調整
   ============================ */

body.single-menes_therapist .menes-therapist-shop-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* 左：店舗名 */
body.single-menes_therapist .shop-header-left {
  flex: 0 0 auto;
}

/* 真ん中：クーポンカード */
body.single-menes_therapist .shop-header-coupon {
  flex: 1;
  max-width: 360px;
}

/* 右：TEL / 営業時間 + CTA + 戻る */
body.single-menes_therapist .shop-header-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

body.single-menes_therapist .shop-header-contact {
  font-size: 12px;
  text-align: right;
  line-height: 1.5;
}

body.single-menes_therapist .shop-header-contact .row {
  white-space: nowrap;
}

body.single-menes_therapist .shop-header-contact .label {
  margin-right: 4px;
  color: #999;
}

body.single-menes_therapist .shop-header-contact .value {
  font-weight: 600;
  color: #ff5c9c;
}

/* ============================
   クーポンカード
   ============================ */

body.single-menes_therapist .shop-header-coupon .coupon-head {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: none;
  color: #fff;
  background: linear-gradient(90deg, #ff2566, #ff8a3d);
  box-shadow: 0 0 16px rgba(255, 60, 120, 0.7);
  margin-bottom: 6px;
}

body.single-menes_therapist .shop-header-coupon .coupon-head .icon {
  font-size: 13px;
}

body.single-menes_therapist .shop-header-coupon .coupon-body {
  padding: 8px 10px;
  border-radius: 12px;
  background: #fff7df;
  border: 1px dashed #fbbf24;
  font-size: 12px;
  line-height: 1.6;
}

body.single-menes_therapist .shop-header-coupon .coupon-title {
  font-weight: 700;
  margin-bottom: 4px;
}

body.single-menes_therapist .shop-header-coupon .coupon-main {
  font-weight: 700;
  color: #b45309;
}

body.single-menes_therapist .shop-header-coupon .coupon-note {
  margin-top: 4px;
  font-size: 11px;
  color: #6b7280;
}

/* ============================
   お店からのメッセージのタイトル色
   ============================ */

body.single-menes_therapist .therapist-msg-from-shop .msg-title {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #b45309;              /* ゴールド寄りブラウン */
}

/* ============================
   SP レイアウト調整
   ============================ */

@media (max-width: 767px) {
  body.single-menes_therapist .menes-therapist-shop-header {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body.single-menes_therapist .shop-header-right {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  body.single-menes_therapist .shop-header-contact {
    text-align: left;
    order: 1;
  }

  body.single-menes_therapist .therapist-call-btn {
    order: 2;
  }

  body.single-menes_therapist .shop-back-link {
    order: 3;
  }

  /* クーポンは右側（＝下側）に回すイメージ */
  body.single-menes_therapist .shop-header-coupon {
    order: 4;
    max-width: 100%;
  }
}

/* ============================
   店舗上部マネタイズバナー（セラピストページ用）
   ============================ */
body.single-menes_therapist .menes-shop-top-banner {
  max-width: 1180px;
  margin: 24px auto 16px;
  padding: 0 24px;
}

body.single-menes_therapist .menes-shop-top-banner-inner {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  background: #000;
}

body.single-menes_therapist .menes-shop-top-banner-inner img {
  display: block;
  width: 100%;
  height: auto;
}
/* ============================
   駅ちか風 クーポンきっぷ（店舗サイド）
   ============================ */
.side-shop-course.coupon-ticket {
  margin-top: 16px;
  padding: 0;
  background: transparent;
}

.coupon-ticket-inner {
  position: relative;
  display: flex;
  align-items: stretch;
  background: #000;
  color: #fff;
  border-radius: 6px;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.6);
  overflow: hidden;
  font-family: "Yu Gothic", "游ゴシック体", system-ui, -apple-system, BlinkMacSystemFont,
    "Helvetica Neue", Arial, sans-serif;
}

.coupon-ticket-main {
  flex: 1;
  padding: 8px 14px 10px;
}

/* 上部ラベル行 */
.coupon-ticket-top-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.coupon-type-label {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  border-radius: 12px;
  background: linear-gradient(90deg, #ff355d, #ff8a00);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.coupon-title-label {
  display: inline-block;
  padding: 1px 8px;
  font-size: 11px;
  font-weight: 600;
  color: #fffbe6;
  border-radius: 10px;
  border: 1px dashed rgba(255, 255, 255, 0.5);
  background: rgba(0, 0, 0, 0.3);
}

/* 通常料金行 */
.coupon-normal-line {
  font-size: 11px;
  line-height: 1.3;
  margin-bottom: 4px;
  color: #fff;
}

/* メインの時間＋価格 */
.coupon-big-line {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 6px;
}

.coupon-big-time {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.coupon-big-price {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #ffd600;
  text-shadow:
    0 0 2px #000,
    0 0 8px rgba(255, 214, 0, 0.9);
}

/* 下部の注意書き */
.coupon-note-line {
  font-size: 11px;
  line-height: 1.4;
  color: #ffeecf;
}

/* 右側の丸いスタンプ部分 */
.coupon-ticket-side {
  position: relative;
  width: 64px;
  background: #000;
}

.coupon-ticket-side::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  border-left: 2px dotted rgba(255, 255, 255, 0.5);
  transform: translateX(-1px);
}

/* %OFF の斜めリボン */
.coupon-percent-ribbon {
  position: absolute;
  top: 6px;            /* ← 下げて中央寄りへ */
  right: -30px;        /* ← もっと外へ出す（全文字表示される） */
  width: 90px;
  padding: 3px 0;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  font-size: 8px;
  font-weight: 900;
  color: #fff;

  background: #ff355d;
  transform: rotate(35deg); /* ← 角度を浅くして隠れないように */
  transform-origin: center;

  box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
  z-index: 50; /* 念のため */
}

/* 丸スタンプ */
.coupon-side-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70px;
  height: 70px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, #fff8c0, #ff9b00);
  box-shadow:
    0 0 0 2px #ffeb9c,
    0 0 12px rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
}

.coupon-side-text {
  font-size: 11px;
  font-weight: 900;
  color: #b01300;
  text-align: center;
  line-height: 1.2;
}

/* クーポン未設定時 */
.coupon-ticket-inner--empty {
  padding: 10px 14px;
  justify-content: center;
}

.coupon-empty-main {
  text-align: center;
  width: 100%;
}

.coupon-empty-label {
  display: inline-block;
  margin-bottom: 4px;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff4e50, #f9d423);
}

.coupon-empty-note {
  font-size: 11px;
  color: #ffe7c2;
}

/* スマホ調整 */
@media (max-width: 767px) {
  .coupon-ticket-main {
    padding: 10px 12px 10px;
  }

  .coupon-big-time {
    font-size: 17px;
  }

  .coupon-big-price {
    font-size: 20px;
  }

  .coupon-side-circle {
    width: 60px;
    height: 60px;
  }

  .coupon-side-text {
    font-size: 10px;
  }
}