@charset "UTF-8";
/*---------------------------------------
  common
/*---------------------------------------*/
.tabiwa main .contents {
  padding-top: 0;
  background-color: #f3fbff;
}

@media screen and (min-width: 768px) {
  .tabiwa .shift_full .section {
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
  .tabiwa .shift_full .contents {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
  }
  .tabiwa .shift_full .topicPath {
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
    padding-right: clamp(52.707px, 4.467vw, 67px);
    padding-left: clamp(52.707px, 4.467vw, 67px);
  }
}
@media screen and (max-width: 767px) {
  .tabiwa .shift_rn .section.-noPadding-sp {
    padding-right: 0;
    padding-left: 0;
  }
  .tabiwa .shift_full .contents {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
  }
}
.main {
  overflow: hidden;
  line-height: 1.8;
  font-size: 1.4rem;
}

svg:not(:root) {
  overflow: visible !important;
}

.main a .light, .main a.light, .main a.light img {
  transition: all 0.3s ease;
}

.main a.light:hover, .main a.light:hover img, .main a:hover .light {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.main .sp {
  display: none;
}

.rwd-topic-path {
  line-height: 1.6;
  font-family: "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ StdN", "Hiragino Kaku Gothic StdN", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "Meiryo UI", sans-serzif;
}

.main * {
  box-sizing: border-box;
}

.main .link-sec {
  margin-top: -120px;
  padding-top: 120px;
}

.main .inner {
  position: relative;
  margin: 0 auto;
  z-index: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0;
  clear: both;
}

.scroll_ob {
  opacity: 0;
  transition: all 1s ease-out;
  transform: translateY(20px);
}

.scroll_ob.scroll_in {
  opacity: 1;
  transform: translateY(0);
}

.in_bl {
  display: inline-block;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .main {
    overflow: hidden;
    line-height: 1.8;
    font-size: 1.4rem;
  }
  .main .pc {
    display: none;
  }
  .main .sp {
    display: block;
  }
  .main .link-sec {
    margin-top: -60px;
    padding-top: 60px;
  }
  .sec_scroll {
    margin-top: -60px;
    padding-top: 60px;
  }
}
.main .contents {
  font-family: "Noto Sans JP", sans-serif;
}

.main .contents img {
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}

.imgalpha {
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  .imgalpha:hover {
    opacity: 0.7;
  }
}
.animatin_step02 {
  opacity: 0;
}

.animatin_step03 {
  opacity: 0;
}

svg {
  max-width: 100%;
}

.in_bl {
  display: inline-block;
}

.inner {
  max-width: 1040px;
  width: 100%;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .inner {
    max-width: 89.3333333333vw;
    padding: 0;
  }
}
.middle_inner {
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .middle_inner {
    padding: 0 5.33333vw;
  }
}
.bold {
  font-weight: 700;
}

a.sec_btn {
  display: flex;
  max-width: 460px;
  width: 100%;
  min-height: 70px;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding: 10px;
  border-radius: 35px;
  color: #fff;
  line-height: 1.5;
  font-size: 18px;
  font-weight: 600;
  background-color: #004a9f;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  a.sec_btn {
    max-width: 78.6666666667vw;
    min-height: 13.3333333333vw;
    padding: 1.3333333333vw;
    border-radius: 6.6666666667vw;
    font-size: 4vw;
  }
}
a.sec_btn::before {
  content: "";
  display: block;
  width: 7px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 40px;
  background-image: url(../img/common/arrow01.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  a.sec_btn::before {
    width: 1.3333333333vw;
    height: 2vw;
    right: 5.3333333333vw;
  }
}
a.sec_btn.small_btn {
  max-width: 220px;
  min-height: 60px;
  padding: 10px 20px;
  border-radius: 30px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  a.sec_btn.small_btn {
    max-width: 43.6vw;
    min-height: 10.6666666667vw;
    padding: 1.3333333333vw 4vw;
    border-radius: 5.3333333333vw;
    font-size: 3.2vw;
  }
}
a.sec_btn.small_btn::before {
  right: 20px;
  margin-top: 0.1em;
}

@media screen and (max-width: 767px) {
  a.sec_btn.small_btn::before {
    right: 3.3333333333vw;
  }
}
a.sec_btn.comingsoon {
  background-color: #ccc;
  pointer-events: none;
}

.col_red {
  color: #f00;
}

/*---------------------------------------
  convenienceFeature
/*---------------------------------------*/
.convenienceFeature .convenienceFeature_ttl {
  text-align: center;
}

.convenienceFeature .convenienceFeature_top {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .convenienceFeature .convenienceFeature_top {
    display: block;
  }
}
.convenienceFeature .convenienceFeature_topImg {
  width: 397px;
  width: 45%;
}

@media screen and (max-width: 767px) {
  .convenienceFeature .convenienceFeature_topImg {
    width: 100%;
    margin-bottom: 2vw;
    margin-left: -1.6vw;
  }
}
.convenienceFeature .convenienceFeature_topBox {
  width: 52%;
}

@media screen and (max-width: 767px) {
  .convenienceFeature .convenienceFeature_topBox {
    width: 100%;
  }
}
.convenienceFeature .convenienceFeature_topBoxTtl {
  margin-bottom: 20px;
  font-size: 26px;
}

@media screen and (max-width: 767px) {
  .convenienceFeature .convenienceFeature_topBoxTtl {
    margin-bottom: 1.33333vw;
    font-size: 4.53333vw;
  }
}
.convenienceFeature .convenienceFeature_topBoxTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .convenienceFeature .convenienceFeature_topBoxTxt {
    font-size: 3.46667vw;
  }
}
.convenienceFeature_bottom {
  display: flex;
  margin-top: 40px;
  padding: 60px 130px 60px 140px;
  border-radius: 20px;
  background-color: #fff;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom {
    margin-top: 8vw;
    padding: 18.66667vw 6.66667vw 8vw;
    border-radius: 2.66667vw;
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomCont {
  width: 59%;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomCont {
    top: 42.66667vw;
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomList {
  margin-bottom: 38px;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomList {
    margin-bottom: 6.66667vw;
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomList:last-child {
  margin-bottom: 0;
}

.convenienceFeature_bottom .convenienceFeature_bottomTtl {
  margin-bottom: 20px;
  color: #00499f;
  font-size: 24px;
  font-weight: 600;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomTtl {
    width: 100%;
    position: absolute;
    top: 9.6vw;
    left: 50%;
    margin-bottom: 6.66667vw;
    font-size: 4.13333vw;
    text-align: center;
    transform: translate(-50%, -50%);
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomImg {
  max-width: 173px;
  width: 28%;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomImg {
    width: 24.66667vw;
    margin-right: 3.6vw;
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomImg img {
  box-shadow: 0 0 10px -5px #777;
}

.convenienceFeature_bottom .convenienceFeature_bottomListTxt {
  display: flex;
  align-items: center;
}

.convenienceFeature_bottom .convenienceFeature_bottomListNum {
  width: 50px;
  margin-right: 18px;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomListNum {
    width: 8.26667vw;
    margin-right: 1.33333vw;
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomListTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomListTxt {
    width: 100%;
    font-size: 3.2vw;
  }
}
.convenienceFeature_bottom .convenienceFeature_bottomListbtn {
  display: flex;
  width: 100%;
  height: 60px;
  margin-top: 20px;
  border-radius: 60px;
  color: #fff;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  background-color: #004a9f;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .convenienceFeature_bottom .convenienceFeature_bottomListbtn {
    height: 9.33333vw;
    margin-top: 1.33333vw;
    font-size: 3.2vw;
  }
}
/*---------------------------------------
  recommended_btnWrap
/*---------------------------------------*/
.recommended_btnWrap {
  display: flex;
  margin-top: 40px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .recommended_btnWrap {
    display: block;
    margin-top: 5.33333vw;
  }
}
.recommended_btnWrap .roundTourPath_contBtn {
  max-width: 420px;
  width: 47%;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .recommended_btnWrap .roundTourPath_contBtn:first-child {
    max-width: 100%;
    max-width: 100%;
    width: 100%;
    margin-bottom: 4vw;
  }
}
.red_txt {
  color: red;
}

/*---------------------------------------
  cvArea
/*---------------------------------------*/
.cvArea {
  padding: 35px 60px 40px;
  border-radius: 20px;
  background-color: #fff;
  /* ダウンロードボタン */
  /* パスボタン */
}

@media screen and (max-width: 767px) {
  .cvArea {
    padding: 6.6666666667vw 5.3333333333vw 6.6666666667vw;
    border-radius: 4vw;
  }
}
.cvArea .cvArea_ttl {
  display: flex;
  margin-bottom: 22px;
  color: #e73079;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_ttl {
    margin-bottom: 3.3333333333vw;
    line-height: 1.527;
    font-size: 4.8vw;
  }
}
.cvArea .cvArea_ttl::before, .cvArea .cvArea_ttl::after {
  content: "";
  display: block;
  width: 24px;
  height: 38px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_ttl::before, .cvArea .cvArea_ttl::after {
    width: 7.7333333333vw;
    height: 12.8vw;
    background-size: 100%;
  }
}
.cvArea .cvArea_ttl::before {
  margin-right: 30px;
  background-image: url(../img/common/cvArea_ttlObject01.svg);
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_ttl::before {
    margin-right: 2.4vw;
  }
}
.cvArea .cvArea_ttl::after {
  margin-left: 30px;
  background-image: url(../img/common/cvArea_ttlObject02.svg);
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_ttl::after {
    margin-left: 2.4vw;
  }
}
.cvArea dl {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .cvArea dl {
    margin-bottom: 6vw;
  }
}
.cvArea dl:last-child {
  margin-bottom: 0;
}

.cvArea dl dt {
  margin-bottom: 20px;
  padding: 2px 10px;
  color: #004a9f;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  background-color: #f3fbff;
}

@media screen and (max-width: 767px) {
  .cvArea dl dt {
    margin-bottom: 2.6666666667vw;
    padding: 0.2666666667vw 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.cvArea .cvArea_btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_btnWrap {
    gap: 4vw;
  }
}
.cvArea .cvArea_btnWrap li a {
  display: block;
}

.cvArea .cvArea_btnWrap li:nth-child(1) a {
  max-width: 167px;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_btnWrap li:nth-child(1) a {
    max-width: 33.4666666667vw;
  }
}
.cvArea .cvArea_btnWrap li:nth-child(2) a {
  max-width: 205px;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_btnWrap li:nth-child(2) a {
    max-width: 41.2vw;
  }
}
.cvArea .cvArea_webBtnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_webBtnWrap {
    gap: 3.3333333333vw;
  }
}
.cvArea .cvArea_webBtnWrap li {
  max-width: 280px;
  width: 31.81818182%;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_webBtnWrap li {
    max-width: 24vw;
    width: 24vw;
  }
}
.cvArea .cvArea_webBtnWrap a {
  max-width: 100%;
  min-height: 60px;
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_webBtnWrap a {
    min-height: 13.3333333333vw;
    padding: 0.6666666667vw 0 0.6666666667vw 2.6666666667vw;
    border-radius: 1.3333333333vw;
    line-height: 1.384;
    font-size: 3.4666666667vw;
    justify-content: flex-start;
  }
}
.cvArea .cvArea_webBtnWrap a::before {
  right: 20px;
}

@media screen and (max-width: 767px) {
  .cvArea .cvArea_webBtnWrap a::before {
    right: 2.6666666667vw;
  }
}
/*---------------------------------------
  aside_conts
/*---------------------------------------*/
.aside_conts {
  padding: 120px 0 140px;
}

@media screen and (max-width: 767px) {
  .aside_conts {
    padding: 13.3333333333vw 0 18.6666666667vw;
  }
}
.aside_conts aside {
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .aside_conts aside {
    margin-bottom: 16vw;
  }
}
.aside_conts aside:last-child {
  margin-bottom: 0;
}

.aside_conts aside.goodDeal, .aside_conts aside.campaignDeal {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .aside_conts aside.goodDeal, .aside_conts aside.campaignDeal {
    margin-bottom: 13.3333333333vw;
  }
}
/*---------------------------------------
  additionalBox
/*---------------------------------------*/
.additionalBox_ttl {
  max-width: 880px;
  margin: 0 auto 40px;
}

@media screen and (max-width: 767px) {
  .additionalBox_ttl {
    max-width: 100%;
    margin-bottom: 6.6666666667vw;
  }
}
.additionalBox_wrap {
  padding: 40px 60px 50px;
  border-radius: 20px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .additionalBox_wrap {
    padding: 8vw 5.3333333333vw;
    border-radius: 4vw;
  }
}
.additionalBox_txt {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .additionalBox_txt {
    margin-bottom: 5.3333333333vw;
  }
}
.additionalBox_wrap.point .goodDeal_supplement {
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .additionalBox_wrap.point .goodDeal_supplement {
    font-size: 3.2vw;
    text-align: left;
  }
}
.additionalBox_wrap.point .westerDetail_txtWrap img {
  max-width: 216px;
}

@media screen and (max-width: 767px) {
  .additionalBox_wrap.point .westerDetail_txtWrap img {
    max-width: 313px;
    width: 41.73333333vw;
  }
}
@media screen and (max-width: 767px) {
  .additionalBox_wrap .additionalBox_btn.btn_adjust {
    min-height: initial;
    height: 18.66666667vw;
    border-radius: 9.33333333vw;
    text-align: center;
  }
}
/*---------------------------------------
  WESTERポイントが「たまる」「つかえる」!
/*---------------------------------------*/
.westerDetail .additionalBox_wrap > div {
  display: flex;
  justify-content: space-between;
  gap: 4.54545455%;
}

@media screen and (max-width: 767px) {
  .westerDetail .additionalBox_wrap > div {
    display: block;
  }
}
.westerDetail_txtWrap {
  max-width: 420px;
  width: 100%;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .westerDetail_txtWrap {
    max-width: 100%;
    margin-bottom: 4vw;
  }
  .westerDetail_txtWrap:last-child {
    margin-bottom: 3.33333333vw;
  }
}
.westerDetail_txtWrap dt {
  display: flex;
  width: 100%;
  height: 40px;
  border-radius: 20px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  background-color: #0073c0;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .westerDetail_txtWrap dt {
    height: 9.33333333vw;
    border-radius: 4.66666667vw;
    font-size: 4vw;
  }
}
.westerDetail_txtWrap dd {
  padding: 13px 20px;
}

@media screen and (max-width: 767px) {
  .westerDetail_txtWrap dd {
    padding: 2.9334vw 3.6vw 2.6667vw;
  }
}
.westerDetail_txtWrap dd li {
  padding-left: 0.5em;
  line-height: 1.625;
  font-size: 16px;
  text-indent: -0.5em;
}

@media screen and (max-width: 767px) {
  .westerDetail_txtWrap dd li {
    line-height: 1.53;
    font-size: 3.4667vw;
  }
}
@media screen and (max-width: 767px) {
  .westerDetail .goodDeal_supplementWrap:nth-child(2):after {
    position: absolute;
    content: "";
    background-image: url(../img/top/point_img.png);
    background-size: 100%;
    width: 12.93333333vw;
    height: 15.2vw;
    bottom: 0;
    right: 1.86666667vw;
  }
}
/*---------------------------------------
  J-WESTカードなら更におトク！
/*---------------------------------------*/
@media screen and (max-width: 767px) {
  .goodDeal .additionalBox_txt {
    margin-bottom: 8vw;
  }
}
.goodDeal_supplementWrap {
  margin-bottom: 42px;
  padding: 6px 10px;
  border-radius: 10px;
  background-color: #f0fafc;
}

@media screen and (max-width: 767px) {
  .goodDeal_supplementWrap {
    margin-bottom: 5.6vw;
    padding: 2.66667vw 2.66667vw;
    border-radius: 1.33333vw;
    position: relative;
  }
}
.goodDeal_supplementWrap table {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .goodDeal_supplementWrap table {
    margin: 0;
  }
}
.goodDeal_supplement {
  padding-left: 1em;
  line-height: 1.625;
  font-size: 16px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .goodDeal_supplement {
    font-size: 3.46667vw;
  }
}
.goodDeal .cardListWrap {
  display: flex;
  margin-bottom: 25px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap {
    display: block;
    margin-bottom: 5.3333333333vw;
  }
}
.goodDeal .cardListWrap .cardList {
  max-width: 260px;
  width: 30%;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap .cardList {
    display: flex;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    margin-bottom: 8vw;
    justify-content: space-between;
  }
  .goodDeal .cardListWrap .cardList:last-child {
    margin-bottom: 0;
  }
}
.goodDeal .cardListWrap .cardList_img {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap .cardList_img {
    width: 34.66667vw;
    margin-right: 3vw;
    margin-bottom: 0;
  }
}
.goodDeal .cardListWrap .cardList_cardName {
  margin-bottom: 10px;
  line-height: 1.5;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap .cardList_cardName {
    width: 41.33333vw;
    margin-bottom: 1.33333vw;
  }
}
.goodDeal .cardListWrap .cardList_cardNameGenre {
  display: block;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap .cardList_cardNameGenre {
    width: 41.33333vw;
    font-size: 3.2vw;
  }
}
.goodDeal .cardListWrap .cardList_cardNameTxt {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap .cardList_cardNameTxt {
    width: 41.33333vw;
    font-size: 3.2vw;
  }
}
.goodDeal .cardListWrap .cardList_cardTxt {
  line-height: 1.71;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .goodDeal .cardListWrap .cardList_cardTxt {
    width: 41.33333vw;
    font-size: 3.2vw;
  }
}
.goodDeal .cardListWrap .cardList_cardTxt.indent {
  padding-left: 1em;
  text-indent: -1em;
}

/*---------------------------------------
  毎月2日は西の日キャンペーン!
/*---------------------------------------*/
.additionalBox.campaignDeal .additionalBox_wrap {
  background-color: #fffac3;
  padding: 50px 60px 50px;
}

@media screen and (max-width: 767px) {
  .additionalBox.campaignDeal .additionalBox_wrap {
    padding: 8vw 5.3333333333vw;
  }
}
.campaignDeal_boxWrap {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .campaignDeal_boxWrap {
    flex-direction: column;
    gap: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .additionalBox.campaignDeal .additionalBox_txt {
    margin-bottom: 6.66666667vw;
  }
}
.campaignDeal_boxNote {
  border-radius: 5px;
  border: #000 solid 1px;
  padding: 13px 0px;
  line-height: 1;
  min-width: 87px;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .campaignDeal_boxNote {
    border-radius: 0.66666667vw;
    border: #000 solid 0.26666667vw;
    padding: 2.13333333vw 0px;
    min-width: initial;
    width: 100%;
    font-size: 3.2vw;
  }
}
.campaignDeal_boxTxt {
  font-size: 14px;
  line-height: 1.71428571;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .campaignDeal_boxTxt {
    font-size: 3.2vw;
    line-height: 1.5;
  }
}
/*---------------------------------------
  tabiwaのイチオシ
/*---------------------------------------*/
.recommendCampaign_conts {
  padding: 69px 0 40px;
}

@media screen and (max-width: 767px) {
  .recommendCampaign_conts {
    padding: 11.3333333333vw 0 1.46666667vw;
  }
}
.recommendCampaign {
  max-width: 1000px;
  margin: 0 auto;
  /* arrow */
}

@media screen and (max-width: 767px) {
  .recommendCampaign {
    max-width: 100%;
  }
}
.recommendCampaign_sliderWrap {
  position: relative;
  padding: 0 60px;
}

@media screen and (max-width: 767px) {
  .recommendCampaign_sliderWrap {
    padding: 0 5.33333vw;
  }
}
.recommendCampaign_ttl {
  margin-bottom: 39px;
  color: #004a9f;
  font-size: 30px;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 767px) {
  .recommendCampaign_ttl {
    margin-bottom: 6vw;
    font-size: 4.8vw;
  }
}
.recommendCampaign .swiper {
  overflow: hidden;
  padding-bottom: 34px;
}

@media screen and (max-width: 767px) {
  .recommendCampaign .swiper {
    padding-bottom: 5.3333333333vw;
  }
}
.recommendCampaign .swiper-button-next, .recommendCampaign .swiper-button-prev {
  width: 44px;
  height: 44px;
  top: 78px;
  margin-top: 0;
  border-radius: 50%;
  background-image: url(../img/common/arrow02.svg);
  background-size: 100%;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .recommendCampaign .swiper-button-next, .recommendCampaign .swiper-button-prev {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    top: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .recommendCampaign .swiper-button-next:hover, .recommendCampaign .swiper-button-prev:hover {
    opacity: 0.7;
  }
}
.recommendCampaign .swiper-button-next {
  right: 0;
}

@media screen and (max-width: 767px) {
  .recommendCampaign .swiper-button-next {
    /* right: 2.6666666667vw; */
    right: -2.66666667vw;
  }
}
.recommendCampaign .swiper-button-prev {
  left: 0;
  transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .recommendCampaign .swiper-button-prev {
    /* left: 2.6666666667vw; */
    left: -2.66666667vw;
  }
}
/*---------------------------------------
  共通モーダル
/*---------------------------------------*/
.modal_contsWrap {
  display: flex;
  visibility: hidden;
  overflow: auto;
  width: 100%;
  height: calc(100vh - 62px);
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 60px 20px 40px;
  opacity: 0;
  text-align: center;
  background-color: rgba(0, 74, 159, 0.3);
  transition: 0.3s ease-out;
  z-index: 9999;
  align-items: flex-start;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .modal_contsWrap {
    height: calc(100% - 20vw);
    top: 9.6vw;
    bottom: initial;
    padding: 13.3333333333vw 5.3333333333vw 14.6666666667vw;
  }
}
.modal_contsWrap.active {
  visibility: visible;
  opacity: 1;
}

.modal_conts {
  display: inline-block;
  width: 880px;
  position: relative;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .modal_conts {
    width: 89.3333333333vw;
  }
}
.modal_conts .modalBtn_close {
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  top: -60px;
  right: 0;
  font-size: 0;
  cursor: pointer;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .modal_conts .modalBtn_close {
    width: 12.8vw;
    height: 12.8vw;
    top: -12.8vw;
  }
}
.modal_conts .modalBtn_close::before, .modal_conts .modalBtn_close::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff67d;
}

.modal_conts .modalBtn_close::before {
  width: 100%;
  height: 2px;
  top: 29px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .modal_conts .modalBtn_close::before {
    height: 0.5333333333vw;
    top: 6.1333333333vw;
  }
}
.modal_conts .modalBtn_close::after {
  width: 2px;
  height: 100%;
  top: 0;
  left: 29px;
}

@media screen and (max-width: 767px) {
  .modal_conts .modalBtn_close::after {
    width: 0.5333333333vw;
    left: 6.1333333333vw;
  }
}
.modal_box {
  width: 100%;
  position: relative;
  border-radius: 30px 20px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .modal_box {
    border-radius: 5.3333333333vw 4vw;
  }
}
.modal_boxHead {
  display: flex;
  height: 80px;
  border-radius: 20px 20px 0 0;
  color: #004a9f;
  line-height: 1;
  font-size: 20px;
  font-weight: 600;
  background-color: #fff67d;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .modal_boxHead {
    height: 13.3333333333vw;
    border-radius: 4vw 4vw 0 0;
    font-size: 4.5333333333vw;
  }
}
.modal_boxHead .icon {
  display: block;
  width: 44px;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .modal_boxHead .icon {
    width: 7.2vw;
    margin-right: 4vw;
  }
}
.modal_boxHead .icon img {
  vertical-align: middle;
}

.modal_boxBody {
  padding: 30px 60px;
}

@media screen and (max-width: 767px) {
  .modal_boxBody {
    padding: 5.3333333333vw 0 6.6666666667vw;
  }
}
.modal_boxBody .modal_txt {
  color: #004a9f;
  line-height: 1.667;
  font-size: 24px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .modal_boxBody .modal_txt {
    line-height: 1.526;
    font-size: 5.0666666667vw;
  }
}
.modal_swiper {
  overflow-x: hidden;
  position: relative;
  /* arrow */
}

.modal_swiper .swiper-button-next, .modal_swiper .swiper-button-prev {
  width: 44px;
  height: 44px;
  top: 34%;
  margin-top: 0;
  border-radius: 50%;
  background-image: url(../img/common/arrow02.svg);
  background-size: 100%;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .modal_swiper .swiper-button-next, .modal_swiper .swiper-button-prev {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    top: 41.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .modal_swiper .swiper-button-next:hover, .modal_swiper .swiper-button-prev:hover {
    opacity: 0.7;
  }
}
.modal_swiper .swiper-button-next {
  right: 0;
}

@media screen and (max-width: 767px) {
  .modal_swiper .swiper-button-next {
    right: 2.6666666667vw;
  }
}
.modal_swiper .swiper-button-prev {
  left: 0;
  transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .modal_swiper .swiper-button-prev {
    left: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #modal_roundtourPath {
    padding: 14.6666666667vw 5.3333333333vw;
  }
}
#modal_roundtourPath .modal_boxHead .icon {
  width: 26px;
}

@media screen and (max-width: 767px) {
  #modal_roundtourPath .modal_boxHead .icon {
    width: 4.2666666667vw;
  }
}
#modal_subjectSpot .modal_boxHead .icon {
  width: 33px;
}

@media screen and (max-width: 767px) {
  #modal_subjectSpot .modal_boxHead .icon {
    width: 5.3333333333vw;
  }
}
#modal_search .modal_boxHead .icon {
  width: 32px;
}

@media screen and (max-width: 767px) {
  #modal_search .modal_boxHead .icon {
    width: 5.0666666667vw;
  }
}
#modal_schedule .modal_boxHead .icon {
  width: 41px;
}

@media screen and (max-width: 767px) {
  #modal_schedule .modal_boxHead .icon {
    width: 6.5333333333vw;
  }
}
.modal_passMapWrap .modal_boxBody {
  padding-top: 60px;
}

@media screen and (max-width: 767px) {
  .modal_passMapWrap .modal_boxBody {
    padding-top: 0;
  }
}
.modal_passMapWrap .modal_swiperWrap {
  position: relative;
}

.modal_passMapWrap .modal_swiper {
  max-width: 600px;
  position: static;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .modal_passMapWrap .modal_swiper {
    max-width: 78.6666666667vw;
  }
}
.modal_passMapWrap .swiper-wrapper {
  padding-bottom: 30px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .modal_passMapWrap .swiper-wrapper {
    padding-bottom: 8vw;
  }
  .modal_passMapWrap .swiper-wrapper img {
    width: 100%;
  }
}
/* pagination */
.swiper-pagination {
  position: static;
  line-height: 1;
}

.swiper-pagination-bullet {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  border: 1px solid #ccc;
  border-radius: 50%;
  opacity: 1;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .swiper-pagination-bullet {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    margin: 0 1.3333333333vw;
    border: 0.2666666667vw solid #ccc;
  }
}
.swiper-pagination-bullet-active {
  border: none;
  background-color: #00499f;
}

html:has(.noscroll) {
  overflow: hidden;
}

/*---------------------------------------
  top
/*---------------------------------------*/
.top .swiper {
  overflow: hidden;
}

/*---------------------------------------
  top pickUp
/*---------------------------------------*/
.top .pickUp {
  background-image: url(../img/common/additionalBox_bg01_pc.png);
}

@media screen and (max-width: 767px) {
  .top .pickUp {
    margin-bottom: 14vw;
    padding-top: 14vw;
    padding-right: 3vw;
    padding-left: 3vw;
  }
}
.top .pickUp .pickUp_ttl {
  width: 726px;
  padding-bottom: 7px;
}

@media screen and (max-width: 767px) {
  .top .pickUp .pickUp_ttl {
    width: 76.13333vw;
    padding-bottom: 0.93333vw;
  }
}
.top .pickUp .pickUp_txt {
  margin-bottom: 55px;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .pickUp .pickUp_txt {
    margin-bottom: 6.66667vw;
    font-size: 3.46667vw;
  }
}
.top .pickUp .pickUp_slider {
  max-width: 750px;
  position: relative;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .top .pickUp .pickUp_slider {
    width: 68vw;
  }
}
.top .pickUp .pickUp_slider .swiper-slideInner {
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 56.25%;
}

.top .pickUp .pickUp_slider .swiper-slideInner iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.top .pickUp .pickUp_slider .pickUp_videoTxt {
  margin-top: 15px;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .top .pickUp .pickUp_slider .pickUp_videoTxt {
    margin-top: 2vw;
    font-size: 3.2vw;
  }
}
.top .pickUp .swiper-button-next, .top .pickUp .swiper-rtl .swiper-button-prev {
  right: -69px;
}

@media screen and (max-width: 767px) {
  .top .pickUp .swiper-button-next, .top .pickUp .swiper-rtl .swiper-button-prev {
    right: -8vw;
    margin-top: -14vw;
  }
}
.top .pickUp .swiper-button-prev, .top .pickUp .swiper-rtl .swiper-button-next {
  left: -69px;
}

@media screen and (max-width: 767px) {
  .top .pickUp .swiper-button-prev, .top .pickUp .swiper-rtl .swiper-button-next {
    left: -8vw;
    margin-top: -14vw;
  }
}
/*---------------------------------------
  top omakase
/*---------------------------------------*/
.top .omakase {
  margin-bottom: 140px;
}

@media screen and (max-width: 767px) {
  .top .omakase {
    margin-bottom: 18.66667vw;
  }
}
.top .omakase .omakase_ttl {
  margin-bottom: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .omakase .omakase_ttl {
    margin-bottom: 6.66667vw;
  }
}
/*---------------------------------------
  top usage
/*---------------------------------------*/
.top .usage {
  position: relative;
  padding-top: 200px;
  padding-bottom: 180px;
}

@media screen and (max-width: 767px) {
  .top .usage {
    padding-top: 11.46667vw;
    padding-bottom: 6.66667vw;
  }
}
.top .usage .usage_ttl {
  max-width: 642px;
  margin-right: auto;
  margin-bottom: 55px;
  margin-left: auto;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_ttl {
    margin-bottom: 6.66667vw;
  }
}
.top .usage .usage_box {
  display: flex;
  margin-bottom: 55px;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_box {
    margin-bottom: 6vw;
  }
}
.top .usage .usage_boxImg {
  width: 280px;
  margin-right: 80px;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxImg {
    width: 37.33333vw;
    margin-right: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont {
    width: 46.66667vw;
  }
}
.top .usage .usage_boxCont .usage_boxContTtl {
  margin-bottom: 23px;
  font-size: 26px;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_boxContTtl {
    margin-bottom: 3.33333vw;
    font-size: 4.53333vw;
  }
}
.top .usage .usage_boxCont .usage_boxContTxt {
  margin-bottom: 50px;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_boxContTxt {
    margin-bottom: 0;
    font-size: 3.46667vw;
  }
}
.top .usage .usage_boxCont .usage_boxContListWrap {
  display: flex;
  gap: 23px;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_boxContListWrap {
    width: 78.66667vw;
    gap: 4.66667vw;
  }
}
.top .usage .usage_boxCont .usage_boxContListWrap .usage_boxContList {
  max-width: 179px;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_boxContListWrap.pc {
    display: none;
  }
}
.top .usage .usage_boxCont .usage_listBtnWrap {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listTopBox {
    display: flex;
  }
}
.top .usage .usage_boxCont .usage_listWrap {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap {
    display: block;
  }
}
.top .usage .usage_boxCont .usage_listWrap .usage_list {
  max-width: 400px;
  width: 40%;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap .usage_list {
    max-width: 100%;
    width: 100%;
  }
}
.top .usage .usage_boxCont .usage_listWrap .usage_list:first-child {
  margin-right: 40px;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap .usage_list:first-child {
    margin-right: 0;
    margin-bottom: 5.33333vw;
  }
}
@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap .usage_listTopTxtBox {
    margin-left: 4.66667vw;
  }
}
.top .usage .usage_boxCont .usage_listWrap .usage_listImg {
  width: 70%;
  margin: 0 auto 35px;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap .usage_listImg {
    width: 37.33333vw;
    margin-bottom: 4.66667vw;
  }
}
.top .usage .usage_boxCont .usage_listWrap .usage_listTtl {
  margin-bottom: 10px;
  font-size: 26px;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap .usage_listTtl {
    margin-bottom: 1.33333vw;
    font-size: 4.53333vw;
    text-align: left;
  }
}
.top .usage .usage_boxCont .usage_listWrap .usage_listTxt {
  margin-bottom: 20px;
  line-height: 1.625;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listWrap .usage_listTxt {
    margin-bottom: 2.66667vw;
    font-size: 3.46667vw;
    text-align: left;
  }
}
.top .usage .usage_boxCont .usage_listWrap .usage_listDownloadBtnWrap {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.top .usage .usage_boxCont .usage_listWrap .usage_listDownloadBtn {
  max-width: 179px;
  width: 45%;
}

.top .usage .usage_boxCont .usage_listBtnWrap {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_boxCont .usage_listBtnWrap {
    display: block;
    margin-top: 8vw;
  }
}
.top .usage .usage_listBtn {
  display: flex;
  max-width: 400px;
  width: 40%;
  height: 70px;
  margin: 0 auto;
  border-radius: 70px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  background-color: #00499f;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .top .usage .usage_listBtn {
    width: 100%;
    height: 12vw;
    margin-bottom: 4vw;
    border-radius: 9.33333vw;
    font-size: 3.46667vw;
  }
}
@media screen and (max-width: 767px) {
  .top .usage .usage_boxContListWrap.sp {
    display: flex;
    width: 78.66667vw;
    margin: 0 auto 8vw;
    gap: 4vw 4.93333vw;
    flex-wrap: wrap;
    justify-content: center;
  }
  .top .usage .usage_boxContListWrap.sp .usage_boxContList {
    width: 36.8vw;
  }
}
/*---------------------------------------
  top pressRelease
/*---------------------------------------*/
.top .pressRelease {
  margin-bottom: 100px;
  padding-top: 230px;
}

@media screen and (max-width: 767px) {
  .top .pressRelease {
    margin-bottom: 13.33333vw;
    padding-top: 18.66667vw;
  }
}
.top .pressRelease .pressRelease_ttl {
  margin-bottom: 50px;
  font-size: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .pressRelease .pressRelease_ttl {
    margin-bottom: 6vw;
    font-size: 5.33333vw;
  }
}
.top .pressRelease .pressRelease_list {
  display: table;
  width: 100%;
  margin-bottom: 5px;
  padding: 30px;
  font-size: 16px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .top .pressRelease .pressRelease_list {
    display: block;
    margin-bottom: 1.33333vw;
    padding: 4vw 5.33333vw;
    font-size: 3.46667vw;
  }
}
.top .pressRelease .pressRelease_list .pressRelease_listDate {
  display: table-cell;
  margin-right: 27px;
}

@media screen and (max-width: 767px) {
  .top .pressRelease .pressRelease_list .pressRelease_listDate {
    display: block;
  }
}
.top .pressRelease .pressRelease_list a {
  display: table-cell;
  color: #000;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .top .pressRelease .pressRelease_list a {
    display: block;
  }
}
.top .pressRelease .pressRelease_list a:hover {
  text-decoration: none;
}

/*---------------------------------------
  wave_bg
/*---------------------------------------*/
.wave_bg.last {
  overflow: hidden;
}

.wave_bg.last .wave_bgImg {
  height: 100%;
  top: 0;
  transform: translate(-50%, 0);
}

.wave_bg.last .wave_bgImg img {
  min-width: 1800px;
}

@media screen and (max-width: 767px) {
  .wave_bg.last .wave_bgImg img {
    min-width: auto;
  }
}
.top {
  /*---------------------------------------
    mv
  /*---------------------------------------*/
  /*---------------------------------------
    introduction
  /*---------------------------------------*/
}

.top .mv {
  padding-bottom: 94px;
}

@media screen and (max-width: 767px) {
  .top .mv {
    padding-bottom: 13.3333333333vw;
  }
}
.top .mv .mv_inner {
  max-width: 1100px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .top .mv .mv_inner {
    max-width: 100%;
  }
}
.top .mv .mv_swiper {
  overflow: visible;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .top .mv .mv_swiper {
    margin-bottom: 5.3333333333vw;
  }
}
.top .introduction {
  position: relative;
  margin-top: 56px;
  padding-top: 94px;
}

@media screen and (max-width: 767px) {
  .top .introduction {
    margin-top: 9.3333333333vw;
    padding-top: 13.6vw;
  }
}
.top .introduction::before {
  content: "";
  display: block;
  max-width: 1733px;
  width: 100%;
  height: 94px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/top/introduction_illust01_pc.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 1733px 100%;
}

@media screen and (max-width: 1830px) {
  .top .introduction::before {
    left: -80px;
  }
}
@media screen and (max-width: 767px) {
  .top .introduction::before {
    max-width: 100vw;
    height: 13.6vw;
    left: 0;
    background-image: url(../img/top/introduction_illust01_sp.png);
    background-size: 100%;
  }
}
.top .introduction_head {
  position: relative;
  padding-bottom: 66px;
}

@media screen and (max-width: 767px) {
  .top .introduction_head {
    padding-bottom: 9.8666666667vw;
  }
}
.top .introduction_ttl {
  max-width: 880px;
  margin: 0 auto 53px;
}

@media screen and (max-width: 767px) {
  .top .introduction_ttl {
    max-width: 89.3333333333vw;
    margin-bottom: 7.3333333333vw;
  }
}
.top .introduction_txt {
  line-height: 2.3;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .top .introduction_txt {
    line-height: 2.0667;
    font-size: 4vw;
    letter-spacing: 0;
  }
}
.top .introduction_sec {
  padding: 40px 0 110px;
  background-color: #e2f6ff;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec {
    padding: 16.4vw 0 25.3333333333vw;
  }
}
.top .introduction_sec .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec .inner {
    flex-wrap: wrap;
  }
}
.top .introduction_sec:not(:first-child) {
  margin-top: -70px;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec:not(:first-child) {
    margin-top: -9.3333333333vw;
  }
}
.top .introduction_sec:nth-child(odd) {
  border-radius: 0 80px 0 0;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec:nth-child(odd) {
    border-radius: 0 10.6666666667vw 0 0;
  }
}
.top .introduction_sec:last-child {
  padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec:last-child {
    padding-bottom: 18.6666666667vw;
  }
}
.top .introduction_sec:nth-child(even) {
  border-radius: 80px 0 0 0;
  background-color: #ebfcff;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec:nth-child(even) {
    border-radius: 10.6666666667vw 0 0 0;
  }
}
.top .introduction_sec:nth-child(even) .inner {
  flex-direction: row-reverse;
}

.top .introduction_sec:nth-child(even) .introduction_secImg {
  margin-right: 0;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .top .introduction_sec:nth-child(even) .introduction_secImg {
    width: 51.0666666667vw;
    margin-right: -2.6666666667vw;
    margin-left: -5.3333333333vw;
  }
}
.top .introduction_sec:nth-child(even) .introduction_secImg::after {
  margin-top: 0px;
  margin-left: -20px;
  background-image: url(../img/top/introduction_secImgBg02_pc.png);
}

@media screen and (max-width: 767px) {
  .top .introduction_sec:nth-child(even) .introduction_secImg::after {
    margin-top: 10.6666666667vw;
    margin-left: -4vw;
  }
}
.top .introduction_secCont {
  max-width: 460px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .top .introduction_secCont {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .top .introduction_secTtlBox {
    width: 100%;
    text-align: center;
  }
  .top .introduction_secTtlBox + div {
    width: 44vw;
    position: relative;
    z-index: 5;
  }
}
.top .introduction_secTtlLead {
  margin-bottom: 6px;
  color: #e73079;
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .top .introduction_secTtlLead {
    margin-bottom: 0;
    font-size: 4.5333333333vw;
  }
}
.top .introduction_secTtl {
  margin-bottom: 50px;
  color: #00499f;
  font-size: 40px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .top .introduction_secTtl {
    margin-bottom: 2.1333333333vw;
    font-size: 6.6666666667vw;
  }
}
.top .introduction_secTxt {
  margin-bottom: 30px;
  line-height: 2.25;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .top .introduction_secTxt {
    margin-bottom: 5.3333333333vw;
    line-height: 1.6;
    font-size: 4vw;
  }
}
.top .introduction_secBtn {
  width: 460px;
  padding: 15px 10px;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top .introduction_secBtn {
    width: 43.6vw;
    padding: 2.6666666667vw 0;
    border-radius: 8.6666666667vw;
    font-size: 3.4666666667vw;
  }
}
.top .introduction_secBtn::before {
  right: 30px;
}

@media screen and (max-width: 767px) {
  .top .introduction_secBtn::before {
    right: 4vw;
  }
}
.top .introduction_secBtn span {
  display: block;
  padding-top: 5px;
  color: #fff000;
  line-height: 1;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .top .introduction_secBtn span {
    padding-top: 0.9333333333vw;
    line-height: 1.3;
    font-size: 2.9333333333vw;
  }
}
.top .introduction_secBtn + a {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .top .introduction_secBtn + a {
    margin-top: 2.6666666667vw;
  }
}
.top .introduction_secNote {
  margin-top: 15px;
  padding-left: 1em;
  color: #f00;
  font-size: 14px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .top .introduction_secNote {
    margin-top: 2.6666666667vw;
    line-height: 1.5;
    font-size: 3.2vw;
  }
}
.top .introduction_secNote a {
  color: #f00;
  text-decoration: underline;
}

.top .introduction_secNote a:hover {
  text-decoration: none;
}

.top .introduction_secImg {
  width: 362px;
  position: relative;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .top .introduction_secImg {
    width: 51.0666666667vw;
    margin-right: -5.3333333333vw;
    margin-left: -2.6666666667vw;
  }
}
.top .introduction_secImg img {
  position: relative;
  z-index: 1;
}

.top .introduction_secImg::after {
  content: "";
  display: block;
  width: 616px;
  height: 616px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 30px;
  margin-left: 20px;
  background-image: url(../img/top/introduction_secImgBg01_pc.png);
  transform: translate(-50%, -50%);
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .top .introduction_secImg::after {
    width: 93.3333333333vw;
    height: 93.3333333333vw;
    margin-top: 10.6666666667vw;
    margin-left: 4vw;
    background-size: cover;
  }
}
.top .introduction_secBtnWrap {
  display: flex;
  max-width: 461px;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .top .introduction_secBtnWrap {
    display: block;
    max-width: 100%;
  }
}
.top .introduction_secBtnWrap .small_btn {
  margin-right: 0;
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .top .introduction_secBtnWrap .small_btn {
    margin-bottom: 2.6666666667vw;
  }
  .top .introduction_secBtnWrap .small_btn:last-child {
    margin-bottom: 0;
  }
}
.top .introduction_secBtnWrap .introduction_secBtn {
  margin: auto;
}

.animation01, .animation02, .animation03 {
  opacity: 0;
  transform: rotate(0, 10px);
}

.coupon_ticket .bg_sky {
  margin-bottom: 110px;
  padding-bottom: 68px;
  background-image: url(../img/common/couponTicket_bg03_pc.png), url(../img/common/couponTicket_bg02_pc.png), url(../img/common/couponTicket_bg01_pc.jpg);
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: top, bottom, top;
  background-size: 100%, 100%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .bg_sky {
    margin-bottom: 14.66667vw;
    padding-bottom: 4vw;
    background-image: url(../img/common/couponTicket_bg03_sp.png), url(../img/common/couponTicket_bg02_sp.png), url(../img/common/couponTicket_bg01_sp.jpg);
  }
}
.coupon_ticket .pageTop {
  padding-top: 100px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .pageTop {
    margin-bottom: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket .pageTop {
    padding-top: 12.66667vw;
  }
}
.coupon_ticket .pageTop .pageTop_ttl {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .pageTop .pageTop_ttl {
    width: 89.33333vw;
    margin: 0 auto 6.66667vw;
  }
}
.coupon_ticket .pageTop .pageTop_txt {
  margin-bottom: 50px;
  line-height: 1.875;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .pageTop .pageTop_txt {
    margin-bottom: 6vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket .pageTop .pageTop_areaTtl {
  width: 400px;
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .pageTop .pageTop_areaTtl {
    width: 89.33333vw;
    margin: 0 auto 2.66667vw;
  }
}
.coupon_ticket .areaSec {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec {
    margin-bottom: 13.33333vw;
  }
}
.coupon_ticket .areaSec .areaSec_ttl {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_ttl {
    margin-bottom: 5.33333vw;
  }
}
.coupon_ticket .areaSec .areaSec_listWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_listWrap {
    display: block;
  }
}
.coupon_ticket .areaSec .areaSec_list {
  max-width: 480px;
  width: 48%;
  padding: 43px 40px 40px;
  background-image: url(../img/common/areaList_bg01_pc.png), url(../img/common/areaList_bg02_pc.png), url(../img/common/areaList_bg03_pc.png);
  background-repeat: no-repeat, no-repeat, repeat;
  background-position: top, bottom, center;
  background-size: 100%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list {
    max-width: 100%;
    width: 100%;
    margin-top: 6.66667vw;
    padding: 6.66667vw 5.33333vw;
    background-image: url(../img/common/areaList_bg01_sp.png), url(../img/common/areaList_bg02_sp.png), url(../img/common/areaList_bg03_sp.png);
  }
}
.coupon_ticket .areaSec .areaSec_list:nth-last-child(-n+2) {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list:nth-last-child(-n+2) {
    margin-top: 6.66667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listTtl {
  margin-bottom: 25px;
  line-height: 1.41;
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listTtl {
    margin-bottom: 4vw;
    font-size: 4.26667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listImg {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listImg {
    margin-bottom: 2vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listCatch {
  line-height: 1.66;
  font-size: 18px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listCatch {
    font-size: 3.73333vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .lemonBike_box {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .lemonBike_box {
    margin-bottom: 2vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .lemonBike_box:last-child {
  margin-bottom: 0;
}

.coupon_ticket .areaSec .areaSec_list .lemonBike_boxTtl {
  margin-bottom: 7px;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .lemonBike_boxTtl {
    margin-bottom: 2vw;
    line-height: 1.425;
    font-size: 3.46667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion {
    margin-top: 4vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl {
  display: flex;
  width: 100%;
  height: 60px;
  position: relative;
  margin-bottom: 25px;
  border-radius: 30px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  background-color: #004a9f;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl {
    transition: opacity 0.3s;
  }
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl {
    height: 12vw;
    margin-bottom: 4.66667vw;
    border-radius: 12vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #004a9f;
  transform: translate(0, -50%);
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::before {
    width: 15px;
    height: 2px;
    right: 2.66667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl.active::after {
  transform: rotate(0);
}

.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #004a9f;
  transition: transform 0.3s;
  transform: translate(0, -50%);
  transform: rotate(90deg);
  transform-origin: 50% 50%;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::after {
    width: 15px;
    height: 2px;
    right: 2.66667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl .areaSec_listAccordionTtlIco {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 10px;
  border-radius: 40px;
  background-color: #fff;
  transform: translate(0, -50%);
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl .areaSec_listAccordionTtlIco {
    width: 6.66667vw;
    height: 6.66667vw;
    right: 1.33333vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionCont {
  display: none;
}

.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContTxt {
  margin-bottom: 20px;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContTxt {
    margin-bottom: 4vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox {
    margin-bottom: 4vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTtl {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  background-color: #eaf4fa;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTtl {
    margin-bottom: 2.66667vw;
    padding: 0.66667vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTxt {
    font-size: 3.46667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtn {
  display: flex;
  width: 100%;
  height: 80px;
  border-radius: 40px;
  color: #fff;
  line-height: 1.52;
  background-color: #f59002;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtn {
    height: 14.66667vw;
    border-radius: 14.66667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtn .bold {
  display: block;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtn .bold {
    font-size: 3.46667vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtn .small {
  display: block;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtn .small {
    font-size: 2.93333vw;
  }
}
.coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtnNote {
  margin-top: 10px;
  color: red;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .areaSec .areaSec_list .areaSec_listAccordionContBtnNote {
    margin-top: 1.33333vw;
    font-size: 2.66667vw;
  }
}
.coupon_ticket .roundTourPath {
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath {
    padding-bottom: 6.66667vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath .middle_inner {
    padding: 0;
  }
}
.coupon_ticket .roundTourPath .roundTourPath_ttl {
  display: table;
  margin: 0 auto 35px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath .roundTourPath_ttl {
    margin: 0 auto 5.33333vw;
  }
}
.coupon_ticket .roundTourPath .roundTourPath_cont {
  display: flex;
  align-items: center;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath .roundTourPath_cont {
    display: block;
  }
}
.coupon_ticket .roundTourPath .roundTourPath_contImg {
  max-width: 340px;
  width: 39%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath .roundTourPath_contImg {
    max-width: 100%;
    width: 100%;
    margin-bottom: 5.33333vw;
  }
}
.coupon_ticket .roundTourPath .roundTourPath_contTxt {
  width: 57%;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath .roundTourPath_contTxt {
    width: 100%;
    font-size: 3.46667vw;
  }
}
.coupon_ticket .roundTourPath .sec_btn {
  max-width: 460px;
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .roundTourPath .sec_btn {
    max-width: 100%;
    height: 12vw;
    border-radius: 12vw;
  }
}
.coupon_ticket .wpPassport {
  padding-bottom: 60px;
  background-color: #fff;
  background-image: none;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .wpPassport {
    margin-bottom: 17.33333vw;
    padding: 10.66667vw 5.33333vw 8vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket .wpPassport .wpPassport_ttl {
    width: 89.33333vw;
    transform: translate(-50%, -40%);
  }
}
.coupon_ticket .wpPassport .wpPassport_contBtn {
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .wpPassport .wpPassport_contBtn {
    height: 12vw;
  }
}
.coupon_ticket .wpPassport .wpPassport_contTop {
  display: flex;
  margin-bottom: 20px;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .wpPassport .wpPassport_contTop {
    display: block;
    margin-bottom: 3.46667vw;
  }
}
.coupon_ticket .wpPassport .wpPassport_contTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .wpPassport .wpPassport_contTxt {
    margin-bottom: 2.66667vw;
    font-size: 3.46667vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket .wpPassport .wpPassport_contImg {
    width: 100%;
  }
  .coupon_ticket .wpPassport .wpPassport_contImg img {
    width: 100%;
  }
}
.coupon_ticket .pageTop_ttl, .coupon_ticket .propaganda_wester {
  opacity: 0;
  transform: translate(0, 5px);
}

.coupon_ticket .pageTop_areaTtl {
  opacity: 0;
  transform: translate(0, -5px);
}

.coupon_ticket .pageTop_txt {
  opacity: 0;
  transform: translate(0, 5px);
}

.coupon_ticket .areaSec {
  opacity: 0;
  transform: translate(0, 5px);
}

.bg_bottomWave {
  padding-top: 270px;
  background-image: url(../img/common/bottomWave_bg02_pc.png);
  background-size: 100% 100%;
}

@media screen and (max-width: 767px) {
  .bg_bottomWave {
    padding-top: 24vw;
    background-image: url(../img/common/bottomWave_bg02_sp.png);
  }
}
.coupon_ticket .additionalBox {
  position: relative;
  margin-bottom: 100px;
  padding: 80px 60px 50px;
  border: 5px solid #004a9f;
  border-radius: 30px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .coupon_ticket .additionalBox {
    margin-bottom: 17.334vw;
    padding: 14.66667vw 4.66667vw 8vw;
    border: 3px solid #004a9f;
    border-radius: 4vw;
  }
}
.coupon_ticket .additionalBox .additionalBox_ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.coupon_ticket_top .red_txt {
  color: red;
}

.coupon_ticket_top .bg_sky {
  margin-bottom: 110px;
  padding-bottom: 68px;
  background-image: url(../img/common/couponTicket_bg03_pc.png), url(../img/common/couponTicket_bg02_pc.png), url(../img/common/couponTicket_bg01_pc.jpg);
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: top, bottom, top;
  background-size: 100%, 100%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .bg_sky {
    margin-bottom: 14.66667vw;
    padding-bottom: 4vw;
    background-image: url(../img/common/couponTicket_bg03_sp.png), url(../img/common/couponTicket_bg02_sp.png), url(../img/common/couponTicket_bg01_sp.jpg);
  }
}
.coupon_ticket_top .areaSec_listAccordionCont {
  display: none;
}

.coupon_ticket_top .passTop_introduction {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introduction {
    margin-bottom: 8vw;
    padding: 0 1.33333vw;
  }
}
.coupon_ticket_top .passTop_introduction .passTop_introductionTtl {
  width: 710px;
  margin: 0 auto 50px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introduction .passTop_introductionTtl {
    width: 100%;
    margin-bottom: 6.66667vw;
  }
}
.coupon_ticket_top .passTop_introduction .passTop_introductionSubTtl {
  margin-bottom: 8px;
  color: #004a9f;
  font-size: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introduction .passTop_introductionSubTtl {
    margin-bottom: 1.06667vw;
    font-size: 4.26667vw;
  }
}
.coupon_ticket_top .passTop_introduction .passTop_introductionTxt {
  margin-bottom: 33px;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introduction .passTop_introductionTxt {
    margin-bottom: 6.66667vw;
    line-height: 1.92;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .passTop_introduction .passTop_introductionPrice {
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introduction .passTop_introductionPrice {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionNavCont {
    padding: 0;
  }
}
.coupon_ticket_top .passTop_introductionContBtnWrap {
  display: flex;
  margin-bottom: 80px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContBtnWrap {
    margin-bottom: 10.66667vw;
  }
}
.coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContBtn {
  display: flex;
  max-width: 420px;
  width: 48%;
  height: 70px;
  border: 3px solid #00a7ea;
  border-radius: 70px;
  color: #0195d1;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContBtn {
    height: 12vw;
    border-width: 2px;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContBtn.active {
  color: #fff;
  background-color: #00a7ea;
}

.coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContBtn.inactive {
  border-color: #ccc;
  color: #fff;
  line-height: 1.2;
  text-align: center;
  background-color: #ccc;
}

.coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContWrap {
  border: 3px solid #0195d1;
  background-color: #fff;
}

.coupon_ticket_top .passTop_introductionContWrap {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap {
    padding-top: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap .additionalBox_ttl {
    width: 61.33333vw;
    transform: translate(-50%, -57%);
  }
}
.coupon_ticket_top .passTop_introductionCont {
  display: flex;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionCont {
    display: block;
  }
}
.coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBoxTtl {
  margin-bottom: 7px;
  color: #00499f;
  font-size: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBoxTtl {
    margin-bottom: 7px;
    font-size: 4.26667vw;
  }
}
.coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContTxt {
  margin-bottom: 35px;
  line-height: 1.875;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContTxt {
    margin-bottom: 3.33333vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBoxTxt {
  margin-bottom: 25px;
  line-height: 1.625;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBoxTxt {
    margin-bottom: 4vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBox {
  max-width: 400px;
  width: 48.5%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBox {
    max-width: 100%;
    width: 100%;
  }
  .coupon_ticket_top .passTop_introductionContWrap .passTop_introductionContBox:first-child {
    margin-bottom: 9.33333vw;
  }
}
.coupon_ticket_top .passTop_introductionContWrap .passTop_introductionCont {
  justify-content: space-between;
}

.coupon_ticket_top .passTop_introductionContWrap a.sec_btn {
  height: 70px;
  margin-top: 30px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .passTop_introductionContWrap a.sec_btn {
    height: 12vw;
    margin-top: 5.33333vw;
    border-radius: 90;
  }
}
.coupon_ticket_top .pageTop {
  padding-top: 100px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .pageTop {
    margin-bottom: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .pageTop {
    padding-top: 12.66667vw;
  }
}
.coupon_ticket_top .pageTop .pageTop_ttl {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .pageTop .pageTop_ttl {
    width: 89.33333vw;
    margin: 0 auto 6.66667vw;
  }
}
.coupon_ticket_top .pageTop .pageTop_txt {
  margin-bottom: 50px;
  line-height: 1.875;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .pageTop .pageTop_txt {
    margin-bottom: 6vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .pageTop .pageTop_areaTtl {
  width: 400px;
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .pageTop .pageTop_areaTtl {
    width: 89.33333vw;
    margin: 0 auto 2.66667vw;
  }
}
.coupon_ticket_top .areaSec {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec {
    margin-bottom: 13.33333vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_ttl {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_ttl {
    margin-bottom: 5.33333vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_listWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_listWrap {
    display: block;
  }
}
.coupon_ticket_top .areaSec .areaSec_list {
  max-width: 480px;
  width: 48%;
  padding: 43px 40px 40px;
  background-image: url(../img/common/areaList_bg01_pc.png), url(../img/common/areaList_bg02_pc.png), url(../img/common/areaList_bg03_pc.png);
  background-repeat: no-repeat, no-repeat, repeat;
  background-position: top, bottom, center;
  background-size: 100%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list {
    max-width: 100%;
    width: 100%;
    margin-top: 6.66667vw;
    padding: 6.66667vw 5.33333vw;
    background-image: url(../img/common/areaList_bg01_sp.png), url(../img/common/areaList_bg02_sp.png), url(../img/common/areaList_bg03_sp.png);
  }
}
.coupon_ticket_top .areaSec .areaSec_list:nth-last-child(-n+2) {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list:nth-last-child(-n+2) {
    margin-top: 6.66667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listTtl {
  margin-bottom: 25px;
  line-height: 1.41;
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listTtl {
    margin-bottom: 4vw;
    font-size: 4.26667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listImg {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listImg {
    margin-bottom: 2vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listCatch {
  line-height: 1.66;
  font-size: 18px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listCatch {
    font-size: 3.73333vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .lemonBike_box {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .lemonBike_box {
    margin-bottom: 2vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .lemonBike_box:last-child {
  margin-bottom: 0;
}

.coupon_ticket_top .areaSec .areaSec_list .lemonBike_boxTtl {
  margin-bottom: 7px;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .lemonBike_boxTtl {
    margin-bottom: 2vw;
    line-height: 1.425;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion {
    margin-top: 4vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl {
  display: flex;
  width: 100%;
  height: 60px;
  position: relative;
  margin-bottom: 25px;
  border-radius: 30px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  background-color: #004a9f;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl {
    transition: opacity 0.3s;
  }
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl {
    height: 12vw;
    margin-bottom: 4.66667vw;
    border-radius: 12vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #004a9f;
  transform: translate(0, -50%);
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::before {
    width: 15px;
    height: 2px;
    right: 2.66667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl.active::after {
  transform: rotate(0);
}

.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #004a9f;
  transition: transform 0.3s;
  transform: translate(0, -50%);
  transform: rotate(90deg);
  transform-origin: 50% 50%;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl::after {
    width: 15px;
    height: 2px;
    right: 2.66667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl .areaSec_listAccordionTtlIco {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 10px;
  border-radius: 40px;
  background-color: #fff;
  transform: translate(0, -50%);
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionTtl .areaSec_listAccordionTtlIco {
    width: 6.66667vw;
    height: 6.66667vw;
    right: 1.33333vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContTxt {
  margin-bottom: 20px;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContTxt {
    margin-bottom: 4vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox {
    margin-bottom: 4vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTtl {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  background-color: #eaf4fa;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTtl {
    margin-bottom: 2.66667vw;
    padding: 0.66667vw;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordion .areaSec_listAccordionContBox .areaSec_listAccordionContBoxTxt {
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtn {
  display: flex;
  width: 100%;
  height: 80px;
  border-radius: 40px;
  color: #fff;
  line-height: 1.52;
  background-color: #f59002;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtn {
    height: 14.66667vw;
    border-radius: 14.66667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtn .bold {
  display: block;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtn .bold {
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtn .small {
  display: block;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtn .small {
    font-size: 2.93333vw;
  }
}
.coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtnNote {
  margin-top: 10px;
  color: red;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .areaSec .areaSec_list .areaSec_listAccordionContBtnNote {
    margin-top: 1.33333vw;
    font-size: 2.66667vw;
  }
}
.coupon_ticket_top .roundTourPath {
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath {
    padding-bottom: 6.66667vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath .middle_inner {
    padding: 0;
  }
}
.coupon_ticket_top .roundTourPath .roundTourPath_ttl {
  display: table;
  margin: 0 auto 35px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath .roundTourPath_ttl {
    margin: 0 auto 5.33333vw;
  }
}
.coupon_ticket_top .roundTourPath .roundTourPath_cont {
  display: flex;
  align-items: center;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath .roundTourPath_cont {
    display: block;
  }
}
.coupon_ticket_top .roundTourPath .roundTourPath_contImg {
  max-width: 340px;
  width: 39%;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath .roundTourPath_contImg {
    max-width: 100%;
    width: 100%;
    margin-bottom: 5.33333vw;
  }
}
.coupon_ticket_top .roundTourPath .roundTourPath_contTxt {
  width: 57%;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath .roundTourPath_contTxt {
    width: 100%;
    font-size: 3.46667vw;
  }
}
.coupon_ticket_top .roundTourPath .sec_btn {
  max-width: 460px;
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .roundTourPath .sec_btn {
    max-width: 100%;
    height: 12vw;
    border-radius: 12vw;
  }
}
.coupon_ticket_top .wpPassport {
  padding-bottom: 60px;
  background-color: #fff;
  background-image: none;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .wpPassport {
    margin-bottom: 17.33333vw;
    padding: 10.66667vw 5.33333vw 8vw;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .wpPassport .wpPassport_ttl {
    width: 89.33333vw;
    transform: translate(-50%, -40%);
  }
}
.coupon_ticket_top .wpPassport .wpPassport_contBtn {
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .wpPassport .wpPassport_contBtn {
    height: 12vw;
  }
}
.coupon_ticket_top .wpPassport .wpPassport_contTop {
  display: flex;
  margin-bottom: 20px;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .wpPassport .wpPassport_contTop {
    display: block;
    margin-bottom: 3.46667vw;
  }
}
.coupon_ticket_top .wpPassport .wpPassport_contTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .coupon_ticket_top .wpPassport .wpPassport_contTxt {
    margin-bottom: 2.66667vw;
    font-size: 3.46667vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .coupon_ticket_top .wpPassport .wpPassport_contImg {
    width: 100%;
  }
  .coupon_ticket_top .wpPassport .wpPassport_contImg img {
    width: 100%;
  }
}
.coupon_ticket_top .pageTop_ttl {
  opacity: 0;
  transform: translate(0, 5px);
}

.coupon_ticket_top .passTop_introductionTtl {
  opacity: 0;
  transform: translate(0, -5px);
}

.coupon_ticket_top .passTop_introductionTxt {
  opacity: 0;
  transform: translate(0, 5px);
}

.coupon_ticket_top .passTop_introductionNavCont {
  opacity: 0;
  transform: translate(0, 5px);
}

.coupon_ticket_top .passTop_introductionContWrap {
  opacity: 0;
  transform: translate(0, 5px);
}

.bg_bottomWave {
  padding-top: 270px;
  background-image: url(../img/common/bottomWave_bg02_pc.png);
  background-size: 100% 100%;
}

@media screen and (max-width: 767px) {
  .bg_bottomWave {
    padding-top: 24vw;
    background-image: url(../img/common/bottomWave_bg02_sp.png);
  }
}
.pass .bg_sky {
  margin-bottom: 110px;
  padding-bottom: 68px;
  background-image: url(../img/common/couponTicket_bg03_pc.png), url(../img/common/couponTicket_bg02_pc.png), url(../img/common/couponTicket_bg01_pc.jpg);
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: top, bottom, top;
  background-size: 100%, 100%;
}

@media screen and (max-width: 767px) {
  .pass .bg_sky {
    margin-bottom: 14.66667vw;
    padding-bottom: 4vw;
    background-image: url(../img/common/couponTicket_bg03_sp.png), url(../img/common/couponTicket_bg02_sp.png), url(../img/common/couponTicket_bg01_sp.jpg);
  }
}
.pass .pass_listAccordionCont {
  display: none;
}

.pass .recommended_btnWrap {
  text-align: center;
  justify-content: center;
}

.pass .pageTop .pageTop_txt {
  margin-bottom: 45px;
  line-height: 1.875;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass .pageTop .pageTop_txt {
    margin-bottom: 6vw;
    font-size: 3.46667vw;
  }
}
.pass .pageTop .pageTop_areaTtl {
  max-width: 400px;
  margin-right: auto;
  margin-bottom: 35px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .pass .pageTop .pageTop_areaTtl {
    width: 89.33333vw;
    margin: 0 auto 6.66667vw;
  }
}
.pass .pass_listHaad {
  display: flex;
  margin-bottom: 40px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listHaad {
    display: block;
    margin-bottom: 4.26667vw;
  }
}
.pass #select {
  display: flex;
  margin-bottom: 40px;
  justify-content: center;
  gap: 27px;
}

@media screen and (max-width: 767px) {
  .pass #select {
    margin-bottom: 4vw;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
  }
}
.pass #result .pageCont {
  transition: opacity 0.3s, transform 0.3s;
}

.pass #result .pageCont.fade {
  opacity: 0 !important;
  transform: scaleY(10px);
}

.pass #result [class*=hidden-] {
  display: none;
}

.pass .btn_wrap {
  display: inline-block;
  width: 20%;
  position: relative;
}

@media screen and (max-width: 767px) {
  .pass .btn_wrap {
    width: 42.66667vw;
  }
  .pass .odd_tab {
    margin: auto;
  }
}
.pass .btn_wrap input {
  position: absolute;
  left: 0;
  opacity: 0;
}

.pass .btn_wrap label {
  display: flex;
  max-width: 200px;
  width: 100%;
  height: 60px;
  border: 2px solid #00a7ea;
  border-radius: 60px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  background: #00a7ea;
  cursor: pointer;
  transition: 0.2s;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass .btn_wrap label {
    height: 12vw;
    margin-bottom: 3.73333vw;
    font-size: 3.46667vw;
  }
}
.pass .btn_wrap input:checked + label, .pass .btn_wrap label:hover {
  color: #00a7ea;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .pass .placeTable {
    margin-top: 2vw;
  }
}
.pass .placeTable td, .pass .placeTable th {
  vertical-align: middle;
}

.pass .placeTable .placeTable_ico {
  width: 13px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .pass .placeTable .placeTable_ico {
    width: 2.4vw;
    padding-top: 0.53333vw;
    vertical-align: top;
  }
}
.pass .placeTable .placeTable_ico .ico {
  margin-right: 10px;
}

.pass .placeTable .placeTable_ico img {
  width: 100%;
}

.pass .placeTable .placeTable_txt {
  padding-left: 5px;
  color: #888;
  font-size: 14px;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .pass .placeTable .placeTable_txt {
    padding-left: 0.66667vw;
    line-height: 1.45;
    font-size: 2.4vw;
  }
}
.pass .pass_listWrap .pass_list .pass_listInner {
  margin-bottom: 40px;
  padding: 50px 60px 40px;
  background-image: url(../img/common/pass_list01_pc.png), url(../img/common/pass_list02_pc.png), url(../img/common/pass_list03_pc.png);
  background-repeat: no-repeat, no-repeat, repeat;
  background-position: top, bottom, center;
  background-size: 100%;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_list .pass_listInner {
    margin-bottom: 6.66667vw;
    padding: 6.66667vw 4.66667vw;
    background-image: url(../img/common/areaList_bg01_sp.png), url(../img/common/areaList_bg02_sp.png), url(../img/common/areaList_bg03_sp.png);
  }
}
.pass .pass_listWrap .pass_listHashTagWrap {
  display: flex;
  margin-right: 17px;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listHashTagWrap {
    gap: 1.33333vw;
  }
}
.pass .pass_listWrap .pass_listHashTag {
  padding: 2px 10px;
  border-radius: 3px;
  color: #fff;
  font-size: 16px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listHashTag {
    padding: 0.26667vw 1.33333vw;
    font-size: 2.93333vw;
  }
}
.pass .pass_listWrap .pass_listHashTag.tag_orange {
  background-color: #ee6742;
}

.pass .pass_listWrap .pass_listHashTag.tag_blue {
  background-color: #2b8dd9;
}

.pass .pass_listWrap .pass_listHashTag.tag_green {
  background-color: #32a452;
}

.pass .pass_listWrap .pass_listTop {
  display: flex;
  margin-bottom: 40px;
  justify-content: space-between;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listTop {
    display: block;
    margin-bottom: 4.26667vw;
  }
}
.pass .pass_listWrap .pass_listTop .pass_listTopTtl {
  line-height: 1.4;
  font-size: 20px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listTop .pass_listTopTtl {
    margin-bottom: 5.33333vw;
    font-size: 3.73333vw;
  }
}
.pass .pass_listWrap .pass_listTop .pass_listTopTtlCatch {
  margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listTop .pass_listTopTtlCatch {
    margin-bottom: 0.66667vw;
  }
}
.pass .pass_listWrap .pass_listTop .highlighter {
  background: linear-gradient(transparent 60%, #fff352 60%);
}

.pass .pass_listWrap .pass_listTop .pass_listTopTtlTxt {
  color: #004a9f;
  line-height: 1.4;
  font-size: 40px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listTop .pass_listTopTtlTxt {
    font-size: 5.86667vw;
  }
}
.pass .pass_listWrap .pass_listTop .pass_listTopPrice {
  max-width: 430px;
}

.pass .pass_listWrap .pass_listTop .pass_listTopPrice img {
  width: 100%;
}

.pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtl {
  display: flex;
  width: 100%;
  height: 60px;
  position: relative;
  margin-bottom: 30px;
  border-radius: 30px;
  color: #fff;
  line-height: 1.5;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  background-color: #004a9f;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtl {
    height: 12.4vw;
    margin-bottom: 3.33333vw;
    font-size: 3.46667vw;
  }
}
.pass .pass_listWrap .pass_listAccordion .active .pass_listAccordionTtlIco::after {
  transform: rotate(0);
}

.pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtlIco {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 10px;
  border-radius: 40px;
  background-color: #fff;
  transform: translate(0, -50%);
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtlIco {
    width: 8vw;
    height: 8vw;
    right: 1.33333vw;
  }
}
.pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtlIco::before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 10px;
  background-color: #004a9f;
  transform: translate(0, -50%);
  transform-origin: center;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtlIco::before {
    right: 1.3vw;
  }
}
.pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtlIco::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 10px;
  background-color: #004a9f;
  transition: transform 0.3s;
  transform: translate(0, -50%);
  transform: rotate(90deg);
  transform-origin: center;
  transform-origin: 50% 50%;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordion .pass_listAccordionTtlIco::after {
    right: 1.3vw;
  }
}
.pass .pass_listWrap .no_listAccordionBtn {
  display: flex;
  width: 100%;
  height: 60px;
  position: relative;
  margin-bottom: 30px;
  border-radius: 30px;
  color: #fff;
  line-height: 1.5;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  background-color: #004a9f;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .no_listAccordionBtn {
    height: 12.4vw;
    margin-bottom: 3.33333vw;
    font-size: 3.46667vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContTop {
  display: flex;
  margin-bottom: 30px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTop {
    display: block;
    margin-bottom: 4vw;
  }
}
.pass .pass_listWrap .no_listAccordionTxt {
  width: 100%;
  margin-bottom: 50px;
  line-height: 1.875;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .no_listAccordionTxt {
    width: 100%;
    margin-bottom: 5vw;
    line-height: 1.53;
    font-size: 3.46667vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContTop .pass_listAccordionContTopTxt {
  width: 40%;
  line-height: 1.875;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTop .pass_listAccordionContTopTxt {
    width: 100%;
    margin-bottom: 2.66667vw;
    line-height: 1.53;
    font-size: 3.46667vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContTop .pass_listAccordionContTopImg {
  max-width: 490px;
  width: 56%;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTop .pass_listAccordionContTopImg {
    width: 100%;
  }
}
.pass .pass_listWrap .purchasePrivilege {
  margin-bottom: 30px;
  padding: 20px 10px;
  border-radius: 20px;
  background-image: url(../img/common/additionalBox_bg01_pc.png);
}

.pass .pass_listWrap .purchasePrivilege div.list_box {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .purchasePrivilege div.list_box {
    margin-bottom: 4vw;
  }
}
.pass .pass_listWrap .purchasePrivilege .list_box .purchasePrivilege_ttl {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .purchasePrivilege .list_box .purchasePrivilege_ttl {
    margin-bottom: 2.6vw;
  }
}
.pass .pass_listWrap .purchasePrivilege .list_box .purchasePrivilege_txt {
  padding: 0 40px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordion .purchasePrivilege .list_box .purchasePrivilege_txt {
    padding: 0;
  }
}
.pass .pass_listWrap .purchasePrivilege .list_box .t-center {
  display: table;
  margin: 0 auto;
}

.pass .pass_listWrap .purchasePrivilege .list_box .purchasePrivilege_txt .indent_txt {
  padding-left: 1em;
}

.pass .pass_listWrap .purchasePrivilege.list_box li {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .purchasePrivilege {
    margin-bottom: 2.66667vw;
    padding: 2.66667vw 2.66667vw 4vw;
    border-radius: 2.66667vw;
  }
}
.pass .pass_listWrap .purchasePrivilege .purchasePrivilege_ttl {
  display: table;
  margin: 0 auto;
  line-height: 1.4;
  font-size: 16px;
  background: linear-gradient(transparent 60%, #fff452 60%);
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .purchasePrivilege .purchasePrivilege_ttl {
    font-size: 3.46667vw;
  }
}
.pass .pass_listWrap .purchasePrivilege .purchasePrivilege_txt {
  line-height: 1.625;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .purchasePrivilege .purchasePrivilege_txt {
    font-size: 3.46667vw;
  }
}
.pass .pass_listWrap .purchasePrivilege .purchasePrivilege_txt a {
  color: #000;
  text-decoration: underline;
}

.pass .pass_listWrap .purchasePrivilege .purchasePrivilege_txt a:hover {
  text-decoration: none;
}

.pass .pass_listWrap .pass_listAccordionContTable {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTable {
    margin-bottom: 5.33333vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContTable table {
  border-collapse: collapse;
}

.pass .pass_listWrap .pass_listAccordionContTable tr:last-child td, .pass .pass_listWrap .pass_listAccordionContTable tr:last-child th {
  border-bottom: 1px solid #ccc;
}

.pass .pass_listWrap .pass_listAccordionContTable td, .pass .pass_listWrap .pass_listAccordionContTable th {
  padding: 15px 0;
  border-top: 1px solid #ccc;
  line-height: 1.71;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTable td, .pass .pass_listWrap .pass_listAccordionContTable th {
    display: block;
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTable td, .pass .pass_listWrap .pass_listAccordionContTable th {
    font-size: 3.2vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContTable th {
  width: 18%;
  padding-left: 13px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTable th {
    width: 100%;
    padding-top: 2.66667vw;
    padding-left: 0;
    border-bottom: none !important;
  }
}
.pass .pass_listWrap .pass_listAccordionContTable td {
  width: 82%;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContTable td {
    width: 100%;
    padding-bottom: 2.66667vw;
    border-top: none;
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationTtl {
  display: flex;
  position: relative;
  margin-bottom: 20px;
  font-size: 22px;
  text-align: center;
  align-items: center;
  gap: 10px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationTtl {
    margin-bottom: 2.66667vw;
    font-size: 3.46667vw;
    gap: 3.666667vw 4.666667vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::after, .pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::before {
  content: "";
  display: block;
  width: 18px;
  height: 33px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::after, .pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::before {
    width: 5.33333vw;
    height: 9.33333vw;
    background-size: cover;
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::after {
  background-image: url(../img/common/otherLocationTtl_bg02_pc.svg);
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::after {
    background-image: url(../img/common/otherLocationTtl_bg02_sp.svg);
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::before {
  background-image: url(../img/common/otherLocationTtl_bg01_pc.svg);
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationTtl::before {
    background-image: url(../img/common/otherLocationTtl_bg01_sp.svg);
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap {
  display: flex;
  margin-bottom: 40px;
  justify-content: center;
  gap: 35px;
}

.pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap a .pass_listAccordionContOtherLocationListTxt {
  text-decoration: underline;
}

.pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap a:hover .pass_listAccordionContOtherLocationListTxt {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap {
    margin-bottom: 5.33333vw;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6.66667vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap .pass_listAccordionContOtherLocationList {
  max-width: 270px;
  width: 30%;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap .pass_listAccordionContOtherLocationList {
    max-width: 36vw;
    width: 36vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap .pass_listAccordionContOtherLocationList .pass_listAccordionContOtherLocationListImg {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap .pass_listAccordionContOtherLocationList .pass_listAccordionContOtherLocationListImg {
    margin-bottom: 1.33333vw;
  }
}
@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContOtherLocationListWrap .pass_listAccordionContOtherLocationList .pass_listAccordionContOtherLocationListTxt {
    font-size: 3.2vw;
    text-decoration: none;
  }
}
.pass .pass_listWrap .pass_listAccordionContModelCourse {
  padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContModelCourse {
    padding-bottom: 5.33333vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContModelCourse .pass_listAccordionContModelCourseTtl {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContModelCourse .pass_listAccordionContModelCourseTtl {
    margin-bottom: 3.33333vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContModelCourse .pass_listAccordionContModelCourseImg {
  margin-bottom: 12px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContModelCourse .pass_listAccordionContModelCourseImg {
    margin-bottom: 1.6vw;
  }
}
.pass .pass_listWrap .pass_listAccordionContModelCourse .pass_listAccordionContModelCourseList {
  padding-left: 1em;
  line-height: 2;
  font-size: 14px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionContModelCourse .pass_listAccordionContModelCourseList {
    line-height: 1.5;
    font-size: 3.2vw;
  }
}
.pass .pass_listWrap .pass_listAccordionBtn {
  display: flex;
  width: 100%;
  height: 80px;
  border-radius: 40px;
  color: #fff;
  line-height: 1.52;
  background-color: #f59002;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtn {
    height: 14.66667vw;
    border-radius: 14.6666666667vw;
  }
}
.pass .pass_listWrap .gray_out {
  background-color: #ccc;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .gray_out {
    pointer-events: none;
  }
}
.pass .pass_listWrap .pass_past {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_past {
    margin-bottom: 3.33333vw;
  }
}
.pass .pass_listWrap .pass_listAccordionBtn .bold {
  display: block;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtn .bold {
    font-size: 3.4666666667vw;
  }
}
.pass .pass_listWrap .pass_listAccordionBtn .small {
  display: block;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtn .small {
    font-size: 2.9333333333vw;
  }
}
.pass .pass_listWrap .pass_listAccordionBtn.gururin_btn {
  margin-bottom: 20px;
  background-color: #03a5e1;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtn.gururin_btn {
    height: 21.33333vw;
    margin-bottom: 4vw;
  }
  .pass .pass_listWrap .pass_listAccordionBtn.gururin_btn .small {
    line-height: 1.24;
  }
}
.pass .pass_listWrap .pass_listAccordionBtn.e5489_btn {
  height: 100px;
  margin-bottom: 20px;
  border-radius: 100px;
  background-color: #03a5e1;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtn.e5489_btn {
    height: 24vw;
    margin-bottom: 4vw;
  }
  .pass .pass_listWrap .pass_listAccordionBtn.e5489_btn .small {
    line-height: 1.24;
  }
}
.pass .pass_listWrap .pass_listAccordionBtnNote {
  margin-top: 10px;
  color: red;
  font-size: 14px;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtnNote {
    margin-top: 1.3333333333vw;
    font-size: 2.4vw;
  }
}
.pass .pass_listWrap .pass_listAccordionBtnNote_black {
  margin-top: 10px;
  margin-bottom: 20px;
  color: #000;
  font-size: 14px;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .pass .pass_listWrap .pass_listAccordionBtnNote_black {
    margin-top: 1.3333333333vw;
    margin-bottom: 3.33333vw;
    font-size: 2.4vw;
  }
}
.pass .pass_listWrap .pass_listAccordionBtnNote_black a {
  text-decoration: underline;
}

.pass .pass_listWrap .pass_listAccordionBtnNote span {
  color: #000;
}

.pass .pass_listWrap .pass_listAccordionBtnNote span a {
  text-decoration: underline;
}

.pass .carRentalPrivilege {
  display: block;
  height: auto;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .pass .carRentalPrivilege {
    margin-top: 2.66667vw;
  }
}
.pass .roundTourPath {
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .pass .roundTourPath {
    padding-bottom: 13.33333vw;
  }
}
.pass .roundTourPath .roundTourPath_ttl {
  display: table;
  margin: 0 auto 35px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pass .roundTourPath .roundTourPath_ttl {
    margin: 0 auto 5.33333vw;
  }
}
.pass .roundTourPath .roundTourPath_cont {
  display: flex;
  align-items: center;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .pass .roundTourPath .roundTourPath_cont {
    display: block;
  }
}
.pass .roundTourPath .roundTourPath_contImg {
  width: 38%;
}

@media screen and (max-width: 767px) {
  .pass .roundTourPath .roundTourPath_contImg {
    width: 100%;
    margin-bottom: 5.33333vw;
  }
}
.pass .roundTourPath .roundTourPath_contTxt {
  width: 57%;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass .roundTourPath .roundTourPath_contTxt {
    width: 100%;
    font-size: 3.46667vw;
  }
}
.pass .wpPassport {
  padding-bottom: 60px;
  background-color: #fff;
  background-image: none;
}

@media screen and (max-width: 767px) {
  .pass .wpPassport {
    margin-bottom: 17.33333vw;
    padding: 10.66667vw 5.33333vw 8vw;
  }
}
@media screen and (max-width: 767px) {
  .pass .wpPassport .wpPassport_ttl {
    width: 89.33333vw;
    transform: translate(-50%, -40%);
  }
}
.pass .wpPassport .wpPassport_contBtn {
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .pass .wpPassport .wpPassport_contBtn {
    height: 12vw;
  }
}
.pass .wpPassport .wpPassport_contTop {
  display: flex;
  margin-bottom: 20px;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .pass .wpPassport .wpPassport_contTop {
    display: block;
    margin-bottom: 3.46667vw;
  }
}
.pass .wpPassport .wpPassport_contTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass .wpPassport .wpPassport_contTxt {
    margin-bottom: 2.66667vw;
    font-size: 3.46667vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .pass .wpPassport .wpPassport_contImg {
    width: 100%;
  }
  .pass .wpPassport .wpPassport_contImg img {
    width: 100%;
  }
}
.pass .pageTop_ttl, .pass .propaganda_wester {
  opacity: 0;
  transform: translate(0, 5px);
}

.pass .pageTop_areaTtl {
  opacity: 0;
  transform: translate(0, -5px);
}

.pass .pageTop_txt {
  opacity: 0;
  transform: translate(0, 5px);
}

.pass #select {
  opacity: 0;
  transform: translate(0, 5px);
}

.pass #result {
  opacity: 0;
  transform: translate(0, 5px);
}

.bg_bottomWave {
  overflow: hidden;
  padding-top: 270px;
  background-image: url(../img/common/bottomWave_bg02_pc.png);
  background-size: 100% 100%;
}

@media screen and (max-width: 767px) {
  .bg_bottomWave {
    padding-top: 24vw;
    background-image: url(../img/common/bottomWave_bg02_sp.png);
  }
}
.pass {
  /*---------------------------------------
    pageTop
  /*---------------------------------------*/
  /*---------------------------------------
    passTop_introduction
  /*---------------------------------------*/
  /*-----------------------------
    parts
  /*-----------------------------*/
  /*---------------------------------------
    passInfo_cont
  /*---------------------------------------*/
}

.pass .pageTop {
  padding-top: 60px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pass .pageTop {
    padding-top: 60px;
    text-align: center;
  }
}
.pass .pageTop_ttl {
  max-width: 882px;
  margin: 0 auto 50px;
}

@media screen and (max-width: 767px) {
  .pass .pageTop_ttl {
    max-width: 89.3333333333vw;
    margin-bottom: 6.6666666667vw;
  }
}
.pass .passTop_introduction {
  margin-bottom: 70px;
  padding: 50px 0;
  border-radius: 20px;
  text-align: center;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .pass .passTop_introduction {
    margin-bottom: 10.6666666667vw;
    padding: 8vw 5.3333333333vw 6.6666666667vw;
    border-radius: 4vw;
  }
}
.pass .passTop_introductionTtl {
  max-width: 396px;
  margin: 0 auto 33px;
}

@media screen and (max-width: 767px) {
  .pass .passTop_introductionTtl {
    max-width: 65.8666666667vw;
    margin-bottom: 5.6vw;
  }
}
.pass .passTop_introductionTxt {
  margin-bottom: 36px;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass .passTop_introductionTxt {
    margin-bottom: 5.3333333333vw;
    line-height: 1.538;
    font-size: 3.4666666667vw;
  }
}
.pass .passTop_introductionBtn {
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .pass .passTop_introductionBtn {
    margin-bottom: 3.0666666667vw;
  }
}
.pass .passTop_introductionNote {
  color: #f00;
  line-height: 1.5;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .pass .passTop_introductionNote {
    padding-left: 1em;
    font-size: 3.2vw;
    text-indent: -1em;
    text-align: left;
  }
}
.pass .passTop_introductionNote a {
  color: #f00;
  text-decoration: underline;
}

.pass .passTop_introductionNote a:hover {
  text-decoration: none;
}

.pass .passTop_introduction + .additionalBox {
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .pass .passTop_introduction + .additionalBox {
    margin-bottom: 18.6666666667vw;
  }
}
.pass .passTop_introduction + .additionalBox .additionalBox_txt {
  margin-bottom: 0;
}

.pass .ticketTag {
  display: inline-block;
  margin-top: 5px;
  padding: 6px 7px;
  border-radius: 3px;
  color: #fff;
  line-height: 1;
  font-size: 14px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .pass .ticketTag {
    margin-top: 0.6666666667vw;
    padding: 1.2vw 2vw;
    border-radius: 0.6666666667vw;
    font-size: 2.9333333333vw;
  }
}
.pass .ticketTag._toyama, .pass .ticketTag._okayama, .pass .ticketTag._tottori {
  background-color: #f38611;
}

.pass .ticketTag._ishikawa, .pass .ticketTag._hiroshima, .pass .ticketTag._shimane {
  background-color: #5ab351;
}

.pass .ticketTag._fukui, .pass .ticketTag._yamaguchi {
  background-color: #31a1e1;
}

.pass .ticketTag._part, .pass .ticketTag._kagawa, .pass .ticketTag._shikoku, .pass .ticketTag._niigata, .pass .ticketTag._nagano {
  background-color: #f490af;
}

.pass .ticketTag._hyogo {
  background-color: #f24639;
}

.pass .passInfo_cont {
  /* swiperの設定 */
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .inner {
    max-width: 78.6666666667vw;
  }
}
.pass .passInfo_cont div[id^=area_] {
  margin-top: -100px;
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont div[id^=area_] {
    margin-top: -16vw;
    padding-top: 16vw;
  }
}
.pass .passInfo_cont .areaPass_wrap {
  position: relative;
  margin-bottom: 160px;
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .areaPass_wrap {
    margin-bottom: 24vw;
    padding-bottom: 13.3333333333vw;
  }
}
.pass .passInfo_cont .areaPass_wrap::before {
  content: "";
  display: block;
  width: 100%;
  min-height: calc(100% - 380px);
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .areaPass_wrap::before {
    min-height: calc(100% - 56vw);
  }
}
.pass .passInfo_cont .areaPass_wrap:last-child {
  margin-bottom: 0;
}

.pass .passInfo_cont .areaPass_wrap#area_hokuriku::before {
  background-color: #e2f0ff;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .areaPass_wrap#area_hokuriku::before {
    min-height: calc(100% - 64vw);
  }
}
.pass .passInfo_cont .areaPass_wrap#area_setouchi01::before, .pass .passInfo_cont .areaPass_wrap#area_setouchi02::before {
  background-color: #def6ff;
}

.pass .passInfo_cont .areaPass_wrap#area_sanin::before {
  background-color: #e5f9f2;
}

.pass .passInfo_cont .areaPass_ttl {
  max-width: 900px;
  margin: 0 auto 50px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .areaPass_ttl {
    max-width: 100%;
    margin-bottom: 7.0666666667vw;
  }
}
.pass .passInfo_cont .pass_box {
  max-width: 470px;
  padding: 40px;
  border-radius: 30px;
  box-shadow: 15px -26px 30px 0 rgba(0, 50, 108, 0.05);
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_box {
    max-width: 100%;
    padding: 5.3333333333vw 5.3333333333vw 6.6666666667vw;
    border-radius: 4vw;
    box-shadow: 15px -26px 30px 0 rgba(0, 50, 108, 0.05);
  }
}
.pass .passInfo_cont .passBox_head {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .passBox_head {
    margin-bottom: 1.3333333333vw;
  }
}
.pass .passInfo_cont .pass_area {
  position: relative;
  margin-top: 10px;
  padding-left: 22px;
  color: #888;
  line-height: 1.42;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_area {
    margin-top: 0.5333333333vw;
    padding-left: 3.4666666667vw;
    line-height: 1.5;
    font-size: 2.9333333333vw;
  }
}
.pass .passInfo_cont .pass_area::before {
  content: "";
  display: block;
  width: 16px;
  height: 19px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/common/icon_map.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_area::before {
    width: 2.1333333333vw;
    height: 3.2vw;
    top: 0.3em;
  }
}
.pass .passInfo_cont .pass_name {
  margin-bottom: 15px;
  color: #004a9f;
  line-height: 1.428;
  font-size: 28px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_name {
    margin-bottom: 3.4666666667vw;
    line-height: 1.45;
    font-size: 5.3333333333vw;
  }
}
.pass .passInfo_cont .pass_map {
  display: block;
  position: relative;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_map {
    margin-bottom: 4vw;
  }
}
.pass .passInfo_cont .pass_map.modalBtn {
  cursor: pointer;
}

.pass .passInfo_cont .pass_map.modalBtn::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url(../img/common/icon_glass.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_map.modalBtn::before {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
.pass .passInfo_cont .pass_price {
  display: flex;
  margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_price {
    margin-bottom: 5.3333333333vw;
  }
}
.pass .passInfo_cont .pass_price dl {
  min-width: 180px;
  color: #000;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_price dl {
    min-width: 26.6666666667vw;
  }
}
.pass .passInfo_cont .pass_price dl dt {
  margin-bottom: 6px;
  font-size: 16px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_price dl dt {
    margin-bottom: 1.3333333333vw;
    font-size: 3.2vw;
  }
}
.pass .passInfo_cont .pass_price dl dd {
  font-size: 24px;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_price dl dd {
    font-size: 4.2666666667vw;
    font-weight: 700;
  }
}
.pass .passInfo_cont .pass_price dl dd span {
  color: #ff603a;
  font-size: 36px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_price dl dd span {
    font-size: 6.1333333333vw;
  }
}
.pass .passInfo_cont .pass_details table {
  width: 100%;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_details table {
    border-top: 0.2666666667vw solid #ccc;
    border-bottom: 0.2666666667vw solid #ccc;
  }
}
.pass .passInfo_cont .pass_details table tr {
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_details table tr {
    border-bottom: 0.2666666667vw solid #ccc;
  }
}
.pass .passInfo_cont .pass_details table tr:last-child {
  border-bottom: none;
}

.pass .passInfo_cont .pass_details table th, .pass .passInfo_cont .pass_details table td {
  padding: 16px 0;
  line-height: 1.428;
  font-size: 14px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_details table th, .pass .passInfo_cont .pass_details table td {
    padding: 2.9333333333vw 0;
    line-height: 1.5;
    font-size: 3.2vw;
  }
}
.pass .passInfo_cont .pass_details table th {
  width: 90px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_details table th {
    width: 20.5333333333vw;
  }
}
.pass .passInfo_cont .pass_details table li {
  padding-left: 1em;
  text-indent: -1em;
}

.pass .passInfo_cont .pass_btn {
  display: block;
  width: 100%;
  position: relative;
  margin-top: 35px;
  padding: 12px 0 18px;
  border-radius: 40px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  background-color: #004a9f;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_btn {
    margin-top: 5vw;
    padding: 1.8666666667vw 0 3.7333333333vw;
    border-radius: 7.3333333333vw;
    font-size: 3.4666666667vw;
  }
}
.pass .passInfo_cont .pass_btn::before {
  content: "";
  display: block;
  width: 8px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 30px;
  background-image: url(../img/common/arrow01.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_btn::before {
    width: 1.3333333333vw;
    height: 2vw;
    right: 4vw;
  }
}
.pass .passInfo_cont .pass_btn small {
  display: block;
  line-height: 1;
  font-size: 16px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .pass_btn small {
    font-size: 2.9333333333vw;
  }
}
.pass .passInfo_cont .pass_btn.comingsoon {
  background-color: #ccc;
  pointer-events: none;
}

.pass .passInfo_cont .passBtn_wrap {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .passBtn_wrap {
    margin-top: 5vw;
  }
}
.pass .passInfo_cont .passBtn_wrap:not(:has(.icoca_mark)) {
  display: flex;
  align-items: flex-end;
}

.pass .passInfo_cont .icoca_mark {
  max-width: 360px;
  width: 100%;
  margin: 16px auto 10px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .icoca_mark {
    max-width: 62.2666666667vw;
    margin-top: 0;
    margin-bottom: 2.6666666667vw;
  }
}
.pass .passInfo_cont .icoca_mark + .pass_btn {
  margin-top: 0;
}

.pass .passInfo_cont .pass_swiper {
  overflow: visible;
  position: relative;
}

.pass .passInfo_cont .pass_mapSwiper {
  overflow: hidden;
  position: relative;
}

.pass .passInfo_cont .swiper-button-next, .pass .passInfo_cont .swiper-button-prev {
  width: 44px;
  height: 44px;
  margin-top: 0;
  border-radius: 50%;
  background-image: url(../img/common/arrow02.svg);
  background-size: 100%;
  transition: opacity 0.3s;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .swiper-button-next, .pass .passInfo_cont .swiper-button-prev {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .pass .passInfo_cont .swiper-button-next:hover, .pass .passInfo_cont .swiper-button-prev:hover {
    opacity: 0.7;
  }
}
.pass .passInfo_cont .swiper-button-next {
  right: -52px;
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .swiper-button-next {
    right: -8vw;
  }
}
.pass .passInfo_cont .swiper-button-prev {
  left: -52px;
  transform: translateY(-50%) rotate(180deg);
}

@media screen and (max-width: 767px) {
  .pass .passInfo_cont .swiper-button-prev {
    left: -8vw;
  }
}
.pass .switching_btnWrap {
  display: flex;
  margin-bottom: 80px;
  gap: 40px;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass .switching_btnWrap {
    display: block;
    margin-bottom: 10.6666666667vw;
  }
}
.pass .switching_btnWrap .sec_btn {
  max-width: 440px;
  margin: 0;
  border: 1px solid #00499f;
  color: #00499f;
  background-color: transparent;
}

@media screen and (max-width: 767px) {
  .pass .switching_btnWrap .sec_btn {
    max-width: 78.6666666667vw;
    margin: 0 auto 2.6666666667vw;
    border: 0.2666666667vw solid #00499f;
  }
  .pass .switching_btnWrap .sec_btn:last-child {
    margin-bottom: 0;
  }
}
.pass .switching_btnWrap .sec_btn::before {
  right: 34px;
  background-image: url(../img/common/arrow03.svg);
}

@media screen and (max-width: 767px) {
  .pass .switching_btnWrap .sec_btn::before {
    right: 5.0666666667vw;
  }
}
.pass .switching_btnWrap .sec_btn.active {
  color: #fff000;
  background-color: #00499f;
}

.pass .switching_btnWrap .sec_btn.active::before {
  width: 10px;
  height: 7px;
  background-image: url(../img/common/arrow04.svg);
}

@media screen and (max-width: 767px) {
  .pass .switching_btnWrap .sec_btn.active::before {
    width: 2vw;
    height: 1.3333333333vw;
    background-position: 0 100%;
  }
}
.hide_area {
  display: none;
}

/*---------------------------------------
  周遊パスマップモーダル
/*---------------------------------------*/
.pass_modalWrap {
  min-width: 1100px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .pass_modalWrap {
    min-width: 100%;
  }
}
.pass_modalWrap .modal_boxBody {
  padding: 40px 60px 30px;
}

@media screen and (max-width: 767px) {
  .pass_modalWrap .modal_boxBody {
    padding: 8vw 4vw 6.6666666667vw;
  }
}
.pass_modalWrap .swiper-wrapper {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .pass_modalWrap .swiper-wrapper {
    margin-bottom: 8vw;
  }
}
.pass_modalWrap .swiper-slide {
  display: flex;
  height: auto;
  padding: 0 60px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .pass_modalWrap .swiper-slide {
    padding: 0 1.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .pass_modalWrap .modal_swiperWrap {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .pass_modalWrap .modal_swiper {
    position: static;
  }
}
.pass_modalWrap .modal_swiper .swiper-button-next, .pass_modalWrap .modal_swiper .swiper-button-prev {
  top: 50%;
  margin-top: -50px;
}

@media screen and (max-width: 767px) {
  .pass_modalWrap .modal_swiper .swiper-button-next, .pass_modalWrap .modal_swiper .swiper-button-prev {
    margin-top: -10.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .pass_modalWrap .modal_swiper .swiper-button-next {
    right: -6.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .pass_modalWrap .modal_swiper .swiper-button-prev {
    left: -6.6666666667vw;
  }
}
.pass_top .bg_sky {
  margin-bottom: 110px;
  padding-bottom: 68px;
  background-image: url(../img/common/couponTicket_bg03_pc.png), url(../img/common/couponTicket_bg02_pc.png), url(../img/common/couponTicket_bg01_pc.jpg);
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: top, bottom, top;
  background-size: 100%, 100%;
}

@media screen and (max-width: 767px) {
  .pass_top .bg_sky {
    margin-bottom: 14.66667vw;
    padding-bottom: 4vw;
    background-image: url(../img/common/couponTicket_bg03_sp.png), url(../img/common/couponTicket_bg02_sp.png), url(../img/common/couponTicket_bg01_sp.jpg);
  }
}
.pass_top .passTop_mapWrap {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .pass_top .passTop_mapWrap {
    margin-top: 10.667vw;
  }
}
.pass_top .passTop_mapLinkWrap {
  display: table;
  margin: 60px auto 0;
  padding-bottom: 120px;
  justify-content: space-between;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .pass_top .passTop_mapLinkWrap {
    display: block;
    margin-top: 8vw;
    padding-bottom: 16vw;
  }
}
.pass_top .passTop_mapLinkWrap .passTop_mapLinkBtn {
  display: flex;
  width: 460px;
  height: 70px;
  border-radius: 70px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass_top .passTop_mapLinkWrap .passTop_mapLinkBtn {
    width: 100%;
    height: 12vw;
    font-size: 3.46667vw;
  }
}
.pass_top .passTop_mapLinkWrap .passTop_mapLinkBtn.bg_orange {
  background-color: #f59002;
}

@media screen and (max-width: 767px) {
  .pass_top .passTop_mapLinkWrap .passTop_mapLinkBtn.bg_orange {
    margin-top: 4vw;
  }
}
.pass_top .passTop_mapLinkWrap .passTop_mapLinkBtn.bg_blue {
  margin-bottom: 20px;
  background-color: #00b6c3;
}

.pass_top .passTop_mapLinkWrap .passTop_mapLinkBtn.inactive {
  line-height: 1.2;
  text-align: center;
  background-color: #ccc;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .pass_top .sp_p0 {
    padding: 0;
  }
}
.pass_top .passTop_mapTtl {
  width: 669px;
  margin: 0 auto 30px;
}

@media screen and (max-width: 767px) {
  .pass_top .passTop_mapTtl {
    width: 100%;
    margin-bottom: 5.33333vw;
  }
}
.pass_top .roundTourPath {
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .pass_top .roundTourPath {
    padding-bottom: 6.66667vw;
  }
}
@media screen and (max-width: 767px) {
  .pass_top .roundTourPath .middle_inner {
    padding: 0;
  }
}
.pass_top .roundTourPath .roundTourPath_ttl {
  display: table;
  margin: 0 auto 35px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pass_top .roundTourPath .roundTourPath_ttl {
    margin: 0 auto 5.33333vw;
  }
}
.pass_top .roundTourPath .roundTourPath_cont {
  display: flex;
  align-items: center;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .pass_top .roundTourPath .roundTourPath_cont {
    display: block;
  }
}
.pass_top .roundTourPath .roundTourPath_contImg {
  max-width: 340px;
  width: 39%;
}

@media screen and (max-width: 767px) {
  .pass_top .roundTourPath .roundTourPath_contImg {
    max-width: 100%;
    width: 100%;
    margin-bottom: 5.33333vw;
  }
}
.pass_top .roundTourPath .roundTourPath_contTxt {
  width: 57%;
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass_top .roundTourPath .roundTourPath_contTxt {
    width: 100%;
    font-size: 3.46667vw;
  }
}
.pass_top .roundTourPath .sec_btn {
  max-width: 460px;
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .pass_top .roundTourPath .sec_btn {
    max-width: 100%;
    max-width: 100%;
    height: 12vw;
    border-radius: 12vw;
  }
}
.pass_top .wpPassport {
  padding-bottom: 60px;
  background-color: #fff;
  background-image: none;
}

@media screen and (max-width: 767px) {
  .pass_top .wpPassport {
    margin-bottom: 17.33333vw;
    padding: 10.66667vw 5.33333vw 8vw;
  }
}
@media screen and (max-width: 767px) {
  .pass_top .wpPassport .wpPassport_ttl {
    width: 89.33333vw;
    transform: translate(-50%, -40%);
  }
}
.pass_top .wpPassport .wpPassport_contBtn {
  height: 70px;
  border-radius: 70px;
}

@media screen and (max-width: 767px) {
  .pass_top .wpPassport .wpPassport_contBtn {
    height: 12vw;
  }
}
.pass_top .wpPassport .wpPassport_contTop {
  display: flex;
  margin-bottom: 20px;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .pass_top .wpPassport .wpPassport_contTop {
    display: block;
    margin-bottom: 3.46667vw;
  }
}
.pass_top .wpPassport .wpPassport_contTxt {
  line-height: 1.625;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .pass_top .wpPassport .wpPassport_contTxt {
    margin-bottom: 2.66667vw;
    font-size: 3.46667vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .pass_top .wpPassport .wpPassport_contImg {
    width: 100%;
  }
  .pass_top .wpPassport .wpPassport_contImg img {
    width: 100%;
  }
}
.pass_top .passTop_introduction {
  opacity: 0;
  transform: translate(0, 5px);
}

.pass_top .pageCont .additionalBox {
  opacity: 0;
  transform: translate(0, 5px);
}

.pass_top .recommended_btnWrap {
  justify-content: center;
}

.bg_bottomWave {
  padding-top: 270px;
  background-image: url(../img/common/bottomWave_bg02_pc.png);
  background-size: 100% 100%;
}

@media screen and (max-width: 767px) {
  .bg_bottomWave {
    padding-top: 24vw;
    background-image: url(../img/common/bottomWave_bg02_sp.png);
  }
}
.only_ie {
  display: none !important;
}

@media all and (-ms-high-contrast: none) {
  .no_ie {
    display: none !important;
  }
  .only_ie {
    display: block !important;
  }
}
.pass.hokuriku #select {
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pass.hokuriku #select .btn_wrap:first-child {
    margin-right: 4vw;
  }
  .pass.hokuriku .btn_wrap {
    width: 41vw;
  }
  .pass.hokuriku .btn_wrap label {
    max-width: unset;
  }
}
.pass .pass_listWrap .pass_listHashTag.tag_red {
  background-color: #ec5830;
}

.duplication_list.hidden {
  display: none;
}

.coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContBtn.active {
  cursor: pointer;
  transition: background-color 0.3s;
}

.coupon_ticket_top .passTop_introductionContBtnWrap .passTop_introductionContBtn.active.show {
  color: #00a7ea;
  background-color: #fff;
}

.coupon_ticket_top .passTop_introductionContWrap {
  display: none;
}

.coupon_ticket_top .passTop_introductionContWrap.show {
  display: block;
}

.usage_boxCont {
  width: calc(75% - 360px);
}

@media screen and (min-width: 768px) and (min-width: 1000px) {
  .usage_boxContTxt br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .usage_boxContListWrap.sp.animation02 {
    display: flex;
    justify-content: center;
  }
}
.tabiseyo_cont {
  padding: 0 20px 200px;
  background-image: url(../img/tabiseyo/tabiseyo_bg01_pc.jpg);
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .tabiseyo_cont {
    padding: 0 5.33vw 26vw;
    background-image: url(../img/tabiseyo/tabiseyo_bg01_sp.jpg);
  }
}
.tabiseyo_cont img {
  max-width: 100%;
  width: 100%;
}

.tabiseyo_cont .tabiseyo_ttl {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .tabiseyo_cont .tabiseyo_ttl {
    width: 89.33vw;
  }
}
.tabiseyo_cont .tabiseyo_box {
  max-width: 1000px;
  margin: 0 auto 60px;
  padding: 57px 60px;
  border-radius: 30px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .tabiseyo_cont .tabiseyo_box {
    width: 89.33vw;
    margin-bottom: 8vw;
    padding: 8vw 5.33vw;
    border-radius: 4vw;
  }
}
.tabiseyo_cont .cvArea {
  max-width: 880px;
  margin: 80px auto 0;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  .tabiseyo_cont .cvArea {
    margin-top: 10vw;
  }
}
.byPath_ttlBox {
  display: block;
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .byPath_ttlBox {
    display: block;
    margin-top: 5vw;
    text-align: center;
  }
}
.byPath_ttlBox.no_balloon {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .byPath_ttlBox.no_balloon {
    margin-top: 4vw;
  }
}
.byPath_ttlBalloon {
  width: 326px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .byPath_ttlBalloon {
    width: 100%;
  }
}
.byPath_ttl {
  margin-bottom: 10px;
  color: #004a9f;
  font-size: 24px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .byPath_ttl {
    margin-bottom: 1.33vw;
    font-size: 4vw;
  }
}
.purchasePrivilege th {
  font-weight: 400;
  white-space: nowrap;
}

.wester_box {
  padding: 25px;
  border: 5px solid #004a9f;
  border-radius: 20px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .wester_box {
    padding: 4.6667vw;
    border: 0.6667vw solid #004a9f;
    border-radius: 4vw;
  }
}
.wester_box .wester_txt {
  max-width: 597px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .wester_box .wester_txt {
    max-width: 74.4vw;
  }
}
.propaganda_wester.adjust {
  max-width: calc(100% + 120px);
  margin: 0 -60px 80px;
}

@media screen and (max-width: 767px) {
  .propaganda_wester.adjust {
    max-width: 100%;
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 767px) {
  .propaganda_wester.adjust {
    max-width: 100%;
    margin: 0 0 10.667vw;
  }
}
.top .mv {
  z-index: 5;
}

/*---------------------------------------
  add 20241003
/*---------------------------------------*/
.introduction03 .introduction_secTtl, .introduction04 .introduction_secTtl {
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .introduction03 .introduction_secTtl, .introduction04 .introduction_secTtl {
    line-height: 1.52;
  }
  .introduction01 .introduction_secBtn, .introduction03 .introduction_secBtn {
    line-height: 1.385;
  }
  .introduction04 .introduction_secBtn {
    line-height: 1.385;
    border-radius: 9.06666667vw;
    padding: 1.8668vw 0;
  }
}
/* introduction06　のボタンの調整 */
@media screen and (max-width: 767px) {
  .top .introduction06 .introduction_secBtnWrap {
    display: flex;
    margin-bottom: 0;
  }
  .top .introduction06 .introduction_secBtnWrap .small_btn {
    margin-bottom: 0;
  }
  .introduction06 .introduction_secBtnWrap {
    gap: 2.6666666667vw;
  }
  .introduction06 .introduction_secBtnWrap a:first-child {
    order: 1;
  }
  .introduction06 .introduction_secBtnWrap a:nth-child(2) {
    order: 0;
  }
  .introduction06 .introduction_secBtnWrap a:last-child {
    order: 2;
  }
}
/* カバーンくん追加 */
.introduction01 .inner {
  position: relative;
}

.introduction_sec .inner::before {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100%;
  max-width: 170px;
  max-height: 172px;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 1181px) {
  .introduction_sec .inner::before {
    width: clamp(104px, 10vw, 170px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction_sec .inner::before {
    width: 10%;
    height: 100%;
    background-position: bottom;
  }
}
@media screen and (max-width: 767px) {
  .top .introduction_sec {
    padding-top: 47.33333333vw;
  }
  .top .introduction_sec .inner::before {
    bottom: initial;
    top: -18vw;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 30vw;
    height: 30.66666667vw;
  }
}
/* introduction01 */
.introduction01 .inner::before {
  bottom: 4.5%;
  left: -10.5vw;
  background-image: url(../img/top/img_intro01.png);
}

@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction01 .inner::before {
    bottom: 1.5%;
    left: -3%;
  }
}
/* introduction02 */
.introduction02 .inner::before {
  bottom: 4.5%;
  right: -9.8vw;
  background-image: url(../img/top/img_intro02.png);
}

@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction02 .inner::before {
    bottom: -0.5%;
    right: -3.5%;
  }
}
/* introduction03 */
.introduction03 .inner::before {
  bottom: 6%;
  left: -8.8vw;
  background-image: url(../img/top/img_intro03.png);
}

@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction03 .inner::before {
    bottom: -0.5%;
    left: -4.5%;
  }
}
/* introduction04 */
.introduction04 .inner::before {
  bottom: 7.5%;
  right: -9.8vw;
  background-image: url(../img/top/img_intro04.png);
}

@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction04 .inner::before {
    bottom: -0.5%;
    right: -3.5%;
  }
}
/* introduction05 */
.introduction05 .inner::before {
  bottom: 4%;
  left: -10.6vw;
  background-image: url(../img/top/img_intro05.png);
}

@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction05 .inner::before {
    bottom: 10.5%;
    left: -3%;
  }
}
/* introduction06 */
.introduction06 .inner::before {
  bottom: 5%;
  right: -9.8vw;
  background-image: url(../img/top/img_intro06.png);
}

@media screen and (min-width: 768px) and (max-width: 1335px) {
  .introduction06 .inner::before {
    bottom: 11%;
    right: -3.5%;
  }
}
.youtube_area {
  margin-top: 110px;
}
@media screen and (max-width: 767px) {
  .youtube_area {
    margin-top: 14vw;
  }
}

.youtube_area .youtubeArea_ttl {
  display: flex;
  margin-bottom: 30px;
  color: #e73079;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .youtube_area .youtubeArea_ttl {
    font-size: 5.33vw;
    margin-bottom: 4vw;
    line-height: 1.5;
  }
}

.youtube_area .youtubeArea_ttl::before, .youtube_area .youtubeArea_ttl::after {
  content: "";
  display: block;
  width: 30px;
  height: 60px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .youtube_area .youtubeArea_ttl::before, .youtube_area .youtubeArea_ttl::after {
    width: 11vw;
    height: 22vw;
    background-size: 100%;
  }
}
.youtube_area .youtubeArea_ttl::before {
  margin-right: 30px;
  background-image: url(../img/common/youtubeArea_ttlObject01.svg);
}

@media screen and (max-width: 767px) {
  .youtube_area .youtubeArea_ttl::before {
    margin-right: 2.4vw;
  }
}
.youtube_area .youtubeArea_ttl::after {
  margin-left: 30px;
  background-image: url(../img/common/youtubeArea_ttlObject02.svg);
}

@media screen and (max-width: 767px) {
  .youtube_area .youtubeArea_ttl::after {
    margin-left: 2.4vw;
  }
}
.youtube_area .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  max-width: 1000px;
}

.youtube_area .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/**********add 2025 0912*/
.tabiwa.top #ticket_coupon {
  padding-top: 68px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #ticket_coupon {
    padding-top: 53.33333333vw;
  }
}
.tabiwa.top .howto_btn {
  max-width: 460px;
  width: 100%;
  position: absolute;
  top: -46px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .tabiwa.top .howto_btn {
    max-width: 78.66666667vw;
    top: -8.66666667vw;
  }
}
.tabiwa.top #modal_howtoQR .modal_boxHead .icon {
  width: 38px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .modal_boxHead .icon {
    width: 6.13333333vw;
  }
}
.tabiwa.top #modal_howtoQR .modal_boxBody {
  padding: 35px 60px 60px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .modal_boxBody {
    padding: 5.6vw 5.33333333vw 8vw;
  }
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap + .howtoQR_btnWrap {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .howtoQR_btnWrap + .howtoQR_btnWrap {
    margin-top: 9.33333333vw;
  }
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap dt {
  color: #004a9f;
  font-size: 24px;
  text-align: center;
  line-height: 1.25;
  font-weight: 600;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .howtoQR_btnWrap dt {
    font-size: 5.06666667vw;
    margin-bottom: 4.8vw;
  }
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap dd {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .howtoQR_btnWrap dd {
    flex-direction: column;
    gap: 2.66666667vw;
  }
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap.use_multiple dt {
  color: #1d9353;
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap.use_multiple dt small {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .howtoQR_btnWrap.use_multiple dt small {
    font-size: 3.73333333vw;
  }
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap.use_multiple a.sec_btn {
  background-color: #1d9353;
}
.tabiwa.top #modal_howtoQR .howtoQR_btnWrap a.sec_btn {
  max-width: 340px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR .howtoQR_btnWrap a.sec_btn {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .tabiwa.top div[id^=modal_howtoQR-]:not(#modal_howtoQR-multiple) .modal_boxHead {
    text-align: left;
    line-height: 1.61764706;
    height: 20.66666667vw;
  }
}
.tabiwa.top #modal_howtoQR-movie .modal_boxBody {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-movie .modal_boxBody {
    padding-bottom: 8vw;
  }
}
.tabiwa.top #modal_howtoQR-movie .movie_wrap {
  max-width: 640px;
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 360px;
  margin: 30px auto 0;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-movie .movie_wrap {
    max-width: 78.66666667vw;
    padding-top: 44vw;
    margin-top: 5.33333333vw;
  }
}
.tabiwa.top #modal_howtoQR-movie .movie_wrap iframe, .tabiwa.top #modal_howtoQR-movie .movie_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.tabiwa.top #modal_howtoQR-multiple .howtoQR_attention {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-multiple .howtoQR_attention {
    max-width: 78.66666667vw;
  }
}
.tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dt {
  font-size: 20px;
  color: #004a9f;
  font-weight: 600;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dt {
    font-size: 4.53333333vw;
    margin-bottom: 0;
  }
}
.tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd li {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd li {
    margin-bottom: 5.6vw;
  }
}
.tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd li:last-child {
  margin-bottom: 0;
}
.tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd p {
  font-size: 16px;
  line-height: 1.625;
  text-align: left;
  font-weight: 600;
  text-indent: -0.5em;
  padding-left: 0.5em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd p {
    font-size: 4vw;
  }
}
.tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd .note {
  display: block;
  font-size: 14px;
  line-height: 1.428;
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .tabiwa.top #modal_howtoQR-multiple .howtoQR_attention dd .note {
    font-size: 3.2vw;
    line-height: 1.5;
  }
}