/* ============================================================== */
/* リセット・ベーススタイル */
/* ============================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  font-family: HiraKakuProN-W3, "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Noto Sans JP", sans-serif;
  color: #483D34;
  background-color: #fff;
  overflow-x: hidden;
}
main {
  display: block;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
}
p, ul, ol, dl {
  margin: 0;
  padding: 0;
}
ul, ol {
  list-style: none;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none;
}
button {
  cursor: pointer;
  border: none;
  background-color: transparent;
  padding: 0;
}
.mb-60 {
  margin-bottom: 60px;
}

/* ユーティリティ */
.sr-only {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
  white-space: nowrap;
}

/* 見出し */
.c-section-title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.c-section-title__img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: auto;
}

/* KV（看板）エリア */
.go_out__fade_cnt.is-kv {
  width: 100%;
  height: 630px;
  position: relative;
  overflow: hidden;
  background-image:
    url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260910/kanban.png),
    url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260910/kv_bg.png);
  background-repeat:
    no-repeat,
    repeat-x;
  background-position:
    center center,
    center bottom;
  background-size:
    auto 100%,
    auto 100%;
}
.kv__inner {
  height: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}
#coupon-info-section {
  text-align: center;
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  width: 100%;
  max-width: 1280px;
}
.kv-subinfo a:visited {
  color: #FCFCB8 !important;
}
.kv-subinfo__title {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.5;
  color: #4B473A;
}
.kv-subinfo__period {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 17px;
  color: #4B473A;
  font-weight: 500;
}
.kv-subinfo__link {
  color: #3782B5;
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  gap: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.kv-subinfo__link:hover,
.kv-subinfo__link:focus {
  color: #3782B5;
}
.kv-subinfo__link::after {
  content: '';
  display: inline-block;
  width: 11px;
  height: 11px;
  border-bottom: 1px solid #3782B5;
  border-right: 1px solid #3782B5;
  transform: rotate(45deg);
  margin-top: -2px;
}
.kv-subinfo__link:focus:visited {
  color: #3782B5;
}
.kv-subinfo__nextperiod {
  font-size: 14px;
  color: #4B473A;
  line-height: 1.5;
  margin: 0 0 17px;
}
main.lp__wrp {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}

/* 登録ボタンエリア */
.lp-inr {
  width: 100%;
  max-width: 960px;
  margin: 48px auto 0;
  position: relative;
  z-index: 3;
}
.lp-cv__wrap {
  text-align: center;
}
.lp-preparation_ttl {
  width: 528.5px;
  margin: 10px auto 14px;
  max-width: 960px;
}

/* アンカー */
.go_out__recom {
  position: relative;
  padding-top: 20px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.go_out__recom_inner {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  gap: 210px;
}
/* アンカーボタン1つ */
.go_out__recom_inner a {
  flex: 0 0 100%;
  max-width: 524px;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
}
/* アンカーボタン2つ並び */
.go_out__recom_inner.btn-col2 a {
  flex: 0 0 calc(50% - 7.5px);
  max-width: 275.5px;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
}
.go_out__recom_inner img {
  width: 100%;
  height: auto;
  display: block;
}
.anchor {
  position: absolute;
  display: block;
  width: 100%;
  top: -80px;
}
.go_out__status_wrap.is-bg_fixed {
  display: none;
  z-index: 100;
  position: fixed;
  top: -4px;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background-position: center top;
  background-size: 1280px 100%;
  background-repeat: repeat-x;
  background-color: rgba(255, 255, 255, 0.7);
}
.go_out__status_wrap.is-bg_fixed.is__fixed {
  display: block;
}
.go_out__status_list {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 10px auto 5px;
  gap: 10px;
  padding: 0 15px;
}
.go_out__status_list > li {
  flex: 1;
  max-width: 178.5px;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.1));
}
.is__fixed .go_out__status_list > li {
  width: auto;
}



/***********************************
クーポンエリア
 ***********************************/
.promoSection--coupon {
  margin-top: 65px;
}
.promoSection--coupon .coupon-section-wrapper {
  position: relative;
}
.promoSection--coupon::before {
  content: "";
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260903/coupon_top_wave.png);
  background-repeat: repeat-x;
  background-position: center top;
  background-size: 100% 120px;
  position: absolute;
  top: -80px;
  left: 0;
  right: 0;
  width: 100%;
  height: 120px;
}
.promoSection--coupon.bg {
  background-color: #F2EDE2;
  padding: 30px 0 40px;
  margin: 121px auto 0;
  position: relative;
  overflow: visible;
}

/* 宿泊対象期間 */
.stay-period.text-content {
  text-align: center;
  line-height: 1;
  margin-top: 20px;
  position: relative;
}
.stay-period-title {
  font-size: 21px;
  font-weight: bold;
  margin: 0 0 8px 0;
}
.stay-period-date {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}
/* クーポンコンテンツのタイトル画像 */
.promoSection--coupon .coupon-title-image {
  width: 384.5px;
  text-align: center;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
/* クーポンコンテンツのタイトル画像 */
.coupon-title-image img {
  display: inline-block;
  max-width: none;
  height: auto;
}
.image-wrapper--pd img {
  width: 100%;
  height: auto;
  display: block;
}
/* クーポンリストのアイテム */
.coupon-item a{
  display: block;
  position: relative;
  width: 100%;
  margin-inline: 0;
  display: block;
  overflow: visible;
}
/* クーポン本体画像のみにスタイルを適用 */
.coupon-item a .coupon-main {
  width: 100%;
  height: auto;
  border-radius: inherit;
}
/* クーポンリストのアイテム */
.promoSection--coupon .coupon-group {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 16px;
  justify-items: unset;
  grid-template-columns: repeat(auto-fit, minmax(455px, 1fr));
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}
.coupon-main-area--experience .coupon-group {
  grid-template-columns: repeat(1, 455px);
  justify-content: center;
}
.coupon-main-area--stay .coupon-group {
  margin-top: 16px;
}
.coupon-main-area--experience {
  margin-top: 60px;
}
/* クーポン注釈 */
.coupon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.coupon-note {
  font-size: 12px;
  text-align: left;
  width: 455px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
  margin-left: 10px;
}
/* クーポンエリアの区切り（下▼のデザイン） */
.section-divider-arrow-css {
  width: 100%;
  height: 65px;
  position: absolute;
  bottom: -65px;
  left: 0;
  right: 0;
  overflow: hidden;
  background-color: transparent;
  padding-bottom: 0;
  z-index: 3;
}
.section-divider-arrow-css::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 24px solid transparent;
  border-right: 24px solid transparent;
  z-index: 2;
}
.promoSection--coupon .section-divider-arrow-css::before {
  border-top: 25px solid #F2EDE2;
}


/* ============================================================== */
/* Rakuten Travel エリア */
/* ============================================================== */
.promoSection--travel {
  position: relative;
  padding-top: 70px;
}
/* ドーム画像 */
.travel-curve {
  width: 100%;
  height: 200px;
  overflow: hidden;
  line-height: 0; /* img下の余白をなくす */
  position: relative;
}

.travel-curve img {
  display: block;
  width: 2920px;
  max-width: none;
  height: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* 装飾イラスト＋ロゴ＋リボン見出し エリア */
.travel-section-header {
  position: relative;
  width: 100%;
  background-color: #F2EDE2;
  padding-bottom: 80px;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ドーム境界線上に重なる装飾イラスト */
.travel-deco-top {
  position: absolute;
  top: -248px; /* ドーム画像に重なるよう上にはみ出す */
  left: 50%;
  transform: translateX(-59%);
  width: 657px;
  pointer-events: none;
  z-index: 2;
}

.travel-deco-top img {
  width: 657px;
  height: auto;
  display: block;
}

/* ロゴ＋リボン見出し＋左右装飾イラスト の中央エリア */
.travel-header-inner {
  position: absolute;
  top: -143px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 3;
  text-align: center;
  overflow: visible;
}

/* Rakuten Travel ロゴ */
.travel-logo {
  margin: 0 auto 20px;
}

.travel-logo img {
  display: block;
  margin: 0 auto;
  width: 167px;
}

/* リボン見出し＋左右装飾イラスト のラッパー */
.travel-ribbon-wrap {
  position: relative;
  width: 100%;
  height: 184.5px;
}

/* リボン見出し */
.travel-ribbon-ttl {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 3;
  margin: 0;
}

.travel-ribbon-ttl img {
  display: block;
  width: 372px;
  height: auto;
}

/* 左側装飾イラスト */
.travel-deco-left {
  position: absolute;
  left: 50%;
  top: -131px;
  transform: translateX(-50%);
  margin-left: -330px;
  z-index: 2;
}

.travel-deco-left img {
  display: block;
  width: 315px;
  height: auto;
}

/* 右側装飾イラスト */
.travel-deco-right {
  position: absolute;
  left: 50%;
  top: -131px;
  transform: translateX(-50%);
  margin-left: 300px;
  z-index: 2;
}

.travel-deco-right img {
  display: block;
  width: 314px;
  height: auto;
}

/* ============================================================== */
/* Rakuten Travel Experiences エリア */
/* ============================================================== */
.promoSection--experience {
  position: relative;
  margin-top: 48px;
  padding-bottom: 60px;
  padding-top: 46px;
}
.promoSection--experience .coupon-section-wrapper{
  position: relative;
}
/* ドーム画像 */
.experience-curve {
  width: 100%;
  height: 200px;
  overflow: hidden;
  line-height: 0; /* img下の余白をなくす */
  position: relative;
}

.experience-curve img {
  display: block;
  width: 2920px;
  max-width: none;
  height: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* 装飾イラスト＋ロゴ＋リボン見出し エリア */
.experience-section-header {
  position: relative;
  width: 100%;
  background-color: #F2EDE2;
  padding-bottom: 30px;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ドーム境界線上に重なる装飾イラスト */
.experience-deco-top {
  position: absolute;
  top: -217px; /* ドーム画像に重なるよう上にはみ出す */
  left: 50%;
  transform: translateX(-48%);
  width: 661px;
  pointer-events: none;
  z-index: 2;
}

.experience-deco-top img {
  width: 661px;
  height: auto;
  display: block;
}

/* ロゴ＋リボン見出し＋左右装飾イラスト の中央エリア */
.experience-header-inner {
  position:absolute;
  top: -171px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 3;
  text-align: center;
  overflow: visible;
}

/* Rakuten experience ロゴ */
.experience-logo {
  margin: 0 auto 14px;
  position: relative;
  left: 10px;
}

.experience-logo img {
  display: block;
  margin: 0 auto;
  width: 158px;
}

/* リボン見出し＋左右装飾イラスト のラッパー */
.experience-ribbon-wrap {
  position: relative;
  width: 100%;
  height: 184.5px;
}

/* リボン見出し */
.experience-ribbon-ttl {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 3;
  margin: 0;
}

.experience-ribbon-ttl img {
  display: block;
  width: 373px;
  height: auto;
}

/* 左側装飾イラスト */
.experience-deco-left {
  position: absolute;
  left: 50%;
  top: -125px;
  transform: translateX(-50%);
  margin-left: -350px;
  z-index: 2;
}

.experience-deco-left img {
  display: block;
  width: 338px;
  height: auto;
}

/* 右側装飾イラスト */
.experience-deco-right {
  position: absolute;
  left: 50%;
  top: -136px;
  transform: translateX(-50%);
  margin-left: 268px;
  z-index: 2;
}

.experience-deco-right img {
  display: block;
  width: 295px;
  height: auto;
}

.promoSection--experience .campaign-section::after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1066px;
    height: 75px;
    background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260903/spot-decoration.png);
    background-repeat: no-repeat;
    background-position: 360% bottom;
    background-size: 100% auto;
    pointer-events: none;
}



/***********************************
  camp キャンプ場エリア
 ***********************************/
.promoSection--camp {
  position: relative;
  padding-bottom: 20px;
  padding-top: 31px;
}
.promoSection--camp .coupon-section-wrapper{
  position: relative;
}
/* ドーム画像 */
.camp-curve {
  width: 100%;
  height: 200px;
  overflow: hidden;
  line-height: 0; /* img下の余白をなくす */
  position: relative;
}

.camp-curve img {
  display: block;
  width: 2920px;
  max-width: none;
  height: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* 装飾イラスト＋ロゴ＋リボン見出し エリア */
.camp-section-header {
  position: relative;
  width: 100%;
  background-color: #F2EDE2;
  padding-bottom: 124px;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ドーム境界線上に重なる装飾イラスト */
.camp-deco-top {
  position: absolute;
  top: -229px; /* ドーム画像に重なるよう上にはみ出す */
  left: 50%;
  transform: translateX(-50%);
  width: 825.5px;
  pointer-events: none;
  z-index: 2;
}

.camp-deco-top img {
  width: 825.5px;
  height: auto;
  display: block;
}

/* ロゴ＋リボン見出し＋左右装飾イラスト の中央エリア */
.camp-header-inner {
  position:absolute;
  top: -164px;
  left: 12px;
  right: 0;
  width: 720px;
  margin: 0 auto;
  z-index: 3;
  text-align: center;
}

/* Rakuten camp ロゴ */
.camp-logo {
  margin: 0 auto 12px;
  position: relative;
  left: -6px;
}

.camp-logo img {
  display: block;
  margin: 0 auto;
}

/* リボン見出し＋左右装飾イラスト のラッパー */
.camp-ribbon-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0;
  position: relative;
  width: 100%;
}

/* リボン見出し */
.camp-ribbon-ttl {
  flex: 0 0 auto;
  margin: 0;
}

.camp-ribbon-ttl img {
  display: block;
  width: 496px;
  height: auto;
}

/* 左側装飾イラスト */
.camp-deco-left {
  flex: 0 0 180px;
  position: relative;
  right: -90px;
  top: -120px;
  z-index: 2;
  display: flex;
  justify-content: flex-end; /* イラストを右端（リボン側）に寄せる */
}

.camp-deco-left img {
  display: block;
  width: 180px;
  height: auto;
}

/* 右側装飾イラスト */
.camp-deco-right {
  flex: 0 0 204px;
  position: relative;
  left: -74px;
  top: -112px;
  z-index: 2;
  display: flex;
  justify-content: flex-start; /* イラストを左端（リボン側）に寄せる */
}
.camp-deco-right img {
  display: block;
  width: 204px;
  height: auto;
}
/* 山の起点地 */
.promoSection--camp .campaign-section {
  position: relative;
  padding-bottom: 104px;
  background-color: #F2EDE2;
}
/* 山のイラスト */
.promoSection--camp .campaign-section::after {
  content: "";
  position: absolute;
  bottom: -16px;
  width: 100%;
  height: 88px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260603/camp-decoration.png);
  background-repeat: repeat-x;
  background-position: 360% bottom;
  background-size: 100% auto;
  pointer-events: none;
}


/* ============================================================== */
/* Travel/Experiences 共通スタイル */
/* ============================================================== */

/* コンテンツ中身 */
.campaign-content {
  background-color: #F2EDE2;
}



/* ============================================================== */
/* タブ タイトル */
/* ============================================================== */
.tab-area-title-wrapper {
  background: #fff;
  padding: 34px 0 0;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.tab-area-title {
  margin: 0;
  text-align: center;
}

/* ============================================================== */
/* タブ ボタン */
/* ============================================================== */
.tab_wrap [data-role="tablist"] .ecm-tab-container.bordered-b {
  display: flex;
  gap: 8px;
  border-bottom: 5px solid #EABA42;
  align-items: flex-end;
  position: relative;
  overflow: visible;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
.ecm-tab-container.bordered-b {
  background-color: #F2EDE2;
}
.tab_wrap [data-role="tablist"]:has(button.ecm-tab[data-tab][id*="baby"][aria-selected="true"]) .ecm-tab-container.bordered-b {
  border-bottom-color: #E96382;
}
.tab_wrap [data-role="tablist"]:has(button.ecm-tab[data-tab][id*="kids"][aria-selected="true"]) .ecm-tab-container.bordered-b {
  border-bottom-color: #EABA42;
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] {
  flex: 0 0 244px;
  margin: 0;
  border: 0;
  border-radius: 10px 10px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
  color: #fff;
  background: transparent;
  appearance: none;
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-bottom: 0 !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz24 {
  font-size: 24px !important;
  display: contents;
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz18 {
  font-size: 18px !important;
  display: contents;
}

/* 楽天トラベル宿のタブ */
.tab_wrap [data-role="tablist"] button#travelbaby.ecm-tab[data-tab] {
  background: #E96382;
}
.tab_wrap [data-role="tablist"] button#travelkids.ecm-tab[data-tab] {
  background: #EABA42;
}

/* タブ内コンテンツ */
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab][aria-selected="true"] {
  margin-bottom: 0;
  z-index: 3;
  height: 64px;
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab][aria-selected="false"] {
  margin-bottom: 4px;
  z-index: 2;
  height: 64px;
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] span {
  display: block;
  width: 100%;
}
.tab_wrap [data-role="tablist"] .p-16 {
  padding-top: 16px;
}
.baby_bg {
  background-color: #FFEFEE;
}
.kids_bg {
  background-color: #FBF8D8;
}
#stay-kids-section .c-section-title {
  max-width: 566px;
}
#stay-baby-section .c-section-title {
  max-width: 591px;
}
#spot-family-section .c-section-title {
  max-width: 546px;
}
#camp-section .c-section-title {
  max-width: 725px;
}
#stay-kids-section,
#stay-baby-section {
  padding-top: 40px;
}
#spot-family-section {
  padding-top: 30px;
}
#campaign-section {
  padding-top: 30px;
}
.baby_border-bottom {
  border-bottom: 5px solid #E96382;
}
.kids_border-bottom {
  border-bottom: 5px solid #EABA42;
}

/* ============================================================== */
/* 地域エリアカード */
/* ============================================================== */
.promoSection--travel .card-area-section {
  max-width: 820px;
  margin: 24px auto 0;
  width: 100%;
}
.promoSection--experience .card-area-section,
.promoSection--camp  .card-area-section {
  max-width: 868px;
  margin: 24px auto 0;
  width: 100%;
}
.card-area-title {
  margin-top: 26px;
  margin-bottom: 24px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
.card-area-title-img {
  max-width: 117px;
  height: auto;
  display: block;
  margin-right: auto;
}
.kyushuokinawa .card-area-title-img {
  max-width: 180px;
  height: auto;
  display: block;
  margin-right: auto;
}
.promoSection--travel .go_out__slide_list {
  display: flex;
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  gap: 12px;
}
.promoSection--experience .go_out__slide_list,
.promoSection--camp .go_out__slide_list {
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  gap: 12px;
}
.go_out__slide_list > li {
  flex: 0 0 163px;
}
.go_out__slide_list > li > a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 236px;
  padding: 10px 0;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
  line-height: 1.4615384615;
}
.go_out__slide_list > li > a:hover {
  text-decoration: none;
}
.go_out__slide_list > li > a img {
  width: 100%;
  height: auto;
  display: block;
}
.go_out__slide_image_wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.go_out__slide_image_wrapper > img {
  width: 100%;
  height: auto;
  display: block;
}
.go_out__slide_content {
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.go_out__slide_title {
  font-style: normal;
  font-weight: 300;
  min-height: 55px;
  font-size: 15px;
  margin-top: 0;
  flex-grow: 1;
  color: #483D34;
  line-height: 1.42;
  width: 140px;
}
.go_out__slide_link_txt {
  font-size: 12px;
  color: #3782B5;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  text-decoration: none;
  position: relative;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding-right: 12px;
}
.go_out__slide_link_txt::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1px solid #3782B5;
  border-right: 1px solid #3782B5;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.go_out__slide_location {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: baseline;
  margin-top: 6px;
  color: #483D34;
  font-size: 13px;
}
.go_out__slide_location span.is-icon_location {
  width: 9px;
  height: 11px;
  margin-right: 5px;
}

/******************************
クーポン対象一覧リスト
 ******************************/
.promoSection--experience .coupon-list {
    list-style: none;
    padding: 0;
    margin: 48px 0 0;
    display: grid;
    justify-items: unset;
    grid-template-columns: repeat(auto-fit, minmax(458px, 1fr));
    max-width: 644px;
    margin-left: auto;
    margin-right: auto;
}
.coupon-list {
  width: 100%;
  text-align: center;
  margin: 48px auto;
}
.coupon-list__inner {
  position: relative;
  width: 100%;
  max-width: calc(100vw - 30px);
  margin: 0 auto;
}
.coupon-facilities {
    width: 100%;
    border: 1px solid #eee;
    padding: 16px;
    font-family: sans-serif;
    box-shadow: 6px 6px 15px 0 rgba(0, 0, 0, 0.10);
    background-color: #fff;
    border-radius: 10px;
    text-align: left;
}
.coupon-facilities p {
  font-size: 25px;
  margin-top: 0;
  margin-bottom: 16px;
  color: #4B473A;
  text-align: center;
  font-weight: 600;
}
.facility-list-container {
  position: relative;
  height: 190px; /* 表示する施設リストの高さ */
  overflow: hidden;
  transition: height 1s ease-out !important;
}
.facility-list-container.expanded {
  height: auto;
  padding-bottom: 60px;
}
.facility-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.facility-list li {
  display: flex;
  align-items: center;
  gap: .35em;
  font-size: 18px;
  color: #3782B5;
  line-height: 1.875;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: 300;
}
.facility-list li::before {
  content: "";
  width: 0.2vw;
  height: 0.2vw;
  background: #3782B5;
  border-radius: 50%;
  flex: 0 0 auto;
}
.facility-list a {
  color: #3782B5;
  text-decoration: none;
  font-size: 15px;
  transition: color 0.2s ease;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: 300;
}
.facility-list a:hover {
  color: #3782B5;
}
.gradient-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px; /* グラデーションの高さ */
  background: linear-gradient(to top, rgba(255,255,255,0.9), rgba(255,255,255,0));
  pointer-events: none; /* クリックイベントを透過させる */
  transition: opacity 1s ease-out;
  opacity: 1;
}
.facility-list-container.expanded .gradient-overlay {
  opacity: 0;
}
.toggle-button {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  display: block;
  height: 38px;
  padding: 8px 24px;
  background-color: #fff;
  border: 1px solid #4B473A;
  border-radius: 100px;
  cursor: pointer;
  font-size: 14px;
  color: #4B473A;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.toggle-button span {
  font-size: 14px;
  margin-left: 18px;
}


/* ============================================================== */
/* テーマ別に宿を探す */
/* ============================================================== */
.theme-search {
  max-width: 960px;
  margin: 0 auto;
  padding: 68px 0 0;
}
/* トラベルエリア */
.promoSection--travel .theme-search .c-section-title__img {
  max-width: 244px;
  width: auto;
}
/* キャンプエリア */
.promoSection--camp .theme-search .c-section-title__img {
  max-width: 324.5px;
  width: auto;
}
.theme-cards {
  list-style: none;
  padding: 0;
  margin: 24px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  max-width: 960px;
}
.theme-cards > li {
  flex: 0 0 calc((960px - 20px*2) / 3); /* 3列。gapが2つあるので引く */
  max-width: calc((960px - 20px*2) / 3);
}
.theme-card .theme-card-bnr {
  width: 305.5px;
  height: auto;
  filter: drop-shadow(1.75px 1.75px 2.62px rgba(0, 0, 0, 0.15));
}

/* ============================================================== */
/* 汎用CTAボタン */
/* ============================================================== */
.c-cta-button-wrapper {
  text-align: center;
  margin-bottom: 0;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.c-cta-button-wrapper a:active,
.c-cta-button-wrapper a:visited,
.c-cta-button-wrapper a:hover {
  color: #fff !important;
  text-decoration: none;
}
.c-cta-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 480px;
  border-radius: 45px;
  background: #278B65;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 6px 6px;
}
.c-cta-button span {
  margin-right: 11.25px;
}
.c-cta-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 36px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  box-sizing: border-box;
}
.promoSection--travel .c-cta-button-wrapper {
  margin-top: 30px;
}
.promoSection--travel .c-cta-button {
  font-size: 25px;
  padding: 21px 18px;
}
.promoSection--experience .c-cta-button-wrapper {
  margin-top: 24px;
}
.promoSection--experience .c-cta-button {
  font-size: 20px;
  padding: 13px 18px;
}
.promoSection--camp .c-cta-button-wrapper {
  margin-top: 40px;
}
.promoSection--camp .c-cta-button {
  font-size: 20px;
  padding: 21px 18px;
}

/* ============================================================== */
/* おすすめのキャンペーン・クーポン 314バナーエリア */
/* ============================================================== */
.stay-recommend-section {
  position: relative;
  padding-bottom: 112px;
  max-width: 960px;
  margin: 0 auto;
}
.stay-recommend-section::after {
  content: "";
  position: absolute;
  right: 162px;
  bottom: 20px;
  width: 47px;
  aspect-ratio: 106 / 129;
  background: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260903/family-decoration.png) no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
.stay-recommend-section .c-section-title {
  width: 100%;
  margin: 0 auto;
  padding: 51px 0 24px;
  font-size: 25px;
}
.recommend_slide__wrap.is-recommend_cnp {
  margin: 0 auto;
}
.recommend_slide__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}
.recommend_slide__list > li {
  flex-basis: 126px;
}
.recommend_slide__list > li > a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  line-height: 1.4615384615;
  text-decoration: none;
  box-shadow: 0px 10px 10px -6px rgba(0, 30, 50, 0.30);
}
.recommend_slide__list > li > a img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* ============================================================== */
/* おすすめのキャンペーン 観光体験 800x280バナーエリア */
/* ============================================================== */
.spot-recommend-section {
    padding-bottom: 88px;
}
.spot-recommend-section .c-section-title {
  margin: 0 auto;
  padding: 48px 0 30px;
  font-size: 25px;
}
.spot-recommend_wrap {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}
.spot-recommend_lists {
  width: 820px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 auto;
}
.spot-recommend_list {
  box-shadow: 0px 10px 10px -6px rgba(0, 30, 50, 0.30);
}
.spot-recommend_list a, .spot-recommend_list img {
  width: 400px;
}

/* ============================================================== */
/* おすすめのキャンペーン キャンプ 800x280バナーエリア */
/* ============================================================== */
.camprecommend-section {
  padding-bottom: 24px;
}
.camp-recommend-section .c-section-title {
  margin: 0 auto;
  padding: 48px 0 24px;
  font-size: 25px;
}
.camp-recommend_wrap {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}
.camp-recommend_lists {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0 auto;
}
.camp-recommend_list {
  box-shadow: 0px 10px 10px -6px rgba(0, 30, 50, 0.30);
}
.camp-recommend_list a, .camp-recommend_list img {
  width: 400px;
}

/* ============================================================== */
/* ママ割 この夏のおすすめバナーエリア 800x280 */
/* ============================================================== */
.promoSection--mmwrecommend {
  position: relative;
  padding-top: 66px;
  margin-bottom: 30px;
}
/* ドーム画像 */
.mmwrecommend-curve {
  width: 100%;
  height: 180px;
  overflow: hidden;
  line-height: 0; /* img下の余白をなくす */
  position: relative;
}
.mmwrecommend-curve img {
  display: block;
  width: 2920px;
  max-width: none;
  height: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
/* ロゴ エリア */
.mmwrecommend-section-header {
  position: relative;
  width: 100%;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* ドーム境界線上に重なる装飾イラスト */
.mmwrecommend-deco-top {
  position: absolute;
  top: -192px; /* ドーム画像に重なるよう上にはみ出す */
  left: 50%;
  transform: translateX(-50%);
  width: 745px;
  pointer-events: none;
  z-index: 2;
}
.mmwrecommend-deco-top img {
  width: 745px;
  height: auto;
  display: block;
}
/* ロゴ＋左右装飾イラスト の配置土台 */
.mmwrecommend-header-inner {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  width: 1028px;
  height: auto;
  margin: 0;
  z-index: 3;
}
/* ロゴ見出し */
.mmwrecommend-ribbon-ttl {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -105px;
  margin: 0;
}
.mmwrecommend-ribbon-ttl img {
  display: block;
  width: 173px;
  height: auto;
}
/* 左側装飾イラスト */
.mmwrecommend-deco-left {
  position: absolute;
  left: -17px;
  top: -186px;
  width: 83.5px;
  height: 78px;
}
.mmwrecommend-deco-left img {
  display: block;
  width: 83.5px;
  height: auto;
}
/* 右側装飾イラスト */
.mmwrecommend-deco-right {
  position: absolute;
  right: 38px;
  top: -177px;
  width: 83px;
  height: 68.5px;
}
.mmwrecommend-deco-right img {
  display: block;
  width: 83px;
  height: auto;
}
/* バナーエリア */
.banner-section {
  position: relative;
  margin: 0 auto;
  padding-bottom: 100px;
  text-align: center;
  background-color: #F2EDE2;
  width: 100%;
}
.banner-section h2 {
  margin-bottom: 40px;
}
.banner-section h2 img {
  width: 538px;
}
.banner-flexArea {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 auto;
  width: 820px;
}
.banner-item img {
  width: 100%;
  max-width: 400px;
  height: auto;
  box-shadow: 0px 10px 10px -6px rgba(0, 30, 50, 0.30);
}
/* 下の山 */
.mmwrecommend-bottom-wave {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 67px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260903/recommend-decoration.png);
  background-repeat: repeat-x;
  background-position: center bottom;
  background-size: auto 67px;
  margin-top: 0;
  pointer-events: none;
  z-index: 2;
}


/****************************************
タブボタンのフォーカスリングを制御
****************************************/
.ecm-tab:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/***************************************************************
ママ割 赤ちゃんとの旅行デビューLPバナーエリア 800x280
***************************************************************/
/* .baby-banner-section {
  padding-top: 40px;
} */
.baby-banner_lists {
  width: 816px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 auto;
}
li.baby-banner_list {
    box-shadow: 0px 10px 10px -6px rgba(0, 30, 50, 0.30);
}
li.baby-banner_list img {
    width: 400px;
}

/* =========================
RRO注釈
========================= */
/* ベビータブ：バナーとCTAの間 */
.baby_bg .rro-note {
    max-width: 816px;
    margin: 24px auto 24px;
    padding: 0 0 0 0;
    list-style: none;
}

/* キッズタブ：RROエリアとCTAの間 */
.kids_bg .rro-note {
    max-width: 820px;
    margin: 24px auto 0;
    padding: 0;
    list-style: none;
}
.rro-note__item {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
    color: #483D34;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}




/* ============================================================== */
/* 1024px以下のタブレット向けスタイル */
/* ============================================================== */
@media screen and (max-width: 1024px) {
  body {
    font-size: 15px;
  }

  /* KV（看板）エリア */
  .go_out__fade_cnt.is-kv {
    height: 500px;
    background-size: auto 100%, auto 100%;
  }
  #coupon-info-section {
    top: 73%;
  }
  .kv-subinfo__title {
    font-size: 18px;
  }
  .kv-subinfo__period {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .kv-subinfo__link {
    font-size: 13px;
  }

  /* 登録ボタンエリア */
  .lp-inr {
    max-width: 90%;
    padding: 0 15px;
  }
  .lp-preparation_ttl {
    width: 80%;
    margin: 10px auto;
  }

  /* クーポンコンテンツのタイトル画像 */
  .promoSection--coupon .coupon-title-image {
    width: 76.533vw;
  }

  /* アンカー */
  .go_out__recom {
    padding-top: 40px;
    max-width: 60%;
    padding: 40px 15px 0;
  }
  .go_out__recom_inner {
    flex-wrap: nowrap;
    gap: 4vw;
    width: 100%;
  }
  .go_out__recom_inner a {
    max-width: unset;
  }
  /* アンカーボタン1つ */
.go_out__recom_inner a {
  flex: 0 0 100%;
  max-width: 139.6vw;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
}
/* アンカーボタン2つ並び */
.go_out__recom_inner.btn-col2 a {
  flex: 0 0 100%;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
}

  /* 固定アンカーリンクナビ */
  .go_out__status_list {
    gap: 8px;
    padding: 0 10px;
  }
  .go_out__status_list > li {
    max-width: 30%;
  }
  .go_out__status_list > li img {
    width: 100%;
    height: auto;
  }
  .is__fixed .go_out__status_list > li {
    width: auto;
    max-width: 30%;
  }
  .go_out__status_item img {
    max-width: auto;
  }

  /* ============================================================== */
  /* Rakuten Travel / Experiences エリア共通 */
  /* ============================================================== */
  .promoSection--travel,
  .promoSection--experience,
  .promoSection--camp {
    margin-top: 40px;
    padding-bottom: 40px;
  }
  .promoSection--travel .coupon-top-curve,
  .promoSection--experience .coupon-top-curve,
  .promoSection--camp .coupon-top-curve {
    height: 100px;
    background-size: 100% 100px;
  }
  .promoSection--travel .campaign-section,
  .promoSection--camp .campaign-section {
    padding-top: 50px;
  }
  .promoSection--travel .campaign-header,
  .promoSection--experience .campaign-header {
    max-width: 90%;
    padding: 0 15px;
  }
  .promoSection--camp .campaign-header {
    max-width: 90%;
    padding: 0 15px;
  }

  /* 宿泊対象期間 */
  .stay-period-title {
    font-size: 4.6vw;
  }
  .stay-period-date {
    font-size: 3.267vw;
  }

  /* クーポンコンテンツのタイトル画像 */
  .promoSection--travel .coupon-title-image,
  .promoSection--experience .coupon-title-image {
    width: 30%;
  }

  /* クーポンリストのアイテム */
  .promoSection--travel .coupon-list {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 90%;
    padding: 0 15px;
  }
  .coupon-item .image-wrapper--pd {
    width: 100%;
  }
  .coupon-badge {
    width: 19%;
  }
  .coupon-note {
    font-size: 2.667vw;
    width: 100%;
    text-align: left;
  }

  /* ページ区切り（下▼のデザイン） */
  .section-divider-arrow-css {
    height: 40px;
    bottom: -40px;
  }
  .section-divider-arrow-css::before {
    border-left-width: 18px;
    border-right-width: 18px;
    border-top-width: 18px;
  }

  /* 左右の花などの装飾画像 */
  #experience-background-image {
    height: auto;
    padding-bottom: 20px;
  }
  #experience-background-image::before,
  #experience-background-image::after {
    display: none;
  }

  /* タブ タイトル */
  .tab-area-title-wrapper {
    max-width: 90%;
    padding: 20px 15px 0;
  }
  .promoSection--travel .tab-area-title img {
    width: 80%;
    margin: 20px auto;
  }
  .promoSection--experience .tab-area-title img {
    width: 90%;
    margin: 20px auto;
  }

  /* タブ ボタン */
  .tab_wrap [data-role="tablist"] .ecm-tab-container.bordered-b {
    padding: 0 15px;
  }

  .ecm-tab-container.bordered-b {
    background-color: #F2EDE2;
  }
  .tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] {
    flex: 1;
    height: 50px;
    font-size: 16px;
    padding: 0 5px;
  }
  .tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz24 {
    font-size: 21px !important;
  }
  .tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz18 {
    font-size: 9px !important;
  }
  .tab_wrap [data-role="tablist"] button.ecm-tab[data-tab][aria-selected="true"],
  .tab_wrap [data-role="tablist"] button.ecm-tab[data-tab][aria-selected="false"] {
    height: 50px;
  }

  /* タブ内コンテンツ */
  #stay-kids-section .c-section-title,
  #stay-baby-section .c-section-title,
  #spot-family-section .c-section-title,
  #camp-section .c-section-title {
    max-width: 90%;
    padding: 0 15px;
    font-size: 4.267vw;
  }
  #stay-kids-section,
  #stay-baby-section,
  #spot-family-section,
  #camp-section {
    padding-top: 30px;
  }
  .baby_border-bottom,
  .kids_border-bottom {
    border-bottom-width: 3px;
  }

  /* 地域エリアカード */
  .card-area-section {
    max-width: 90%;
    padding: 0 15px;
  }
  .card-area-title {
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .card-area-title-img {
    max-width: 100px;
  }
  .kyushuokinawa .card-area-title-img {
    max-width: 150px;
  }

  .promoSection--travel .go_out__slide_list {
    display: flex;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
    width: 100%;
    gap: 12px;
  }
  .go_out__slide_list {
    display: flex;
    justify-content: flex-start;
    width: auto;
    padding-right: 3.2vw;
    overflow-x: scroll;
    scrollbar-width: thin;
    scrollbar-color: #A4907D #E4DC9A; /* thumb / track */
    gap: 10px;
    flex-wrap: nowrap;
  }
/* Chrome, Safari, Edge */
  .go_out__slide_list::-webkit-scrollbar {
    height: 6px;
    background-color: #E4DC9A; /* track */
  }
  .go_out__slide_list::-webkit-scrollbar-thumb {
    background-color: #A4907D;
    border-radius: 12px;
    padding-bottom: 16px;
  }
  .go_out__slide_list > li {
    flex: 0 0 calc(50% - 10px);
    max-width: 250px;
  }
  .go_out__slide_list > li > a {
    min-height: auto;
    padding: 8px 0;
  }
  .go_out__slide_title {
    font-size: 12px;
    min-height: 40px;
    width: auto;
  }
  .go_out__slide_link_txt {
    font-size: 11px;
    padding-right: 10px;
  }
  .go_out__slide_location {
    font-size: 12px;
  }
  .go_out__slide_location span.is-icon_location {
    width: 8px;
    height: 10px;
  }

  /* テーマ別に宿を探す */
  .theme-search {
    max-width: 90%;
    padding: 40px 15px 0;
  }
  /* トラベルエリア */
  .promoSection--travel .theme-search .c-section-title__img {
    max-width: 38vw;
  }
  /* キャンプエリア */
  .promoSection--camp .theme-search .c-section-title__img {
    max-width: 43vw;
  }

  .theme-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 10px;
    row-gap: 20px;
    max-width: 90%;
    margin: 24px auto 0;
  }
  .theme-cards > li {
    width: calc(50% - 5px);
  }
  .theme-card .theme-card-bnr {
    width: 100%;
    height: auto;
  }

  /* 汎用CTAボタン */
  .c-cta-button-wrapper {
    max-width: 100%;
    padding: 0 4vw;
  }
  .c-cta-button {
    max-width: 70%;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 12vw;
  }
  .promoSection--travel .c-cta-button {
    font-size: 4.333vw;
    padding: 4.267vw 4vw;
  }
  .promoSection--experience .c-cta-button {
    font-size: 3.267vw;
    padding: 10px 4vw;
  }
  .promoSection--camp .c-cta-button {
    font-size: 3.333vw;
    padding: 4.267vw 4vw;
  }
  .c-cta-button span {
    margin-right: 2.133vw;
  }
  .c-cta-button::after {
    right: 5.333vw;
    width: 2.133vw;
    height: 2.133vw;
  }

  /* おすすめのキャンペーン・クーポン 314バナーエリア */
  .stay-recommend-section .c-section-title {
    width: 90%;
    padding: 30px 15px;
    font-size: 3.267vw;
  }
  /* 楽天トラベル観光体験おすすめのキャンペーン・クーポン 800バナーエリア */
  .spot-recommend-section .c-section-title {
    font-size: 3.267vw;
  }
  /* 楽天トラベルキャンプおすすめのキャンペーン・クーポン 800バナーエリア */
  .camp-recommend-section .c-section-title {
    font-size: 3.267vw;
  }
  .recommend_slide__wrap.is-recommend_cnp {
    max-width: 90%;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
  }
  .recommend_slide__list {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 20px;
    width:100%;
    gap: 15px;
  }
  .recommend_slide__list > li {
    flex-basis: 157px;
    padding-bottom: 0;
  }
  .recommend_slide__list > li > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    height: 100%;
    line-height: 1.4615384615;
    text-decoration: none;
}

  /* おすすめのキャンペーン 800x280バナーエリア */
  .spot-recommend-section .c-section-title {
    max-width: 90%;
    padding: 30px 15px;
  }
  .spot-recommend_wrap {
    max-width: 90%;
  }
  .spot-recommend_lists {
    width: 100%;
    gap: 10px;
  }
  .spot-recommend_list {
    flex: 0 0 calc(50% - 5px);
  }
  .spot-recommend_list a, .spot-recommend_list img {
    width: 100%;
  }

  /* ママ割 この春のおすすめバナーエリア 800x280 */
  .mmwrecommend-top-wave {
    height: 60px;
    background-size: auto 60px;
  }
  .banner-section {
    padding-bottom: 80px;
  }
  .banner-section h2 {
    margin-bottom: 25px;
  }
  .banner-section h2 img {
    width: 80%;
  }

  /* ドーム境界線上に重なる装飾イラスト */
  .mmwrecommend-deco-top {
    position: absolute;
    top: -193px; /* ドーム画像に重なるよう上にはみ出す */
    left: 50%;
    transform: translateX(-50%);
    width:745px;
    pointer-events: none;
    z-index: 2;
  }
  /* ロゴ見出し */
  .mmwrecommend-ribbon-ttl {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -124px;
    margin: 0;
  }
  /* 左側装飾イラスト */
  .mmwrecommend-deco-left {
    position: absolute;
    left: 117px;
    top: -160px;
    width: 83.5px;
    height: 78px;
  }

  /* 右側装飾イラスト */
  .mmwrecommend-deco-right {
    position: absolute;
    right: 115px;
    top: -160px;
    width: 83px;
    height: 68.5px;
  }
  /* 海に入ってる男性の装飾画像 */
  .mmwrecommend-deco-man {
    display: none;
  }
  .banner-flexArea {
    gap: 15px;
    width: 90%;
  }
  .banner-item {
    flex: 0 0 calc(50% - 7.5px);
  }
  .banner-item img {
    max-width: 100%;
  }
}