@charset "utf-8";
/* クルーズTOP　PCSP共通 */
/**/
.main {
  --default-color-eme_green: #299db9;
  --default-color-eme_green_light: rgba(28, 152, 180, .4); /*#a4d6e1*/
  --default-color-none: #d6d6d6;
  --default-aspect-ratio: 3 / 2;
  --default-aspect-ratio-ire1: 300 / 160;
  --default-aspect-ratio-ire2: 246 / 164;
}
.section-navi__list.is-column-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (min-width:731px) {
  #page-navi .section-navi__list.is-column-4 {
    gap: calc((16 / 992) * 100%);
  }
  #page-navi .section-navi__list.is-column-4 .section-navi__list--link {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 730px) {
  #page-navi .section-navi__list.is-column-4 .section-navi__list--link {
    padding: .5em min((9.5vw / 7.5), 9.5px);
  }
  #page-navi .section-navi__list.is-column-4 .section-navi__list--image {
    width: 100%;
    max-width: 120px;
  }
}
#mainSection {
  position: relative;
  padding: min((80vw / 7.5), 65px) 0;
}
#mainBanner + #mainSection {
  padding-top: 0;
}
#mainBanner + #mainSection::before {
  content: "";
  width: 100%;
  height: calc(92px / 2);
  background: var(--default-bg-mainBanner);
  display: block;
  position: absolute;
  top: 0;
}
#mainSection > * {
  position: relative;
}
#page-conts .section:not(#news) {
  padding: min((50vw / 7.5), 60px) 0;
}
.is-size-sp #page-conts .section:not(#news) {
  margin-top: min((50vw / 7.5), 60px);
  padding-top: 0;
}
.is-size-pc #product.section {
  background: #fff;
}
#point.section {
  padding-bottom: 0;
}
#page-conts .section-title {
  text-align: center;
  margin: 0 auto min((45vw / 7.5), 40px);
}
#map .section-title {
  width: min((236vw / 7.5), 157px);
  margin-bottom: 0;
}
#product .section-title {
  width: min((488vw / 7.5), 325px);
}
#point .section-title {
  width: min((569vw / 7.5), 379px);
}
.product__item--photo {
  width: 100%;
  aspect-ratio: 295 / 160;
  object-fit: cover;
}
/**/
/* =====================================*/
/*mv*/
.mv, .mv__inner {
  position: relative;
}
.mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mv__bg :is(.slick-list, .slick-track, .slick-slide, div:not([class])) {
  height: 100%;
}
.mv__bg--photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* =====================================*/
/*最新情報*/
#news {
  margin-top: min((40vw / 7.5), 20px);
}
.news__wrapper {
  background: #fff;
}
.is-size-pc .news__wrapper {
  border: 1px solid #eee;
  padding: min((12vw / 7.5), 20px);
  display: grid;
  grid-template-columns: min((100vw / 7.5), 145px) 1fr;
  gap: 0 12px;
}
.news__title {
  background: var(--default-color-eme_green);
  text-align: center;
  line-height: 0;
  color: #fff;
  padding: min((13vw / 7.5), 7px) 0 min((11vw / 7.5), 7px);
}
.is-size-pc .news__title {
  display: flex;
  justify-content: center;
  align-items: center;
}
.news__title--text {
  width: min((143vw / 7.5), 76px);
}
.news__item {
  display: flex;
  gap: .5em .75em;
  align-items: start;
  /*font-size: min((24vw / 7.5), 12px);*/
  line-height: calc(30 / 24);
  padding: min((20vw / 7.5), 12px);
  padding-top: min((16vw / 7.5), 10px);
}
.is-size-pc .news__item {
  padding: .5em .25em;
}
.is-size-sp .news__item {
  flex-wrap: wrap;
}
.news__item:not(:first-child) {
  border-top: 1px dotted;
}
.news__item--date, .news__item--type {
  white-space: nowrap;
}
.news__item--type {
  border: 1px solid;
  padding: .1em .5em .2em;
  line-height: 1;
}
.news__item--type.is-type-kokunai {
  color: var(--default-color-dom)
}
.news__item--type.is-type-kaigai {
  color: var(--default-color-int)
}
/* =====================================*/
/*MAP*/
.map {
  position: relative;
}
.is-size-pc .map {
  margin-top: max((-23vw / 7.5), -33px);
}
.map__images {
  display: grid;
  justify-items: center;
}
.map__item {
  position: absolute;
  top: 0;
  left: 0;
}
.is-size-sp .map__item.is-med {
  max-width: calc((330 / 750) * 100%);
}
.is-size-pc .map__item.is-med {
  max-width: calc((336 / 760) * 100%);
}
/*日本以外は海外のエリアシートにて指定*/
.map__item.is-jpn {
  margin-top: calc((167 / 750) * 100%);
  margin-left: calc((347 / 750) * 100%);
}
.is-size-pc .map__item.is-jpn {
  margin-top: calc((180 / 992) * 100%);
  margin-left: calc((444 / 992) * 100%);
}
.map__item--link {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 .5em;
  font-size: min((20vw / 7.5), 14px);
  line-height: 1.1;
  font-weight: bold;
  border-radius: 500px;
  background: #fff;
  border: min((2vw / 7.5), 2px) var(--default-color-green) solid;
  padding: .2em 1.5em .3em 1em;
  min-height: min((50vw / 7.5), 40px);
}
.map__item--text {
  padding-bottom: .05em;
}
.map__item--link::before {
  content: "";
  width: 1em;
  height: 1em;
  background: var(--default-color-green) var(--default-icon-right-white);
  border-radius: 100%;
}
/* =====================================*/
/*商品*/
.product + .product {
  margin-top: min((70vw / 7.5), 100px);
}
#product-kokunai .product__titles {
  color: var(--default-color-dom2);
}
#product-kaigai .product__titles {
  color: var(--default-color-int2);
}
.main .product__titles .base-text-link {
  color: inherit !important;
  text-decoration: none !important;
  font-size: min((26vw / 7.5), 16px);
}
#product-kokunai .product__titles .base-text-link::after {
  background-image: url("../../common/images/icon_arrow_right_kokunai.svg");
}
#product-kaigai .product__titles .base-text-link::after {
  background-image: url("../../common/images/icon_arrow_right_kaigai.svg");
}
.product__titles {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  margin-bottom: min((20vw / 7.5), 20px);
}
.is-size-sp .product__titles {
  padding: 0 0 min((15vw / 7.5), 15px) min((20vw / 7.5), 20px);
  border-bottom: 1px solid;
}
.is-size-pc .product__titles {
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0 min((30vw / 7.5), 45px);
  margin-bottom: min((30vw / 7.5), 30px);
}
.is-size-pc .product__titles::before, .is-size-pc .product__titles::after {
  content: "";
  width: 100%;
  height: 1px;
  background: currentColor;
}
#product-kokunai .product__title {
  width: min((367vw / 7.5), 225px);
}
#product-kaigai .product__title {
  width: min((421vw / 7.5), 259px);
}
/*SPデバイス時のみ*/
.is-device-sp .product__list {
  gap: 10px;
  padding-bottom: min((30vw / 7.5), 15px); /*slide時用の余白*/
}
.is-device-sp .product__list:not(.is-slide) {
  display: flex;
  justify-content: center;
}
.is-device-sp .product__list.is-slide {
  display: grid;
  grid-auto-flow: column;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  --product-margin: min((20vw / 7.5), 20px);
}
.is-device-sp .product__list.is-slide .product__item:first-child {
  margin-left: var(--product-margin);
}
.is-device-sp .product__list.is-slide .product__item:last-child {
  margin-right: var(--product-margin);
}
.is-device-sp .product__item {
  width: min((600vw / 7.5), 400px);
}
/*PCデバイス時のみ*/
.is-device-pc .product__list:not([class*="slide"]) {
  display: flex;
  justify-content: center;
}
.is-device-pc .product__list .slick-track {
  display: grid;
  grid-auto-flow: column;
}
.is-device-pc .product__list .slick-track:after, .is-device-pc .product__list .slick-track:before {
  content: none;
}
.is-device-pc .product__list .slick-slide {
  float: none;
}
.is-device-pc .product__list :is(.slick-slide > div:not([class]), .product__item) {
  height: 100%;
}
.is-device-pc .product__item {
  padding: 6px; /*slide時のシャドウと余白分*/
}
.is-device-pc .product__list:not([class*="slide"]) .product__item {
  width: calc(100% / 3);
}
@media (width <=900px) {
  .is-device-pc .product__list:not([class*="slide"]) .product__item {
    width: calc(100% / 2);
  }
}
@media (width <=565px) {
  .is-device-pc .product__list:not([class*="slide"]) .product__item {
    width: calc(100% - 100px);
  }
}
/*以下共通*/
.product__item--inner {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  box-shadow: 0px 0px 3px 0px rgb(0, 0, 0, .3); /*0px 0px 3px 2px rgba(0, 0, 0, .07);*/
  background: #fff;
  transition: var(--default-transition-opacity);
}
.product__item--texts {
  display: flex;
  flex-direction: column;
  padding: .75em 1em 1em;
  line-height: 1.4;
}
.product__item--dep:not(:first-child) {
  margin-top: .25em;
}
.product__item--price {
  margin-top: auto;
  text-align: center;
  padding-top: .5em;
  color: var(--default-color-price);
  font-size: min((36vw / 7.5), 20px);
  font-weight: bold;
}
.product__list--button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  background: rgba(0, 0, 0, .35) var(--default-icon-right-white);
  background-position: 2px center;
  z-index: 1;
  cursor: pointer;
  transition: opacity .7s;
}
.product__list--button[class*="disabled"] {
  opacity: 0;
  cursor: default;
}
.product__list--button.is-button-prev {
  left: -23px;
  transform: rotate(-180deg);
}
.product__list--button.is-button-next {
  right: -23px;
}
.product__list--dots {
  display: flex;
  gap: min((16vw / 7.5), 10px);
  justify-content: center;
  margin-top: min((12vw / 7.5), 12px);
}
.product__list--dots li[role="presentation"] {
  background: #dcdcdc;
  width: min((16vw / 7.5), 10px);
  height: min((16vw / 7.5), 10px);
  border-radius: 100%;
  cursor: pointer;
}
.product__list--dots li[role="presentation"][class*="active"] {
  background: #99dbe7;
}
.product__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: min((20vw / 7.5), 20px);
}
/* =====================================*/
/*魅力*/
.is-size-sp .section__inner {
  width: 100%;
}
.is-size-pc .point__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: min((20vw / 7.5), 20px);
}
.point__item {
  background: #fff;
  font-size: min((24vw / 7.5), 12px);
  line-height: calc(30 / 24);
}
.is-size-sp .point__item {
  margin-bottom: 3px;
  box-shadow: 0 1px 1px 0px rgba(0, 0, 0, .2);
}
.is-size-pc .point__item {
  padding: min((30vw / 7.5), 16px);
}
.is-size-pc .point__item--titles {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 0 .5em;
  min-height: min((35vw / 7.5), 35px);
  margin-bottom: min((20vw / 7.5), 20px);
}
.is-size-sp .point__item--titles {
  display: grid;
  grid-template-columns: 1fr min((70vw / 7.5), 70px);
}
.is-size-sp .point__item--title {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  border-right: 1px solid #b2c7b7;
  padding-right: 1em;
}
.is-size-sp .point__item--titles::after {
  content: "";
  background: url("../../common/images/icon_arrow_right_green.svg") var(--default-norepeat-center-cover);
  background-size: min(90%, 35px);
  width: 100%;
  height: 100%;
  transition: transform var(--default-transition-speed);
  transform: rotate(90deg);
}
.is-size-sp .point__item--titles[class*="open"]::after {
  transform: rotate(-90deg);
}
.is-size-sp .point__item--title .point__item--label {
  width: min((75vw / 7.5), 40px);
  height: min((75vw / 7.5), 40px);
  display: grid;
  justify-content: center;
  align-items: center;
  background: var(--default-color-green);
  color: #fff;
  margin: min((20vw / 7.5), 12px);
}
.point__item--label {
  line-height: 1;
}
.is-size-pc .point__item--label {
  position: absolute;
  width: min((44vw / 7.5), 44px);
  height: min((64vw / 7.5), 64px);
  background: url("../../../../../cruise/kanto/assets/index/images/point_label_bg.png") no-repeat center top / contain;
  color: #fff;
  margin-top: max((-35vw / 7.5), -21px);
  display: grid;
  justify-items: center;
  align-content: center;
  font-size: min((8vw / 7.5), 8px);
  gap: .25em;
  padding: 0 min((3vw / 7.5), 3px) min((5vw / 7.5), 5px) 0;
}
.point__item--label--num {
  font-size: min((60vw / 7.5), 24px);
}
.point__item--title--text {
  font-weight: bold;
  color: var(--default-color-darkgreen);
  font-size: min((26vw / 7.5), 14px);
  line-height: calc(32 / 26);
}
.is-size-pc .point__item--title--text {
  padding-left: min((120vw / 7.5), 60px);
}
.is-size-pc .point__item--detail {
  display: block !important;
}
.is-size-sp .point__item--detail {
  padding: min((20vw / 7.5), 20px);
  border-top: 1px solid #b2c7b7;
}
.point__item--detail--inner {
  display: grid;
  grid-template-columns: min((210vw / 7.5), 120px) 1fr;
  gap: 0 1em;
}
.point__item--types {
  display: flex;
  gap: 2px min((6vw / 7.5), 3px);
}
.is-size-sp .point__item--types {
  margin-bottom: .25em;
}
.is-size-pc .point__item--types {
  display: grid;
  justify-content: end;
}
.point__item--type {
  white-space: nowrap;
  color: #fff;
  padding: .1em .5em .2em;
  line-height: 1;
}
.point__item--type.is-type-dom {
  background: var(--default-color-dom)
}
.point__item--type.is-type-int {
  background: var(--default-color-int)
}
.point__item--buttons {
  display: flex;
  flex-wrap: wrap;
  gap: min((20vw / 7.5), 10px);
}
.is-size-pc :is(.point__item--text, .point__item--notes) ~ .point__item--buttons, .is-size-sp .point__item--buttons {
  margin-top: min((12vw / 7.5), 10px)
}
.point__item--buttons .base-small-button__link {
  gap: .5em;
  padding: .2em 1em .3em;
  border-radius: min((10vw / 7.5), 10px);
  border-color: inherit;
}
.is-size-pc .point__item--buttons .base-small-button__link {
  border-radius: min((3vw / 7.5), 3px);
}
.point__item--buttons .base-small-button__text {
  order: 2;
}
.point__item--buttons .base-small-button__link::after {
  margin: 0;
  width: 1em;
  height: 1.5em;
  background-image: url(/cmn/icon/icon_arrow_right_black.svg);
}
.point__item--notes {
  margin-top: .5em;
  display: grid;
  gap: .25em 0;
}
.point__item--notes--item, .point__notes--item {
  padding-left: 1em;
  text-indent: -1em;
}
.point__notes {
  text-align: right;
  margin-top: 1.5em;
}
/* == ↓ PCのみ（タブレット除外）のホバー設定 ↓ ======================*/
@media (hover : hover) and (pointer : fine) {
  /*最新情報リンク*/
  .news__item--link {
    transition: var(--default-transition-opacity);
  }
  .news__item--link[href]:hover {
    opacity: var(--default-hover-opacity)
  }
  /*マップ内ボタン*/
  .map__item--link:hover {
    color: #fff !important;
    background: var(--default-color-green);
  }
  .map__item--link:hover::before {
    background-image: url("../../common/images/icon_arrow_right_green.svg");
    background-color: #fff;
  }
  /*商品カセット*/
  .product__item--inner {
    transition: var(--default-transition-opacity);
  }
  .product__item--inner:hover {
    opacity: var(--default-hover-opacity);
  }
  .product__list--button:hover {
    background-color: rgba(1, 141, 172, .5);
  }
  /*出発月を選ぶのナビ*/
  .is-device-pc.is-size-pc .date-list__month--item:not(.is-product-none):hover {
    background: var(--default-color-eme_green);
    color: #fff;
  }
  /*魅力枠カセット内ボタン*/
  .point__item--buttons .base-small-button__link {
    transition: background var(--default-transition-speed);
  }
  .point__item--buttons .base-small-button__link:hover {
    background: var(--default-color-gray3);
  }
}
/* =====================================*/