@charset "utf-8";
/*ニュージランド 旅パページ用CSS*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');
/**/
/* 変数設定＋リセット
-------------------------------------------------*/
.tabipa {
  --main-color: #44833a;
}
.is-pc {
  --mv-h: 580px;
  --mv-logo-h: 246px;
  --mv-logo-100pure-h: 98px;
  --mv-yohaku-top: 97px;
  --mv-yohaku-btm: 20px;
  --mv-bg-size: 1920px;
  --ttl-h-info-tabipa: 48px;
  --ttl-h-info-land: 50px;
  --ttl-h-cpn-main: 43px;
  --img-h-cpn-intro-logo: 51px;
  --img-h-cpn-intro-summary: 190px;
  --ttl-h-juri-main: 106px;
  --ttl-h-juri-ig: 36px;
}
.is-pc .link__button--item {
  font-size: var(--default-font-size-pc);
}
/* main-obi
-------------------------------------------------*/
#main-obi {
  width: 100%;
  height: var(--mv-h, min((460vw / 7.5), 368px)); /*画像高さMAX80%・以下共通*/
  position: relative;
  overflow: hidden;
}
.main-obi__inner {
  width: min((710vw / 7.5), var(--default-width-pc));
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  padding-top: var(--mv-yohaku-top, min((72vw / 7.5), 58px));
  padding-bottom: var(--mv-yohaku-btm, min((20vw / 7.5), 16px));
}
.main-obi__inner::after {
  content: "";
  height: var(--mv-logo-100pure-h, min((83vw / 7.5), 66px));
  aspect-ratio: 194 / 98;
  background: url("../images/mv_logo_100pure.webp") no-repeat 0 0 / cover;
  margin-left: auto;
}
#main-obi .base-title {
  margin-bottom: 0;
}
.main-title .base-title__text {
  height: var(--mv-logo-h, min((209vw / 7.5), 167px));
  aspect-ratio: 667 / 246;
}
.main-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.main-bg :is(.slick-list, .slick-track) {
  height: 100%;
}
.main-bg .slick-track {
  display: flex;
  width: 100% !important;
  justify-content: center;
}
.main-bg .slick-slide {
  float: none;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  margin: auto;
}
.main-bg__photo {
  display: block;
  width: var(--mv-bg-size, 100%) !important;
  height: 100%;
  object-fit: cover;
  margin: auto;
}
/* .section
-------------------------------------------------*/
.section__wrapper {
  padding: min((80vw / 7.5), 50px) 0;
  font-size: min((32vw / 7.5), 20px);
  line-height: calc(32 / 20);
}
.is-sp .section .inner {
  width: min((712vw / 7.5), 992px);
  margin: auto;
}
.banner:not(:first-child) {
  margin-top: min((100vw / 7.5), 60px);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: min((20vw / 7.5), 20px);
}
.banner.is-size-s .banner__item--image {
  height: min((170vw / 7.5), 124px);
}
/*intro*/
.intro + .intro {
  margin-top: min((136vw / 7.5), 105px);
}
.intro__title {
  margin-bottom: min((46vw / 7.5), 30px);
}
.intro__title.is-tabipa .base-title__text {
  height: var(--ttl-h-info-land, min((65vw / 7.5), 52px))
}
.intro__title.is-land .base-title__text {
  height: var(--ttl-h-info-land, min((144vw / 7.5), 115px));
}
.intro__lead {
  .is-pc & {
    text-align: center;
  }
}
/*cpn*/
#cpn:not(:first-child) {
  margin-top: min((140vw / 7.5), 115px);
}
.cpn__title {
  background: var(--main-color);
  color: #fff;
  text-align: center;
  padding: min((18vw / 7.5), 11px);
  margin-bottom: 0;
  &.is-type-ver2 {
    padding: min((31vw / 7.5), 21px) 0 min((35vw / 7.5), 25px);
    .is-pc & {
      padding: 14px 0 10px;
    }
  }
}
.cpn__title .base-title__text {
  height: var(--ttl-h-cpn-main, min((64vw / 7.5), 51px));
  .is-type-ver2 & {
    --ttl-h-cpn-main: min((114vw / 7.5), 91px);
    .is-pc & {
      --ttl-h-cpn-main: 41px;
    }
  }
}
.cpn__intro {
  background: #d5e5d3;
  display: grid;
  justify-items: center;
  padding: min((44vw / 7.5), 30px) min((34vw / 7.5), 55px) min((64vw / 7.5), 50px);
  border: 1px solid var(--main-color);
  border-top: none;
  text-align: center;
}
.cpn__intro--logo:not(:last-child) {
  margin-bottom: min((44vw / 7.5), 29px);
}
.cpn__intro--logo--text {
  height: var(--img-h-cpn-intro-logo, min((77vw / 7.5), 62px));
  .is-type-ver2 & {
    --img-h-cpn-intro-logo: min((508vw / 7.5), 409px);
    .is-pc & {
      --img-h-cpn-intro-logo: 190px;
    }
  }
}
.cpn__intro--summary:not(:last-child) {
  margin-bottom: min((70vw / 7.5), 50px);
}
.cpn__intro--summary--text {
  height: var(--img-h-cpn-intro-summary, min((900vw / 7.5), 900px));
  .is-pc & {
    --img-h-cpn-intro-summary: 290px;
  }
}
.cpn__intro--detail--item:not(:first-child) {
  margin-top: min((100vw / 7.5), 50px);
}
.cpn__intro--detail--title {
  font-family: var(--default-font-gothic);
  font-size: inherit;
  color: var(--main-color);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(30em / 20);
  margin-bottom: .5em;
  &::before, &::after {
    content: "";
    width: calc(35em / 20);
    height: 1px;
    background: currentColor;
  }
}
.cpn__intro--detail--notes {
  font-size: min((26vw / 7.5), 14px);
  margin-top: .25em;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
}
/*juri*/
#juri:not(:first-child) {
  margin-top: min((142vw / 7.5), 105px);
}
.juri__title {
  margin-bottom: min((60vw / 7.5), 45px);
}
.juri__title .base-title__text {
  height: var(--ttl-h-juri-main, min((216vw / 7.5), 173px));
}
.juri__intro {
  display: grid;
  grid-template-columns: var(--col, calc((488 / 992) * 100%) 1fr);
  gap: min((40vw / 7.5), 30px) 18px;
}
@media(max-width: 750px) {
  .is-sp .juri__intro {
    --col: 1fr;
  }
}
#juri .ig__wrapper {
  width: 100%;
  margin-top: min((170vw / 7.5), 74px);
}
#juri .ig__inner {
  padding-bottom: min((60vw / 7.5), 42px)
}
.ig__title--inner {
  grid-template-columns: auto;
  margin-top: max(((-56vw / 7.5) - 6px), -50px);
}
.is-pc .ig__title--inner {
  margin-top: -20px;
}
.ig__title--inner::before {
  height: 100%;
}
.ig__title--text .base-title__text {
  height: var(--ttl-h-juri-ig, min((115vw / 7.5), 92px));
}
.ig__detail {
  width: min((620vw / 7.5), 912px);
  margin-top: min((22vw / 7.5), 24px) !important;
  grid-template-columns: var(--col, repeat(auto-fit, minmax(280px, 1fr))) !important;
  gap: min((30vw / 7.5), 30px);
}
.is-pc .ig__detail {
  --col: repeat(3, 1fr);
  gap: 27px;
}
.ig__detail--item--text {
  font-size: min((26vw / 7.5), 14px);
  line-height: calc(22 / 14);
  margin-top: .5em;
}
.ig__inner .link__button--item {
  width: min((620vw / 7.5), 440px);
  margin-top: min((50vw / 7.5), 55px);
}
/*tourArea*/
.tour__title {
  margin-bottom: min((114vw / 7.5), 68px);
}
.tour__title:not(.is-type-ver2) .base-title__text--main {
  display: flex;
  gap: .5em;
  align-items: center;
  justify-content: center;
  text-align: left;
  line-height: calc(42 /36);
}
.is-sp .tour__title:not(.is-type-ver2) .base-title__text--main {
  max-width: calc(685vw / 7.5);
  margin: auto;
}
.is-pc .tour__title:not(.is-type-ver2) .base-title__text--main br {
  display: none;
}
.tour__intro--item + .tour__intro--item {
  margin-top: min((120vw / 7.5), 80px);
}
.tour__intro--item--title, .tour__intro--item--lead {
  color: var(--default-color-red);
}
.tour__intro--item--title {
  font-size: min((40vw / 7.5), 24px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(32em / 24);
  margin-bottom: min((56vw / 7.5), 35px);
  &::before, &::after {
    content: "";
    width: calc(48em / 24);
    height: 1px;
    background: currentColor;
  }
}
.tour__intro--item--lead {
  font-size: min((26vw / 7.5), 14px);
  line-height: calc(22 / 14);
  font-weight: 500;
  margin-bottom: min((30vw / 7.5), 30px);
}
.is-sp .tour__intro--item--lead {
  width: calc(660vw / 7.5);
  margin-left: auto;
  margin-right: auto;
  br {
    display: none;
  }
}
.is-pc .tour__intro--item--lead {
  text-align: center;
}
.product__item:last-child {
  margin-bottom: 0;
}
.tour__intro ~ .link__button .link__button--item {
  margin-top: min((120vw / 7.5), 60px);
}
@media (hover: hover) and (pointer: fine) {
  [class*="banner"]:not(.banner__item--link):hover {
    opacity: 1;
  }
  .banner__item--link {
    /* transition: opacity .4s;*/
    &:hover {
      opacity: .8;
    }
  }
}