/* マップを比率維持でレスポンシブに */
.shop-map {
  margin-top:24px;
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  background: #f8fafc;
}

.shop-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* 基本情報テーブル */
.shop-table {
  margin-top:20px;
  border: 1px solid #e2e8f0;
  border-radius: 0 0 8px 8px;
  border-top: none;
  overflow: hidden;
  background: #fff;
}

.shop-info-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.96rem;
}

.shop-info-table th,
.shop-info-table td {
  padding: 14px 16px;
  border-top: 1px solid #e5e7eb;
}

/* 左側の見出しセル */
.shop-info-table th {
  width: 21%;
  background: #f9fafb;
  text-align: left;
  font-weight: 600;
  color: #4b5563;
  white-space: nowrap;
}

/* 右側の内容セル */
.shop-info-table td {
  color: var(--text);
}

/* 電話番号のスタイル */
.shop-info-tel {
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--brand-blue-dark);
}

/* -----------------------------
   スマホ用レイアウト
   → 見出しを上、内容を下に縦積み
-------------------------------- */
@media (max-width: 640px) {
  .shop-info-table,
  .shop-info-table tbody,
  .shop-info-table tr {
    display: block;
    width: 100%;
  }

  .shop-info-table tr {
    border-top: 1px solid #e5e7eb;
  }

  .shop-info-table th,
  .shop-info-table td {
    display: block;
    width: 100%;
    border-top: none;
  }

  .shop-info-table th {
    background: #f9fafb;
    padding: 10px 12px 4px;
    font-size: 0.9rem;
  }

  .shop-info-table td {
    padding: 5px 12px 10px;
  }
}
.gallery{
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(313px, 1fr));
}
.shop-photo img{
  background: #fff;
  border: 2px solid #e3f4fb; /* ぽのブルーに近い淡い枠 */
  padding: 6px;
  border-radius: 12px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.06);
}

.card-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 32px; /* 行間・列間 */
  list-style: none;
  padding: 0;
  margin: 0;
}

.card-logos li {
  flex: 0 1 auto; /* 幅をロゴ画像に任せる */
}

.card-logos img {
  height: 48px;      /* 高さだけ揃える！ */
  width: auto;       /* 幅は画像比率で勝手に決まる */
  display: block;
}
.card-logos img.visa {
  height:28px;
}
.card-logos img.jcb {
  height:54px;
}
.card-logos img.amex {
  height:54px;
}
.card-logos img.kitaca {
  height:62px;
}
.card-logos img.toica {
  height:34px;
}
.card-logos img.manaca {
  height:14px;
}
.card-logos img.sugoca {
  height:44px;
}
.card-logos img.nimoca {
  height:26px;
}
.card-logos img.hayakaken {
  height:34px;
}
.card-logos img.dbarai {
  height:30px;
}
.card-logos img.paypay {
  height:30px;
}
.card-logos img.aupay {
  height:20px;
}
.card-logos img.rakuten {
  height:32px;
}
.card-logos img.jcoin {
  height:36px;
}
.card-logos img.rakuten {
  height:30px;
}
.card-logos img.smartcode {
  height:40px;
}
.card-logos img.wechat {
  height:34px;
}
.card-logos img.alipay {
  height:38px;
}
.card-logos img.coin {
  height:34px;
}
@media (max-width: 640px) {
  .gallery{
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
}
.other ul{
  margin-left:2vw;
  font-size:1.1em;
}
/* カスタムの丸ポチ */
.other li::before {
  content: "•";
  font-size: 1.1rem;
  line-height: 1.2;
  margin-top: 0.05em;
  color: #555;
}