@charset "UTF-8";

.post-section .post-content .wp-block-heading {
	margin-top: 2.75rem;
  margin-bottom: 1rem;
}
.post-section .post-content .wp-block-heading:first-child {
	margin-top: 0;
}
.post-section .post-content p.wp-block-paragraph {
  margin-bottom: 1rem;
}
.post-section .post-content hr.wp-block-separator {
  margin: 1.75rem 0;
  border: none;
  height: 1px;
  background-color: #000;
}

.post-section .post-content h2.wp-block-heading {
  font-size: 1.58rem;
}
.post-section .post-content h3.wp-block-heading {
  font-size: 1.38rem;
}
.post-section .post-content h4.wp-block-heading {
  font-size: 1.18rem;
}
.post-section .post-content h5.wp-block-heading {
  font-size: 1.08rem;
}
.post-section .post-content h6.wp-block-heading {
  font-size: .98rem;
}
@media (max-width: 768px) {
	.post-section .post-content h2.wp-block-heading {
    font-size: 1.41rem;
  }
  .post-section .post-content h3.wp-block-heading {
    font-size: 1.21rem;
  }
  .post-section .post-content h4.wp-block-heading {
    font-size: 1.11rem;
  }
  .post-section .post-content h5.wp-block-heading {
    font-size: 1.01rem;
  }
  .post-section .post-content h6.wp-block-heading {
    font-size: .91rem;
  }
}
.wp-block-button > a {
	display: inline-block;
	margin: .25rem;
}
.wp-block-button > a,
.wp-bootstrap-blocks-button > a {
	font-size: .88rem;
	font-weight: 400;
	border-radius: 50px;
	padding: .5rem 1.75rem;
	color: var(--heading-color);
	background-color: var(--contrast-color);
	border: 1px solid var(--accent-color);
}
.wp-block-button > a:hover,
.wp-bootstrap-blocks-button > a:hover {
	color: var(--contrast-color);
	background-color: var(--accent-color);
	border: 1px solid var(--accent-color);
}

/* -----------------------
	日付つき箇条書一覧リンク
----------------------- */
.data-list {
	margin: 0;
	border-top: 1px solid var(--bs-gray-400);
}
.data-list a.btn,
.data-list .announcement a {
	pointer-events: auto;
	z-index: +1;
}
.data-list a.btn,
.data-list .announcement {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: between;
	justify-content: between;
	-webkit-align-items: start;
	align-items: start;
	position: relative;
	margin: 0;
	padding: 1.5rem 1rem;
	border: none;
	border-radius: 0;
	transition: all ease-in-out 0.4s;
  color: var(--color-default);
	background-color: rgba(0,0,0,0);
	border-bottom: 1px solid var(--bs-gray-400);
}
.data-list a.btn:hover {
	background-color: rgba(0,0,0,.05);
	border-bottom: 1px solid var(--bs-gray-400);
}
.data-list a.btn .date,
.data-list .announcement .date {
	font-family: var(--font-default);
	font-size: .81rem;
	font-weight: 300;
	line-height: 1.75;
	letter-spacing: .05rem;
	white-space: nowrap;
	width: 100px;
	text-align: right;
	padding-right: 1.5rem;
}
.data-list a.btn .item-body,
.data-list .announcement .item-body {
	with: 100%;
	font-family: var(--font-default);
	font-size: .88rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .05rem;
	text-align: justify;
  text-justify: inter-character;
	padding-right: 1.5rem;
}
.data-list .announcement .item-body {
	padding-right: .25rem;
}
@media (max-width: 1199.98px) {
	.data-list a.btn,
	.data-list .announcement {
		padding: .75rem;
		display: -webkit-flex;
    display: flex;
		-webkit-align-items: flex-start;
    align-items: flex-start;
		-webkit-flex-direction: column;
    flex-direction: column;
	}
	.data-list a.btn .date,
	.data-list .announcement .date {
		font-size: .81rem;
		text-align: left;
	}
	.data-list a.btn .item-body,
	.data-list .announcement .item-body {
		font-size: .88rem;
	}
}
@media (max-width: 767.98px) {
	.data-list a.btn,
	.data-list .announcement {
		padding: .75rem;
		display: -webkit-flex;
    display: flex;
		-webkit-align-items: flex-start;
    align-items: flex-start;
		-webkit-flex-direction: column;
    flex-direction: column;
	}
	.data-list a.btn .date,
	.data-list .announcement .date {
		font-size: .78rem;
	}
	.data-list a.btn .item-body,
	.data-list .announcement .item-body {
		font-size: .81rem;
	}
}
.data-list a.btn::before {
	font-family: "bootstrap-icons";
	font-size: .98rem;
	line-height: 1;
	content: "\F133";
	transition: all ease-in-out 0.3s;
	position: absolute;
	top: 0;
	right: 0;
	top: calc(50% - 0.5rem);
	height: 100%;
	color: rgba(0,0,0,.25);
}
.data-list a:hover.btn::before {
	font-size: 1.18rem;
	top: calc(50% - 0.5rem);
	right: -0.5rem;
	color: rgba(0,0,0,.5);
}
.data-list a.external.btn::before {
	content: "\F133";
}
.data-list a:hover.external.btn::before {
	right: -0.5rem;
}

/*--------------------------------------------------------------
# Featured Topics Section
--------------------------------------------------------------*/
.featured-topics-slider .posts-slider {
  padding: 20px 0;
  overflow: hidden;
}

.featured-topics-slider .swiper-wrapper {
  height: auto !important;
}

.featured-topics-slider .post-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1/1;
  background-color: var(--surface-color);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
}

.featured-topics-slider .post-card .post-img {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.featured-topics-slider .post-card .post-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}

.featured-topics-slider .post-card .post-img .post-overlay {
  position: absolute;
  inset: 0;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
  background: linear-gradient(180deg, transparent 0%, transparent 20%, rgba(0, 0, 0, .75) 90%);
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform: translateY(0);
}

.featured-topics-slider .post-card .post-img .post-overlay .post-meta {
  display: flex;
  justify-content: center;
  gap: .75rem;
  margin-bottom: .5rem;
  font-size: .71rem;
  font-weight: 400;
  opacity: .9;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25), 0 1px 7px rgba(0, 0, 0, 0.25);
}

.featured-topics-slider .post-card .post-img .post-overlay .post-meta span {
  color: var(--contrast-color);
  display: flex;
  align-items: center;
  gap: 6px;
}

.featured-topics-slider .post-card .post-img .post-overlay .post-meta span i {
  font-size: .81rem;
}

.featured-topics-slider .post-card .post-img .post-overlay .post-title {
  font-size: .98rem;
  font-weight: 300;
  /*text-align: center;*/
  line-height: 1.5;
  margin-bottom: .75rem;
  color: var(--contrast-color);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25), 0 1px 7px rgba(0, 0, 0, 0.25);
}

.featured-topics-slider .post-card .post-img .post-overlay .read-more {
  font-size: .71rem;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--contrast-color);
  padding: 0.5rem 1.25rem;
  background-color: color-mix(in srgb, var(--accent-color), transparent 15%);
  border-radius: 50px;
  transition: all 0.3s ease;
  margin: 0 auto;
}

.featured-topics-slider .post-card .post-img .post-overlay .read-more i {
  font-size: .81rem;
  transition: transform 0.3s ease;
}

.featured-topics-slider .post-card .post-img .post-overlay .read-more:hover {
  background-color: var(--accent-color);
  gap: 12px;
}

.featured-topics-slider .post-card .post-img .post-overlay .read-more:hover i {
  transform: translateX(3px);
}

.featured-topics-slider .post-card:hover .post-img img {
  transform: scale(1.1);
}

.featured-topics-slider .swiper-button-next,
.featured-topics-slider .swiper-button-prev {
  width: 36px;
  height: 36px;
  color: var(--contrast-color);
  background-color: color-mix(in srgb, var(--accent-color), transparent 15%);
  border-radius: 50%;
  transition: all 0.3s ease;
}

.featured-topics-slider .swiper-button-next::after,
.featured-topics-slider .swiper-button-prev::after {
  font-size: .71rem;
}

.featured-topics-slider .swiper-button-next:hover,
.featured-topics-slider .swiper-button-prev:hover {
  background-color: var(--accent-color);
}

@media (max-width: 991px) {
  .featured-topics-slider .post-card .post-img .post-overlay {
    padding: 20px 16px;
  }

  .featured-topics-slider .post-card .post-img .post-overlay .post-title {
    font-size: .91rem;
  }
}

@media (max-width: 767px) {
  .featured-topics-slider .post-card .post-img .post-overlay {
    padding: 25px 20px;
  }

  .featured-topics-slider .post-card .post-img .post-overlay .post-meta {
    gap: .75rem;
    font-size: .68rem;
  }

  .featured-topics-slider .post-card .post-img .post-overlay .post-title {
    font-size: .88rem;
  }

  .featured-topics-slider .post-card .post-img .post-overlay .read-more {
    font-size: .68rem;
    padding: 10px 20px;
  }

  .featured-topics-slider .swiper-button-next,
  .featured-topics-slider .swiper-button-prev {
    width: 32px;
    height: 32px;
  }

  .featured-topics-slider .swiper-button-next::after,
  .featured-topics-slider .swiper-button-prev::after {
    font-size: .61rem;
  }
}

/*--------------------------------------------------------------
# Stay Packages List Section
--------------------------------------------------------------*/
.stay-packages-list .stay-packages-card {
  height: 100%;
  position: relative;
  padding: 0;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: row;
  align-items: start;
	overflow: visible;
  background-color: var(--surface-color);
  transition: all 0.3s;
}
.stay-packages-list .stay-packages-card .stay-packages-image {
  width: 100%;
  height: auto;
	border-radius: 1rem 0 1rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
	overflow: hidden;
}
.stay-packages-list .stay-packages-card .stay-packages-image img {
  filter: brightness(.88);
  object-fit: cover;
	object-position: center;
  transition: 0.3s;
}
.stay-packages-list .stay-packages-card:hover {
  transform: translateY(-.5rem);
}
.stay-packages-list .stay-packages-card:hover .stay-packages-image img {
  filter: brightness(1);
  transform: /*rotate(4deg) */scale(1.06);
}
.stay-packages-list .stay-packages-card .stay-packages-body {
  padding: 1.25rem 1rem 0 1.5rem;
}
.stay-packages-list .stay-packages-card .stay-packages-body h3 {
  color: var(--heading-color);
  font-size: .98rem;
  margin: 0 0 .5rem;
}
.stay-packages-list .stay-packages-card .stay-packages-body p {
  color: var(--default-color);
  font-size: .78rem;
  font-weight: 400;
  margin: 0 0 .5rem;
  opacity: .6;
}
.stay-packages-list .stay-packages-card .stay-packages-body a.btn {
  display: block;
  padding: .25rem .75rem;
  margin-bottom: 1rem;
  font-size: .68rem;
  margin-left: auto;
}