
html,
body {
    margin: 0;
    padding: 0;
    /* ページ内で特に指定していない文字 */
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 500;       /* Medium相当 */
    color: #333333;
    background-color: #ffffff;
}
/* メインビジュアル
  --------------------------- */
.newyear__mv {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.newyear__mv--image img {
  width: 100%;
  max-width: 1600px;
  height: auto;
  display: block;
}

/* メインビジュアルここまで
  --------------------------- */
/* ===============================
   検索モジュール枠ここから
   =============================== */

/* 外枠 */
.newyear__search-outer {
  width: calc(100% + 200px);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 60px auto;
  background: transparent;
  box-sizing: border-box;
}

/* 大枠 */
.newyear__search--container {
  width: 100%;
  background: #F4F1D7;
  overflow: hidden;
  position: relative;
  padding: 0 0 40px;
  box-sizing: border-box;
}

/* タイトル枠：タイトルの見た目は「box-title側」で完結させる */
.box-title {
  width: 100%;
  background: #C7AC53;
  color: #fff;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 26pt; 
  line-height: 1.35;
  text-align: center;
  padding: 18px 0 14px;
  position: relative;
  box-sizing: border-box;
  font-weight: bold;
}

/* タイトル内のp：余白だけリセット（色・サイズは親を継承） */
.newyear__search--container .box-title > p {
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}

/* 検索ブロック：タイトル直下の余白を「ここ」で確実に作る（空でも必ず空く） */
.newyear__search--container .newyear__search {
  padding-top: 140px;   /* ← タイトル直下の余白（調整可） */
}

/* 以降のテキスト指定は「検索ブロック内」に限定（タイトルpを巻き込まない） */
.newyear__search--container .newyear__search p {
  text-align: center;
  font-size: 16px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.5;
  color: #2F2F2F;
}

.newyear__search--container .newyear__search a {
  color: #2F2F2F;
}

/* 動的モジュール挿入先（箱として存在させるだけでOK） */
.search-module-slot {
  display: block;
}

/* 注意文：モジュール側が float を使っても必ず下に回す */
.search-module-attention {
  margin: 40px 0 0;  /* ← slot〜注意文の余白（調整可） */
  clear: both;       /* ← 巻き込み対策の本命 */
}

/* 注意文（必要なら個別に） */
.sale_attention {
  text-align: left;
  font-size: 12pt;
}

.font-red { color: #A0210E; }

/* ===============================
   検索モジュール枠ここまで
   =============================== */




 /* ページ全体ラッパークラス */
.newyear__wrapper{
  display: flex;              
  flex-direction: column;     
  align-items: center;       
  justify-content: center;    
  max-width: 1000px;          
  margin: 0 auto;          
}
 /* ページ全体ラッパークラスここまで */
/* ===========================================
   アンカーリンク
   =========================================== */
/* アンカーボタン */
.newyear__intro--nav {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  height: 90px;
  margin-bottom: 80px;
}

.newyear__intro--nav .newyear_intro--list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  flex-wrap: nowrap;
  height: 100%;
}

.newyear__intro--nav .newyear_intro--item {
  width: 200px;
  height: 80px;
  border: 3px solid #B41907;
  border-radius: 20px;
  background-color: #B41907;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 900;
  text-align: center;
  color: #fff;
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
}

.newyear__intro--nav .newyear_intro--item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
    padding-top: 4px;
  padding-bottom: 16px;
}

/* ▼ 下の矢印装飾（ボタン内に収める） */
.newyear__intro--nav .newyear_intro--item::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 4px;  
  transform: translateX(-50%);
  width: 32px;   
  height: 18px;  
  background-image: url('../images/logo/button_down_arrow.png');
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;  /* 矢印がクリックを邪魔しないように */
}
/* 左アイコン */
.newyear__intro--nav .newyear_intro--item a::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
}

/* 各エリアのアイコン指定 */
.newyear__intro--nav .newyear_intro--item.kyushuu a::before {
  background-image: url('../images/logo/icon_kyuusyu.png');
}
.newyear__intro--nav .newyear_intro--item.okinawa a::before {
  background-image: url('../images/logo/icon_okinawa.png');
}
.newyear__intro--nav .newyear_intro--item.hokkaidou a::before {
  background-image: url('../images/logo/icon_hokkaidou.png');
}
.newyear__intro--nav .newyear_intro--item.honsyuu a::before {
  background-image: url('../images/logo/icon_honsyuu.png');
}

/* アンカーボタンここまで
  --------------------------- */



  
/* 冬の計画しよう♪
  --------------------------- */
 .newyear__intro--subtitle {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  position: relative;
  margin-top: 40px;
  margin-bottom: 45px;
}
.newyear__intro--subtitle::before { content: "＼　"; color: 	#C7AC53; font-weight: bold; font-size: 26px; }
.newyear__intro--subtitle::after { content: "　／"; color: 	#C7AC53; font-weight: bold; font-size: 26px; }
/* 冬の計画しよう♪　ここまで
  --------------------------- */

  /* イントロテキスト
  --------------------------- */
.newyear__intro { 
  position: relative;     
  z-index: 0;
  width: 160%;
}

.newyear__intro::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #F4F1D7;
  background-image: url('../images/back/heighlight_both.png'),
                    url('../images/back/heighlight_both.png');
  /* 縦に繰り返す */
  background-repeat: repeat-y, repeat-y;
  background-position: left top, right top; 
  background-size: 145px auto, 145px auto;
  z-index: -1;
}

.newyear__intro--text {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	font-family: zen maru gothic, serif;
	line-height: 2;
  color: #1F2A57;
  text-align: center; 
  margin-top: 40px;
}

.newyear__intro--text .dotted {
  display: inline-block; 
  width: 70%;
  border-bottom: 4px dotted #C7AC53;
  padding-bottom: 3px;
  box-sizing: border-box;
}
/* イントロテキストここまで
  --------------------------- */


/* 詳しくはこちら、セール対象のプランはこちらボタン */
.button_link_detail {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 340px;          /* 最低幅 */
  min-height: 60px;          /* 最低高さ */
  padding: 0 30px;
  border-radius: 30px;
  margin: 15px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  position: relative;        /* 矢印の基準 */
  padding-right: 48px;       /* 右端の矢印分 */
}
.button_link_detail::after {
  content: ">";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: inherit;
  font-size: 16px;
  line-height: 1;
}

/* カラーバリエーション */
/* ===== ボタン配色（背景・枠） ===== */
.button_orange { background:#F08300; border:2px solid #F08300; }
.button_gold   { background:#C7AC53; border:2px solid #C7AC53; }
.button_red    { background:#B41907; border:2px solid #B41907; }
.button_deepblue    { background:#0C4298; border:2px solid #0C4298; }
.button_blue { background:#36779F; border:2px solid #36779F; }

/* ===== 文字色と装飾の統一（白＆下線なし） ===== */
/* ボタン本体が <a> でも <div> + 内部<a> でも統一して白に */
.button_link_detail,
.button_link_detail:link,
.button_link_detail:visited,
.button_link_detail:hover,
.button_link_detail:active,
.button_link_detail a,
.button_link_detail a:link,
.button_link_detail a:visited,
.button_link_detail a:hover,
.button_link_detail a:active {
  color: #fff !important;
  text-decoration: none !important;
}
.button_short{
  min-width: 220px;
  max-width: 220px;
  margin: 0px;
  margin-bottom: 45px;
}


/* ボタンここまで */

/* === PayPayバッジ付きボタン用 === */
.button_with_badge {
  position: relative;
  display: inline-block;
}

/* ボタン自体は既存の .button_link_detail を使用 */
.button_with_badge .button_link_detail { position: relative; z-index: 0; }

/* 丸縁で囲ったロゴ（ボタンの左に半分重ねる） */
.button_badge {
  position: absolute;
  left: 55px;               
  top: 50%;
  transform: translateY(-50%);
  width: 85px;
  height: 85px;
  border-radius: 50%;
  background: #fff;         
  border: 2px solid #F08300; 
  padding: 8px;             
  box-sizing: border-box;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
  object-fit: contain;      
  display: block;
  z-index: 1;
  pointer-events: none;      
}

/* テキストがバッジにかぶらないよう左側に余白を追加（PayPay版だけ） */
.button_link_detail.is-paypay {
  padding-left: 72px;       
 min-width: 250px; 
}

/* ボタンをページ中央に */
.newyear__intro { text-align: center; }
.newyear__intro .button_with_badge { display: inline-flex; margin: 12px auto 0; }


/* 横並びここから
--------------------------- */

/* 観光情報エリア全体（九州・沖縄・北海道・本州共通） */
.reco_two-col {
  display: flex;
  flex-direction: row;
  gap: 60px;
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto 32px;
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
}

/* カード共通：画像ラッパー（スポット／アプリ） */
.reco_two-col .newyear_reccommend a,
.reco_two-col .apps_recomend a {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
  width: 100%;
  max-width: 550px;
  margin-inline: auto;
}

/* カード共通：中の画像サイズ（スポット／アプリ） */
.reco_two-col .newyear_reccommend img,
.reco_two-col .apps_recomend img {
  width: 100%;
  height: 100%;
  display: block;
}

/* アプリおススメ／スポットカード共通（2カラム内） */
.reco_two-col .apps_recomend,
.reco_two-col .newyear_reccommend {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

/* 九州観光情報（見出し＋2カード横並び） */
.reco_two-col.kyushuu_spot,
.reco_two-col.okinawa_spot,
.reco_two-col.hokkaido_spot,
.reco_two-col.honshu_spot {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: stretch;
  max-width: 1000px;
  margin: 0 auto 32px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 24px;
  padding: 25px 20px;
}

.reco_two-col.okinawa_spot,
.reco_two-col.honshu_spot {
  background: #F4F1D7;
}

/* サブ見出し共通（中央・短めの下線） */
.sub_head {
  flex: 0 0 100%;
  text-align: center;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.4;
  margin: 0 auto 16px;
  padding-bottom: 0;
  border-bottom: none;
  position: relative;
}

/* 共通：短めの下線を after で中央に */
.sub_head::after {
  content: "";
  display: block;
  width: 350px;
  max-width: 80%;
  margin: 6px auto 0;
  border-bottom: 5px solid transparent;
}

/* 金ボーダー（九州観光情報など） */
.sub_head.border_gold::after {
  border-bottom-color: #C7AC53;
}

/* 白ボーダー（九州のお得なプランなど） */
.sub_head.border_white::after {
  border-bottom-color: #ffffff;
}

/* 観光情報系見出し（フォント小さめ・線も細め） */
.kyushuu_spot .sub_head,
.okinawa_spot .sub_head,
.hokkaido_spot .sub_head,
.honshu_spot .sub_head {
  font-size: 30px;
  margin: 40px auto 12px;
  font-weight: bold;
}

/* 観光情報見出しの線だけ少し細く＆短く */
.kyushuu_spot .sub_head::after,
.okinawa_spot .sub_head::after,
.hokkaido_spot .sub_head::after,
.honshu_spot .sub_head::after {
  width: 200px;
  border-bottom-width: 3px;
}

/* 2枚のカード（丸ごと白背景の角丸：エリア共通） */
.reco_two-col.kyushuu_spot > .newyear_reccommend,
.reco_two-col.okinawa_spot > .newyear_reccommend,
.reco_two-col.hokkaido_spot > .newyear_reccommend,
.reco_two-col.honshu_spot  > .newyear_reccommend,
.reco_two-col.kyushuu_spot > .apps_recomend,
.reco_two-col.okinawa_spot > .apps_recomend,
.reco_two-col.hokkaido_spot > .apps_recomend,
.reco_two-col.honshu_spot  > .apps_recomend {
  flex: 1 1 calc(50% - 10px);
  min-width: 280px;
  padding: 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* 横並びここまで
--------------------------- */


/* アプリおススメここから
  --------------------------- */

/* アプリおススメ 共通レイアウト */
.apps_recomend {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

/* 単独セクションとして使うとき（トップのアプリ紹介） */
.newyear__wrapper > .apps_recomend {
  max-width: 960px;
  margin: 40px auto 60px;
  padding: 0 16px;
  box-sizing: border-box;
}

/* 単独セクション内の画像ラッパー */
.newyear__wrapper > .apps_recomend > a {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

/* 単独セクション内の画像 */
.newyear__wrapper > .apps_recomend > a img {
  display: block;
  width: 100%;
  height: auto;
}

/* 吹き出し（画像の上に来る） */
.lead_bubble {
  display: block;
  width: 100%;
  background: #F2F2F2;
  color: #333;
  border-radius: 50px;
  padding: 24px 14px;
  margin: 0 0 30px;
  font-family: "Zen Maru Gothic","Noto Sans JP",sans-serif;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
  box-sizing: border-box;
  font-size: x-large;
}

/* 吹き出しの尻尾（下中央→画像側） */
.lead_bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -15px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #F2F2F2;
}

/* アプリStore画像（App Store / Google Play：横並び） */
.apps_recomend .apps_imags {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 100px;
  flex-wrap: wrap;
  margin: 8px auto 0;
}

.apps_recomend .apps_imags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 2px;
}

.apps_recomend .apps_imags img {
  width: auto;
  height:100%;
  display: block;
}

/* 「簡単検索や1タップ…」は小さめに */
.apps_caption {
  font-size: 18px;
  line-height: 1.7;
  color: #444;
  text-align: center;
  margin: 20px 0 20px 0;
}

/* アプリおススメここまで
  --------------------------- */



/* サブ見出し共通（中央・短めの下線） */
.sub_head {
  flex: 0 0 100%;  /* 1行まるごと見出しにする */
  text-align: center;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.4;
  margin: 0 auto 16px;
  padding-bottom: 0;
  border-bottom: none;      /* 実線は ::after で描く */
  position: relative;
}

/* 共通：短めの下線を after で中央に */
.sub_head::after {
  content: "";
  display: block;
  width: 350px;          /* 線の長さ（白線・金線共通のベース） */
  max-width: 80%;
  margin: 6px auto 0;
  border-bottom: 5px solid transparent;
}

/* 金ボーダー（九州観光情報など） */
.sub_head.border_gold::after {
  border-bottom-color: #C7AC53;
}

/* 白ボーダー（九州のお得なプランなど） */
.sub_head.border_white::after {
  border-bottom-color: #ffffff;
}

/* 観光情報系見出し（フォント小さめ・線も細め） */
/* 九州 / 沖縄 / 北海道 / 本州 観光情報 */
.kyushuu_spot .sub_head,
.okinawa_spot .sub_head,
.hokkaido_spot .sub_head,
.honshu_spot .sub_head {
  /* flex 子として 1行占有はそのまま利用 */
  font-size: 30px;
  margin: 40px auto 12px;
  font-weight: bold;
}

/* 観光情報見出しの線だけ少し細く＆短く */
.kyushuu_spot .sub_head::after,
.okinawa_spot .sub_head::after,
.hokkaido_spot .sub_head::after,
.honshu_spot .sub_head::after {
  width: 200px;         
  border-bottom-width: 3px;
}



/* 画像リンクのラッパー（吹き出し重ね用：エリア共通） */
.kyushuu_spot .newyear_reccommend a,
.okinawa_spot .newyear_reccommend a,
.hokkaido_spot .newyear_reccommend a,
.honshu_spot  .newyear_reccommend a,
.kyushuu_spot .apps_recomend a,
.okinawa_spot .apps_recomend a,
.hokkaido_spot .apps_recomend a,
.honshu_spot  .apps_recomend a {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
}



/* 九州スポットカード：左上フレーム共通 */
.spot_label-frame{
  position: absolute;    
  width: 140px;      
  aspect-ratio: 4 / 3;
  top: 1px;
  left: 1px; 
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top left;
  pointer-events: none;
  z-index: 2;          
}

/* 冬・春 */
.spot_label-frame--winter{
    background-image: url("../images/back/spot_label-frame--winter.png");
}
.spot_label-frame--spring{
    background-image: url("../images/back/spot_label-frame--spring.png");
}

/* 画像：エリア共通 */
.kyushuu_spot .newyear_reccommend img,
.okinawa_spot .newyear_reccommend img,
.hokkaido_spot .newyear_reccommend img,
.honshu_spot  .newyear_reccommend img,
.kyushuu_spot .apps_recomend img,
.okinawa_spot .apps_recomend img,
.hokkaido_spot .apps_recomend img,
.honshu_spot  .apps_recomend img {
  width: 100%;          
  max-width: 430px;     
  aspect-ratio: 43 / 32;
  height: auto;       
  object-fit: cover;   
  display: block;
}

/* reco_two-col 内の左右画像を同じサイズに（トリミングなし） */
.reco_two-col .newyear_reccommend img,
.reco_two-col .apps_recomend a img {
  display: block;
  height: 400px;
  width: auto;        
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
}
/* 九州画像だけ白飛び防止 */
/* 九州だけ：影はラッパー(a)に付ける */
.kyushuu_spot .newyear_reccommend a,
.kyushuu_spot .apps_recomend a{
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}


/* 小見出し（スポットタイトル）：エリア共通 */
.kyushuu_spot .spot_caption,
.okinawa_spot .spot_caption,
.hokkaido_spot .spot_caption,
.honshu_spot  .spot_caption {
  margin-top: 12px;
  padding: 4px 0 6px;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  display: block;
  width: 100%;
}

/* 説明文：エリア共通 */
.kyushuu_spot .spot_desc,
.okinawa_spot .spot_desc,
.hokkaido_spot .spot_desc,
.honshu_spot  .spot_desc {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

/* ボタン：エリア共通 */
.kyushuu_spot .btnwrap,
.okinawa_spot .btnwrap,
.hokkaido_spot .btnwrap,
.honshu_spot  .btnwrap {
  margin-top: 12px;
  display: flex;
  justify-content: center;
}

.kyushuu_spot .btnwrap .button_link_detail,
.okinawa_spot .btnwrap .button_link_detail,
.hokkaido_spot .btnwrap .button_link_detail,
.honshu_spot  .btnwrap .button_link_detail {
  min-width: 220px;
}


/* 横並びここまで
--------------------------- */


/* カルーセル共通
--------------------------- */

/* カルーセル
--------------------------- */

.winter_sale__wrapper .carousel1 {
  position: relative;
}
.plan_wrapper .carousel1.--honshu {
    margin-top: 200px
}
.carousel1 .deco1 {
  position: absolute;
  right: -48px;
  bottom: -49px;
}
.carousel1.--hokkaido .deco1 img{
  width: 50%;
}
.carousel1.--kyusyu .deco1{
  right: 52px;
  bottom: 0;
}
.carousel1.--kyusyu .deco1 img{
  width: 42%;
}
.carousel1.--okinawa .deco1 {
  right: -104px;
  bottom: -104px;
}
.carousel1.--okinawa .deco1 img{
  width: 82%;
}
/* キャプションボックス */
/* タブ見出しと雪アイコン（.tabs / .tab-icon） */
.tabs {
  position: relative;
  display: flex;
  gap: 5px;
  justify-content: center;
  --tab-w: 260px;
  --icon-w: 75.61px;
  --icon-h: 48.81px;
  --icon-over: 12px;
}

.tab-icon {
  position: absolute;
  top: -10px;
  left: calc(50% + var(--tab-w)/2 - var(--icon-w) + var(--icon-over));
  width: var(--icon-w);
  height: var(--icon-h);
  background: transparent;
  pointer-events: none;
}

.tab {
  padding: 3px 20px;
  background-color: #fff;
  color: #3492C4;
  font-size: 30px;
  width: var(--tab-w);
  height: 70px;
  font-weight: bold;
  line-height: 2;
  position: relative;
  margin-bottom: 30px;
  border: 2px solid #C7AC53;
}

.tab::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #fff;
  z-index: 1;
}

.tab::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -17px;
  width: 0;
  height: 0;
  border-left: 17px solid transparent;
  border-right: 17px solid transparent;
  border-top: 17px solid #5FA9AC;
  z-index: 0;
}

/* キャプションボックスここまで */

/* ===============================
   エリア共通：カルーセル背景 ＋ プラン背景（完全版）
   =============================== */

/* カルーセルのセクション背景（九州・沖縄・北海道・本州） */
.kyuushuu_area_carousel,
.hokkaido_area_carousel {
  background: #F4F1D7;
  padding: 60px 0;
}
.okinawa_area_carousel,.honshu_area_carousel
{
  background: #FFFFFF;
  padding: 60px 0;
}

/* セールプランのセクション背景（＋中央揃え） */
.kyuusyuu_area_plan,
.kyuushuu_area_plan,
.hokkaido_area_plan {
  background: url('../images/back/back_koushi_gold.png') top center repeat;
  padding: 50px 0;
  text-align: center;
    position: relative;
  overflow: visible;
}

.okinawa_area_plan,.honshu_area_plan{  padding: 50px 0;
  text-align: center;
    position: relative;
  overflow: visible;
}

/* 各地方の「お得なプラン」セクション下の右側に車アイコン */
.kyuusyuu_area_plan::after,
.okinawa_area_plan::after,
.hokkaido_area_plan::after,
.honshu_area_plan::after {
  content: "";
  position: absolute;
  right: 0;             
  bottom: 0px;        
  width: 220px;      
  height: 140px;
  background: url('../images/back/back_car.png') no-repeat right bottom;
  background-size: contain;
  pointer-events: none;  
  z-index: 1;           
}

/* カルーセル本体の横幅を中央寄せ */
.kyuusyuu_area_plan .carousel1,
.kyuushuu_area_plan .carousel1,
.okinawa_area_plan .carousel1,
.hokkaido_area_plan .carousel1,
.honshu_area_plan .carousel1 {
  margin: 0 auto;
}

/* プラン下のボタンを中央寄せ */
.kyuusyuu_area_plan .button_link_detail,
.kyuushuu_area_plan .button_link_detail,
.okinawa_area_plan .button_link_detail,
.hokkaido_area_plan .button_link_detail,
.honshu_area_plan .button_link_detail {
  margin-left: auto;
  margin-right: auto;
}


/* エリア見出し共通 */
/* エリア見出し（アイコン＋テキスト中央＋左右点線） */
.area_title {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto 60px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
  font-weight: 700;
}

/* 左右に点線を伸ばす */
.area_title::before,
.area_title::after {
  content: "";
  flex: 1;
  border-bottom: 2px dotted #B41907;
}

.area_title::before {
  margin-right: 12px;
}

.area_title::after {
  margin-left: 12px;
}

/* 中央のメインテキスト＋ロゴ用の余白 */
.area_title-main {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 40px;
  font-weight: 900;
  color: #B41907;
  line-height: 1;
  padding-left: 72px;  /* 左にロゴ分のスペース */
}

/* 「エリア」の部分 */
.area_title-sub {
  font-size: 28px;
  font-weight: 900;
  color: #B41907;
  margin-left: 6px;
  line-height: 1;
}
/* ロゴアイコンの共通スタイル */
.area_title--kyushuu .area_title-main::before,
.area_title--okinawa .area_title-main::before,
.area_title--hokkaido .area_title-main::before,
.area_title--honshu  .area_title-main::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 64px;
  height: 64px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* エリア別画像差し替え */
.area_title--kyushuu .area_title-main::before {
  background-image: url('../images/logo/icon_area_title--kyushuu.png');
}
.area_title--okinawa .area_title-main::before {
  background-image: url('../images/logo/icon_area_title--okinawa.png');
}
.area_title--hokkaido .area_title-main::before {
  background-image: url('../images/logo/icon_area_title--hokkaidou.png');
}
.area_title--honshu .area_title-main::before {
  background-image: url('../images/logo/icon_area_title--honsyuu.png');
}

/*見出しここまで*/


/* 観光情報＆お得なプラン：テキスト中央寄せ（エリア共通） */
.kyushu_spot,
.okinawa_spot,
.hokkaido_spot,
.honshu_spot,
.kyuusyuu_area_plan,
.okinawa_area_plan,
.hokkaido_area_plan,
.honshu_area_plan {
  text-align: center;
}

/* ========== カルーセル 完全版 ========== */

/* 変数 */
:root{
  --carousel-gap: 16px;
  --carousel-rail-pad: 16px;
  --car-card-height: 600px;
}

/* タブ */
.tab{
  padding: 3px 20px;
  background:#fff;
  color: var(--kyusyu-accent);
  font-size: 30px;
  width: 260px;
  height: 70px;
  font-weight: 700;
  border-radius: 10px;
  line-height: 2;
  position: relative;
  margin-bottom: 30px;
  border: 2px solid #C7AC53;
}
.tab::before{
  content:"";
  position:absolute; top:100%; left:50%;
  margin-left:-15px; width:0; height:0;
  border-left:15px solid transparent;
  border-right:15px solid transparent;
  border-top:15px solid #fff; z-index:1;
}
.tab::after{
  content:"";
  position:absolute; top:100%; left:50%;
  margin-left:-17px; width:0; height:0;
  border-left:17px solid transparent;
  border-right:17px solid transparent;
  border-top:17px solid var(--kyusyu-accent); z-index:0;
}
.tab.active{
  background:#fff; border:none; color:#3492C4;
  font-size:26px; font-weight:700;
}

/* タブ表示切替 */
.tab-content .content{ display:none; }
.tab-content .content.active{
  display:block; position:relative; max-width:1000px; margin:0 auto;
}

/* レール／Swiper基礎 */
.swiper-container-wrapper{
  width:100%; max-width:1000px; margin:0 auto;
  overflow:hidden; padding:50px 0 0 0; border-radius:30px;
}
.carousel1 .swiper{
  width:100%; overflow:visible; margin-bottom:10px;
  padding-inline: var(--carousel-rail-pad);
  position: relative;
}
.carousel1 .swiper-wrapper{
  display:flex; width:100%; gap: var(--carousel-gap);
}
.carousel1 .swiper-slide{
  display:flex;
  font-size:20px;
}

/* 矢印・ドット */
.carousel1 .swiper-button-next,
.carousel1 .swiper-button-prev {
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #C7AC53;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
  z-index: 3;
}
.carousel1 .swiper-button-next::after,
.carousel1 .swiper-button-prev::after {
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
}
.carousel1 .swiper-button-next {
  right: -24px;
}
.carousel1 .swiper-button-prev {
  left: -24px;
}
.carousel1 .swiper-pagination{
  position: static;
  margin-top: 16px;
  text-align: center;
}
.carousel1 .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
  margin: 0 5px !important;
  background: #ddd;
  opacity: 1;
}
.carousel1 .swiper-pagination-bullet-active{
  background: var(--kyusyu-accent);
}

/* -----------------------------------------
   A) カード型（レンタカープラン）
   ----------------------------------------- */

/* スライドサイズ */
.carousel1.--car .swiper-slide{
  width: 220px;
  height: var(--car-card-height);
}

/* カード本体 */
.carousel1.--car .item{
  width:100%;
  height:100%;
  background:#fff;
  box-sizing:border-box;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border: 2px solid #C7AC54;
}

/* 県名帯 */
.carousel1.--car .pref-band{
  width: 100%;
  height: 70px;
  padding: 0px;
  background: url('../images/back/tab_item_title.png') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  color: #fff;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: .08em;
  text-align: center;
}

/* 県名テキスト共通 */
.carousel1.--car .pref-band .pref,
.carousel1.--car .pref-band .pref-main,
.carousel1.--car .pref-band .pref-sub {
  padding: 0 8px;
  color: #2B2B2B;
  text-shadow:
    1px  1px 0 #fff,
   -1px  1px 0 #fff,
    1px -1px 0 #fff,
   -1px -1px 0 #fff,
    0    1px 0 #fff,
    1px   0  0 #fff,
   -1px   0  0 #fff,
    0   -1px 0 #fff;
}

/* 県名メイン（都道府県名） */
.carousel1.--car .pref-band .pref-main {
  font-size: 1em;
  font-weight: bold;
}

/* 県名サブ（カッコ＋カッコ内）：さらに小さく */
.carousel1.--car .pref-band .pref-sub {
  font-size: 0.6em;   /* カッコ込みで小さめ */
  line-height: 1.3;
}

/* カルーセルアイテム上部の帯を少し縦に広げる  */
.carousel1.--car .pref-band {
  min-height: 75px;     

}
/* 1行タイプ(.pref)と2行タイプ(.pref-main / .pref-sub)の行間を揃える */
.carousel1.--car .pref,
.carousel1.--car .pref-main,
.carousel1.--car .pref-sub {
  line-height: 1.4;
}

/* ロゴ・社名 */
.carousel1.--car .top{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:84px;
  flex-direction:column;
  padding-top: 14px;
  margin-bottom: 18px;
}
.carousel1.--car .top svg{ position:absolute; top:90px; }
.carousel1.--car .top img{
  width:74px;
  object-fit:contain;
  margin-top: 50px;
}
.carousel1.--car .top .logoname{
  font-size:14px;
  line-height:29px;
  margin-top: 10px;
}

/* 画像・テキスト領域（縦積み＋中央ブロック） */
.carousel1.--car .down{
  display:grid;
  grid-template-rows:
    auto    /* 1: 画像 */
    auto    /* 2: 1台あたり／1予約あたり 等 */
    1fr     /* 3: 値引き額（ここを上下の中央に寄せる） */
    3em     /* 4: 備考エリア（有無に関わらず常に3em確保） */
    auto;   /* 5: ボタン */
  justify-items:center;
  line-height:20px;

  flex: 1 1 auto;
  row-gap: 8px;
  width: 100%;
}

/* 1行目：画像 */
.carousel1.--car .down img{
  grid-row: 1;
  width:200px;
  height:120px;
  object-fit:contain;
  margin-top: 30px;
}

/* 2行目：1台あたり／1予約あたり など */
.carousel1.--car .down-text{
  grid-row: 2;
  font-size: 16px;
  margin-top: 15px;
}

/* 3行目：値引きエリア */
.carousel1.--car .down-price{
  grid-row: 3;
  color: #E00000;
  font-size: 30px;                 /* 値引き額は大きく */
  font-weight: 700;
  margin: 6px auto;
  margin-top: 20px;
  padding: 0 2px;                  /* 右寄りにならないよう余白も減らす */
  width: 100%;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;         /* 文字列全体を中央に */
  text-align: center;
  white-space: nowrap;
}

/* 「最大」は小さめ＋左余白も詰める */
.carousel1.--car .down-price .down-text_saidai{
  font-size: 0.5em;                /* 金額より一回り小さい */
  font-weight: 700;
  margin-right: 0.1em;             /* 金額との隙間を詰める */
}

/* 行数が多い値引き用タイト版（ミツバチなどの例外用） */
.carousel1.--car .down-price.down-price--tight{
  font-size: 28px;
  line-height: 1.2;
  margin: 4px auto;
}

/* 4行目：備考（有無に関わらずトラックは常に3em） */
.carousel1.--car .down-note{
  grid-row: 4;
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
}

/* 5行目：対象プラン一覧ボタン（下部に固定） */
.carousel1.--car .down .button_link_detail.button_short{
  grid-row: 5;
  margin-top: 8px;
}

/* 旧.btn 残置（他箇所互換用） */
.carousel1.--car .btn{
  margin-top:auto;
  display:flex;
  justify-content:center;
  padding:10px 25px 25px 15px;
}
.carousel1.--car .btn a{
  background: var(--kyusyu-accent, #5FA3CD);
  color:#fff !important;
  position:relative;
  font-size:12px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border-radius:40px;
  font-weight:700;
  width:160px;
  height:37px;
  text-decoration:none;
}

/* エリア別三角 */
.carousel1.--hokkaido .triangle{ fill:#E0F0F1 !important; }
.carousel1.--kyusyu   .triangle{ fill:#DFEDF6 !important; }
.carousel1.--okinawa  .triangle{ fill:#E5F6F5 !important; }

/* -----------------------------------------
   B) バナー型（セールプラン）
   ----------------------------------------- */

.carousel1.sale_plan .swiper-slide { width:100%; }
@media (min-width: 640px){
  .carousel1.sale_plan .swiper-slide { width: calc((100% - 16px)/2); }
}
@media (min-width: 960px){
  .carousel1.sale_plan .swiper-slide { width: calc((100% - 2*16px)/3); }
}
.carousel1.sale_plan .item{
  border:none; background:transparent; box-shadow:none;
  border-radius:0; padding:0; width:100%;
}
.carousel1.sale_plan .item img{
  display:block; width:100%; height:auto;
}

/* ボタン縦積み */
.stack_buttons{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0px;
  margin:30px;
}

/* 本州セクションのグリッド */
@media (min-width: 768px) {
  .honshu_area_carousel .stack_buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0px 0px;
    justify-items: center;
    max-width: 720px;
    width: 100%;
    margin: 0 auto 16px;
  }
  .honshu_area_carousel .stack_buttons .button_link_detail {
    width: 100%;
    max-width: 340px;
  }
}

/* 注意書き */
.search_note{
  text-align: center;
 margin: 50px 0px 50px 0px;
}

/* ==============================
   カルーセルここまで
   ============================== */



/* ========== ページ下部 ========== */

/* ==============================
   PayPayキャンペーン 全体ラッパー＆ヒーロー
   ============================== */

/* 全体ラッパー：ページ横幅いっぱいのグレー背景 */
.paypay_campaign_wrapper {
  background-color: #F2F2F2;
  padding: 0px 0 60px;
}

/* ヒーローエリア：
   paypay_campaingn_info.png を背景に
   「Wチャンス!!／PayPayポイント／最大～プレゼント」を中央配置 */
/* ヒーロー全体：背景を横幅いっぱいに広げる */
.paypay_hero {
  width: 100%;
  padding: 40px 0 40px;
  background: url("/car/special/newyear/images/back/paypay_campaingn_info.png")
              no-repeat center top;
  background-size: 140% auto; 
  box-sizing: border-box;
}

/* ヒーローの中身：max-width 960px で中央寄せ */
.paypay_hero-inner {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}

.paypay_point_image img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}
/* ==============================
   ヒーロー内テキスト（リード・中見出し・メイン）
   ============================== */
/* ＼ Wチャンス!! ／ */
.paypay_lead {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 20px;
  line-height: 1.6;
  text-align: center;
}

/* 左右のデコ画像 */
.paypay_deco {
  display: inline-block;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  line-height: 0;
    position: relative;
  top: 20px;
}

/* 左側デコ（1個目の span） */
.paypay_lead .paypay_deco:nth-of-type(1) {
  background-image: url("/car/special/newyear/images/logo/deco_left.png");
}

/* 右側デコ（2個目の span） */
.paypay_lead .paypay_deco:nth-of-type(2) {
  background-image: url("/car/special/newyear/images/logo/deco_right.png");
}

/* 「PayPayポイント」＋左側にSTARアイコン */
.paypay_mid {
  position: relative; 
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  margin: 15px 0 50px;
  padding-left: 40px;  
}

/* 左側のSTARアイコン（テキスト左） */
.paypay_mid::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -100px;              
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: url("/car/special/newyear/images/logo/icon_star.png") no-repeat center;
  background-size: contain;
}
/* 右側のSTARアイコン（テキスト右） */
.paypay_mid::after {
  content: "";
  position: absolute;
  top: 550%;
  right: -300px;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: url("/car/special/newyear/images/logo/icon_star2.png") no-repeat center;
  background-size: contain;
}
/* 「最大10,000円分プレゼント」 */
.paypay_main {
  margin: 0 0 24px;
  font-size: 4.0em;
  font-weight: 700;
  color: #B41907;
  margin-bottom: 20px;
}

/* 「プレゼント」だけ少し大きく強調 */
.paypay_main .bigger_font {
  font-weight: 900;
  display: inline-block;
  margin-left: 0.25em;
}


/* ==============================
   POINT LIST（グレー背景の上で中央揃え）
   ============================== */

/* グレー背景上に単独で置くポイント一覧画像 */
.paypay_point_image {
  max-width: 960px;
  text-align: center;
  margin-top: 100px;
}

.paypay_point_image img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}


/* ==============================
   白背景ボックス（応募方法・注意書き）
   ============================== */

.paypay_campaingn_info {
  max-width: 960px;
  margin: 0 auto;
  padding: 32px 16px 24px;
  text-align: center;
  background-color: #ffffff;
  position: relative;
  box-sizing: border-box;
}


/* ==============================
   応募方法ステップ（STEP1〜3）
   ============================== */

.paypay_steps {
  margin-top: 16px;
}

.paypay_step {
  margin-bottom: 40px;
}

/* STEPの赤丸バッジ位置 */
.paypay_step__head {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}

/* 赤丸バッジ本体（STEP＋数字） */
.paypay_step__badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #B41807;
  color: #fff;
}

/* バッジ上部「STEP」 */
.paypay_step__label {
  font-size: 1rem;
  line-height: 1;
}

/* バッジ下部の数字（1,2,3） */
.paypay_step__num {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
}

/* STEPごとの小見出し */
.paypay_step__title {
  font-weight: bold;
  margin: 30px;
    font-size: 28px;

}

/* STEPごとの説明テキスト */
.paypay_step__text {
  line-height: 1.8;
  margin-bottom: 16px;
}

/* STEP内のボタン（横並び・中央揃え） */
.paypay_step__buttons {
  margin-bottom: 20px;
  justify-content: center;
}


/* ==============================
   STEP下の画像行（画像＋矢印など）
   ============================== */

.paypay_imgrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 12px;
}

.paypay_imgrow__item img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 「＞」矢印をテキストで表示する場合のスタイル */
.paypay_imgrow__arrow {
  font-size: 2.4rem;
  font-weight: 700;
  color: #0072c6;
  line-height: 1;
}


/* ==============================
   検索タイプ画像（かんたん検索／こだわり検索／1タップ予約）
   ============================== */

.paypay_searchtypes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-top: 16px;
}

.paypay_searchtype {
  max-width: 220px;
}

.paypay_searchtype__title {
  font-weight: bold;
  margin-bottom: 8px;
}

.paypay_searchtype img {
  width: 100%;
  height: auto;
  display: block;
}


/* ==============================
   ※1タップ予約とは～ ／ 注意書きテキスト
   ============================== */

.paypay_onetap_note,
.paypay_notes {
  max-width: 960px;
  margin: 20px auto 0;
  text-align: left;
  font-size: 0.9rem;
  line-height: 1.8;
  margin-left: 50px;
}

/* STEP2 の下にくる「※1タップ予約とは～」 */
.paypay_onetap_note {
  margin-top: 24px;
}

/* 注意書き1行ごとの余白 */
.paypay_note {
  margin-bottom: 4px;
}


/* ==============================
   ページ下部の注意文エリア（-
   ============================== */

   .caution_text{
  max-width: 960px;
  margin: 40px auto 0;
  padding: 24px 16px 0;
  text-align: center;
}

.caution_text .sale_attention{
  font-size: 0.95rem;
  line-height: 1.8;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.caution_text .sale_attention > p,
.caution_text .sale_attention > hr{
  margin: 0;
}
#sale_attention .bold{
  display: inline-block;
  margin-bottom: 20px;
}

.caution_text .bold{
  font-weight: 700;
}

.caution_text hr{
  border: none;
  border-top: 1px solid #ccc;
  width: 100%;
  margin-block: 6px;
}

/* ==============================
   「応募方法」見出し（左右点線付き）
   ============================== */

.paypay_section_title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 32px 0 48px;
  font-weight: bold;
  font-size: 2.0rem;
}

.paypay_section_title::before,
.paypay_section_title::after {
  content: "";
  flex: 1;
  border-bottom: 3px dashed #950F00;
}

.paypay_section_title::before {
  margin-right: 20px;
}

.paypay_section_title::after {
  margin-left: 20px;
}

.paypay_section_title span {
  white-space: nowrap;
  color: #950F00;
}
/* ==========================================================
   ミツバチGo株式会社専用レイアウト調整（縦積み）
   ========================================================== */

/* ▼ 親：grid を潰して縦積み flex に */
.carousel1.--car .down.down--multi {
  display: flex !important;        /* 既存の display: grid を上書き */
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding-bottom: 12px;
  box-sizing: border-box;
}

/* ▼ 画像（他カードと同じ） */
.carousel1.--car .down.down--multi > img {
  width: 200px;                   
  height: 120px;
  object-fit: contain;
  margin-top: 30px;
}

/* ▼ 「1泊2日～1日」「2泊3日～1日」ラベル */
.carousel1.--car .down.down--multi .down-text {
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  margin: 4px 0 0;
}

/* ▼ 値引き額（複数行で縦に） */
.carousel1.--car .down.down--multi .down-price {
  display: block;                 
  width: 100%;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  color: #E00000;
  line-height: 1.3;
  margin: 10px;
  white-space: normal;
  margin-bottom: 12px;            
}

/* タイト版*/
.carousel1.--car .down.down--multi .down-price.down-price--tight {
  font-size: 30px;
  line-height: 1.2;
}

/* ▼ ボタンは一番下に固定 */
.carousel1.--car .down.down--multi .button_link_detail.button_short {
  margin-top: auto;            
  align-self: center;
}


/* レンタカー会社カルーセル（--car）の表示枚数をCSS側で調整
 3枚＋左右0.5枚くらいにする */
@media screen and (min-width: 1024px) {
  /* 1) コンテナ左右の余白を狭くする */
  .carousel1.--car .swiper-container-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
  }

  /* 念のため swiper 本体側に padding が付いている場合もつぶす */
  .carousel1.--car .swiper-container {
    padding-left: 0;
    padding-right: 0;
  }

  /* 2) スライド1枚の横幅を少し細くする */
  .carousel1.--car .swiper-slide .item {
    width: 265px;
  }

  /* 3) Swiper の spaceBetween (inline の margin-right) を上書きして狭くする */
  .carousel1.--car .swiper-slide {
    margin-right: -35px !important; 
  }
}
/* レンタカー会社カルーセル（--car）ここまで */