@charset "utf-8";

:root {
  --ff-en: "Montserrat", sans-serif;
  --main-color: #D54100;
}

html[data-browse-mode="P"] .for-sp,
html[data-browse-mode="S"] .for-pc {
  display: none;
}

/*----------------------------------
  全体
----------------------------------*/

.page-event .pane-contents .container {
  display: block;
  width: 100%;
}

.page-event .pane-contents .container .pane-main {
  margin: 0;
  margin: initial;
  width: 100%;
}

.pane-topic-path {
  margin: 0 0 0px 0;
  background: transparent;
}

.block-topic-path {
  margin: 0px 0 0px 0;
}

.block-topic-path--item__home {
  padding: 0 0 0 15px;
  position: relative;
}

.block-topic-path--item__home::before {
  content: '';
  width: 12px;
  height: 12px;
  display: block;
  background: url("icon_home.png") left center / 12px 12px no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
}

.block-topic-path--item__home a span {
  color: #666666;
}

.block-topic-path--item__home a:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.block-event-page--goods {
  margin: 0;
}

.block-event-page--accessory {
  display: none;
}

.block-top-event--goods {
  margin-bottom: 40px;
}

/* スクロールバー */
.pane-main *::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background: #DCDCDC;
  border-radius: 20px;
}
.pane-main *::-webkit-scrollbar-track {
  background: #DCDCDC;
  border-radius: 20px;
}
.pane-main *::-webkit-scrollbar-thumb {
  background: #CC0000;
  border-radius: 20px;
}
@media (max-width: 768px) {
  .pane-main *::-webkit-scrollbar {
    background: none;
  }
  .pane-main *::-webkit-scrollbar-track {
    background: none;
  }
  .pane-main *::-webkit-scrollbar-thumb {
    background: #DCDCDC;
  }
}

/* PC用スタイル（browse-modeがPの時） */

html[data-browse-mode="P"] .block-thumbnail-t {
  display: flex;
  /* 子要素を横並びにする */
  flex-wrap: nowrap;
  /* 折り返しを無効にする */
  overflow-x: auto;
  /* 横スクロールを有効にする */
  padding-bottom: 30px;
  /* スクロールバーのための余白 */
  gap: 20px;
  margin: 0;
}

html[data-browse-mode="P"] .block-thumbnail-t:not(:has(> li:nth-child(5))) {
  justify-content: center;
  gap: 30px;
}

html[data-browse-mode="P"] .block-thumbnail-t>li {
  width: 266px;
  margin: 0;
  flex-shrink: 0;
}

html[data-browse-mode="P"] .block-thumbnail-t--goods-image figure {
  /*  width: 200px; */
  width: 100%;
  height: 266px;
}

html[data-browse-mode="P"] .block-thumbnail-t--goods-icon {
  margin-top: 18px;
}

html[data-browse-mode="S"] ul.block-thumbnail-t--items {
  flex-wrap: nowrap;
  gap: 10px;
  padding: 0;
}

html[data-browse-mode="S"] .block-thumbnail-t--items li {
  width: 180px;
}

html[data-browse-mode="S"] .block-top-event--goods {
  overflow-x: auto;
  /* 横スクロールを有効にする */
  padding-bottom: 10px;
  /* スクロールバーのための余白 */
  color: #FFF;
}

/* スマホ向けの各商品リストアイテムを横並びにする設定 */

html[data-browse-mode="S"] .block-thumbnail-t {
  display: flex;
  /* 子要素を横並びにする */
  flex-wrap: nowrap;
  /* 折り返しを無効にする */
  overflow-x: auto;
  /* 横スクロールを有効にする */
  padding-bottom: 20px;
  /* スクロールバーのための余白 */
}

#travel_visual {
  position: relative;
}

#travel_visual picture img {
  width: 100%;
  vertical-align: top;
}

/* PC */

@media only screen and (min-width: 750px) {
  .for-sp {
    display: none;
  }
}

[data-browse-mode="P"] #header {
  margin-bottom: 0;
}

[data-browse-mode="P"] .page-event .pane-contents .container .pane-left-menu {
  display: none;
}

/* SP */

@media only screen and (max-width: 749px) {
  .for-pc {
    display: none;
  }
}

[data-browse-mode="S"] .block-topic-path {
  padding: 10px;
  margin: 0;
  background: #FFF;
}

html[data-browse-mode=P] .block-ranking-r--items {
  gap: 17px;
}

html[data-browse-mode=P] .block-ranking-r .block-ranking-r--items>li {
  margin: 0 0px 50px 0;
}

html[data-browse-mode=P] .block-top-event--wrap {
  padding: 0px 0 0px;
}

.swiper-container {
  overflow: inherit;
}

.swiper-container .block-pickup-list-p--items {
  padding: 0 0 20px 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}

.swiper-container-horizontal>.swiper-scrollbar {
  height: 10px;
  border-radius: 0;
  background: #D5DBE2;
}

.swiper-container-horizontal>.swiper-scrollbar .swiper-scrollbar-drag {
  border-radius: 0;
  background: #F480AD;
}

.block-pickup-list-p--add-cart {
  display: none;
}

[data-browse-mode="S"] .p-event-frame {
  position: relative;
}

[data-browse-mode="S"] .block-top-event--goods {
  padding-bottom: 20px;
}

[data-browse-mode="S"] .swiper-container {
  overflow: inherit;
}

[data-browse-mode="S"] .block-pickup-list-p--items {
  flex-wrap: nowrap;
  border-top: 0px solid #FFFFFF !important;
  justify-content: flex-start;
}

[data-browse-mode="S"] .block-pickup-list-p--item-body {
  width: 150px !important;
  margin-bottom: 0;
}

[data-browse-mode="S"] .swiper-slide {
  width: auto;
}

[data-browse-mode="S"] .block-pickup-list-p--items li {
  border-bottom: 0px solid #FFFFFF !important;
}

[data-browse-mode="S"] .block-pickup-list-p--items .img-center img {
  max-height: 150px;
}

html[data-browse-mode="S"] .travel-contents-box figure {
  margin: 0;
}

/*SPスクロール*/

html[data-browse-mode="S"] div#goods_list_auto_load_area {
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;
  padding-bottom: 20px;
}

html[data-browse-mode="S"] .block-goods-detail-j--items {
  flex-wrap: nowrap;
  gap: 16px;
}

html[data-browse-mode="S"] .block-top-event--goods .block-ranking-r--items li {
  min-width: 160px;
  margin: 20px 0 0px;
}

html[data-browse-mode="S"] .block-goods-detail-j--items li.block-goods-detail-j--item {
  min-width: 160px;
  margin: 20px 0 0px;
}

/*カートボタン削除*/

html[data-browse-mode="S"] .block-goods-detail-j--cart-btn {
  display: none;
}

.block-goods-detail-j--cart-btn {
  display: none;
}

.BtnToTop {
  padding: 20px 0 40px;
}

.BtnToTop a {
  width: 340px;
  height: 44px;
  border-radius: 44px;
  font-size: 14px;
  font-weight: bold;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F480AD;
  margin: 0 auto;
}

/* コンテナ全体の設定 */

.block-pickup-list-p {
  overflow-x: auto;
  /* 横スクロールを有効にする */
  overflow-y: hidden;
  /* 縦スクロールを無効にする */
  position: relative;
  /* スクロールバーの配置のため */
  padding-bottom: 20px;
  /* スクロールバーの余白を確保 */
}

/* リストの設定 */

.block-pickup-list-p--items {
  display: flex;
  /* 子要素を横並びにする */
  flex-wrap: nowrap;
  /* 折り返しを無効にする */
  gap: 0;
  /* 要素間の隙間を設定 */
  padding: 0;
  /* パディングをリセット */
  margin: 0;
  /* マージンをリセット */
  list-style: none;
  /* リストのスタイルを無効にする */
}

/* 各リストアイテムの設定 */

.block-pickup-list-p--items>li {
  flex: 0 0 auto;
  /* サイズを固定する（flexboxの自動伸縮を無効化） */
  width: 200px;
  /* アイテムの幅を設定（例として200pxに設定） */
  margin-right: 10px;
  /* アイテム間の間隔を設定 */
}

.block-goods-detail-j--items {
  flex-wrap: nowrap;
}

.block-top-event--header {
  font-size: 24px;
  font-weight: bold;
  line-height: calc(40 / 24);
  text-align: center;
  padding: 10px;
  margin: 0;
}

html[data-browse-mode="S"] .block-top-event--header {
  font-size: calc(22 / 430 * 100vw);
  line-height: calc(40 / 22);
  padding: calc(6 / 430 * 100vw);
}

/*----------------------------------
.event-btn
----------------------------------*/

.event-btn {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

.event-btn a {
  background-color: #CC0000;
  border-style: solid;
  border-width: 1px;
  border-radius: 100px;
  color: #fff;
  display: block;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: .04em;
  text-align: center;
  padding: 14px 14px 13px;
  width: 280px;
  transition: opacity .4s;
  position: relative;
}

html[data-browse-mode="P"] .event-btn a:hover {
  opacity: .8;
}

html[data-browse-mode="S"] .event-btn a {
  font-size: calc(14 / 430 * 100vw);
  padding: 11px 5px 11px;
}

/*----------------------------------
.more-btn-wrap .more-btn
----------------------------------*/

/*pc*/

html[data-browse-mode="P"] .more-btn-wrap {
  display: flex;
  justify-content: center;
}

html[data-browse-mode="P"] .more-btn-wrap .more-btn {
  background-color: #CC0000;
  border-radius: 27px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  padding: 11px 36px 13px;
  min-width: 173px;
  position: relative;
  transition: opacity .3s;
}

html[data-browse-mode="P"] .more-btn-wrap .more-btn::after {
  content: '';
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: .5em;
  height: .5em;
  border: 0.15em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  top: calc(50% - 4px);
  right: 16px;
}

html[data-browse-mode="P"] .more-btn-wrap .more-btn:hover {
  opacity: .7;
}

/*sp*/

html[data-browse-mode="S"] .more-btn-wrap {
  display: flex;
  justify-content: center;
}

html[data-browse-mode="S"] .more-btn-wrap .more-btn {
  background-color: #CC0000;
  border-radius: 27px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  padding: 11px 36px 13px;
  min-width: 173px;
  position: relative;
}

html[data-browse-mode="S"] .more-btn-wrap .more-btn::after {
  content: '';
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: .5em;
  height: .5em;
  border: 0.15em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  top: calc(50% - 4px);
  right: 16px;
}

html[data-browse-mode="P"] .p-event-frame .block-top-event--wrap::before {
  content: "";
  /* 擬似要素を生成 */
  /* display: block; */
  height: 80px;
  /* 余白の高さ */
  margin-top: -80px;
  /* 余白分を上に移動 */
}

/*----------------------------------
共通パーツ
----------------------------------*/

.sec-title {
  color: #4B252D;
  display: flex;
  flex-direction: column;
  gap: 22px;
  text-align: center;
  margin-bottom: 113px;
}

.sec-title.-white {
  color: #fff;
}

.sec-title-jp {
  font-size: 55px;
  font-weight: bold;
  line-height: 1;
  margin: 0;
  margin: initial;
}

.sec-title-en {
  font-family: "Montserrat", sans-serif;
  font-family: var(--ff-en);
  font-size: 30px;
  font-weight: bold;
  line-height: 1.333;
}

html[data-browse-mode="S"] .sec-title {
  gap: 10px;
  margin-bottom: 42px;
}

html[data-browse-mode="S"] .sec-title-jp {
  font-size: calc(28 / 430 * 100vw);
  line-height: 1.429;
}

html[data-browse-mode="S"] .sec-title-en {
  font-size: calc(15 / 430 * 100vw);
}

/*----------------------------------
sec-intro
----------------------------------*/
.sec-intro {
  position: relative;
}
.sec-intro::before {
  content: '';
  background-image: url('/img/usr/freepage/travel/2602/intro_overlay.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  height: 670px;
  width: 1920px;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50%;
  pointer-events: none;
}
.sec-intro-header {
  background-color: #fff;
  padding-block: 45px 50px;
}
.sec-intro-content {
  background-image: linear-gradient(to right, #ffeffc 0%, #fffce9 100%);
  padding-block: 60px 70px;
}
.intro-lead {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 14px;
  text-align: center;
}
.intro-lead * {
  padding: 0;
  margin: 0;
}
.intro-lead-main {
  color: #E85088;
  font-size: 30px;
  font-weight: bold;
  line-height: calc(44 / 30);
}
.intro-lead-sub {
  color: #4B252D;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: calc(38 / 20);
}
.intro-ttl {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 8px;
  text-align: center;
  margin-bottom: 28px;
}
.intro-ttl * {
  padding: 0;
  margin: 0;
}
.intro-ttl-main {
  color: #4B252D;
  font-size: 34px;
  font-weight: bold;
  line-height: calc(40 / 34);
}
.intro-ttl-sub {
  color: #4B252D;
  font-family: var(--ff-en);
  font-size: 15px;
  font-weight: 600;
}
.anchor-panels {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
.anchor-panels > * {
  width: 186px;
}
.anchor-panels img {
  vertical-align: bottom;
}

/* sp */
@media only screen and (max-width: 749px) {
  .sec-intro::before {
    content: none;
  }
  .sec-intro-header {
    background-image: url('/img/usr/freepage/travel/2602/intro_head_sp.jpg');
    background-size: 100%;
    background-position: center top;
    background-repeat: no-repeat;
    padding-block: calc(30 / 430 * 100vw);
  }
  .sec-intro-content {
    background-image: url('/img/usr/freepage/travel/2602/intro_body_sp.jpg');
    background-size: 100%;
    background-position: center top;
    background-repeat: repeat-y;
    padding-block: calc(40 / 430 * 100vw);
  }
  .intro-lead {
    row-gap: calc(10 / 430 * 100vw);
  }
  .intro-lead-main {
    font-size: calc(18 / 430 * 100vw);
    line-height: calc(26 / 18);
  }
  .intro-lead-sub {
    font-size: calc(15 / 430 * 100vw);
    letter-spacing: 0;
    line-height: calc(21 / 15);
  }
  .intro-ttl {
    row-gap: calc(6 / 430 * 100vw);
    margin-bottom: calc(28 / 430 * 100vw);
  }
  .intro-ttl-main {
    font-size: calc(28 / 430 * 100vw);
    line-height: calc(40 / 28);
  }
  .intro-ttl-sub {
    font-size: calc(15 / 430 * 100vw);
  }
  .anchor-panels {
    gap: calc(10 / 430 * 100vw);
  }
  .anchor-panels > * {
    width: calc(123 / 430 * 100vw);
  }
}

/*----------------------------------
sec-event
----------------------------------*/

.sec-event {
  padding-top: 74px;
  padding-bottom: 100px;
  position: relative;
}

.sec-event.-suitcase {
  background-image: linear-gradient(to right, #9fbc00 0%, #81c100 100%), url('/img/usr/freepage/travel/2602/bg_suitcase.jpg');
  background-size: 100% 6px, cover;
  background-position: left top, left top 6px;
  background-repeat: no-repeat, no-repeat;
}
.sec-event.-suitcase .block-top-event--header {
  background-image: linear-gradient(to right, #9fbc00 0%, #81c100 100%);
  color: #fff;
}

.sec-event.-bag {
  background-image: linear-gradient(to right, #ef6d9d 0%, #ff6075 100%), url('/img/usr/freepage/travel/2602/bg_bag.jpg');
  background-size: 100% 6px, cover;
  background-position: left top, left top 6px;
  background-repeat: no-repeat, no-repeat;
}
.sec-event.-bag .block-top-event--header {
  background-image: linear-gradient(to right, #ef6d9d 0%, #ff6075 100%);
  color: #fff;
}

.sec-event.-accessories {
  background-image: linear-gradient(to right, #319eff 0%, #6397ff 100%), url('/img/usr/freepage/travel/2602/bg_accessories.jpg');
  background-size: 100% 6px, cover;
  background-position: left top, left top 6px;
  background-repeat: no-repeat, no-repeat;
}
.sec-event.-accessories .block-top-event--header {
  background-image: linear-gradient(to right, #319eff 0%, #6397ff 100%);
  color: #fff;
}

.sec-event-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 100%;
}

.sec-event-inner>*:last-child {
  margin-bottom: 0;
}

.sec-event-header {
  margin: 0;
}

.sec-event-header img {
  vertical-align: bottom;
}

.sec-event-content {
  background-color: #fff;
}

.event-contents-box {
  padding-inline: 38px;
  padding-block: 50px 60px;
}

.event-contents-box + .event-contents-box {
  padding-top: 0;
}

.event-contents-box .more-button {
  display: none;
}

.ball-rotate>div,
.ball-rotate>div:after,
.ball-rotate>div:before {
  background-color: #D54100;
  background-color: var(--main-color);
  /* ローダー色変更 */
}

.block-top-event--wrap .block-top-event--header {
  display: none;
}

/* sp */

html[data-browse-mode="S"] .sec-event {
  padding-top: calc(28 / 430 * 100vw);
  padding-bottom: calc(50 / 430 * 100vw);
  padding-inline: calc(10 / 430 * 100vw);
}

html[data-browse-mode="S"] .sec-event.-suitcase {
  background-image: linear-gradient(to right, #9fbc00 0%, #81c100 100%), url('/img/usr/freepage/travel/2602/bg_suitcase_sp.jpg');
  background-size: 100% calc(8 / 430 * 100vw), 100% 100%;
  background-position: left top, left top calc(8 / 430 * 100vw);
}

html[data-browse-mode="S"] .sec-event.-bag {
  background-image: linear-gradient(to right, #ef6d9d 0%, #ff6075 100%), url('/img/usr/freepage/travel/2602/bg_bag_sp.jpg');
  background-size: 100% calc(8 / 430 * 100vw), 100% 100%;
  background-position: left top, left top calc(8 / 430 * 100vw);
}

html[data-browse-mode="S"] .sec-event.-accessories {
  background-image: linear-gradient(to right, #319eff 0%, #6397ff 100%), url('/img/usr/freepage/travel/2602/bg_accessories_sp.jpg');
  background-size: 100% calc(8 / 430 * 100vw), 100% 100%;
  background-position: left top, left top calc(8 / 430 * 100vw);
}

html[data-browse-mode="S"] .sec-event-inner>*:last-child {
  margin-bottom: 0;
}

html[data-browse-mode="S"] .event-contents-box {
  padding-inline: calc(10 / 430 * 100vw);
  padding-block: calc(30 / 430 * 100vw) calc(40 / 430 * 100vw);
}
html[data-browse-mode="S"] .event-contents-box + .event-contents-box {
  padding-top: 0;
}

/*----------------------------------
tabMenu
----------------------------------*/

.tabMenu {
  display: flex;
  list-style: none;
}

.tabMenu li {
  cursor: pointer;
  text-align: center;
  background: #fff;
  color: #000;
  border: 1px solid #683C47;
  border-radius: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tabMenu li.active {
  background: #683C47;
  color: #fff;
}

.tabTitle {
  color: #4B252D;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .05em;
  line-height: calc(40 / 24);
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 30px;
  position: relative;
}
.tabTitle::after {
  content: '';
  background-color: #A1BF00;
  height: 4px;
  width: 35px;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
}

.tabContent {
  display: none;
}

.tabContent.active {
  display: block;
}

/*pc*/

html[data-browse-mode="P"] .tabMenu {
  justify-content: center;
  gap: 0 12px;
  margin-bottom: 36px;
}

html[data-browse-mode="P"] .tabMenu li {
  height: 50px;
  width: calc((100% - 60px) / 6);
}

/*sp*/

html[data-browse-mode="S"] .tabMenu {
  flex-wrap: wrap;
  gap: 15px;
  width: 90vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}

html[data-browse-mode="S"] .tabMenu li {
  width: calc((100% - 15px) / 2);
  border-radius: 3px;
  min-height: 3.5em;
}

html[data-browse-mode="S"] .tabTitle {
  font-size: calc(22 / 430 * 100vw);
  margin-bottom: 20px;
}

/* ----------------------------------
pickup
---------------------------------- */
.sec-pickup {
  background-image: url('/img/usr/freepage/travel/2602/bg_pickup.jpg');
  background-size: cover;
  background-position: center top;
  position: relative;
  padding: 80px 0 90px;
}
.sec-pickup .inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 100%;
}
.sec-pickup-ttl {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 8px;
  text-align: center;
  margin-bottom: 28px;
}
.sec-pickup-ttl * {
  padding: 0;
  margin: 0;
}
.sec-pickup-ttl-main {
  color: #4B252D;
  font-size: 34px;
  font-weight: bold;
  line-height: calc(40 / 34);
}
.sec-pickup-ttl-sub {
  color: #4B252D;
  font-family: var(--ff-en);
  font-size: 15px;
  font-weight: 600;
}
.pickup-contents-box {
  position: relative;
  margin: 0 0 60px;
  padding: 50px 60px 60px;
  background: #FFFFFF;
  border-radius: 10px;
}
.pickup-contents-box > *:last-child,
.pickup-contents-box:last-of-type {
  margin-bottom: 0;
}
.pickup-contents-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  border-radius: 8px 8px 0 0;
  background-image: linear-gradient(to right, #fe9dc1 0%, #ffed60 49.8%, #acca0d 100%);
}
.pickup-contents-box .read-more {
  display: none;
}
.sec-pickup .pickup-shop {
  display: flex;
  gap: 50px;
  margin: 0 0 60px;
}
.sec-pickup .pickup-shop .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  height: 160px;
  aspect-ratio: 218/118;
  /* border: 1px solid #D5D5D5; */
}
.sec-pickup .pickup-shop .img img {
  display: block;
  max-width: 95%;
  max-height: 95%;
  margin: auto;
}
.sec-pickup .pickup-shop .info {
  flex: 1;
}
.sec-pickup .pickup-shop h3 {
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: bold;
  color: #4B252D;
}
.sec-pickup .pickup-shop .info p {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
.bnr-list {
  display: flex;
  gap: 40px;
  justify-content: center;
  flex-wrap: wrap;
  margin-inline: auto;
  margin-bottom: 40px;
  max-width: 940px;
}
.bnr-list li {
  width: calc((100% - 40px) / 2);
}
.bnr-list img {
  max-width: 100%;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .sec-pickup {
    background-image: url('/img/usr/freepage/travel/2602/bg_pickup_sp.jpg');
    background-size: 100%;
    background-position: center top;
    background-repeat: repeat-y;
    padding-block: calc(40 / 430 * 100vw) calc(50 / 430 * 100vw);
    padding-inline: calc(15 / 430 * 100vw);
  }
  .sec-pickup-ttl {
    row-gap: calc(6 / 430 * 100vw);
    margin-bottom: calc(28 / 430 * 100vw);
  }
  .sec-pickup-ttl-main {
    font-size: calc(28 / 430 * 100vw);
    line-height: calc(40 / 28);
  }
  .sec-pickup-ttl-sub {
    font-size: calc(15 / 430 * 100vw);
  }
  .pickup-contents-box {
    margin: 0 0 calc(25 / 430 * 100vw);
    padding: calc(40 / 430 * 100vw) calc(15 / 430 * 100vw);
  }
  .sec-pickup .pickup-shop {
    flex-direction: column;
    gap: 30px;
    margin: 0 0 30px;
    padding: 0 25px;
  }
  .sec-pickup .pickup-shop .img {
    width: auto;
    height: auto;
    aspect-ratio: auto;
  }
  .sec-pickup .pickup-shop h3 {
    margin: 0 0 12px;
    font-size: 18px;
    text-align: center;
  }
  .sec-pickup .pickup-shop .info p {
    font-size: 14px;
    line-height: 1.57;
    letter-spacing: 0;
    text-align: center;
  }
  .bnr-list {
    gap: calc(20 / 430 * 100vw);
    flex-direction: column;
    margin-bottom: calc(30 / 430 * 100vw);
  }
  .bnr-list li {
    width: 100%;
  }
}

/*----------------------------------
sec-note
----------------------------------*/

.sec-note {
  padding-top: 75px;
  padding-bottom: 122px;
}

.sec-note-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1560px;
  width: 100%;
}

.note-box {
  background-color: #FEFBEC;
  padding-bottom: 100px;
}

.note-box-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 896px;
  width: 100%;
}

.note-box-title {
  top: -15px;
  text-align: center;
  margin-top: 0;
  margin-top: initial;
  margin-bottom: 27px;
  position: relative;
}

.note-list {
  display: flex;
  flex-direction: column;
  gap: 19px;
  margin-bottom: 47px;
}

.note-list-group {
  display: flex;
  align-items: start;
  flex-direction: column;
  gap: 8px;
}

.note-list dt {
  color: #222222;
  background-color: #F3EBBB;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: .05em;
  padding: 5px 13px;
}

.note-list dd {
  color: #000;
  font-size: 16px;
  line-height: 1.75;
}

.note-list a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

html[data-browse-mode="P"] .note-list a:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}

/* sp */

html[data-browse-mode="S"] .sec-note {
  padding-top: 0;
  padding-bottom: 0;
}

html[data-browse-mode="S"] .note-box {
  padding-left: calc(20 / 430 * 100vw);
  padding-right: calc(20 / 430 * 100vw);
  padding-bottom: 50px;
}

html[data-browse-mode="S"] .note-box-title {
  top: -37px;
  margin-left: calc(-20 / 430 * 100vw);
  margin-right: calc(-20 / 430 * 100vw);
  margin-bottom: -7px;
}

html[data-browse-mode="S"] .note-list {
  margin-bottom: 38px;
}

/*----------------------------------
sec-campaign-list
----------------------------------*/

.sec-campaign-list {
  background-image: url('/img/usr/freepage/travel/2602/bg_column.jpg');
  background-size: cover;
  background-position: center top;
  padding-top: 133px;
  padding-bottom: 120px;
}

.sec-campaign-list-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 100%;
}

.sec-campaign-list .sec-title {
  margin-bottom: 75px;
}

.campaign-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 40px 32px;
  gap: 40px 32px;
  margin-bottom: 50px;
}

.campaign-list li>a {
  background-color: #fff;
  display: block;
  height: 100%;
}

.campaign-list figure {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.campaign-list-detail {
  display: flex;
  align-items: start;
  flex-direction: column;
  flex-grow: 1;
  gap: 10px;
  padding: 17px 17px 24px;
}

.campaign-list-detail .tag {
  border: 1px solid #F4F5F6;
  color: #6A7181;
  font-size: 11px;
  letter-spacing: .04em;
  display: inline-block;
  padding: 0px 3px;
}

.campaign-list-detail .title {
  color: #4B252D;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: .06em;
  line-height: 1.333;
}

/* sp */

html[data-browse-mode="S"] .sec-campaign-list {
  background-image: url('/img/usr/freepage/travel/2602/bg_column_sp.jpg');
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: calc(20 / 430 * 100vw);
  padding-right: calc(20 / 430 * 100vw);
}

html[data-browse-mode="S"] .sec-campaign-list .sec-title {
  margin-bottom: 29px;
}

html[data-browse-mode="S"] .campaign-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin-bottom: 40px;
}

html[data-browse-mode="S"] .campaign-list-detail {
  gap: 9px;
  padding: 12px calc(10 / 430 * 100vw) 13px;
}

html[data-browse-mode="S"] .campaign-list-detail .title {
  font-size: calc(16 / 430 * 100vw);
  line-height: 1.438;
}

/* 追従ナビ */

.fixed-nav {
  position: fixed;
  right: 0;
  bottom: 140px;
  z-index: 101;
}

.fixed-nav-list>*+* {
  margin-top: 5px;
}

.fixed-nav-list li a {
  color: #000;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  display: block;
  width: 270px;
  padding: 11px 10px 10px 19px;
  background-color: #FED851;
  transition: opacity .3s;
}

html[data-browse-mode="P"] .fixed-nav-list li a:hover {
  opacity: 0.7;
}

html[data-browse-mode="S"] .fixed-nav {
  width: 100%;
  bottom: 0;
}

html[data-browse-mode="S"] .fixed-nav-list {
  display: flex;
}

html[data-browse-mode="S"] .fixed-nav-list>*+* {
  margin: 0;
}

html[data-browse-mode="S"] .fixed-nav-list li {
  width: 25%;
}

html[data-browse-mode="S"] .fixed-nav-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(11 / 430 * 100vw);
  text-align: center;
  padding: 8px calc(3 / 430 * 100vw);
  height: 100%;
  width: 100%;
  position: relative;
}

html[data-browse-mode="S"] .fixed-nav-list li:not(:last-child) a::after {
  content: "";
  width: 1px;
  height: calc(100% - 10px);
  background: #000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/*# sourceMappingURL=style.css.map */

/* おすすめショップ */
.shop-list-container {
  padding-bottom: 30px;
  margin: 40px;
  overflow-x: auto;
}
.shop-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  grid-auto-columns: 246px;
  gap: 26px 32px;
  width: max-content;
  margin: 24px auto 0;
}
.shop-list li {
  position: relative;
}
.shop-list li a {
  display: block;
}
.shop-list li figure {
  display: block;
  border: 1px solid #D5D5D5;
}
.shop-list li .name {
  font-size: 12px;
  margin: 5px 0 0;
}
.shop-list li .label {
  position: absolute;
  top: -24px;
  right: -24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFF;
  font-size: 16px;
  font-weight: bold;
  background: linear-gradient(-45deg, #AC0F14 0%, #AC0F14 50%, #CC090F 50%, #CC090F 100%);
  z-index: 1;
}
.shop-list li .label.js {
  flex-direction: column;
  font-size: small;
}
@media only screen and (max-width: 749px) {
  .shop-list-container {
    padding-bottom: calc(20 / 430 * 100vw);
    padding-inline: calc(20 / 430 * 100vw);
    margin: calc(30 / 430 * 100vw) calc(15 / 430 * 100vw) calc(40 / 430 * 100vw);
  }
  .shop-list {
    grid-template-rows: repeat(4, auto);
    grid-auto-columns: calc(154 / 430 * 100vw);
    margin: 15px auto 0;
  }
  .shop-list li .label {
    top: -15px;
    right: -15px;
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
}