@charset "utf-8";

:root {
  --top_bg-color: #fafafa;
}
/* =======================
    　tripla-booking
========================== */
#reservation_01.lower {
  display: none;
}
.bestrate {
  width: 90%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .bestrate {
    width: 95%;
  }
}
/* =======================
		.container
========================== */

/* =======================
		#main
========================== */
.main_visual {
  width: 100%;
  overflow: hidden;
}
.flexslider {
  border: none;
  position: relative;
  margin-bottom: 0;
}
.top_absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: auto;
  z-index: 2;
  width: 72%;
  max-width: 400px;
}
.top_relative {
  position: relative;
}
.main_visual_slider > .flex-direction-nav,
.main_visual_slider .flex-control-nav {
  display: none;
}
.main_visual_slider .flex-direction-nav a.flex-prev {
  content: url(../img/170613/left.png);
  max-width: 30px;
  width: 2.5%;
  height: auto;
  transform: translateY(-50%);
  z-index: 3;
}
.main_visual_slider .flex-direction-nav a.flex-next {
  content: url(../img/170613/right.png);
  max-width: 30px;
  width: 2.5%;
  height: auto;
  transform: translateY(-50%);
  z-index: 3;
}
.main_visual_slider .flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -10px;
  text-align: center;
  margin-bottom: 20px;
  z-index: 2;
}
.main_visual_slider .slides > li:not(:first-child) {
  display: none;
}
.main_visual_slider .slides > li:first-child {
  display: block;
}
@media screen and (min-width: 768px) {
  .main_visual_slider > .flex-direction-nav,
  .main_visual_slider .flex-control-nav {
    display: block;
  }
  .top_absolute {
    width: 32%;
  }
}
@media screen and (min-width: 1024px) {
  .top_absolute {
    top: 45%;
  }
}
/* =======================
.main_visual_bnr 
========================== */
.main_visual {
  position: relative;
}
.main_visual_bnr_wrap {
  position: absolute;
  bottom: 0;
  width: 50%;
  max-width: fit-content;
  z-index: 2;
}
.main_visual_bnr {
  margin-bottom: 2px;
}
@media screen and (min-width: 768px) {
  .main_visual_bnr_wrap {
    width: 25%;
  }
}
/* =======================
		日程検索
========================== */
.tripla_tourbuilder {
  margin-top: 20px;
}
/* =======================
		news
========================== */
.news {
  max-width: 900px;
}
.news_list_wrap {
  display: grid;
  gap: var(--space-sm);
}
.news_list {
  display: grid;
  gap: var(--space-xs) var(--space-md);
}
@media screen and (min-width: 768px) {
  .news_list {
    grid-template-columns: auto 1fr;
  }
}

/* =======================
	#pickup
========================== */
.pickup {
  background-color: var(--top_bg-color);
  padding: var(--space-md) 0;
}
.pickup_swiper {
  position: relative;
}
.pickup_swiper-container {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 50px;
}
.pickup_swiper-button-next,
.pickup_swiper-button-prev {
  display: none;
  opacity: 0.5;
  width: 5%;
  max-width: 50px;
  top: calc(50% - 20px);
  margin-top: 0;
  transform: translateY(-50%);
}
.swiper-button-prev {
  left: 0;
  background-image: url(/image/common/ic_slide_arrow_left.svg);
}
.swiper-button-next {
  right: 0;
  background-image: url(/image/common/ic_slide_arrow_right.svg);
}
.pickup_swiper-pagination {
  position: static;
  margin-top: 16px;
}
.pickup_swiper-pagination > .swiper-pagination-bullet {
  width: 11px;
  height: 11px;
  background: #999;
  opacity: 0.45;
}
.pickup_swiper-pagination > .swiper-pagination-bullet-active {
  background: #c7a957;
  opacity: 1;
}
.pickup_label {
  background-color: #c7a957cc;
  padding: 2.5px 5px;
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0;
  letter-spacing: 0.5px;
  min-width: 33%;
  text-align: center;
}
.pickup_label_activity:lang(ja) {
  letter-spacing: -1px;
}
.pickup_heading {
  color: #fff;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  padding: 8px;
  width: 100%;
  font-size: 1.6rem;
}
@media (any-hover: hover) {
  .pickup_swiper-button-next:hover,
  .pickup_swiper-button-prev:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .pickup_swiper {
    max-width: 1240px;
    margin: auto;
  }
  .pickup_swiper-container {
    padding: 0;
    width: calc(100% - 100px);
  }
  .pickup_swiper-button-next,
  .pickup_swiper-button-prev {
    display: block;
  }
  .pickup_swiper-pagination {
    margin-top: 24px;
  }
  .swiper-container-horizontal > .pickup_swiper-pagination > .swiper-pagination-bullet {
    margin: 0 8px;
  }
  .pickup_heading {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1024px) {
  .pickup_heading {
    font-size: 1.6rem;
  }
}
/* =======================
		.gallery
========================== */
.gallery_contents {
  max-width: 1760px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
}
.gallery_item {
  position: relative;
}
.gallery_title {
  position: absolute;
  font-size: clamp(3.4rem, 4vw, 6.4rem);
  padding: 0px 5%;
  bottom: 0.6em;
  color: #fff;
  line-height: 1.3;
}
.gallery_title.--font_black {
  color: #000;
}
.gallery_title.--position_right {
  text-align: right;
  right: 0;
}
.gallery_title:lang(ja) {
  word-break: keep-all;
}
.gallery_img img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .gallery_contents {
    gap: 20px;
  }
  .gallery_title {
    width: 50%;
    bottom: 0.8em;
  }
  .gallery_title.--pc_position_right {
    text-align: right;
    right: 0;
  }
  .gallery_title.--pc_position_left {
    text-align: left;
    left: 0;
    right: unset;
  }
}
.photo {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .access_txtbox {
    line-height: 2;
  }
}
/* =======================
		.access_route
========================== */
.access_route_wrap {
  display: grid;
  gap: 32px;
}
.route_list {
  display: grid;
  row-gap: 15px;
}
.route_list_detail {
  border: none;
}
.route_list_body {
  line-height: inherit;
  display: none;
}
.route_list_heading {
  border: #ccc 1px solid;
  padding: 0.6em 26px;
  position: relative;
  text-align: center;
}
.route_list_heading span {
  position: absolute;
  right: 10px;
  top: 50%;
  translate: 0 -50%;
}
.route_steps li:nth-child(odd) {
  width: 90%;
  margin-inline: auto;
  text-align: left;
  border-left: 1px solid #333;
  padding: 1.6rem;
  box-sizing: border-box;
}
.route_steps li:nth-child(even) {
  background: #ededed;
  text-align: center;
  padding: 0.6em;
  margin-left: 0;
}
.route_steps li:last-child {
  background-color: #333;
  color: #fff;
}
.route_list_heading {
  position: relative;
}
.route_list_heading::before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 6px;
  border-top: 1px solid #333;
  transition: transform 0.3s ease-in-out;
  width: 8px;
  top: 50%;
  transform: translate(-50%) rotate(90deg);
}
.route_list_heading::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 4px;
  border-top: 1px solid #333;
  transition: transform 0.3s ease-in-out;
  width: 10px;
  top: 50%;
  transform: translateX(-50%);
}
.route_list_heading.active::before {
  transform: translate(-50%) rotate(180deg);
}
.route_list_heading.active::after {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .route_list {
    grid-template-columns: 1fr 1fr;
    gap: 20px 15px;
  }
}
/*送迎サービス*/
.bus_image {
  display: grid;
  row-gap: 15px;
}
@media screen and (min-width: 768px) {
  .bus_image {
    grid-template-columns: 1fr 1fr;
    gap: 20px 15px;
  }
}

/* =======================
		問い合わせ
========================== */

.reservation_box {
  padding: var(--space-md) min(5%, 40px);
  border: solid 1px #e5e5e5;
  width: 90%;
  margin: auto;
  max-width: 850px;
  background-color: #fff;
}
.reservation_body {
  margin-top: 22px;
}
.reservation_hotel-name {
  font-size: 1.6rem;
}
.reservation_phon {
  font-size: var(--text-size_lv2);
  margin-top: 4px;
}
.reservation_ic {
  position: relative;
}
.reservation_ic::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: auto;
  height: 1em;
  display: inline-block;
  margin-right: 0.5em;
}
.reservation_phon_link::before {
  background-image: url(../img/common/phon_img_001.gif);
  aspect-ratio: 44 / 79;
}
.reservation_mail_link::before {
  background-image: url(../img/common/mail_img_001.gif);
  aspect-ratio: 13 / 8;
}
.reservation_mail {
  font-size: 1.6rem;
  margin-top: 16px;
}
.reservation_faq {
  margin-top: 16px;
}

/* =======================
		受賞歴
========================== */
.awards {
  background-color: var(--top_bg-color);
  padding: var(--space-md) 0;
}
.awards_inner {
  position: relative;
}
.flexslider_award > .flex-control-nav {
  position: static;
  margin-top: 20px;
}

.bottom_banner {
  padding: var(--space-md) 0;
}
.m_bana {
  max-width: fit-content;
  margin: auto;
}
