@charset "UTF-8";
/* PC-SPセット
---------------------------------------------------------- */
.pc {
  display: none !important;
}
.sp {
  display: block !important;
}
/* 決まりごと
---------------------------------------------------------- */
html, body {
  overflow-x: hidden;
}
/* Swiper：インデックス
---------------------------------------------------------- */
.slideZone {
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
.slideZone .swiper {
  overflow: hidden;
}
.slideZone {
  padding: 0;
}
.slideZone .swiper-slide {
  width: 100vw;
  max-width: 100vw;
}
.slideZone .swiper-slide img {
  width: 100%;
  display: block;
}
/* /Swiper */
main {
  width: 98%;
  margin-left: auto;
  margin-right: auto;
}
.menuBtn {
  right: 10px;
}
/* バナーエリア
---------------------------------------------------------- */
.c-bannerGrid {
  /* 2つずつ（2列） */
  grid-template-columns: repeat(2, minmax(0, 190px));
  justify-content: center;
}
/* パンくず
---------------------------------------------------------- */
.c-breadcrumb {
  padding: 10px 0 40px;
}
.c-breadcrumb__list {
  font-size: 13px;
}
/* ショップ_見出し
---------------------------------------------------------- */
.shopTitle {
  gap: clamp(8px, 3vw, 14px);
  margin: 0 0 20px;
}
.shopTitle::before {
  border-top-width: clamp(10px, 3vw, 14px);
  border-bottom-width: clamp(10px, 3vw, 14px);
  border-left-width: clamp(16px, 4vw, 22px);
}
.shopTitle__en {
  font-size: clamp(22px, 6vw, 32px);
}
.shopTitle__jp {
  font-size: clamp(14px, 4vw, 20px);
  margin-top: clamp(2px, 1vw, 4px);
}
/* 共通セクション見出し
---------------------------------------------------------- */
.c-sectionTitle {
  gap: 10px;
  margin: 0 0 20px;
}
.c-sectionTitle__icon {
  width: 34px;
  height: 34px;
}
.c-sectionTitle__texts {
  gap: clamp(4px, 1.5vw, 8px);
}
.c-sectionTitle__en {
  font-size: clamp(0.688rem, calc(0.438rem + 1.25vw), 1.375rem);
  letter-spacing: 0.02em;
  flex: 1 1 auto;
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
.c-sectionTitle__jp {
  font-size: clamp(0.688rem, calc(0.528rem + 0.8vw), 1.125rem);
  flex: 0 0 auto;
  white-space: nowrap;
}
/* 帯タイトル_セクション共通
---------------------------------------------------------- */
.c-bandTitle {
  justify-content: center;
}
.c-bandTitle .c-sectionTitle__texts {
  width: auto;
  justify-content: center;
  text-align: center;
}
.c-bandTitle .c-sectionTitle__en {
  flex: 0 0 auto;
  min-width: auto;
}
.c-InfoZone-center {
  text-align: center;
  margin-bottom: 20px;
}

/* 英字 */
.c-sectionTitle__en {
  font-size: clamp(1rem, calc(0.955rem + 0.23vw), 1.125rem);
}
/* 日本語 */
.c-sectionTitle__jp {
  font-size: clamp(0.625rem, calc(0.58rem + 0.23vw), 0.75rem);
}
/*  h3
---------------------------------------------------------- */
.c-heading3 {
  font-size: 1.2rem;
}
/*  h4
---------------------------------------------------------- */
.c-heading4 {
  font-size: 0.88rem;
}
.c-heading4-Red {
  font-size: 0.88rem;
  margin: 0.2em auto;
  text-align: left;
}
.c-heading4-Blue {
  font-size: 0.88rem;
  margin: 0.2em auto;
  text-align: left;
}
/*  価格
---------------------------------------------------------- */
.c-pricebox {
  width: 60%;
  font-size: 0.8rem;
  margin: 0.2em 20%;
  padding: 0.3em;
}
.c-pricebox__tax {
  display: block ;
  margin-left: 0 ;
  font-size: 0.6rem;
}
/*  インデント_マーク別
---------------------------------------------------------- */
/* イベント※ */
.Event-Memo {
  margin: 0 0 20px;
}
/* ==========================
  tp-sectionTitle（SP：横並びのまま縮める）
  ========================== */
.tp-sectionTitle {
  gap: 10px; /* 詰める */
  flex-wrap: nowrap; /* 横並び維持 */
  min-width: 0; /* ★これが重要（子要素の縮みを許可） */
}
.tp-sectionTitle::before {
  /* 三角も少し小さく（横幅節約） */
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 18px solid #e60012;
}
.tp-sectionTitle__en, .tp-sectionTitle__jp {
  white-space: nowrap; /* 1行維持 */
  min-width: 0; /* ★これが重要 */
  line-height: 1;
}
/* ENは縮みやすく */
.tp-sectionTitle__en {
  flex: 0 1 auto;
  font-size: clamp(1.125rem, calc(0.898rem + 1.14vw), 1.75rem);
}
/* JPは横幅が足りない時に最優先で縮む */
.tp-sectionTitle__jp {
  flex: 1 1 auto;
  font-size: clamp(0.75rem, calc(0.614rem + 0.68vw), 1.125rem);
  margin-top: 2px;
}
/* ==========================
  テキストボックス
   ========================== */
.c-TxtZone-center {
  text-align: center;
  margin-bottom: 20px;
}
.c-TxtZone {
  margin-bottom: 20px;
}