/* ============================================================
   べるべるパーク TOP リニューアル（2026.10 テスト版）
   index_testymzk.html 専用。common.css / common-add.css の後に読み込む。
   body配下にのみ効く。
   ============================================================ */

body{
  --bb-red: #e60012;
  --bb-green: #009944;
  --bb-blue: #0081cc;
  --bb-orange: #f39800;
  --bb-yellow: #ffe066;
  --bb-cream: #fffdf5;
  --bb-brown: #3c2d09;
  --bb-brown2: #715a2d;
  --bb-tint-blue: #e3f3fb;
  --bb-tint-yellow: #fff3cf;
  --bb-tint-green: #e6f4ea;
  --bb-tint-pink: #fde4e6;
  --bb-line: #f3e4c2;
  --bb-round: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  --bb-num: "Nunito", "M PLUS Rounded 1c", sans-serif;
  background: var(--bb-cream);
  color: var(--bb-brown);
  font-family: var(--bb-round);
}
body#wrapper { overflow: hidden; }
body.inner { position: relative; max-width: 1000px; }

/* ---- 共通パーツ ---- */
.center { text-align: center; }
.mt28 { margin-top: 28px; }
.bg_blue   { background: var(--bb-tint-blue); }
.bg_yellow { background: var(--bb-tint-yellow); }
.bg_green  { background: var(--bb-tint-green); }
.bg_pink   { background: var(--bb-tint-pink); }
.dots {
  background-image: radial-gradient(#f3d9a8 1.6px, transparent 1.6px);
  background-size: 22px 22px;
}
.c_red    { color: var(--bb-red); }
.c_green  { color: var(--bb-green); }
.c_blue   { color: var(--bb-blue); }
.c_orange { color: var(--bb-orange); }
.hl { background: linear-gradient(transparent 58%, var(--bb-yellow) 58%); padding: 0 4px; }

.sticker {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 40px;
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .12em;
  transform: rotate(-3deg);
  box-shadow: 0 3px 0 rgba(60, 45, 9, .15);
}
.sticker.sm { font-size: 11px; padding: 4px 14px; }
.sticker_red    { background: var(--bb-red); }
.sticker_green  { background: var(--bb-green); }
.sticker_blue   { background: var(--bb-blue); }
.sticker_orange { background: var(--bb-orange); }

.ttl2026 {
  margin: 14px 0 0;
  font-family: var(--bb-round);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.35;
  text-align: center;
}
.lead2026 {
  margin: 16px 0 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
.note2026 {
  margin: 14px 0 0;
  font-size: 11.5px;
  line-height: 1.8;
  color: var(--bb-brown2);
}
.note2026 a { color: var(--bb-orange); font-weight: 700; }

.wave { display: block; width: 100%; height: 50px; }

/* 立体ボタン */
.btn_pop {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 18px 40px;
  border-radius: 60px;
  color: #fff;
  font-family: var(--bb-round);
  font-weight: 900;
  font-size: 16px;
  text-decoration: none;
  transition: transform .1s, box-shadow .1s;
}
.btn_pop:hover { color: #fff; transform: translateY(2px); }
.btn_pop i { font-size: 20px; }
.btn_pop_r { background: var(--bb-red);    box-shadow: 0 5px 0 #a80008; }
.btn_pop_o { background: var(--bb-orange); box-shadow: 0 5px 0 #b86f00; }
.btn_pop_b { background: var(--bb-blue);   box-shadow: 0 5px 0 #005c92; }
.btn_pop_r:hover { box-shadow: 0 3px 0 #a80008; }
.btn_pop_o:hover { box-shadow: 0 3px 0 #b86f00; }
.btn_pop_b:hover { box-shadow: 0 3px 0 #005c92; }
.btn_pop_sm { padding: 12px 20px; font-size: 13px; }
.btn_pop::after,
.acc_btn_fill::after,
.acc_btn_line::after,
.price_wrap2026 .rsv_btn::after,
#gnavi_sp .rsv_btn::after {
  content: "\25B6";
  font-size: .7em;
  margin-left: 2px;
  line-height: 1;
}
.btn_pop[href^="#"]::after,
.price_wrap2026 .rsv_btn[href^="#"]::after,
#gnavi_sp .rsv_btn[href^="#"]::after { content: "\25BC"; }
.acc_btn_fill, .acc_btn_line { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }

/* ポラロイド */
.polaroid {
  position: relative;
  background: #fff;
  padding: 10px 10px 14px;
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(60, 45, 9, .14);
}
.polaroid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2px;
}
.tape {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 90px;
  height: 24px;
  background: rgba(255, 224, 102, .85);
  border-radius: 2px;
  transform: translateX(-50%) rotate(-2deg);
  z-index: 1;
}

/* 年齢・エリアタグ */
.age_tag {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 30px;
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.6;
}
.a_red    { background: var(--bb-red); }
.a_green  { background: var(--bb-green); }
.a_blue   { background: var(--bb-blue); }
.a_orange { background: var(--bb-orange); }

/* 飾り */
.deco_blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.deco_pink   { top: 120px; left: -90px; width: 260px; height: 260px; background: var(--bb-tint-pink); opacity: .8; }
.deco_yellow { top: 40px; right: -60px; width: 220px; height: 220px; background: var(--bb-yellow); opacity: .5; }
.deco_green  { top: 60px; left: -70px; width: 200px; height: 200px; background: #c9ead6; opacity: .7; }
.deco_yellow_r { top: 80px; right: -110px; width: 300px; height: 300px; background: var(--bb-yellow); opacity: .35; }
.deco_blue_l   { bottom: 40px; left: -120px; width: 320px; height: 320px; background: var(--bb-tint-blue); opacity: .9; }
/* 白（クリーム）背景のセクションに薄くドット */
.dots_light {
  background-image: radial-gradient(rgba(243, 217, 168, .55) 1.6px, transparent 1.6px);
  background-size: 22px 22px;
}

/* 既存ヘッダーの下線だけ色付け */
#header { border-bottom: 4px solid var(--bb-yellow); }

/* ------------------------------------------------------------
   MV
------------------------------------------------------------ */
.mv2026 {
  position: relative;
  min-height: 600px;
  background: linear-gradient(180deg, #e3f3fb 0%, #fff6d8 100%);
  background-image: radial-gradient(rgba(243, 217, 168, .6) 1.6px, transparent 1.6px), linear-gradient(180deg, #e3f3fb 0%, #fff6d8 100%);
  background-size: 22px 22px, auto;
  overflow: hidden;
}
.mv_blob { position: absolute; border-radius: 50%; pointer-events: none; }
.mv_blob1 { top: -80px; left: -80px; width: 320px; height: 320px; background: var(--bb-yellow); opacity: .6; }
.mv_blob2 { bottom: -120px; right: 30%; width: 300px; height: 300px; background: #c9ead6; opacity: .7; }
.confetti { position: absolute; width: 12px; height: 12px; border-radius: 3px; pointer-events: none; }
.confetti.c1 { top: 60px; left: 38%; background: var(--bb-red); transform: rotate(20deg); }
.confetti.c2 { top: 120px; left: 52%; background: var(--bb-blue); transform: rotate(-30deg); width: 10px; height: 10px; }
.confetti.c3 { top: 400px; left: 8%; background: var(--bb-green); transform: rotate(45deg); }
.confetti.c4 { top: 80px; right: 6%; background: var(--bb-orange); border-radius: 50%; width: 16px; height: 16px; }
.confetti.c5 { top: 480px; right: 40%; background: var(--bb-red); border-radius: 50%; width: 10px; height: 10px; }

.mv_inner {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 50px 40px 90px;
  display: grid;
  grid-template-columns: 1fr 760px;
  align-items: end;
  gap: 20px;
}
.mv_copy { position: relative; z-index: 3; padding-bottom: 20px; }
.mv_sub { margin: 12px 0 0; font-size: 15px; font-weight: 800; color: var(--bb-brown2); }
.mv_title {
  margin: 2px 0 0;
  font-family: var(--bb-round);
  font-size: 60px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .02em;
  color: var(--bb-brown);
}
.mv_catch { margin: 10px 0 0; font-size: 22px; font-weight: 900; line-height: 1.5; }
.mv_badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.mv_badges li {
  padding: 4px 12px;
  border-radius: 30px;
  background: #fff;
  border: 2px solid currentColor;
  font-size: 12.5px;
  font-weight: 800;
}
.mv_badges .b_blue  { color: var(--bb-blue); }
.mv_badges .b_green { color: var(--bb-green); }
.mv_badges .b_red   { color: var(--bb-red); }
.mv_badges .b_orange{ color: var(--bb-orange); }
.mv_btn { margin: 22px 0 0; }

.mv_collage { position: relative; height: 640px; z-index: 2; }
.mv_collage .polaroid { position: absolute; }
.mv_collage .p1 { left: 0;     top: 50px;  width: 330px; transform: rotate(-6deg); }
.mv_collage .p2 { left: 300px; top: 0;     width: 370px; transform: rotate(4deg); }
.mv_collage .p3 { left: 70px;  top: 340px; width: 300px; transform: rotate(3deg); }
.mv_collage .p4 { left: 400px; top: 320px; width: 340px; transform: rotate(-5deg); }
.mv2026 + .wave { margin-top: -50px; position: relative; z-index: 2; }

/* ------------------------------------------------------------
   親目線メリット（吹き出し）
------------------------------------------------------------ */
.merit { position: relative; z-index: 2; padding: 0 0 30px; }
.merit_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.merit_item { color: var(--bb-blue); }
.m_blue   { color: var(--bb-blue); }
.m_green  { color: var(--bb-green); }
.m_orange { color: var(--bb-orange); }
.m_red    { color: var(--bb-red); }
.bubble {
  position: relative;
  background: #fff;
  border: 3px solid currentColor;
  border-radius: 22px;
  padding: 22px 20px 20px;
}
.bubble::after {
  content: "";
  position: absolute;
  left: 28px;
  bottom: -14px;
  width: 22px;
  height: 22px;
  background: #fff;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(45deg);
}
.merit_title { margin: 0; font-size: 16px; font-weight: 900; color: currentColor; }
.merit_text { margin: 6px 0 0; font-size: 12.5px; line-height: 1.7; color: var(--bb-brown); }
.merit_ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 22px 0 0 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 4px 0 rgba(0, 0, 0, .12);
}
.merit_ic i { color: #fff; font-size: 32px; }

/* ------------------------------------------------------------
   笑顔ギャラリー（自動横流れ）
------------------------------------------------------------ */
.gallery { padding: 30px 0 0; text-align: center; }
.gallery .ttl2026 { font-size: 24px; }
.gallery_track { overflow: hidden; margin-top: 24px; padding: 20px 0 30px; }
.gallery_list {
  display: flex;
  gap: 14px;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  animation: bbMarquee 40s linear infinite;
}
.gallery_item { width: 190px; flex: none; }
.gallery_item img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.g1 img, .g6 img { border-radius: 50% 50% 50% 8px; transform: rotate(-3deg); }
.g2 img, .g5 img { border-radius: 8px 50% 50% 50%; transform: rotate(2deg); margin-top: 18px; }
.g3 img { border-radius: 50% 8px 50% 50%; transform: rotate(-2deg); }
.g4 img { border-radius: 50% 50% 8px 50%; transform: rotate(3deg); margin-top: 18px; }
@keyframes bbMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .gallery_list { animation: none; }
}

/* ------------------------------------------------------------
   ABOUT
------------------------------------------------------------ */
.about2026 { position: relative; padding: 60px 0 80px; }
.about_grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 40px;
}
.about_photos { position: relative; min-height: 420px; }
.about_photos .polaroid { position: absolute; }
.about_photos .a1 { left: 0;   top: 0;     width: 62%; transform: rotate(-4deg); }
.about_photos .a2 { right: 0;  top: 120px; width: 52%; transform: rotate(5deg); }
.about_photos .a3 { left: 14%; bottom: 0;  width: 48%; transform: rotate(-2deg); }
.about_badge {
  position: absolute;
  right: 6%;
  bottom: 30px;
  width: 120px;
  height: 120px;
  border-radius: 46% 54% 52% 48% / 55% 45% 55% 45%;
  background: var(--bb-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 900;
  font-size: 13px;
  line-height: 1.3;
  transform: rotate(8deg);
}
.about_points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.about_points li { display: flex; gap: 16px; align-items: flex-start; }
.about_points .num {
  flex: none;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 22px;
  border-radius: 46% 54% 52% 48% / 55% 45% 55% 45%;
}
.about_points li:nth-child(even) .num { border-radius: 54% 46% 48% 52% / 45% 55% 45% 55%; }
.n_red    { background: var(--bb-red); }
.n_green  { background: var(--bb-green); }
.n_blue   { background: var(--bb-blue); }
.n_orange { background: var(--bb-orange); }
.about_point_title { margin: 0; font-size: 17px; font-weight: 900; }
.about_point_text { margin: 4px 0 0; font-size: 13px; line-height: 1.7; }

/* ------------------------------------------------------------
   1日の流れ
------------------------------------------------------------ */
.dayflow { position: relative; padding: 50px 0 80px; }
.flow_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
}
.flow_item.f1 { transform: rotate(-2deg); }
.flow_item.f2 { transform: rotate(2deg); margin-top: 30px; }
.flow_item.f3 { transform: rotate(-1.5deg); }
.flow_item.f4 { transform: rotate(2.5deg); margin-top: 30px; }
.flow_body { margin-top: 12px; }
.flow_time {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 30px;
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 800;
  font-size: 12px;
}
.t_red    { background: var(--bb-red); }
.t_orange { background: var(--bb-orange); }
.t_blue   { background: var(--bb-blue); }
.t_green  { background: var(--bb-green); }
.flow_title { margin: 6px 0 0; font-size: 20px; font-weight: 900; }
.flow_text { margin: 4px 0 0; font-size: 12.5px; line-height: 1.7; }

.proom {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  margin-top: 50px;
  border: 4px solid var(--bb-orange);
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
}
.proom_img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; }
.proom_body { padding: 30px 34px; }
.proom_title { margin: 12px 0 0; font-size: 22px; font-weight: 900; line-height: 1.4; }
.proom_text { margin: 10px 0 0; font-size: 13.5px; line-height: 1.8; }

/* ------------------------------------------------------------
   店舗をえらぶ（PC帯 / SPアコーディオン）
------------------------------------------------------------ */
.compare2026 { position: relative; padding: 40px 0 80px; overflow: hidden; }

.cmp_pc {
  margin-top: 34px;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
}
.cmp_head,
.cmp_row {
  display: grid;
  grid-template-columns: 230px 1fr 1.4fr 1fr 1fr 1fr;
  align-items: center;
}
.cmp_head { background: var(--bb-brown); color: #fff; font-size: 12.5px; font-weight: 800; }
.cmp_head > div { padding: 12px 10px; }
.cmp_head > div:first-child { padding-left: 16px; }
.cmp_row {
  background: var(--t);
  border-bottom: 2px solid #fff;
  color: var(--bb-brown);
  text-decoration: none;
  transition: filter .15s;
}
.cmp_row:hover { filter: brightness(.97); color: var(--bb-brown); }
.cmp_cell { padding: 10px; font-size: 12.5px; line-height: 1.5; }
.cmp_shop { display: flex; align-items: center; gap: 10px; padding: 10px 12px; }
.cmp_shop img {
  flex: none;
  width: 100px;
  height: 68px;
  object-fit: cover;
  border-radius: 8px;
  border-left: 6px solid var(--c);
}
.cmp_name { font-weight: 900; font-size: 14px; line-height: 1.3; }
.cmp_age { font-weight: 800; }
.cmp_room, .cmp_cafe { font-weight: 800; color: var(--bb-green); }
.cmp_room i, .cmp_cafe i { margin-right: 3px; vertical-align: -2px; }
.cmp_cafe.is-none { color: #9a8f74; }
.cmp_station { font-size: 12px; }
.cmp_station b { display: block; font-family: var(--bb-num); font-size: 17px; color: var(--c); }

.cmp_sp { display: none; }
.acc_item { border-bottom: 2px solid #fff; }
.acc_head {
  width: 100%;
  display: grid;
  grid-template-columns: 92px 1fr 28px;
  align-items: center;
  gap: 10px;
  padding: 8px 10px 8px 8px;
  border: 0;
  background: var(--t);
  color: var(--bb-brown);
  font-family: var(--bb-round);
  text-align: left;
  cursor: pointer;
}
.acc_head img {
  width: 92px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  border-left: 6px solid var(--c);
}
.acc_summary { min-width: 0; }
.acc_name { display: block; font-weight: 900; font-size: 14px; }
.acc_age { display: block; font-size: 11px; color: var(--bb-brown2); }
.acc_station {
  display: inline-block;
  margin-top: 3px;
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--c);
  color: #fff;
  font-size: 10.5px;
  font-weight: 800;
}
.acc_mark { position: relative; width: 24px; height: 24px; }
.acc_mark::before, .acc_mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 3px;
  background: var(--bb-brown2);
  border-radius: 2px;
  transform: translate(-50%, -50%);
}
.acc_mark::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s; }
.acc_item.is-open .acc_mark::after { transform: translate(-50%, -50%) rotate(0); }
.acc_body { display: none; padding: 12px 12px 14px; background: var(--bb-cream); border-bottom: 2px solid var(--bb-line); }
.acc_item.is-open .acc_body { display: block; }
.acc_table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.acc_table th {
  width: 84px;
  padding: 8px;
  background: #f7f5ef;
  text-align: left;
  font-weight: 800;
  border-bottom: 1px solid #fff;
}
.acc_table td { padding: 8px; border-bottom: 1px solid #eee; }
.acc_table td.bold { font-weight: 800; }
.acc_table td.ok { color: var(--bb-green); font-weight: 800; }
.acc_table td.none { color: #9a8f74; }
.acc_btns { display: flex; gap: 8px; margin-top: 10px; }
.acc_btn_line, .acc_btn_fill {
  flex: 1;
  padding: 10px;
  border-radius: 30px;
  text-align: center;
  font-weight: 900;
  font-size: 12.5px;
  text-decoration: none;
}
.acc_btn_line { border: 2px solid var(--c); color: var(--c); }
.acc_btn_fill { background: var(--c); color: #fff; }

/* ------------------------------------------------------------
   あそべるコーナー
------------------------------------------------------------ */
.facilities2026 { position: relative; padding: 50px 0 80px; }
.fac_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 34px;
}
.fac_item {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
}
.fac_item:nth-child(odd)  { transform: rotate(-1deg); }
.fac_item:nth-child(even) { transform: rotate(1deg); margin-top: 16px; }
.fac_item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fac_body { padding: 16px 18px 20px; }
.fac_title { margin: 6px 0 0; font-size: 17px; font-weight: 900; }
.fac_text { margin: 4px 0 0; font-size: 12.5px; line-height: 1.7; }
.fac_item .fac_link {
  display: inline-flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 10px 44px 10px 18px;
  border: 2px solid var(--bb-orange);
  border-radius: 30px;
  background: #fff;
  color: var(--bb-orange);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;
  box-sizing: border-box;
}
.fac_item .fac_link::after { right: 10px; }

/* ------------------------------------------------------------
   無料サービス
------------------------------------------------------------ */
.service2026 { position: relative; padding: 40px 0 80px; overflow: hidden; }
.svc_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 30px;
  text-align: center;
}
.svc_item img {
  display: block;
  width: 270px;
  height: 270px;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 50%;
  border: 6px solid #fff;
  box-shadow: 0 8px 20px rgba(60, 45, 9, .12);
}
.svc_title { margin: 14px 0 0; font-size: 16px; font-weight: 900; }
.svc_text { margin: 4px 0 0; font-size: 12.5px; line-height: 1.7; }

/* ------------------------------------------------------------
   料金（既存セクションをこのトーンに寄せる上書き）
------------------------------------------------------------ */
.price_wrap2026 { position: relative; }
.price_wrap2026 .beruberuPrice { background: transparent; padding: 50px 0 80px; }
.price_wrap2026 .section_title_sm {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 40px;
  background: var(--bb-orange);
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .12em;
  transform: rotate(-3deg);
  box-shadow: 0 3px 0 rgba(60, 45, 9, .15);
}
.price_wrap2026 .area_des { margin-top: 24px; }
.price_wrap2026 .area_switch_btns { margin-top: 10px; }
.price_wrap2026 .area_switch_label { margin-top: 14px; }
.price_wrap2026 .price_plan_list_wrapper { margin-top: 30px; }
.price_wrap2026 .rsv_box { margin-top: 40px; }
.price_wrap2026 .section_title { font-size: 32px; font-weight: 900; font-family: var(--bb-round); }
.price_wrap2026 .sec_wave { display: none; }
.price_wrap2026 .special_price_box {
  display: block;
  max-width: 620px;
  margin: 28px auto 0;
  padding: 22px 32px 24px;
  border-radius: 28px;
  background: #fff;
  border: 4px solid var(--bb-red);
  box-shadow: 0 8px 0 var(--bb-tint-pink);
  text-align: center;
}
.price_wrap2026 .special_price_box .icon_special_price { display: none; }
.price_wrap2026 .special_price_title{
  display: inline-block;
  margin: -40px 0 10px;
  padding: 8px 26px;
  border-radius: 40px;
  background: var(--bb-red);
  color: #fff !important;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 4px 0 #a80008;
}
.price_wrap2026 .special_price_box p {
  color: var(--bb-brown);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.price_wrap2026 .special_price_box p br { display: inline; }
/* クリックを邪魔しない保険：装飾は全部 pointer-events:none、タブは前面に */
.wave, .deco_blob, .mv_blob, .confetti,
.beruberuPrice::before, .beruberuPrice::after,
.price_wrap2026::before, .price_wrap2026::after { pointer-events: none; }
.price_wrap2026 .beruberuPrice .inner { position: relative; z-index: 2; }
.price_wrap2026 .area_switch_btns { position: relative; z-index: 3; }
.price_wrap2026 .area_switch_btn {
  position: relative;
  z-index: 3;
  cursor: pointer;
  pointer-events: auto;
  border-radius: 30px;
  font-family: var(--bb-round);
  font-weight: 900;
  border: 3px solid var(--bb-green);
  color: var(--bb-green);
  background: #fff;
}
.price_wrap2026 .area_switch_btn.is-active { background: var(--bb-green); color: #fff; box-shadow: 0 4px 0 #006a2f; }
.price_wrap2026 .price_item { text-align: left; border-radius: 22px; border-width: 4px; box-shadow: 0 10px 28px rgba(60, 45, 9, .09); }
.price_wrap2026 .price_item_title { font-family: var(--bb-round); font-weight: 900; font-size: 22px; }
.price_wrap2026 .price_item_tag_crown {
  font-family: var(--bb-round);
  font-weight: 900;
  border-radius: 40px;
  transform: translateX(-50%) rotate(-3deg);
}
.price_wrap2026 .price_item_features { border-radius: 14px; }
.price_wrap2026 .tbl_price_value { font-weight: 900; }
.price_wrap2026 .annotation, .price_wrap2026 .tbl_price_annotation { text-align: left; letter-spacing: -0.2px; }
.price_wrap2026 .rsv_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 18px 40px;
  max-width: none;
  border-radius: 60px;
  font-family: var(--bb-round);
  font-weight: 900;
  font-size: 16px;
  box-shadow: 0 5px 0 #b86f00;
}

/* ------------------------------------------------------------
   既存セクション（HOW TO / FOOD & DRINK / NEWS）を同じ見出しスタイルに
------------------------------------------------------------ */
.howto .section_title_sm,
.foodDrink .section_title_sm,
.topics .section_title_sm {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 40px;
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .12em;
  transform: rotate(-3deg);
  box-shadow: 0 3px 0 rgba(60, 45, 9, .15);
}
.howto .section_title_sm     { background: var(--bb-green); }
.foodDrink .section_title_sm { background: var(--bb-orange); }
.topics .section_title_sm    { background: var(--bb-blue); }
.howto .section_title,
.foodDrink .section_title,
.topics .section_title {
  font-family: var(--bb-round);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.35;
}
.howto .sec_wave,
.foodDrink .sec_wave,
.topics .sec_wave { display: none; }
.howto .section_lead,
.foodDrink .section_lead,
.topics .section_lead { font-size: 15px; font-weight: 500; line-height: 1.8; }
.howto .inner,
.foodDrink .inner,
.topics .inner { text-align: center; }
.howto, .foodDrink, .topics { padding: 70px 0 80px; }
.howto, .facilities { background: var(--bb-cream); }
.foodDrink {
  background: var(--bb-tint-blue);
  background-image: radial-gradient(#f3d9a8 1.6px, transparent 1.6px);
  background-size: 22px 22px;
}
.topics { background: var(--bb-cream); }
.topics .hot_news { margin-top: 30px; }
.topics .topics_index { gap: 20px; }
.topics #view_more .btn07 {
  display: inline-block;
  margin-top: 10px;
  padding: 8px 20px;
  border-radius: 30px;
  border: 2px solid var(--bb-blue);
  color: var(--bb-blue);
  font-weight: 800;
  text-decoration: none;
}
.topics .topic_detail .news_box { border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 10px 28px rgba(60, 45, 9, .09); }
.topics .topic_detail .more_more {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 30px;
  background: var(--bb-blue);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
}

/* HOW TO：比較ブロック・ポイント・アップグレード */
.howto .compare_section {
  display: grid;
  grid-template-columns: 1fr 64px 1fr;
  align-items: stretch;
  gap: 0;
  margin-top: 40px;
}
.howto .compare_item {
  position: relative;
  margin: 0;
  padding: 26px 26px 24px;
  border-radius: 22px;
  background: #fff;
  border: 3px solid var(--bb-line);
  box-shadow: none;
  text-align: left;
}
.howto .compare_item:last-child {
  border: 4px solid var(--bb-orange);
  box-shadow: 0 10px 28px rgba(60, 45, 9, .12);
}
.howto .compare_item + .compare_item { grid-column: 3; }
.howto .compare_section::before {
  content: "VS";
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--bb-orange);
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 16px;
  line-height: 48px;
  text-align: center;
  box-shadow: 0 4px 0 #b86f00;
}
.howto .compare_title {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 30px;
  background: var(--bb-line);
  color: var(--bb-brown2);
  font-weight: 900;
  font-size: 14px;
}
.howto .compare_title.mark { background: var(--bb-orange); color: #fff; }
.howto .compare_desc { margin-top: 12px; font-size: 13.5px; line-height: 1.7; }
.howto .compare_cost_table { margin-top: 14px; }
.howto .compare_cost_row {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 8px 4px;
  border-bottom: 2px dashed var(--bb-line);
  font-size: 13.5px;
}
.howto .compare_cost_row.total { border-bottom: 0; font-weight: 900; font-size: 15px; }
.howto .compare_cost_value.red span { color: var(--bb-red); font-size: 24px; font-family: var(--bb-num); }
.howto .compare_note { margin-top: 10px; font-size: 12px; color: var(--bb-brown2); }
.howto .compare_note_point {
  display: block;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--bb-red);
  color: #fff;
  font-weight: 900;
  font-size: 15px;
  text-align: center;
  box-shadow: 0 4px 0 #a80008;
}

.howto .point_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 40px;
}
.howto .point_item {
  margin: 0;
  padding: 22px 18px 20px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
  text-align: left;
}
.howto .point_item_ic {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--bb-tint-yellow);
  color: var(--bb-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.howto .point_item:nth-child(2) .point_item_ic { background: var(--bb-tint-blue); color: var(--bb-blue); }
.howto .point_item:nth-child(3) .point_item_ic { background: var(--bb-tint-green); color: var(--bb-green); }
.howto .point_item:nth-child(4) .point_item_ic { background: var(--bb-tint-pink); color: var(--bb-red); }
.howto .point_item_title { margin-top: 12px; font-size: 15px; font-weight: 900; }
.howto .point_item_desc { margin-top: 6px; font-size: 12.5px; line-height: 1.7; }

.howto .upgrade_section {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 40px 0 0;
  padding: 40px 40px 34px;
  border: 4px dashed var(--bb-orange);
  border-radius: 24px;
  background: #fff;
  text-align: center;
}
.howto .upgrade_section .deco_icon { display: none; }
.howto .upgrade_title {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.4;
  color: var(--bb-brown);
}
.howto .upgrade_title br { display: none; }
.howto .upgrade_list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.howto .upgrade_item {
  position: relative;
  flex: 1 1 0;
  width: auto;
  max-width: 220px;
  margin: 0 30px 0 0;
  padding: 18px 12px;
  border: 0;
  border-radius: 16px;
  background: var(--bb-tint-yellow);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
  box-shadow: none;
}
.howto .upgrade_item::before { content: none; }
.howto .upgrade_item::after {
  content: "+";
  position: absolute;
  left: auto;
  right: -30px;
  top: 50%;
  bottom: auto;
  width: 30px;
  height: auto;
  margin: 0;
  background: none;
  border: 0;
  transform: translateY(-50%);
  text-align: center;
  font-family: var(--bb-num);
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  color: var(--bb-orange);
}
.howto .upgrade_item:nth-last-child(2)::after { content: "="; }
.howto .upgrade_item.total {
  margin-right: 0;
  background: var(--bb-orange);
  color: #fff;
  font-size: 24px;
  font-family: var(--bb-num);
  box-shadow: 0 5px 0 #b86f00;
  display: flex;
  align-items: center;
  justify-content: center;
}
.howto .upgrade_item.total::after { content: none; }
.howto .upgrade_desc_strong {
  display: inline-block;
  margin-top: 26px;
  padding: 10px 22px;
  border-radius: 30px;
  background: var(--bb-tint-pink);
  color: var(--bb-red);
  font-weight: 900;
  font-size: 15px;
}
.howto .upgrade_desc { margin-top: 12px; font-size: 13.5px; line-height: 1.8; }

/* FOOD & DRINK：カード化＋写真を傾ける */
.foodDrink .food_intro { gap: 30px; margin-top: 36px; }
.foodDrink .food_intro_item {
  position: relative;
  padding: 26px 24px 28px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
  text-align: left;
}
.foodDrink .food_intro_item:nth-child(1) { transform: rotate(-1deg); }
.foodDrink .food_intro_item:nth-child(2) { transform: rotate(1deg); }
.foodDrink .food_intro_item:nth-child(1)::before,
.foodDrink .food_intro_item:nth-child(2)::before {
  position: absolute;
  top: -14px;
  left: 20px;
  padding: 5px 16px;
  border-radius: 40px;
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .12em;
  transform: rotate(-3deg);
  box-shadow: 0 3px 0 rgba(60, 45, 9, .15);
}
.foodDrink .food_intro_item:nth-child(1)::before { content: "KIDS MENU"; background: var(--bb-red); }
.foodDrink .food_intro_item:nth-child(2)::before { content: "FOOD"; background: var(--bb-green); }
.foodDrink .food_intro_img {
  width: 100%;
  border-radius: 10px;
  border: 8px solid #fff;
  box-shadow: 0 8px 20px rgba(60, 45, 9, .14);
  transform: rotate(-2deg);
  margin-bottom: 18px;
}
.foodDrink .food_intro_item:nth-child(2) .food_intro_img { transform: rotate(2deg); }
.foodDrink .food_intro_title { font-size: 20px; font-weight: 900; }
.foodDrink .food_intro_desc { font-size: 13.5px; line-height: 1.8; }
.foodDrink .food_intro_link {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 18px;
  border-radius: 30px;
  border: 2px solid var(--bb-orange);
  color: var(--bb-orange);
  font-weight: 800;
  font-size: 12.5px;
  text-decoration: none;
}
.foodDrink .column_wide { margin-top: 36px; transform: none; border: 4px solid var(--bb-blue); }
.foodDrink .column_wide::before {
  content: "DRINK";
  position: absolute;
  top: -14px;
  left: 20px;
  padding: 5px 16px;
  border-radius: 40px;
  background: var(--bb-blue);
  color: #fff;
  font-family: var(--bb-num);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .12em;
  transform: rotate(-3deg);
  box-shadow: 0 3px 0 rgba(60, 45, 9, .15);
}
.foodDrink .column_wide .food_intro_desc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.foodDrink .food_intro_desc_item {
  position: relative;
  padding: 8px 10px 8px 30px;
  border-bottom: 2px dashed var(--bb-line);
  font-size: 13px;
  line-height: 1.7;
}
.foodDrink .food_intro_desc_item::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--bb-blue);
}
.foodDrink .food_intro_desc_item:nth-child(1),
.foodDrink .food_intro_desc_item:nth-child(4) {
  grid-column: 1 / -1;
  padding-left: 14px;
  border-bottom: 0;
  font-size: 16px;
  font-weight: 900;
  color: var(--bb-blue);
}
.foodDrink .food_intro_desc_item:nth-child(1)::before,
.foodDrink .food_intro_desc_item:nth-child(4)::before { content: none; }
.foodDrink .food_intro_desc_item:nth-child(4) { margin-top: 14px; color: var(--bb-orange); }
.foodDrink .food_intro_desc_item:nth-child(n+5)::before { background: var(--bb-orange); }

/* ------------------------------------------------------------
   ハンバーガーメニュー（開いた状態）
------------------------------------------------------------ */
#gnavi_sp {
  background: var(--bb-cream);
  background-image: radial-gradient(#f3d9a8 1.6px, transparent 1.6px);
  background-size: 22px 22px;
}
#gnavi_sp .gnavi_sp_box { padding: 28px 20px 40px; }
#gnavi_sp ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#gnavi_sp ul li { margin: 0; border: 0; }
#gnavi_sp ul li a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 14px 14px 14px 18px;
  border-radius: 18px;
  background: #fff;
  border: 0;
  border-top: 8px solid var(--bb-blue);
  box-shadow: 0 6px 18px rgba(60, 45, 9, .1);
  color: var(--bb-brown);
  font-family: var(--bb-round);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
  text-decoration: none;
}
#gnavi_sp ul li:nth-child(4n+1) a { border-top-color: var(--bb-red); }
#gnavi_sp ul li:nth-child(4n+2) a { border-top-color: var(--bb-green); }
#gnavi_sp ul li:nth-child(4n+3) a { border-top-color: var(--bb-blue); }
#gnavi_sp ul li:nth-child(4n+4) a { border-top-color: var(--bb-orange); }
#gnavi_sp ul li a::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 3px solid var(--bb-brown2);
  border-bottom: 3px solid var(--bb-brown2);
  transform: translateY(-50%) rotate(-45deg);
}
#gnavi_sp .rsv_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 22px auto 0;
  max-width: none;
  padding: 18px 20px;
  border-radius: 60px;
  background: var(--bb-red);
  color: #fff;
  font-family: var(--bb-round);
  font-weight: 900;
  font-size: 16px;
  box-shadow: 0 5px 0 #a80008;
  text-decoration: none;
}
.header_sp .hamburger_lines span { background: var(--bb-blue); border-radius: 4px; }
.header_sp .hamburger_lines span:nth-child(1) { background: var(--bb-red); }
.header_sp .hamburger_lines span:nth-child(2) { background: var(--bb-green); }
.header_sp .hamburger_lines span:nth-child(3) { background: var(--bb-blue); }
.header_sp .hamburger_label { color: var(--bb-orange); }
.header_sp .hamburger_label { font-family: var(--bb-num); font-weight: 900; }

/* ------------------------------------------------------------
   店舗一覧
------------------------------------------------------------ */
.shop2026 { padding: 50px 0 80px; }
.area_title2026 { margin: 34px 0 0; text-align: left; }
.area_title2026 .age_tag { font-size: 13px; padding: 4px 16px; }
.shop2026 .shop_grid { margin-top: 16px; text-align: left; }
.shop2026 .shop_card {
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
}
.shop_card_photos {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
  aspect-ratio: 16 / 9;
}
.shop_card_photos img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shop_card_photos img.main { grid-row: 1 / 3; }
.shop2026 .shop_card_body { padding: 20px; }
.shop_name_row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.shop2026 .shop_name { margin: 0; font-size: 20px; font-weight: 900; font-family: var(--bb-round); }
.shop_station_tag {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 30px;
  background: var(--c);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
}
.shop2026 .shop_desc { margin: 8px 0 0; font-size: 12.5px; line-height: 1.7; }
.shop_spec_dl {
  display: grid;
  gap: 6px;
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--bb-tint-yellow);
  font-size: 12.5px;
}
.shop_spec_dl .spec_row { display: grid; grid-template-columns: 86px 1fr; gap: 8px; }
.shop_spec_dl dt { color: var(--bb-orange); font-weight: 800; }
.shop_spec_dl dd { margin: 0; font-weight: 800; }
.shop2026 .shop_card_map { margin-top: 12px; border-radius: 12px; overflow: hidden; }
.shop2026 .shop_card_map iframe { width: 100%; height: 140px; display: block; }
.shop2026 .shop_today_box {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--bb-cream);
  border: 2px dashed #f3d9a8;
}
.shop2026 .shop_today_time { font-size: 16px; font-weight: 900; }
.shop2026 .tag_item { background: var(--bb-tint-yellow); font-weight: 700; }
.shop_card_btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

/* ------------------------------------------------------------
   SP
------------------------------------------------------------ */
@media screen and (max-width: 751px) {
  .ttl2026 { font-size: 24px; }
  .lead2026 { font-size: 13.5px; }
  .btn_pop { padding: 16px 30px; font-size: 15px; }

  .mv2026 { min-height: 0; }
  .mv_inner { grid-template-columns: 1fr; padding: 36px 20px 70px; gap: 10px; }
  .mv_title { font-size: 40px; }
  .mv_catch { font-size: 18px; }
  .mv_collage { height: 280px; margin-top: 10px; }
  .mv_collage .p1 { left: 0;    top: 10px;  width: 46%; }
  .mv_collage .p2 { left: 42%;  top: 0;     width: 52%; }
  .mv_collage .p3 { left: 6%;   top: 140px; width: 44%; }
  .mv_collage .p4 { left: 50%;  top: 135px; width: 48%; }

  .merit { padding-top: 10px; }
  .merit_list { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .bubble { padding: 16px 14px 14px; border-radius: 18px; }
  .merit_title { font-size: 14px; }
  .merit_text { font-size: 11.5px; }
  .merit_ic { width: 48px; height: 48px; margin-top: 18px; }
  .merit_ic i { font-size: 24px; }

  .gallery_item { width: 130px; }

  .about2026 { padding: 50px 0 60px; }
  .about_grid { grid-template-columns: 1fr; gap: 28px; }
  .about_photos { min-height: 340px; }
  .about_badge { width: 96px; height: 96px; font-size: 11.5px; }
  .about_point_title { font-size: 15px; }
  .about_point_text { font-size: 12.5px; }

  .dayflow { padding: 40px 0 60px; }
  .flow_list { grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 30px; }
  .flow_item.f2, .flow_item.f4 { margin-top: 20px; }
  .flow_title { font-size: 17px; }
  .flow_text { font-size: 12px; }
  .proom { grid-template-columns: 1fr; margin-top: 36px; }
  .proom_img { min-height: 0; aspect-ratio: 4 / 3; }
  .proom_body { padding: 22px 20px; }
  .proom_title { font-size: 19px; }

  .compare2026 { padding: 30px 0 60px; }
  .cmp_pc { display: none; }
  .cmp_sp {
    display: block;
    margin-top: 26px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 28px rgba(60, 45, 9, .09);
  }

  .facilities2026 { padding: 40px 0 60px; }
  .fac_list { grid-template-columns: 1fr; gap: 18px; }
  .fac_item:nth-child(even) { margin-top: 0; }

  .service2026 { padding: 30px 0 60px; }
  .svc_list { grid-template-columns: 1fr; gap: 26px; }
  .svc_item img { width: 220px; height: 220px; }

  .price_wrap2026 .beruberuPrice { padding: 40px 0 60px; }
  .price_wrap2026 .section_title { font-size: 24px; }
  .price_wrap2026 .special_price_box { padding: 14px 24px; }

  .howto, .foodDrink, .topics { padding: 50px 0 60px; }
  .howto .section_title, .foodDrink .section_title, .topics .section_title { font-size: 24px; }
  .howto .compare_section { grid-template-columns: 1fr; gap: 20px; }
  .howto .compare_item + .compare_item { grid-column: 1; }
  .howto .compare_section::before { content: none; }
  .howto .point_list { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 30px; }
  .howto .point_item { padding: 16px 14px; }
  .howto .upgrade_section { padding: 28px 18px 24px; }
  .howto .upgrade_title { font-size: 18px; }
  .howto .upgrade_title br { display: inline; }
  .howto .upgrade_list { flex-direction: column; align-items: stretch; gap: 0; }
  .howto .upgrade_item { max-width: none; margin: 0 0 30px; }
  .howto .upgrade_item::after { right: auto; left: 50%; top: auto; bottom: -30px; transform: translateX(-50%); width: auto; height: 30px; line-height: 30px; }
  .howto .upgrade_item.total { margin-bottom: 0; }
  .foodDrink .food_intro_item { padding: 22px 18px 24px; }
  .foodDrink .food_intro_item:nth-child(1), .foodDrink .food_intro_item:nth-child(2) { transform: none; }
  .foodDrink .column_wide .food_intro_desc { grid-template-columns: 1fr; }
  .price_wrap2026 .special_price_box { padding: 20px 18px 20px; }
  .price_wrap2026 .special_price_title { font-size: 17px; }
  .price_wrap2026 .special_price_box p { font-size: 13px; }
  #gnavi_sp ul { grid-template-columns: 1fr 1fr; }
  .shop2026 { padding: 40px 0 60px; }
  .shop_card_btns { flex-direction: column; align-items: stretch; }
  .shop_card_btns .btn_pop { justify-content: center; }
}

/* KV：中間幅ではコラージュを縮める */
@media screen and (min-width: 752px) and (max-width: 1180px) {
  .mv_inner { grid-template-columns: 1fr 560px; }
  .mv_collage { height: 500px; }
  .mv_collage .p1 { width: 250px; top: 40px; }
  .mv_collage .p2 { left: 230px; width: 280px; }
  .mv_collage .p3 { left: 50px; top: 260px; width: 230px; }
  .mv_collage .p4 { left: 300px; top: 245px; width: 260px; }
}
