/* ============================================================== */
/* リセット・ベーススタイル */
/* ============================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  scroll-margin-top: 82px;
}
body {
  margin: 0;
  font-family: HiraKakuProN-W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, sans-serif,Noto Sans JP;
  color: #483D34;
  background-color: #fff;
}
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;
}

/* ユーティリティ */
.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: 696px;
  position: relative;
  overflow: hidden;
  background-image:
    url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/kanban.png),
    url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/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: 1920px;
  margin: 0 auto;
  position: relative;
}
#coupon-info-section {
  text-align: center;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  font-family: "Hiragino Kaku Gothic ProN";
  width: 100%;
  max-width: 1920px;
}
.kv-subinfo a:visited {
  color: #FCFCB8 !important;
}
.kv-subinfo__title {
  font-weight: 600;
  font-size: 21px;
  line-height: 1.7;
  color: #ffffff;
}
.kv-subinfo__period {
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 17px;
  color: #ffffff;
  font-weight: 600;
}
.kv-subinfo__link {
  color: #FCFCB8;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-style: normal;
  font-weight: 300;
  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: #FCFCB8;
}
.kv-subinfo__link::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #FCFCB8;
  border-right: 1px solid #FCFCB8;
  transform: rotate(45deg);
  margin-top: -2px;
}
.kv-subinfo__link:focus:visited {
  color: #FCFCB8;
}
main.lp__wrp {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}

/* 登録ボタンエリア */
.lp-inr {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.lp-cv__wrap {
  text-align: center;
}
.lp-preparation_ttl {
  width: 527px;
  margin: 10px auto 14px;
  max-width: 960px;
}

/* アンカー */
.go_out__recom {
  position: relative;
  padding-top: 60px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.go_out__recom_inner {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  gap: 20px;
}
.go_out__recom_inner a {
  flex: 0 0 calc(50% - 7.5px);
  max-width: 249px;
  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: 0;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background-position: center top;
  background-size: 1920px 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;
  gap: 10px;
  padding: 0 15px;
}
.go_out__status_list > li {
  flex: 1;
  max-width: 191px;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.1));
}
.is__fixed .go_out__status_list > li {
  width: auto;
}

/* ============================================================== */
/* Rakuten Travel エリア */
/* ============================================================== */
#travelcoupon {
  scroll-margin-top: 90px;
}
.promoSection--travel {
  margin-top: 65px;
}
.promoSection--travel .coupon-section-wrapper {
  position: relative;
}
.promoSection--travel .coupon-top-curve {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 139.5px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/coupon1_top_divider.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 1920px 139.5px;
  pointer-events: none;
}
.promoSection--travel .campaign-section {
  position: relative;
  padding-top: 74px;
}

/* 宿を探す・予約するの見出し */
.promoSection--travel .campaign-header {
  text-align: center;
  max-width: 711px;
  margin: 0 auto 0;
}
.promoSection--travel .campaign-header img {
  height: auto;
  width: 100%;
}

/* 宿泊対象期間 */
.stay-period.text-content {
  text-align: center;
  line-height: 1;
  padding-top: 18px;
  position: relative;
  top: -19px;
}
.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--travel .coupon-title-image {
  width: 327px;
  text-align: center;
  margin: 0 auto;
  padding: 0;
  position: relative;
}

/* クーポンリストのアイテム */
.promoSection--travel .coupon-list{
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  gap: 28px;
  justify-items: unset;
  grid-template-columns: repeat(auto-fit, minmax(458px, 1fr));
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
/* クーポン注釈 */
.coupon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* クーポンバッジ */
.promoSection--travel .coupon-badge {
  position: absolute;
  top: -21px;
  left: -12px;
  width: 102px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}
.coupon-note {
  font-size: 12px;
  text-align: left;
  width: 442px;
  font-family: "Hiragino Kaku Gothic ProN";
  font-weight: 300;
  margin-top: 8px;
}
.promoSection--travel .tab-area-title img {
  display: block;
  width: 600px;
  height: auto;
  margin: 36px auto 31px;
}

/* ============================================================== */
/* Rakuten Travel Experiences エリア */
/* ============================================================== */
#experiencecoupon{
  scroll-margin-top: 90px;
}
.promoSection--experience {
  margin-top: 101px;
  padding-bottom: 60px;
}
.promoSection--experience .coupon-section-wrapper{
  position: relative;
}
.promoSection--experience .coupon-top-curve {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 139.5px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/coupon2_top_divider.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 1920px 139.5px;
  pointer-events: none;
}
.promoSection--experience .campaign-section {
  position: relative;
  padding-top: 74px;
}
/* おでかけ先を探す・予約するの見出し */
.promoSection--experience .campaign-header {
  text-align: center;
  max-width: 727px;
  margin: 0 auto 0;
}
.promoSection--experience .campaign-header img {
  height: auto;
  width: 100%;
}
.promoSection--experience .coupon-title-image {
  width: 246px;
  text-align: center;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
.promoSection--experience .coupon-list{
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  justify-items: unset;
  grid-template-columns: repeat(auto-fit, minmax(458px, 1fr));
  max-width: 465px;
  margin-left: auto;
  margin-right: auto;
}
.promoSection--experience .coupon-badge {
  position: absolute;
  top: -21px;
  left: -11px;
  width: 102px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}
.promoSection--experience .tab-area-title img {
  display: block;
  width: 752px;
  height: auto;
  margin: 36px auto 31px;
}

/* ============================================================== */
/* Travel/Experiences 共通スタイル */
/* ============================================================== */

/* コンテンツ中身 */
.campaign-content {
  background-color: #F9F3BF;
}
/* クーポンエリアの区切り（下▼のデザイン） */
.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--travel .section-divider-arrow-css::before {
  border-top: 25px solid #F9F3BF;
}
.promoSection--experience .section-divider-arrow-css::before {
  border-top: 25px solid #F9F3BF;
}

/*  左右の花などの装飾画像 */
#travel-background-image {
  width: 100%;
  height: 697px;
  position: relative;
}
#experience-background-image {
  width: 100%;
  height: 620px;
  position: relative;
}
#travel-background-image::before {
  content: "";
  position: absolute;
  left: calc(50% - 480px - 360px);
  bottom: 70px;
  width: 265px;
  height: 506.5px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/travel_left_flower_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  pointer-events: none;
  z-index: 0;
}
#travel-background-image::after {
  content: "";
  position: absolute;
  right: calc(50% - 480px - 340px);
  bottom: 70px;
  width: 265px;
  height: 506.5px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/travel_right_flower_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  pointer-events: none;
  z-index: 0;
}
#experience-background-image::before {
  content: "";
  position: absolute;
  left: calc(50% - 480px - 300px);
  bottom: 70px;
  width: 246px;
  height: 414px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/experiences_left_flower_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  pointer-events: none;
  z-index: 0;
}
#experience-background-image::after {
  content: "";
  position: absolute;
  right: calc(50% - 480px - 300px);
  bottom: 70px;
  width: 246px;
  height: 414px;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/experiences_right_flower_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  pointer-events: none;
  z-index: 0;
}

/* クーポンコンテンツのタイトル画像 */
.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;
}

/* ============================================================== */
/* タブ タイトル */
/* ============================================================== */
.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 #EAA922;
  align-items: flex-end;
  position: relative;
  overflow: visible;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
.tab_wrap [data-role="tablist"]:has(button.ecm-tab[data-tab][id*="baby"][aria-selected="true"]) .ecm-tab-container.bordered-b {
  border-bottom-color: #EF6D7F;
}
.tab_wrap [data-role="tablist"]:has(button.ecm-tab[data-tab][id*="kids"][aria-selected="true"]) .ecm-tab-container.bordered-b {
  border-bottom-color: #EAA922;
}
.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";
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz19 {
  font-size: 19px !important;
  display: contents;
}
.tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz15 {
  font-size: 15px !important;
  display: contents;
}

/* 楽天トラベル宿のタブ */
.tab_wrap [data-role="tablist"] button#travelbaby.ecm-tab[data-tab] {
  background: #EF6D7F;
}
.tab_wrap [data-role="tablist"] button#travelkids.ecm-tab[data-tab] {
  background: #EAA922;
}

/* 観光体験のタブ */
.tab_wrap [data-role="tablist"] button#experiencebaby.ecm-tab[data-tab] {
  background: #EF6D7F;
}
.tab_wrap [data-role="tablist"] button#experiencekids.ecm-tab[data-tab] {
  background: #EAA922;
}

/* タブ内コンテンツ */
.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: #FBF8DB;
}
#spot_tabColPanel1.baby_bg {
  background-color: #FFEFEE;
}
#spot_tabColPanel2.kids_bg {
  background-color: #FBF8DB;
}
#stay-kids-section .c-section-title {
  max-width: 593px;
}
#stay-baby-section .c-section-title {
  max-width: 624px;
}
#spot-kids-section .c-section-title {
  max-width: 717px;
}
#spot-baby-section .c-section-title {
  max-width: 748px;
}
#stay-kids-section,
#stay-baby-section,
#spot-kids-section,
#spot-baby-section {
  padding-top: 40px;
}
.baby_border-bottom {
  border-bottom: 5px solid #EF6D7F;
}
.kids_border-bottom {
  border-bottom: 5px solid #EAA922;
}

/* ============================================================== */
/* タブ内アイコンセクション */
/* ============================================================== */
#stay-baby-section .icon-description-list{
  background-color: #FADFDD;
}
#stay-kids-section .icon-description-list{
  background-color: #F3EDBC;
}
.icon-description-list {
  display: flex;
  flex-wrap: wrap;
  gap:27px;
  margin-top: 33px;
  justify-content: flex-start;
  align-items: flex-start;
  border-radius: 6px;
  padding: 12px 0 12px 100px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.icon-description-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
.icon-description-img {
  width: 25px;
  height: 25px;
  flex-shrink: 0;
  margin: 0;
}
.icon-description-text {
  margin: 0;
  line-height: 1.6;
  font-size: 14px;
  font-weight: 600;
}

/* ============================================================== */
/* タブ内 地域エリアカード */
/* ============================================================== */
.card-area-section {
  max-width: 960px;
  margin: 0 auto;
  width: 100%;
}
.card-area-title {
  margin-top: 26px;
  margin-bottom: 14px;
  text-align: left;
  max-width: 960px;
  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;
}
.go_out__slide_wrap {
    margin: 5px auto 0;
}
.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_list .go_out__slide_icon {
  width: 25px;
  height: 25px;
  object-fit: contain;
}
.go_out__slide_icons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 8px 8px;
  gap: 5px;
  background-color: #fff;
}
.go_out__slide_icon {
  width: 50px;
  height: 50px;
  object-fit: contain;
}
.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: 13px;
  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;
}

/* ============================================================== */
/* テーマ別に宿を探す */
/* ============================================================== */
.theme-search {
  max-width: 960px;
  margin: 0 auto;
  padding: 65px 0 0;
}
.theme-search .c-section-title__img {
    max-width: 225px;
    width: auto;
}
.theme-cards {
  list-style: none;
  padding: 0;
  margin: 35px 0 0;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(312px, 1fr));
  max-width: 960px;
}
.theme-card .theme-card-bnr {
  width: 312px;
  height: auto;
}

/* ============================================================== */
/* 注目の検索ワード */
/* ============================================================== */
.featured-keywords .c-section-title__img {
  max-width: 200px;
  width: auto;
}
.featured-keywords {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
}
#stay-keywords-kids.featured-keywords,
#stay-keywords-baby.featured-keywords,
#spot-keywords-kids.featured-keywords {
  padding: 65px 0;
}
#spot-keywords-baby.featured-keywords {
  padding: 42px 0 82.5px;
}
.featured-keywords::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 12.5px;
  width: 102px;
  aspect-ratio: 102 / 90;
  background: url("https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/keyword-decoration.png") no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
.featured-keywords__inner {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.keyword-buttons-wrap {
  margin-top: 20px;
}
.keyword-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 9px;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 960px;
}
.keyword-button {
  display: inline-flex;
  align-items: center;
  padding: 8px;
  border-radius: 25px;
  background-color: #fff;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  transition: background-color 0.2s, border-color 0.2s;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.10);
  font-family: Noto sans-serif;
  font-weight: 400;
}
.keyword-buttons a {
  color: #483D34 !important;
  text-decoration: none;
}
.keyword-buttons a:active,
.keyword-buttons a:visited {
  color: #483D34 !important;
}

/* ============================================================== */
/* 汎用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: #00A386;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN";
  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: 32px;
}
.promoSection--travel .c-cta-button {
  font-size: 25px;
  padding: 21px 18px;
}
.promoSection--experience .c-cta-button-wrapper {
  margin-top: 40px;
}
.promoSection--experience .c-cta-button {
  font-size: 20px;
  padding: 13px 18px;
}
.coupon-item .image-wrapper--pd {
  margin: 0 auto;
  width: 458px;
}

/* ============================================================== */
/* おすすめのキャンペーン・クーポン 314バナーエリア */
/* ============================================================== */
.stay-recommend-section .c-section-title {
  width: 403px;
  margin: 0 auto;
  padding: 50px 0 30px;
  font-size: 18px;
}
.recommend_slide__wrap.is-recommend_cnp {
  max-width: 849px;
  margin: 0 auto;
}
.recommend_slide__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.recommend_slide__list > li {
  flex-basis: 157px;
}
.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 .c-section-title {
  max-width: 477px;
  margin: 0 auto;
  padding: 50px 0 32px;
  font-size: 18px;
}
.spot-recommend_wrap {
  margin-left: auto;
  margin-right: auto;
}
.spot-recommend_lists {
  width: 816px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  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 */
/* ============================================================== */
.mmwrecommend-top-wave {
  width: 100%;
  height: 105px;
  margin: 0 auto;
  background-image: url(https://r.r10s.jp/evt/event/family/campaign/trip/_pc/img/20260218/mmwrecommen-top-wave.png);
  background-repeat: repeat-x;
  background-position: center top;
  background-size: auto 105px;
  position: relative;
  z-index: 2;
}
.banner-section {
  margin: 0 auto;
  padding-bottom: 80px;
  text-align: center;
  background-color: #F9E9E6;
  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);
}

/****************************************
タブボタンのフォーカスリングを制御
****************************************/
.ecm-tab:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/***************************************************************
ママ割 赤ちゃんとの旅行デビューLPバナーエリア 800x280
***************************************************************/
.baby-banner-section {
  padding-top: 65px;
}
.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;
}
/* ============================================================== */
/* 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: 65%;
  }
  .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;
  }

  /* アンカー */
  .go_out__recom {
    padding-top: 40px;
    max-width: 60%;
    padding: 40px 15px 0;
  }
  .go_out__recom_inner {
    flex-wrap: wrap;
    gap: 15px;
  }
  .go_out__recom_inner a {
    flex: 0 0 calc(50% - 7.5px);
    max-width: unset;
  }

  /* 固定アンカーリンクナビ */
  .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;
  }

  /* ============================================================== */
  /* Rakuten Travel / Experiences エリア共通 */
  /* ============================================================== */
  .promoSection--travel,
  .promoSection--experience {
    margin-top: 40px;
    padding-bottom: 40px;
  }
  .promoSection--travel .coupon-top-curve,
  .promoSection--experience .coupon-top-curve {
    height: 100px;
    background-size: 100% 100px;
  }
  .promoSection--travel .campaign-section,
  .promoSection--experience .campaign-section {
    padding-top: 50px;
  }
  .promoSection--travel .campaign-header,
  .promoSection--experience .campaign-header {
    max-width: 90%;
    padding: 0 15px;
  }

  /* 宿泊対象期間 */
  .stay-period.text-content {
    top: -10px;
  }
  .stay-period-title {
    font-size: 21px;
  }
  .stay-period-date {
    font-size: 16px;
  }

  /* クーポンコンテンツのタイトル画像 */
  .promoSection--travel .coupon-title-image,
  .promoSection--experience .coupon-title-image {
    width: 30%;
  }

  /* クーポンリストのアイテム */
  .promoSection--travel .coupon-list,
  .promoSection--experience .coupon-list {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 90%;
    padding: 0 15px;
  }
  .promoSection--experience .coupon-list {
    max-width: 400px;
  }
  .coupon-item .image-wrapper--pd {
    width: 100%;
  }
  .promoSection--travel .coupon-badge,
  .promoSection--experience .coupon-badge {
    width: 80px;
    top: -15px;
    left: -10px;
  }
  .coupon-note {
    font-size: 11px;
    width: 90%;
    text-align: center;
  }

  /* ページ区切り（下▼のデザイン） */
  .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;
  }

  /* 左右の花などの装飾画像 */
  #travel-background-image,
  #experience-background-image {
    height: auto;
    padding-bottom: 20px;
  }
  #travel-background-image::before,
  #travel-background-image::after,
  #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 {
    gap: 4px;
    border-bottom-width: 3px;
    max-width: 90%;
    padding: 0 15px;
  }
  .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] .fsz19 {
    font-size: 16px !important;
  }
  .tab_wrap [data-role="tablist"] button.ecm-tab[data-tab] .fsz15 {
    font-size: 12px !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-kids-section .c-section-title,
  #spot-baby-section .c-section-title {
    max-width: 90%;
    padding: 0 15px;
  }
  #stay-kids-section,
  #stay-baby-section,
  #spot-kids-section,
  #spot-baby-section {
    padding-top: 30px;
  }
  .baby_border-bottom,
  .kids_border-bottom {
    border-bottom-width: 3px;
  }

  /* タブ内アイコンセクション */
  .icon-description-list {
    gap: 15px;
    margin-top: 20px;
    padding: 10px 15px;
    max-width: 90%;
    justify-content: center;
  }
  .icon-description-item {
    gap: 5px;
  }
  .icon-description-img {
    width: 20px;
    height: 20px;
  }
  .icon-description-text {
    font-size: 13px;
  }

  /* タブ内 地域エリアカード */
  .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;
  }
  .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;
  }
  .theme-search .c-section-title__img {
    max-width: 200px;
  }
  .theme-cards {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
    max-width: 90%;
    margin-top: 25px;
  }
  .theme-card .theme-card-bnr {
    width: 100%;
  }

  /* 注目の検索ワード */
  .featured-keywords {
    max-width: 90%;
    padding: 40px 15px;
  }
  #spot-keywords-baby.featured-keywords {
    padding: 30px 15px 60px;
  }
  .featured-keywords .c-section-title__img {
    max-width: 180px;
  }
  .featured-keywords::after {
    display: none;
  }
  .keyword-buttons-wrap {
    margin-top: 15px;
  }
  .keyword-buttons {
    gap: 6px;
    justify-content: center;
  }
  .keyword-button {
    padding: 6px 10px;
    font-size: 13px;
  }

  /* 汎用CTAボタン */
  .c-cta-button-wrapper {
    max-width: 50%;
    padding: 0 15px;
  }
  .c-cta-button {
    max-width: 90%;
    left: 50%;
    transform: translateX(-50%);
  }
  .promoSection--travel .c-cta-button {
    font-size: 20px;
    padding: 16px 15px;
  }
  .promoSection--experience .c-cta-button {
    font-size: 16px;
    padding: 10px 15px;
  }
  .c-cta-button span {
    margin-right: 8px;
  }
  .c-cta-button::after {
    right: 20px;
    width: 8px;
    height: 8px;
  }

  /* おすすめのキャンペーン・クーポン 314バナーエリア */
  .stay-recommend-section .c-section-title {
    width: 90%;
    padding: 30px 15px;
  }
  .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;
    max-width: 829px;
    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: 50px;
  }
  .banner-section h2 {
    margin-bottom: 25px;
  }
  .banner-section h2 img {
    width: 80%;
  }
  .banner-flexArea {
    gap: 15px;
    width: 90%;
  }
  .banner-item {
    flex: 0 0 calc(50% - 7.5px);
  }
  .banner-item img {
    max-width: 100%;
  }
}