@charset "UTF-8";


*, :before, :after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

* {
    min-height: 0;
    min-width: 0;
}


.nw {
  display: inline-block;
}
.img {
	position: relative;
}

img {
	object-fit: cover;
	position: relative;
	width: 100%;
	max-width: 100%;
	max-height:100%;
	transition: 0.6s all;
}


button{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  cursor: pointer;
}



:root {
	--font-family-Zen-Go:YakuHanJP,"Zen Kaku Gothic New", sans-serif;
	--font-family-Zen-Mi:YakuHanMP,"Zen Old Mincho", serif;
	--font-family-Jost:YakuHanJP,"Jost", sans-serif;	
	--font-family-Noto-Sans:YakuHanJP, "Noto Sans JP", sans-serif;
	--font-family-Noto-Serif:YakuHanMP ,"Noto Serif JP", serif;	

	--font-family-LINE-bold:YakuHanJP,"LINE Seed Bold, sans-serif";
	--font-family-LINE-regular:YakuHanJP,"LINE Seed Regular, sans-serif";
	--font-family-LINE-thin:YakuHanJP,"LINE Seed Thin, sans-serif";

	
	--font-size-tagline:clamp(1.6rem, 3.33vw, 2.6rem);
	--font-size-openday:clamp(4rem, 0.571rem + 7.14vw, 7rem);
	--font-size-logo:clamp(3.2rem, -0.457rem + 7.62vw, 6.4rem);
	--font-size-logo-en:clamp(5rem, -3rem + 16.67vw, 12rem);

	--font-size-headding:clamp(2.6rem, 1.457rem + 2.38vw, 3.6rem);
	--font-lineheight-headding:140%;

	--font-size-read:clamp(1.5rem, 0.257rem + 2.38vw, 2.4rem);
	--font-lineheight-read:220%;
	
	--font-size-base:clamp(1.4rem, 1.171rem + 0.48vw, 1.6rem);
	--font-lineheight-base:200%;


 	--font-size-xl: clamp(2.4rem, 1.943rem + 0.95vw, 2.8rem);
 	--font-size-lg: clamp(2rem, 1.114rem + 1.43vw, 2.4rem);
 	--font-size-md :clamp(1.6rem, 1.143rem + 0.95vw, 2rem);
 	--font-size-sm: clamp(1.3rem, 1.186rem + 0.24vw, 1.4rem);
 	--font-size-xs:;
 	--font-size-xxs:;
	
	

	
	--font-letterspacing:0.05em;
	--font-lineheight-120:120%;
	--font-lineheight-140:140%;
	--font-lineheight-150:150%;
	--font-lineheight-160:160%;
	--font-lineheight-170:170%;
	--font-lineheight-200:200%;

	--font-weight-primary:400;
	--font-weight-light:300;
	--font-weight-regular 400;
	--font-weight-mdium:500;
	--font-weight-bold:700;
	--font-weight-black:900;


	--color-orange:#FF5611;
	--color-green:#2EB6AA;
	--color-sand:#FFFCEB;
	--color-beige:#F0ECCD;
	--color-navy:#0B2E5E;
	--color-miffy:#FFC80B;
	--color-white: #fff;
	--color-black:#000;
	--color-dialog-menu-btn: #fff;	
	--color-dialog-menu-bg:#fff;	
	--color-dialog-menu-link:#0B2E5E;	

	--color-loaded:#f0eccd;
	--color-ring-bg:#FF5611;
	--color-ring:#000;

	--color-htb-ticket:#ff5611;
	--color-htb-enjoy:#42ab6a;
	--color-htb-event:#2eb6aa;
	--color-htb-gourmet:;	
	--color-htb-shopping:;
	--color-htb-hotels:#0B2E5E;
	--color-htb-background:#fbf9ef;
	
	--color-primary:#ec4000;
	--color-secondary:#0f2350;
	--color-accent:#967850;
	--color-base:#f5f0dc;
	--color-sasebo:#148fae;
	--color-spot:#148fae;
	--color-wine:#ac1f4b;

	/*--align--*/
	--align-center:center;
	--align-center-sp:center;
	--align-left:left;
	--align-left-sp:left;

	--layout-space-section:6rem;/*section縦の余白*/
	--layout-space-base-horizontal:2.4rem;/*横の余白*/
	--layout-space-base-horizontal-small:1.6rem;/*横の余白*/
	--layout-space-base-vrtical:4.8rem;/*縦の余白*/
	--layout-space-sp:2rem;


	--font-size-btn-cta: clamp(1.3rem, 1.186rem + 0.24vw, 1.4rem);
	--color-cta-ticket:#dca910;
	--color-cta-hotels:#0B2E5E;
}

@media screen and (min-width: 1025px) {
	:root {
		--layout-space-sp:0rem;
		--layout-space-section:10rem;/*section縦の余白*/
		--layout-space-base-horizontal:2.4rem;/*横の余白*/
	--layout-space-base-horizontal-small:1.6rem;/*横の余白*/
		--layout-space-base-vrtical:9.6rem;/*縦の余白*/
	}
}




html {
  scroll-behavior: smooth;
}


#h-footer {
  position: relative;
}


/*--swiper対策--*/


.swiper-container {
  position: relative;
  width: 100%;
}

.swiper {
  width: 100%;
  min-width: 0;
}

.swiper-slide {
  min-width: 0;
  display: flex;
  height: auto; /* 高さに依存させない */
}
.swiper-wrapper {
  display: flex !important;
   justify-content: flex-start;
   height: auto;
}


.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	position: relative;
	margin-top: 4rem;
	bottom:0;
	top:0;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--color-black);
}
.swiper-pagination-bullet {
  width:10px;
  height:10px;
  display: inline-block;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  width: auto;
  height: auto;
  background:#c8c8c8;
  border-radius: 9999px;
  opacity: 0.9;
}
.swiper-button-next:after, .swiper-button-prev:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color:#fff;
	background-repeat: no-repeat;
	background-position: center;
	width: 40px;
	height:40px;
	display: block;
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20157.58%20157.58%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M78.79%2C0C35.27%2C0%2C0%2C35.27%2C0%2C78.79s35.27%2C78.79%2C78.79%2C78.79%2C78.79-35.27%2C78.79-78.79S122.3%2C0%2C78.79%2C0ZM67.88%2C111.24l-2.63-2.63%2C29.81-29.81-29.81-29.81%2C2.63-2.63%2C32.45%2C32.45-32.45%2C32.45Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}

.swiper-button-prev:after {
  transform: rotate(180deg);
}

.swiper-button-prev {
  left:-1rem;
}
.swiper-button-next {
  right:-1rem;
}