@charset "utf-8";
/* CSS Document */

/*html {
  scroll-behavior: smooth;
}*/
#container{
	font-family: 'Noto Serif JP', serif;
    width: 100%;
    margin: 0;
	font-size: 14px;
	color: #444444;
	line-height: 1.7;	
}

* { box-sizing: border-box; }
#container a{
	text-decoration: none;
/*	color: #333;*/
}
#container a:hover{
/*	color: #333;*/
	opacity: .6;
}

.w1000{
	width: 1000px;
	margin: 0 auto;
}

.pc{display: block;}
.sp{display: none;}

ul {
	list-style: none;

    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
}

*{margin: 0; padding: 0;}

/*-- 画像位置 --*/
#container img {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
	max-width: 100%;
/*	width: 100%;*/
}

/*-- flex --*/
.flex_box {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
/*	align-items: flex-end;*/
}
/*-- font --*/
/*font-family: 'Dancing Script', cursive;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Sawarabi Mincho', serif;*/


/*--------------------page-top */
#pagetop {
	position: fixed;
	bottom: 1em;
	right: 1em;
	z-index:50;
	width:4em;
	height:4em;
	border-radius:50%;
	overflow:hidden;
	text-align: center;
}
#pagetop a {
	position: relative;
	display:block;
	width:100%;
	height:100%;
	padding:0;
	background-image: none;
	background-color:  rgba(255,255,255,0.65);;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;	
}
#pagetop a:before{
	content: "▲";
	display: block;
	position: absolute;
	color: #06005C;
	font-size: 2em;
    text-indent: 0;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#pagetop a:hover {
	text-decoration: none;
	background-color: rgba(255,255,255,1.00);
}

/*--------------------パンくず */
#pankuzu{
	margin: 15px auto;
	width: 1000px;
	font-size: .85em;
	font-family: 'Noto Sans JP', sans-serif;
}

#pankuzu ul{
    padding: 0 0 5px;
    _zoom: 1;
}
#pankuzu li{
    float: left;
    list-style: none;

}
#pankuzu li + li:before{
    margin: 0 8px;
    content: '>';
}

/*------------------------------------------------------slick*/
.slick-slide img{width: 100%;  height: auto;}
/*.slick-prev{    left: 0;}
.slick-next{    right: 0;}*/

.slick-dots {
	position: static;
/*	margin-top: 20px;*/
/*	margin-bottom: -40px;*/
	position: absolute;
	bottom: -40px;
	left: 0;
	width: 100%;
	font-size: 0;
	text-align: center;
	list-style: none;
}

.slick-dots li {
/*  width: 18.5%;
  margin: 0 0 0 1.875%;
	*/
}
.slick-dots li:first-child {
  margin-left: 0;
}
/*#kyushu .slick-dots li {
  width: calc(100% / 4 - 5px);
  margin: 0 0 0 5px;
}

#slick01 .slick-dots li img {
  width: 100%;
  cursor: pointer;
  transition: .2s ease-in-out;
}*/
.slick-dots .slick-active img,
.slick-dots li:hover img {
  opacity: .6;
}

/* Arrows */
.slick-prev,
.slick-next
{
	z-index: 100;
}
.slick-arrow_prev,
.slick-arrow_next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5em;
	cursor: pointer;
	background: rgba(0,0,0,0.50);
	color: #fff;
	font-weight: 900;
	line-height: 1;
	z-index: 100;
	padding: .3em;
}

.slick-arrow_prev {
  left: 0;
}
.slick-arrow_next {
  right: 0;
}
.slick-arrow_prev:hover,
.slick-arrow_next:hover {	background: rgba(0,0,0,1.00);}


/*------------------------------------------------------topのスライドショー*/
.slider {
  height: 50vw;
  margin-inline: auto;
  overflow: hidden; /* 画像がはみ出ないようにする */
/*  width: 80vw;*/
	width: 100%;
}
.slick-img img {
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
.main{position: relative;}
h1 {
    position: absolute;
	top:1%;
	left:1%;
	font-size: 1.5em;
	font-weight: 500;
	color: #fff;
	text-shadow    : 
       1px  1px 2px #232323,
      -1px  1px 2px #595959,
       1px -1px 2px #595959,
      -1px -1px 2px #595959,
       1px  0px 2px #595959,
       0px  1px 2px #595959,
      -1px  0px 2px #595959,
       0px -1px 2px #595959;      
/*    top: 390px;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    z-index: 99;
    text-align: center;
	max-width: 350px;*/
}
/*------------------------------------------------------intro*/
.intro{
/*		margin-top: 500px;*/
	background: 
		 /*url("../img/pattern.png") left bottom repeat,*/#009CDE
/*		linear-gradient(342deg, rgba(52,37,0,1) 38%, rgba(77,56,2,1) 39%, rgba(49,35,0,1) 58%, rgba(43,30,0,1) 77%)*/;
	padding: 3em 2em 1em;
	color: #fff;
}
.intro h2{	
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	font-weight: 900;
}
.intro h2 a{
	color: #fff;
	font-size:min(6.2vw,35px);
}
.intro h3{
	text-align: center;
	font-size: 1.3em;
	margin: 2em 0;
	font-weight: 600;
    color: #D8DB66;
	line-height: 1.2;	
}

.intro .text{
	font-family: 'Sawarabi Mincho', serif;
	font-size: 1.2em;
	max-width: 45em;
	margin: 2em auto;
	line-height: 2;
}

/*線アニメーション*/
.border{
	position: relative;
	text-align:center;
	font-size: 18px;
	margin: 0 auto;
	max-width: 1000px;
}
.border:before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0;
	border-bottom: solid 3px #fff;
	transform: translateX(-50%);
	animation-name: border_anim;
	animation-duration:0.7s;
	animation-timing-function: ease-in-out;
	animation-fill-mode:forwards;
}
@keyframes border_anim {
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}
/* textアニメーション */
.Headline{
  margin: 0;
  animation-name: SlideIn ;
  animation-duration: 0.7s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  50% {
    opacity: 0;
    transform: translateY(12px);
  }
75% {
    opacity: 0;
    transform: translateY(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/*------------------------------------------------------nav*/
nav{
	position: sticky;
	top:0;
	z-index: 10;
	background: rgba(255,255,255,0.50);
}
/*----------------------------タブ切替 */
.tab-area {
	display: flex;
	cursor: pointer;
	padding: 1.5em 0;
	justify-content: space-around;
}
.tab {
	width: calc(100%/4 - 1em);
/*	height: 50px;
	line-height: 50px;*/
	padding: .5em 0;
	color: #104C97;
	display: block;	
/*	margin: 0 .5em 0 0;*/
	text-align: center;	
	font-size: 16px;
	font-weight: 600;
	background: #EFF2F7;
    border: 2px #104C97 solid;
}
/*.tab:nth-child(n+2) {
  border-left: 2px solid;
}*/
.tab.active {
	background-color: #104C97;
	color: #fff;
}
.panel {
  display: none;
/*  text-align: center;*/
}
.panel.active {
  display: block;
}
/*-------------------------------------------------------------tour */
.tour{	
	padding: 3em 0 8em;
	background: 
		url("../img/pattern02.png")repeat-y top left,#104C97;
}
/*.tour h2{
	background: url("../img/tour_h2.png")no-repeat top center;
}*/

.tour h3{
	text-align: center;
	font-size: 1.5em;
	font-weight: 600;
/*	margin-bottom: 5em;*/
	align-items: center; 
	display: flex;	
	color: #fff;
	margin: 3em 0 1em;
}
.tour h3::before,
.tour h3::after {
/*  background-color: #001138; */
	background-color: #fff;
  border-radius: 5px;
  content: "";
  flex-grow: 1;
  height: 5px;
}
.tour h3::before {
  margin-right: 1em;
}
.tour h3::after {
  margin-left: 1em;
}
/*---------------------------------------------hotel_box*/
.hotel_box img{width: 100%;}
.hotel_box{
	position: relative;
	background: url("../img/gold.jpg") top left no-repeat,#fff;
	padding: 9px 1em 1em;
	margin-top: 3em;
	
}
.hotel_box .area{
	font-size: 1.1em;
    background: #001138;
/*    margin-right: 1em;
	display: inline-block;*/
    padding: 2px .4em .1em .7em;
	color: #fff;
	position: absolute;
	top:1.5em;
	left:1em;
}
.hotel_box .area span{    
	background: #fff; 
	color:#001138;
	padding: 0 .5em;
	margin-left: .4em;
}
.hotel_box h4{
	padding-left: 16.5%;
	font-size:1.6em;
	font-weight: 600;
	display: flex;
	align-items: center;
	line-height: 1.2em;
}
.hotel_box h4 span{width: 5em;}
.hotel_box h4 small{ 
	font-size: .6em;
	margin-left: 2em;
	color: #22327C;
	line-height: 1.2;
}

.hotel_box h4 + p{
	font-size: 1.1em;
	padding: .5em 1em;
}
.hotel_box h4 ruby{
	padding-bottom: 8px;
}


/*.hotel_box h4.twoline small{
	display: block;
}*/
/*------------------------------detail*/
.detail{
    width: calc( 50% - 1.5em);
    margin-left: 1.5em;
	display: flex;
	
flex-direction: column;
}
.detail > div{flex-grow: 1;}
.point{
	background: linear-gradient(45deg, rgba(229,226,149,1) 0%, rgba(253,255,206,1) 100%);
	font-family: 'Noto Sans JP', sans-serif;
	padding: 1em 1em .5em;
	margin:1em 0 1.5em;
	position: relative;
}
.point::before{
	font-family: 'Dancing Script', cursive;
	font-size: 1.5em;
	content: "Point";
	font-weight: bold;
/*	background:  linear-gradient(45deg, rgba(229,226,149,1) 0%, rgba(253,255,206,1) 100%);*/
	position: absolute;
	top:-15px;
}
.access{font-family: 'Noto Sans JP', sans-serif;}
.access::before{
	font-family: 'Noto Sans JP', sans-serif;
	content: "アクセス";
	background: #bfd1e9;
	padding: 0 3px;
	margin-right: 1em;
	font-weight: 600;
}
.icon{
	display: flex;
	margin: 1.5em 0;
}
.icon li:not(:last-child){	margin-right: 3px;}
.link{
	display: flex;
	justify-content: space-between;
	margin: 1.5em 0 0;
}
.link li{
	flex:1;
	text-align: center;
}
.link li:not(:last-of-type){
	margin-right: .5em;
}
.link li a{
	display: block;
	background: #001138;
	color: #fff;
	padding: .7em;
}


.comingsoon{
	text-align: center;
    position: absolute;
	padding: 40% 0;
	background: rgba(153,176,188,0.30);
	top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
.comingsoon p{
	font-size: 2.5em;
	color: #FFF;
	text-shadow: 2px 2px 3px #111;
	line-height: 1;
	transform: rotate(-10deg);
	border: 3px #FFF solid;
	width: 70%;
	margin: auto;
	box-shadow: 1px 1px 5px #111;
}

/*-----------------------------------------------------------.hotel_image*/
.hotel_image{    width: 50%;}

/*.hotel_image .caption{
	margin-top: .2em;
	line-height: 1.5;
}*/

/*キャプション*/
.photo{
	position: relative;
}
.photo span{
	font-family: 'Noto Sans JP', sans-serif;
    position: absolute;
    bottom: 0;
    right: 0;
    background: rgba(0,0,0,0.60);
	font-size: 0.8em;
	color: #fff;	
	padding: .5em .2em;
}
.photo strong span{
   	bottom: 0;
    right: 0;
	left:0;
    background: rgba(193,0,3,0.75);
	font-size: 1.2em;
	color: #fff;	
	padding: .2em;
	text-align: center;
	line-height: 1.4
}




/* カルーセル全体 */
.carousel {
  /* 水平方向中央寄せ */
  display: flex;
  justify-content: center;
}
/* カルーセル内容 */
.contains{
  /* サイズは自由に変更してください。*/
  /* 下の.slideも同じサイズにしてください。 */
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  position: relative;
  padding: 0;
  list-style: none;
}
/* スライド切り換え用ラジオボタンは常に非表示 */
.slide_select {
  display: none;
}
/* 各スライド */
.slide {
  /* サイズは自由に変更してください。*/
  /* 上の.containsも同じサイズにしてください。 */
  width: 100%;
  aspect-ratio: 4 / 3;
  position: absolute;
  /* スライドの初期値は選択されていないので透明にしておく */
  opacity: 0;
}
/* 前へ次へボタン */
.scroll_button {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  /* 縦中央から20px上の位置 */
  top: 50%;
  margin-top: -20px;
/* 上辺と右辺のみ幅5pxの枠線 */
  border-width: 5px 5px 0 0;
  border-style: solid;
  border-color: #fdfdfd;
  cursor: pointer;
  /* 普段はボタンはやや薄くする */
  opacity: 0.5;
  /* スライドよりも前面にする */
  z-index: 3;
}
/* ホバー時にボタンを強調 */
.scroll_button:hover {
  opacity: 1;
}
/* 前へボタン */
.scroll_prev {
  left: 15px;
  /* 上辺と右辺の枠線を回転して"＜"にする */
  transform: rotate(-135deg);
}
/* 次へボタン */
.scroll_next {
  right: 15px;
  /* 上辺と右辺の枠線を回転して"＞"にする */
  transform: rotate(45deg);
}
/* スライド移動ボタンエリア */
.move_controler {
  position: absolute;
  bottom: .8em;
  width: 100%;
  text-align: center;

}
/* スライド移動の各ボタン */
.button_move {
  display: inline-block;
  height: 8px;
  width: 8px;
  margin: 0 2px;
  border-radius: 100%;
  cursor: pointer;
  /* 普段はやや薄くする */
  opacity: 0.5;
  /* スライドより前面にする */
  z-index: 2;
			box-shadow: 0px 0px 3px 0px #000;
}
/* ホバー時はやや明るくする */
.button_move:hover {
  opacity: 0.75;
}
/* スライド移動ボタンの色 */
.button_move {
  background-color: #FFFFFF;
}
/* 1番目のスライド選択時 */
/* 1番目のスライドの透明度を0にして表示する */
.slide_select:nth-of-type(1):checked ~ .slide:nth-of-type(1) {
  opacity: 1;
}
/* 1番目のスライドの前へ次へボタンの領域を */
.slide_select:nth-of-type(1):checked
  ~ .move_controler
  .button_move:nth-of-type(1) {
  opacity: 1;
}
.slide_select:nth-of-type(2):checked ~ .slide:nth-of-type(2) {
  opacity: 1;
}
.slide_select:nth-of-type(2):checked
  ~ .move_controler
  .button_move:nth-of-type(2) {
  opacity: 1;
}
.slide_select:nth-of-type(3):checked ~ .slide:nth-of-type(3) {
  opacity: 1;
}
.slide_select:nth-of-type(3):checked
  ~ .move_controler
  .button_move:nth-of-type(3) {
  opacity: 1;
}
.slide_select:nth-of-type(4):checked ~ .slide:nth-of-type(4) {
  opacity: 1;
}
.slide_select:nth-of-type(4):checked
  ~ .move_controler
  .button_move:nth-of-type(4) {
  opacity: 1;
}
.slide_select:nth-of-type(5):checked ~ .slide:nth-of-type(5) {
  opacity: 1;
}
.slide_select:nth-of-type(5):checked
  ~ .move_controler
  .button_move:nth-of-type(5) {
  opacity: 1;
}
.slide_select:nth-of-type(6):checked ~ .slide:nth-of-type(6) {
  opacity: 1;
}
.slide_select:nth-of-type(6):checked
  ~ .move_controler
  .button_move:nth-of-type(6) {
  opacity: 1;
}
.slide_select:nth-of-type(7):checked ~ .slide:nth-of-type(7) {
  opacity: 1;
}
.slide_select:nth-of-type(7):checked
  ~ .move_controler
  .button_move:nth-of-type(7) {
  opacity: 1;
}








/************************************************************
					★min770px－max999px
************************************************************/
@media screen /*and (min-width: 770px) */and (max-width: 1000px){
	
#container, .w1000 {
	min-width: 100%;  
	width: 100%;
	margin: 0;
/*	overflow: hidden;*/
}
.w1000 {	padding: 0 5px;}
img{max-width: 100%;}	
/*------------------------------------------------------nav*/
/*nav{
	position: sticky;
	top:0;
	z-index: 10;
	background: rgba(255,255,255,0.50);
}*/
/*-------------------------------------------------------------タブ切替 */
.tab-area {	padding: 1.5em 0;}	
/*---------------------------------*/

.text + .flex_box{align-items: flex-start;}

	
}
	
/************************************************************
					★タブレット対応
************************************************************/
@media screen /*and (min-width:600px)*/ and (max-width:769px)  {
/*--------------------パンくず */
#pankuzu{ display: none;}	
/*---------------------------------------------hotel_box*/
.hotel_box .area{
	font-size: .95em;
	top:1.2em;
}
	
.hotel_box .area span{    
	background: #fff; 
	color:#001138;
	padding: 0 .5em;
	margin-left: .4em;
}
.hotel_box h4{
	padding-left: 0;
	padding-top: 1.7em;;
	font-size:1.3em;
}

	
	
}
	
/************************************************************
						★スマホ対応
************************************************************/
@media screen and (max-width:599px)  {	
.sp{display: block;}	
.pc{display: none;}
/*------------------------------------------------------topのスライドショー*/
h1 {
    position: absolute;
	top:calc(100% - 1.5em);
	font-size: 3vw;
}
/*------------------------------------------------------intro*/
.intro{
/*	margin-top: 350px;*/
	padding: 3em 1em 1em;
}

.intro a{	font-size:5vw;}
.intro h3{text-align: left; font-size: 1.2em;}	
.intro .text{
	font-size: 1em;
	margin: 1em auto;
	line-height: 1.4;
}	
/*------------------------------------------------------nav*/

.tab-area {
	padding: .5em 0;
}
.tab {
	width: calc(100%/4 - .2em);
	margin: 0 .2em 0 0;
	font-size: 1em;
}	

/*-------------------------------------------------------------tour */
.tour{	
	padding: 1em 0 2em;
	font-size: .9em;
}
.tour h3{
	margin: 1em 0 0em;
}
/*---------------------------------------------hotel_box*/
.hotel_box img{width: 100%;}
.hotel_box{	margin-top: 2em;}
.hotel_box h4{position:relative;}
.hotel_box h4 small{ 
	position: absolute;
	left: 6.5em;
	bottom:0;
}
.hotel_box h4 + p{	padding: .5em 0;}

	
.hotel_box h4 ruby{
	padding-bottom: 8px;
}

.text + .flex_box{display: block;}	
/*------------------------------detail*/
.detail{
    width: 100%;
    margin-left: 0;
	display: block;
}
.hotel_image{    width: 100%;}

	
}	


