@layer reset, base, components, utilities;
@layer base {
  :root {
    --spacing-flexible-sm: clamp(1.5rem, -1rem + 6.25vw, 3rem);
    --spacing-flexible-md: clamp(3rem, 1.333rem + 4.167vw, 4rem);
    --spacing-flexible-lg: clamp(6rem, -0.667rem + 16.667vw, 10rem);
  }
}
.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: 0;
}

.glightbox-container.inactive {
  display: none;
}

.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}

.glightbox-container .gslider {
  transition: transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: flex !important;
  justify-content: center;
  align-items: center;
  transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}

.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}

.glightbox-container .gslide-inner-content {
  width: 100%;
}

.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}

.glightbox-container .ginner-container.desc-bottom, .glightbox-container .ginner-container.desc-top {
  flex-direction: column;
}

.glightbox-container .ginner-container.desc-left, .glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}

.gslide iframe, .gslide video {
  outline: 0 !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  touch-action: auto;
}

.gslide:not(.current) {
  pointer-events: none;
}

.gslide-image {
  align-items: center;
}

.gslide-image img {
  max-height: 100vh;
  display: block;
  padding: 0;
  float: none;
  outline: 0;
  border: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  touch-action: none;
  margin: auto;
  min-width: 200px;
}

.desc-bottom .gslide-image img, .desc-top .gslide-image img {
  width: auto;
}

.desc-left .gslide-image img, .desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}

.gslide-image img.zoomable {
  position: relative;
}

.gslide-image img.dragging {
  cursor: grabbing !important;
  transition: none;
}

.gslide-video {
  position: relative;
  max-width: 100vh;
  width: 100% !important;
}

.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
  display: none;
}

.gslide-video .gvideo-wrapper {
  width: 100%;
  margin: auto;
}

.gslide-video::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}

.gslide-video.playing::before {
  display: none;
}

.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
  height: 75vh;
}

.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}

.gslide-inline {
  background: #fff;
  text-align: left;
  max-height: calc(100vh - 40px);
  overflow: auto;
  max-width: 100%;
  margin: auto;
}

.gslide-inline .ginlined-content {
  padding: 20px;
  width: 100%;
}

.gslide-inline .dragging {
  cursor: grabbing !important;
  transition: none;
}

.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}

.gslide-external {
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 75vh;
  height: 100%;
}

.gslide-media {
  display: flex;
  width: auto;
}

.zoomed .gslide-media {
  box-shadow: none !important;
}

.desc-bottom .gslide-media, .desc-top .gslide-media {
  margin: 0 auto;
  flex-direction: column;
}

.gslide-description {
  position: relative;
  flex: 1 0 100%;
}

.gslide-description.description-left, .gslide-description.description-right {
  max-width: 100%;
}

.gslide-description.description-bottom, .gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}

.gslide-description p {
  margin-bottom: 12px;
}

.gslide-description p:last-child {
  margin-bottom: 0;
}

.zoomed .gslide-description {
  display: none;
}

.glightbox-button-hidden {
  display: none;
}

.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 19px 11px;
  max-width: 100vw !important;
  order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 100%);
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: 700;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}

.gdesc-open .gslide-media {
  transition: opacity 0.5s ease;
  opacity: 0.4;
}

.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  transition: opacity 0.5s ease;
  opacity: 1;
}

.greset {
  transition: all 0.3s ease;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}

.gloader {
  height: 25px;
  width: 25px;
  animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}

.goverlay {
  width: 100%;
  height: calc(100vh + 1px);
  position: fixed;
  top: -1px;
  left: 0;
  background: #000;
  will-change: opacity;
}

.glightbox-mobile .goverlay {
  background: #000;
}

.gclose, .gnext, .gprev {
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.gclose svg, .gnext svg, .gprev svg {
  display: block;
  width: 25px;
  height: auto;
  margin: 0;
  padding: 0;
}

.gclose.disabled, .gnext.disabled, .gprev.disabled {
  opacity: 0.1;
}

.gclose .garrow, .gnext .garrow, .gprev .garrow {
  stroke: #fff;
}

.gbtn.focused {
  outline: 2px solid #0f3d81;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gclose, .glightbox-closing .gnext, .glightbox-closing .gprev {
  opacity: 0 !important;
}

.glightbox-clean .gslide-description {
  background: #fff;
}

.glightbox-clean .gdesc-inner {
  padding: 22px 20px;
}

.glightbox-clean .gslide-title {
  font-size: 1em;
  font-weight: 400;
  font-family: arial;
  color: #000;
  margin-bottom: 19px;
  line-height: 1.4em;
}

.glightbox-clean .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial;
  line-height: 1.4em;
}

.glightbox-clean .gslide-video {
  background: #000;
}

.glightbox-clean .gclose, .glightbox-clean .gnext, .glightbox-clean .gprev {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 4px;
}

.glightbox-clean .gclose path, .glightbox-clean .gnext path, .glightbox-clean .gprev path {
  fill: #fff;
}

.glightbox-clean .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gclose {
  width: 35px;
  height: 35px;
  top: 15px;
  right: 10px;
  position: absolute;
}

.glightbox-clean .gclose svg {
  width: 18px;
  height: auto;
}

.glightbox-clean .gclose:hover {
  opacity: 1;
}

.gfadeIn {
  animation: gfadeIn 0.5s ease;
}

.gfadeOut {
  animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
  animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
  animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
  animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
  animation: gslideInRight 0.3s ease;
}

.gzoomIn {
  animation: gzoomIn 0.5s ease;
}

.gzoomOut {
  animation: gzoomOut 0.5s ease;
}
@keyframes lightboxLoader {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes gslideInLeft {
  from {
    opacity: 0;
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    transform: translate3d(60%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@keyframes gzoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@media (min-width: 769px) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    flex-direction: row;
  }
  .glightbox-container .ginner-container.desc-top .gslide-description {
    order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image, .glightbox-container .ginner-container.desc-top .gslide-image img {
    order: 1;
  }
  .glightbox-container .ginner-container.desc-left .gslide-description {
    order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    order: 1;
  }
  .gslide-image img {
    max-height: 97vh;
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: grab;
  }
  .gslide-inline {
    max-height: 95vh;
  }
  .gslide-external {
    max-height: 100vh;
  }
  .gslide-description.description-left, .gslide-description.description-right {
    max-width: 275px;
  }
  .glightbox-open {
    height: auto;
  }
  .goverlay {
    background: rgba(0, 0, 0, 0.92);
  }
  .glightbox-clean .gslide-media {
    box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.65);
  }
  .glightbox-clean .description-left .gdesc-inner, .glightbox-clean .description-right .gdesc-inner {
    position: absolute;
    height: 100%;
    overflow-y: auto;
  }
  .glightbox-clean .gclose, .glightbox-clean .gnext, .glightbox-clean .gprev {
    background-color: rgba(0, 0, 0, 0.32);
  }
  .glightbox-clean .gclose:hover, .glightbox-clean .gnext:hover, .glightbox-clean .gprev:hover {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .glightbox-clean .gprev {
    top: 45%;
  }
  .glightbox-clean .gnext {
    top: 45%;
  }
}
@media (min-width: 992px) {
  .glightbox-clean .gclose {
    opacity: 0.7;
    right: 20px;
  }
}
@media screen and (max-height: 420px) {
  .goverlay {
    background: #000;
  }
}
/**
 * Swiper 12.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 21, 2025
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      -webkit-margin-start: var(--swiper-centered-offset-before);
              margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      -webkit-margin-before: var(--swiper-centered-offset-before);
              margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}

.swiper-button-lock {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}

.swiper-horizontal {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    margin-left: 0;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next,
  & ~ .swiper-button-next,
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    .swiper-navigation-icon {
      transform: rotate(0deg);
    }
  }
}

.swiper-vertical {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
  }
  .swiper-button-prev,
  ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next,
  ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}

.swiper-pagination-lock {
  display: none;
}

.swiper-fade {
  &.swiper-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    pointer-events: auto;
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

@layer components {
  .l-container {
    --site-space: 20px;
    --contents-max-w-m: 1066px;
    --contents-max-w-l: 1440px;
    --full: minmax(var(--site-space), 1fr);
    --content: min(var(--contents-max-w-m), 100% - var(--site-space) * 2);
    --popout: minmax(0, calc((var(--contents-max-w-l) - var(--contents-max-w-m)) / 2));
    display: grid;
    grid-template-columns: [full-start] var(--full) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--full) [full-end];
  }
  .l-container > * {
    grid-column: content;
  }
  .l-container > *.is-full {
    grid-column: full;
  }
  .l-container > *.is-popout {
    grid-column: popout;
  }
  .l-inner {
    width: min(100%, var(--contents-max-w-m));
    margin-inline: auto;
  }
}
@layer components {
  .l-gird-column {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  @media only screen and (min-width: 768px) {
    .l-gird-column {
      grid-template-columns: repeat(6, 1fr);
      gap: 20px;
    }
  }
  @media only screen and (min-width: 960px) {
    .l-gird-column {
      grid-template-columns: repeat(12, 1fr);
      gap: 20px;
    }
  }
}
.btn-totop {
  border-radius: 0.5rem;
}
.btn-totop__wrap {
  display: flex;
  justify-content: center;
  padding: 2rem 0;
}
.btn-totop__icon {
  display: block;
}
.btn-totop__text {
  display: block;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}

.scroll-to-top {
  display: none !important;
}

.wp-block-button.is-style-round-arrow .wp-block-button__link.wp-element-button, .form-container .form-control .wpcf7-submit, .btn-primary {
  display: inline-flex;
  gap: 0 0.5em;
  align-items: center;
  padding: 0.75em 1.5em;
  font-size: var(--btn-primary-font-size, 1.25rem);
  font-weight: 500;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
  background-color: var(--primarybtnbg);
  border-radius: 3em;
}
.wp-block-button.is-style-round-arrow .wp-block-button__link.wp-element-button::after, .form-container .form-control .wpcf7-submit::after, .btn-primary::after {
  display: block;
  width: 2em;
  height: 1em;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2263%22%20height%3D%228%22%20viewBox%3D%220%200%2063%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M62.3536%204.03544C62.5488%203.84018%2062.5488%203.5236%2062.3536%203.32834L59.1716%200.146356C58.9763%20-0.0489062%2058.6597%20-0.0489062%2058.4645%200.146356C58.2692%200.341618%2058.2692%200.658201%2058.4645%200.853463L61.2929%203.68189L58.4645%206.51032C58.2692%206.70558%2058.2692%207.02216%2058.4645%207.21742C58.6597%207.41269%2058.9763%207.41269%2059.1716%207.21742L62.3536%204.03544ZM0%203.68188L-4.37114e-08%204.18188L62%204.18189L62%203.68189L62%203.18189L4.37114e-08%203.18188L0%203.68188Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.wp-block-button.is-style-round-arrow .wp-block-button__link.wp-element-button:hover, .form-container .form-control .wpcf7-submit:hover, .btn-primary:hover, .wp-block-button.is-style-round-arrow .wp-block-button__link.wp-element-button:visited, .form-container .form-control .wpcf7-submit:visited, .btn-primary:visited {
  color: #fff;
}
.wp-block-button.is-style-round-arrow .large.wp-block-button__link.wp-element-button, .form-container .form-control .large.wpcf7-submit, .large.btn-primary, .wp-block-button.is-style-round-arrow .reserve.wp-block-button__link.wp-element-button, .form-container .form-control .reserve.wpcf7-submit, .reserve.btn-primary {
  --btn-primary-font-size: clamp(1.375rem, 0.542rem + 2.083vw, 1.875rem);
}

.wp-block-button.is-style-underline-arrow .wp-block-button__link.wp-element-button, .btn-underline {
  display: inline-flex;
  gap: 0 0.5em;
  align-items: center;
  padding: 0.5em 0;
  font-size: var(--btn-underline-font-size, 1.125rem);
  font-weight: 500;
  line-height: 1;
  color: var(--nv-text-color, #272626);
  white-space: nowrap;
  background: linear-gradient(to bottom, #000 0%, #000 100%);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 100% 1px;
  border-radius: 0;
}
.wp-block-button.is-style-underline-arrow .wp-block-button__link.wp-element-button::after, .btn-underline::after {
  display: block;
  width: 1.125em;
  height: 1em;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2229%22%20height%3D%228%22%20viewBox%3D%220%200%2029%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M28.1122%204.03544C28.3074%203.84018%2028.3074%203.5236%2028.1122%203.32834L24.9302%200.146356C24.7349%20-0.0489065%2024.4184%20-0.0489066%2024.2231%200.146356C24.0278%200.341618%2024.0278%200.6582%2024.2231%200.853462L27.0515%203.68189L24.2231%206.51032C24.0278%206.70558%2024.0278%207.02216%2024.2231%207.21742C24.4184%207.41269%2024.7349%207.41269%2024.9302%207.21742L28.1122%204.03544ZM0%203.68188L-1.95705e-08%204.18188L27.7586%204.18189L27.7586%203.68189L27.7586%203.18189L1.95705e-08%203.18188L0%203.68188Z%22%20fill%3D%22%23343434%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.wp-block-button.is-style-underline-arrow .wp-block-button__link.wp-element-button:hover, .btn-underline:hover {
  animation: btn-underline-animation 0.5s ease-in-out both;
}

@keyframes btn-underline-animation {
  0% {
    background-position-x: right;
    background-size: 100% 1px;
  }
  50% {
    background-position-x: right;
    background-size: 0% 1px;
  }
  51% {
    background-position-x: left;
    background-size: 0% 1px;
  }
  100% {
    background-position-x: left;
    background-size: 100% 1px;
  }
}
.btn-square-outline {
  display: inline-flex;
  gap: 0 0.5em;
  align-items: center;
  justify-content: center;
  padding: 0.5em 1.5em;
  font-size: var(--btn-underline-font-size, 1.125rem);
  font-weight: 500;
  line-height: 1;
  color: var(--btn-square-outline-color, #000);
  white-space: nowrap;
  background: linear-gradient(to bottom, rgba(120, 120, 120, 0.3) 0%, rgba(120, 120, 120, 0.3) 100%);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 0% 100%;
  border: 1px solid var(--btn-square-outline-color, #000);
  transition: background-size 0.25s ease-in-out;
}
.btn-square-outline:hover {
  background-position: left center;
  background-size: 100% 100%;
}
.btn-square-outline::after {
  display: block;
  width: 2.6em;
  height: 1em;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2248%22%20height%3D%228%22%20viewBox%3D%220%200%2048%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M47.3536%204.03568C47.5488%203.84042%2047.5488%203.52384%2047.3536%203.32858L44.1716%200.146595C43.9763%20-0.0486672%2043.6597%20-0.0486672%2043.4645%200.146595C43.2692%200.341857%2043.2692%200.65844%2043.4645%200.853702L46.2929%203.68213L43.4645%206.51056C43.2692%206.70582%2043.2692%207.0224%2043.4645%207.21766C43.6597%207.41293%2043.9763%207.41293%2044.1716%207.21766L47.3536%204.03568ZM0%203.68213V4.18213H47V3.68213V3.18213H0V3.68213Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

@layer components {
  .btn-container {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1rem, -0.667rem + 4.167vw, 2rem);
    justify-content: var(--btncontainer-align, center);
  }
  .btn-container.has-left {
    --btncontainer-align: flex-start;
  }
  .btn-container.has-right {
    --btncontainer-align: flex-end;
  }
  .btn-container.has-center {
    --btncontainer-align: center;
  }
}
.block-cta {
  -webkit-margin-before: var(--spacing-flexible-lg);
          margin-block-start: var(--spacing-flexible-lg);
  text-align: center;
}
.block-cta strong {
  display: block;
  margin-bottom: 1em;
  font-size: clamp(1.5rem, -0.375rem + 4.688vw, 2.625rem);
  font-weight: 600;
}
.block-cta p {
  font-size: clamp(1.125rem, 0.5rem + 1.563vw, 1.5rem);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.wp-block-table.is-style-simple-underline table th, .table-simple-underline table th,
.wp-block-table.is-style-simple-underline table td,
.table-simple-underline table td {
  padding: 0.75em 1em;
  font-size: inherit;
  border-style: none;
  border-bottom: 1px solid #343434;
}
.wp-block-table.is-style-simple-underline table tr:last-child th, .table-simple-underline table tr:last-child th,
.wp-block-table.is-style-simple-underline table tr:last-child td,
.table-simple-underline table tr:last-child td {
  border-bottom: none;
}
.wp-block-table.is-style-simple-underline table tr > *:first-child, .table-simple-underline table tr > *:first-child {
  white-space: nowrap;
}

.archive-container {
  -webkit-margin-after: var(--spacing-flexible-lg);
          margin-block-end: var(--spacing-flexible-lg);
}

.archive-header {
  --height: 250px;
  --padding: 40px 15px;
  --justify: flex-start;
  --textalign: left;
  --valign: center;
}
.archive-header .nv-post-cover {
  margin-bottom: 60px;
}
.archive-header .nv-post-cover .nv-title-meta-wrap .title.entry-title {
  --h1fontsize: 2.625rem;
  --h1lineheight: 1.1em;
  --h1letterspacing: 0px;
}
.archive-header .nv-post-cover .nv-title-meta-wrap .archive-description {
  font-size: clamp(1.125rem, 0.5rem + 1.563vw, 1.5rem);
  color: var(--nv-text-dark-bg);
}
.archive-header .nv-post-cover .nv-title-meta-wrap .archive-description > *:first-child {
  margin-top: 0;
}
.archive-header .nv-post-cover .nv-title-meta-wrap .archive-description > *:last-child {
  margin-bottom: 0;
}
.archive-header .nv-overlay {
  --opacity: 20;
  --blendmode: normal;
}

@media only screen and (min-width: 768px) {
  .a {
    --height: 364px;
    --padding: 60px 40px;
    --justify: center;
    --textalign: center;
    --valign: center;
  }
}
@media (min-width: 576px) {
  .archive-header .nv-post-cover {
    --height: 320px;
    --padding: 60px 30px;
    --justify: flex-start;
    --textalign: left;
    --valign: center;
  }
}
@media (min-width: 960px) {
  .archive-header .nv-post-cover {
    --height: 400px;
    --padding: 60px 40px;
    --justify: center;
    --textalign: center;
    --valign: center;
  }
}
.archive-contents-intro {
  -webkit-margin-after: var(--spacing-flexible-md);
          margin-block-end: var(--spacing-flexible-md);
  text-align: center;
}
.archive-contents-intro strong {
  display: block;
  margin-bottom: 1em;
  font-size: clamp(1.5rem, -0.375rem + 4.688vw, 2.625rem);
  font-weight: 600;
}
.archive-contents-intro p {
  font-size: clamp(1.125rem, 0.5rem + 1.563vw, 1.5rem);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.facility-intro-list {
  width: 100%;
  max-width: 848px;
  margin-inline: auto;
}
.facility-intro-list .facility-intro-card:not(:last-child) {
  -webkit-margin-after: var(--spacing-flexible-sm);
          margin-block-end: var(--spacing-flexible-sm);
}

.facility-intro-card {
  --facility-card-layout: "facility-card-contents" auto "facility-card-gallery" auto / 100%;
  --facility-card-layout-gap: 1.5rem 0;
  display: grid;
  grid-template: var(--facility-card-layout);
  gap: var(--facility-card-layout-gap);
  padding: clamp(1rem, -0.667rem + 4.167vw, 2rem);
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.facility-intro-card__contents {
  grid-area: facility-card-contents;
  padding: 0;
  margin: 0;
}
.facility-intro-card__title {
  padding: 0;
  margin: 0 0 1em;
  font-size: 1.25rem;
  font-weight: 600;
}
.facility-intro-card__desc {
  padding: 0;
  margin: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.facility-intro-card__gallery {
  grid-area: facility-card-gallery;
  align-self: start;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .facility-intro-card {
    --facility-card-layout: "facility-card-gallery facility-card-contents" auto / 45% 1fr;
    --facility-card-layout-gap: 1rem max(5%, 1.5rem);
  }
  .facility-intro-card:nth-child(2n) {
    --facility-card-layout: "facility-card-contents facility-card-gallery" auto / 1fr 45%;
  }
  .facility-intro-card__contents {
    align-self: center;
    padding-bottom: 32px;
  }
}
.room-intro-container {
  width: 100%;
  max-width: 848px;
  margin-inline: auto;
}

.room-intro-card {
  padding: clamp(1rem, -0.667rem + 4.167vw, 2rem);
  background-color: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.room-intro-card__title {
  margin: 1em 0;
  font-weight: 600;
  text-align: center;
}

.room-intro-card + .room-intro-card {
  -webkit-margin-before: var(--spacing-flexible-md);
          margin-block-start: var(--spacing-flexible-md);
}

.room-intro-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.room-intro-gallery__item {
  --thum-zoom-scale: scale(1);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 362/248;
  overflow: hidden;
  border-radius: 10px;
}
.room-intro-gallery__item:hover {
  --thum-zoom-scale: scale(1.2);
}
.room-intro-gallery__item > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.25s ease-in-out;
  transform: var(--thum-zoom-scale);
  transform-origin: center;
}

.activity-spot-list {
  width: 100%;
  max-width: 848px;
  margin-inline: auto;
}
.activity-spot-list .activity-spot-card:not(:last-child) {
  -webkit-margin-after: var(--spacing-flexible-sm);
          margin-block-end: var(--spacing-flexible-sm);
}

.activity-spot-card {
  --spot-card-layout: "spot-card-photo" auto "spot-card-head" auto "spot-card-datas" auto "spot-card-remarks" auto / 1fr;
  --spot-card-layout-gap: 1rem 0;
  display: grid;
  grid-template: var(--spot-card-layout);
  gap: var(--spot-card-layout-gap);
  padding: clamp(1rem, -0.667rem + 4.167vw, 2rem);
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.activity-spot-card__head {
  grid-area: spot-card-head;
  border-bottom: 1px solid #333;
}
.activity-spot-card__title {
  padding: 0;
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
}
.activity-spot-card__desc {
  padding: 0 0 1rem 0;
  margin: 0;
}
.activity-spot-card__photo {
  display: flex;
  grid-area: spot-card-photo;
  align-items: center;
  align-self: start;
  justify-content: center;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px;
}
.activity-spot-card__photo > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.activity-spot-card__datas {
  display: grid;
  grid-area: spot-card-datas;
  grid-template-columns: 1fr;
  gap: 1rem 0;
  padding: 0;
  margin: 0;
}
.activity-spot-card__datas > div > dt {
  display: block;
  padding: 0;
  margin: 0;
}
.activity-spot-card__datas > div > dd {
  display: block;
  padding: 0;
  margin: 0;
}
.activity-spot-card__remarks {
  grid-area: spot-card-remarks;
  padding: 0;
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .activity-spot-card {
    --spot-card-layout: "spot-card-photo spot-card-head" auto "spot-card-photo spot-card-datas" auto
      "spot-card-remarks spot-card-remarks" / 35% 1fr;
    --spot-card-layout-gap: 1rem max(5%, 1.5rem);
  }
  .activity-spot-card:nth-child(2n) {
    --spot-card-layout: "spot-card-head spot-card-photo" auto "spot-card-datas spot-card-photo" auto
      "spot-card-remarks spot-card-remarks" / 1fr 35%;
  }
  .activity-spot-card__desc {
    padding: 0 0 3em 0;
    margin: 0;
  }
  .activity-spot-card__photo {
    aspect-ratio: 262/312;
  }
  .activity-spot-card__datas {
    display: grid;
    grid-area: spot-card-datas;
    grid-template-columns: auto 1fr;
    gap: 1rem 2rem;
    align-self: start;
  }
  .activity-spot-card__datas > div {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
  }
  .activity-spot-card__datas > div > dt {
    display: block;
    padding: 0;
    margin: 0;
  }
  .activity-spot-card__datas > div > dd {
    display: block;
    padding: 0;
    margin: 0;
  }
  .activity-spot-card__datas > div > dd a[target=_blank]::after {
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    margin-left: 0.2em;
    vertical-align: center;
    content: "";
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%23343434%22%3E%3Cpath%20d%3D%22M200-120q-33%200-56.5-23.5T120-200v-560q0-33%2023.5-56.5T200-840h280v80H200v560h560v-280h80v280q0%2033-23.5%2056.5T760-120H200Zm188-212-56-56%20372-372H560v-80h280v280h-80v-144L388-332Z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
  }
}
.faq-list .faq-item:not(:last-child) {
  -webkit-margin-after: 2rem;
          margin-block-end: 2rem;
}

.faq-item {
  --details-row: 0fr;
  display: block;
  background-color: #fff;
}
.faq-item__q {
  display: block;
  padding: 2rem;
  font-size: clamp(1rem, 0.792rem + 0.521vw, 1.125rem);
  cursor: pointer;
}
.faq-item__q::-webkit-details-marker {
  display: none;
}
.faq-item__q:hover {
  background-color: #e2e2e2;
}
.faq-item__q-inner {
  display: grid;
  grid-template-columns: 1fr 1em;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.faq-item__a {
  display: grid;
  grid-template-rows: var(--details-row);
}
.faq-item__a-inner {
  overflow: hidden;
}
.faq-item__a-inner > p {
  margin: 1rem 2rem 2rem;
}
.faq-item .faq-toggle-icon {
  display: block;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%229%22%20viewBox%3D%220%200%2016%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0.34375%207.68396L7.74635%200.68396L15.3437%207.68396%22%20stroke%3D%22%233C3C3C%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.25s ease-in-out;
}

.faq-item[open] {
  --details-row: 1fr;
}
.faq-item[open] .faq-item__q .summary-icon {
  transform: rotate(45deg);
}
.faq-item[open] .faq-toggle-icon {
  transform: rotate(180deg);
}

.gallery-slider {
  --swiper-navigation-color: #fff;
  --swiper-pagination-color: #3c3c3c;
  --swiper-pagination-bullet-opacity: 0.8;
  --swiper-navigation-size: 32px;
  position: relative;
  width: 100%;
  padding-bottom: 32px;
}
.gallery-slider__slider {
  border-radius: 10px;
}
.gallery-slider__item {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 340/248;
  overflow: hidden;
}
.gallery-slider__item > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.google-map {
  aspect-ratio: 1/1;
}
.google-map > iframe {
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  .google-map {
    aspect-ratio: 848/453;
  }
}
.history-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
  padding: 0;
  margin: 0;
}
.history-list > div {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  align-items: start;
}
.history-list > div > dt {
  padding: 0.1em 0.5em;
  margin: 0;
  color: #fff;
  background-color: #8c8c8c;
  border-radius: 4px;
}
.history-list > div > dd {
  padding: 0;
  margin: 0;
}

.staff-data-item {
  display: flex;
  gap: 0 0.5rem;
  align-items: center;
}
.staff-data-item::before {
  display: block;
  width: 30px;
  height: 30px;
  aspect-ratio: 1/1;
  content: "";
  background-color: #343434;
  border-radius: 50%;
}
.staff-data-item__inner .position {
  display: block;
  font-size: 0.75rem;
}
.staff-data-item__inner .name {
  display: block;
  font-size: 0.875rem;
}

.form-container {
  width: 100%;
}
.form-container .wpcf7 {
  width: 100%;
}
.form-container .wpcf7 .wpcf7-form {
  width: 100%;
}
.form-container .wpcf7 .wpcf7-not-valid-tip {
  font-size: 14px;
  color: #b00;
}
.form-container .wpcf7 form .wpcf7-response-output {
  padding: 1em;
  border-radius: 4px;
}
.form-container .wpcf7 form.submitting .form-control .wpcf7-submit {
  pointer-events: none;
  opacity: 0.5;
}
.form-container .wpcf7 form.invalid .wpcf7-response-output {
  border-color: #b00;
}
.form-container .wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: #b00;
}
.form-container .form-item {
  margin-bottom: 1.5rem;
  --input-line-color: #b6b6b6;
}
.form-container .form-item__label .required {
  margin-left: 0.25em;
  font-size: 0.75em;
  line-height: 1;
  color: #b00;
}
.form-container .form-item__body input[type=text],
.form-container .form-item__body input[type=email],
.form-container .form-item__body input[type=tel],
.form-container .form-item__body textarea {
  width: 100%;
  padding: 0.5em;
  margin: 0;
  font-size: 16px;
  border: 1px solid var(--input-line-color);
  border-radius: 4px;
  outline: none;
}
.form-container .form-item:has(.wpcf7-not-valid-tip) {
  --input-line-color: #b00;
}
.form-container .form-control {
  position: relative;
  display: flex;
  justify-content: center;
}
.form-container .form-control .wpcf7-submit {
  --btn-primary-font-size: clamp(1.375rem, 0.542rem + 2.083vw, 1.875rem);
}
.form-container .form-control .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

@media only screen and (min-width: 768px) {
  .form-container .form-item {
    display: grid;
    grid-template-columns: 12rem 1fr;
    gap: 1rem;
  }
}
.header-contact .btn-primary {
  --btn-primary-font-size: 1rem;
  color: #fff !important;
}

.sect-front {
  padding-block: clamp(3.125rem, -2.083rem + 13.021vw, 6.25rem);
}
.sect-front.has-bg {
  background-color: #fff;
}
.sect-front__title {
  margin-bottom: var(--spacing-flexible-sm);
  font-size: clamp(1.75rem, 0.292rem + 3.646vw, 2.625rem);
  text-align: center;
}
.sect-front__desc {
  margin-bottom: var(--spacing-flexible-sm);
  font-size: clamp(1rem, 0.792rem + 0.521vw, 1.125rem);
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.sect-front .btn-container {
  padding: 1rem 0;
}
.sect-front .btn-container:has(+ .btn-container) {
  margin-bottom: var(--spacing-flexible-sm);
}
.sect-front .btn-underline {
  --btn-underline-font-size: clamp(1.125rem, 0.5rem + 1.563vw, 1.5rem);
}

.sect-front-hero {
  container-type: inline-size;
  container-name: frontHero;
  position: relative;
  width: 100%;
  aspect-ratio: 3/4;
  background-image: url(../images/front/img_hero.webp);
  background-repeat: no-repeat;
  background-position: 10% center;
  background-size: cover;
}
.sect-front-hero__catch {
  position: absolute;
  top: auto;
  bottom: 20cqw;
  left: 5cqw;
  width: 90cqw;
}
.sect-front-hero__btn {
  position: absolute;
  bottom: 5.5cqw;
  left: 5cqw;
}
.sect-front-hero__btn .btn-primary {
  --btn-primary-font-size: max(4.5cqw, 1rem);
}

@media only screen and (min-width: 768px) {
  .sect-front-hero {
    aspect-ratio: 1440/854;
    background-position: center;
  }
  .sect-front-hero__catch {
    position: absolute;
    bottom: 2.8472222222cqw;
    left: 5.7638888889cqw;
    width: 63.3333333333cqw;
  }
  .sect-front-hero__btn {
    position: absolute;
    right: 5.7638888889cqw;
    bottom: 5.0694444444cqw;
    left: auto;
  }
  .sect-front-hero__btn .btn-primary {
    --btn-primary-font-size: min(2cqw, 1.875rem);
  }
}
.front-news-container {
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
}

.front-news-title {
  margin-bottom: 0;
}

.front-news-item {
  display: grid;
}
.front-news-item:not(:last-child) {
  margin-bottom: 1rem;
}
.front-news-item__meta {
  padding: 0;
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
.front-news-item__title {
  padding: 0;
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
.front-news-item__title > a {
  background: linear-gradient(to bottom, #000 0%, #000 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
}
.front-news-item__title > a:hover {
  animation: btn-underline-animation 0.5s ease-in-out both;
}

@media only screen and (min-width: 768px) {
  .front-news-container {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
  }
  .front-news-container .front-news-title {
    padding-right: 3rem;
  }
  .front-news-container .front-news-list {
    min-height: 3rem;
    padding-left: 3rem;
    border-left: 1px solid #000;
  }
  .front-news-item {
    grid-template-columns: 8em 1fr;
  }
}
.front-introduction-container {
  margin-block: var(--spacing-flexible-sm) var(--spacing-flexible-md);
}

.front-introduction-card:not(:last-child) {
  -webkit-margin-after: 3rem;
          margin-block-end: 3rem;
}
.front-introduction-card__title {
  padding: 0;
  margin: 0 0 1rem;
  font-size: clamp(1.375rem, 0.958rem + 1.042vw, 1.625rem);
  font-weight: 600;
}
.front-introduction-card__title-en {
  display: block;
  padding: 0;
  margin: 0;
  font-size: 1.612em;
  line-height: 1.25;
}
.front-introduction-card__title-jp {
  display: block;
  padding: 0;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
}
.front-introduction-card__desc {
  padding: 0;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .front-introduction-card__body {
    -webkit-margin-after: 1rem;
            margin-block-end: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .front-introduction-card {
    display: flex;
    gap: 20px;
    align-items: center;
  }
  .front-introduction-card__photo {
    width: 50%;
  }
  .front-introduction-card__body {
    width: 50%;
    padding-inline: 0 2rem;
  }
  .front-introduction-card:nth-child(2n+1) .front-introduction-card__photo {
    order: 1;
  }
  .front-introduction-card:nth-child(2n+1) .front-introduction-card__body {
    order: 2;
    padding-inline: 2rem 0;
  }
}
.front-facility-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0.75rem 0;
  -webkit-margin-after: var(--spacing-flexible-sm);
          margin-block-end: var(--spacing-flexible-sm);
}
.front-facility-item__photo {
  width: 100%;
  padding: 0;
  margin: 0;
  background-color: #eee;
}
.front-facility-item__photo-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 342/220;
  overflow: hidden;
}
.front-facility-item__photo-inner picture {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.front-facility-item__photo-inner img {
  width: 100%;
  max-width: initial;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.front-facility-item__title {
  padding: 0;
  margin: 0;
  font-size: clamp(1.25rem, 0.625rem + 1.563vw, 1.625rem);
  font-weight: 400;
}
.front-facility-item__desc {
  padding: 0;
  margin: 0;
  font-size: clamp(0.875rem, 0.667rem + 0.521vw, 1rem);
}

.l-gird-column .front-facility-item {
  grid-column: span 3;
}

@media only screen and (min-width: 960px) {
  .l-gird-column .front-facility-item {
    grid-column: span 4;
  }
}
.front-activity-card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0.75rem 0;
  -webkit-margin-after: var(--spacing-flexible-sm);
          margin-block-end: var(--spacing-flexible-sm);
}
.front-activity-card__photo {
  width: 100%;
  padding: 0;
  margin: 0;
  background-color: #eee;
}
.front-activity-card__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.front-activity-card__photo-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 254/220;
  overflow: hidden;
}
.front-activity-card__title {
  align-self: center;
  padding: 0;
  margin: 0;
  font-size: clamp(1.25rem, 0.625rem + 1.563vw, 1.625rem);
  font-weight: 400;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.front-activity-card__desc {
  padding: 0;
  margin: 0;
  font-size: clamp(0.875rem, 0.667rem + 0.521vw, 1rem);
}

.l-gird-column .front-activity-card {
  grid-column: span 3;
}

@media only screen and (min-width: 960px) {
  .l-gird-column .front-activity-card {
    grid-column: span 3;
  }
}
.front-access-contents {
  justify-self: center;
  width: 100%;
  max-width: 848px;
  -webkit-margin-after: var(--spacing-flexible-sm);
          margin-block-end: var(--spacing-flexible-sm);
  margin-inline: auto;
}

.front-access-guide {
  -webkit-margin-after: var(--spacing-flexible-sm);
          margin-block-end: var(--spacing-flexible-sm);
}
.front-access-guide__address {
  font-style: normal;
}
.front-access-guide__address strong {
  display: block;
  font-size: clamp(1.125rem, 0.917rem + 0.521vw, 1.25rem);
  font-weight: 600;
}
.front-access-guide__address span {
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .front-access-guide {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .front-access-guide__address {
    padding: 1rem 1rem 1rem 0;
    padding-right: 1rem;
  }
  .front-access-guide__route {
    padding: 1rem 0 1rem 1rem;
    border-left: 1px solid #343434;
  }
}
.footer-information__logo {
  max-width: 85px;
  margin: 0 auto 1rem 0;
}
.footer-information__data {
  margin: 0 0 1rem 0;
  font-style: normal;
}
.footer-information__data .name {
  display: block;
  font-size: clamp(1.125rem, 0.917rem + 0.521vw, 1.25rem);
}
.footer-information__data .address {
  display: block;
  font-size: clamp(0.875rem, 0.667rem + 0.521vw, 1rem);
}
.footer-information__data .address > span {
  display: inline-block;
}
.footer-information__link .btn-square-outline {
  --btn-square-outline-color: #fff;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .footer-information {
    max-width: 320px;
    margin-left: auto;
  }
}
@media only screen and (min-width: 960px) {
  div[data-section=hfg_footer_layout_main] .hfg-slot.left {
    padding-right: 1rem;
  }
  div[data-section=hfg_footer_layout_main] .hfg-slot.c-left {
    padding-left: 1rem;
    border-left: 1px solid #fff;
  }
}
.nv-meta-list .meta.author {
  display: none;
}

.nv-post-navigation {
  font-size: 0.875rem;
}
.nv-post-navigation .previous::before,
.nv-post-navigation .next::after {
  display: flex;
  flex-shrink: 1;
  align-items: center;
  align-self: center;
  justify-content: center;
  height: 100%;
  padding: 0 3px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background-color: #6f6f6f;
  border-radius: 3px;
}
.nv-post-navigation .previous {
  display: flex;
  gap: 0 0.5em;
  justify-content: flex-start;
}
.nv-post-navigation .previous::before {
  content: "<";
}
.nv-post-navigation .next {
  display: flex;
  gap: 0 0.5em;
  justify-content: flex-end;
}
.nv-post-navigation .next::after {
  content: ">";
}
.nv-post-navigation .nav-direction {
  display: none;
}

@layer utilities {
  @media only screen and (max-width: 639px) {
    .sp-off {
      display: none;
    }
  }
  @media only screen and (max-width: 767px) {
    .tab-off {
      display: none;
    }
  }
  @media only screen and (min-width: 768px) {
    .pc-off {
      display: none;
    }
  }
}
.wp-block-group.is-style-round-shadow {
  padding: clamp(1rem, -0.667rem + 4.167vw, 2rem);
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.wp-block-button.is-style-round-arrow.reserve {
  --btn-primary-font-size: clamp(1.375rem, 0.542rem + 2.083vw, 1.875rem);
}
