/* dcs-260413-special-offer 専用CSS */
/* sp_2602trial.css の上書きスタイル */

/* 固定カートバー：カートアイコン・矢印を表示（sp_2602trial.cssのdisplay:noneを解除） */
#cart_fixed a:before {
  display: block !important;
}
#cart_fixed a:after {
  display: block !important;
}
/* 固定カートバー：画像幅を251001と同じに */
#cart_fixed a img {
  width: 367px !important;
}
/* 送料無料アイコン：金額と被らないよう位置・サイズを調整 */
#cont_offer.trial_2602 .wrapper .box_price .title span.icon2 {
  width: 105px !important;
  top: 0 !important;
}
#cont_offer.trial_2602 .wrapper .box_price .title h2 {
  margin-bottom: 20px !important;
}
/* カートボタン：無料アイコンをカートアイコンに変更 */
#cont_offer.trial_cp.trial_2602 .wrapper .box_price .cart_btn a {
  padding-top: 0 !important;
  margin: 0 auto !important;
}
/* カートボタン：中央配置 */
#cont_offer.trial_cp.trial_2602 .wrapper .box_price .cart_btn {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
}
#cont_offer.trial_cp.trial_2602 .wrapper .box_price .cart_btn a::before {
  content: "" !important;
  width: 41px !important;
  height: 40px !important;
  background: url(../img/icon_cart_fixed.png) no-repeat !important;
  background-size: contain !important;
  top: 34px !important;
  left: 52px !important;
  font-size: 0 !important;
}

/* トライアルサイズ/レギュラー：.price内のicon2を価格の右横に配置 */
#cont_offer.trial_size .wrapper .box_price .price,
#cont_offer.regular .wrapper .box_price .price {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
#cont_offer.trial_size .wrapper .box_price .price > img,
#cont_offer.regular .wrapper .box_price .price > img {
  flex: 1 !important;
  width: auto !important;
  min-width: 0 !important;
}
#cont_offer.trial_size .wrapper .box_price .price span.icon2,
#cont_offer.regular .wrapper .box_price .price span.icon2 {
  position: static !important;
  width: 85px !important;
  flex-shrink: 0 !important;
  margin-left: 5px !important;
}
/* レギュラーセクション：カートボタンテキスト中央配置 */
#cont_offer.regular .wrapper .box_price .cart_btn a {
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* レギュラーセクション：title_offer_05.pngの画像を80%に縮小 */
#cont_offer.regular .wrapper .box_price .price > img {
  max-width: 70% !important;
}
/* .noticeテキスト：中央配置 */
#cont_offer .wrapper .box_price .text p.notice {
  text-align: center !important;
  font-size: 17px !important;
}
/* カートボタン：矢印・アイコンを垂直中央揃え */
#cont_offer.trial_cp.trial_2602 .wrapper .box_price .cart_btn a::before {
  top: 50% !important;
  transform: translateY(-50%) !important;
}
#cont_offer.trial_cp.trial_2602 .wrapper .box_price .cart_btn a::after {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* === キッザニア東京チケットプレゼントキャンペーンバナー === */
.kidzania-campaign {
  background: linear-gradient(180deg, #FFF0F3 0%, #FFFFFF 100%);
  border: 2px solid #F36A88;
  border-radius: 8px;
  margin: 0 15px 20px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(243, 106, 136, 0.15);
}

.kidzania-campaign__ribbon {
  background: linear-gradient(90deg, #F36A88, #ED4C73);
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  padding: 6px 0;
  letter-spacing: 0.1em;
}

.kidzania-campaign__body {
  padding: 15px 15px 12px;
  text-align: center;
  background: #fff;
}

.kidzania-campaign__headline {
  font-size: 16px;
  font-weight: 700;
  color: #666666;
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.kidzania-campaign__line {
  line-height: 1.2;
}

.kidzania-campaign__lottery {
  display: inline-block;
  background: #F36A88;
  color: #fff;
  padding: 1px 8px;
  border-radius: 3px;
  font-size: 16px;
  margin: 0 2px;
  vertical-align: middle;
}

.kidzania-campaign__number {
  font-size: 30px;
  font-weight: 800;
  color: #ED1876;
  vertical-align: baseline;
}

.kidzania-campaign__present {
  font-size: 18px;
  font-weight: 800;
  color: #666666;
}

/* 情報カード：横並び */
.kidzania-campaign__info {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-bottom: 10px;
}

.kidzania-campaign__info-card {
  background: #fff;
  border: 1px solid #F5C6D0;
  border-radius: 6px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.kidzania-campaign__info-label {
  font-size: 12px;
  font-weight: 700;
  color: #F36A88;
}

.kidzania-campaign__info-value {
  font-size: 14px;
  font-weight: 700;
  color: #333;
}

.kidzania-campaign__note {
  font-size: 11px;
  color: #000;
  line-height: 1.6;
  text-align: center;
}

.kidzania-campaign__br-sp {
  display: none;
}

.kidzania-campaign__image {
  margin-top: 12px;
}
.kidzania-campaign__image img {
  width: 100%;
  height: auto;
  display: block;
}


@media screen and (max-width: 640px) {
  /* キッザニアキャンペーン：SPレスポンシブ */
  .kidzania-campaign {
    margin: 0 2.34vw 3.13vw;
    border-radius: 1.25vw;
    border-width: 0.31vw;
  }

  .kidzania-campaign__ribbon {
    font-size: 4.5vw;
    padding: 0.94vw 0;
  }

  .kidzania-campaign__body {
    padding: 2.34vw 2.34vw 1.88vw;
    background: #fff;
  }

  .kidzania-campaign__headline {
    font-size: 4vw;
    margin-bottom: 1.56vw;
    gap: 2.2vw;
  }

  .kidzania-campaign__lottery {
    font-size: 4vw;
    padding: 0.16vw 1.25vw;
    border-radius: 0.47vw;
  }

  .kidzania-campaign__number {
    font-size: 6vw;
  }

  .kidzania-campaign__present {
    font-size: 4vw;
  }

  .kidzania-campaign__info {
    gap: 1.25vw;
    margin-bottom: 1.56vw;
  }

  .kidzania-campaign__info-card {
    padding: 1.25vw 1.56vw;
    border-radius: 0.94vw;
    gap: 0.31vw;
    text-align: center;
    align-items: center;
  }

  .kidzania-campaign__info-label {
    font-size: 3.2vw;
  }

  .kidzania-campaign__info-value {
    font-size: 3vw;
  }

  .kidzania-campaign__note {
    font-size: 2.5vw;
  }

  .kidzania-campaign__br-sp {
    display: inline;
  }

  .kidzania-campaign__image {
    margin-top: 1.88vw;
  }



  #cart_fixed a img {
    width: 57.34vw !important;
  }
  #cont_offer.trial_2602 .wrapper .box_price .title span.icon2 {
    width: 16.41vw !important;
    top: 0 !important;
  }
  #cont_offer.trial_cp.trial_2602 .wrapper .box_price .cart_btn a::before {
    width: 6.41vw !important;
    height: 6.25vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: 8.13vw !important;
  }
  /* トライアルサイズ/レギュラー：.price内のicon2 */
  #cont_offer.trial_size .wrapper .box_price .price span.icon2,
  #cont_offer.regular .wrapper .box_price .price span.icon2 {
    width: 13.28vw !important; /* 85px / 640px */
  }
  #cont_offer .wrapper .box_price .text p.notice {
    font-size: 2.8vw !important;
  }
  /* 保育セクション：h4のマージンリセット＆中央配置 */
  #cont_id_1 .box_hoiku .title h4 {
    margin: 0 !important;
    text-align: center !important;
    width: 100% !important;
  }
  /* レギュラーセクション：カートボタン高さをレスポンシブに */
  #cont_offer.regular .wrapper .box_price .cart_btn a {
    height: 14.06vw !important; /* 90px / 640px */
  }
  /* フッター：テキスト・ロゴサイズを拡大 */
  footer {
    padding: 6.25vw 0 18.75vw !important;
  }
  footer .footer_logo {
    width: 40vw !important;
    margin: 0 auto 3vw !important;
  }
  footer .footer_nav p {
    font-size: 2.8vw !important;
    line-height: 2.2 !important;
  }
  footer p.footer_copy {
    font-size: 2.5vw !important;
    margin-top: 2vw !important;
  }
}
