/* CSS Document */

#hero{
	position: relative;
	padding: 0;
	}
	#hero li{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		position: relative;
		height: 50vw;
		}
		#hero li:hover dl{
			background: rgba(0,0,0,0.7);
			}
		#hero li a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			color: rgba(0,0,0,0);
			}
			#hero li a:focus{
				background-color: inherit;
				}
	#hero dl{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		background: rgba(0,0,0,0.6);
		border-top: 0.2em solid #fff;
		color: #fff;
		fill: #fff;
		}
	#hero dt{
		font-weight: bold;
		line-height: 1.2em;
		}
	#hero dt+dd{
		border-top: 1px solid #fff;
		line-height: 1em;
		}
	#hero dd i{
		vertical-align: middle;
		}
		#hero dd i svg{
			width: 1.2em;
			height: 1.2em;
			}
	#hero .thumbBox{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding-top: 0;
		background-size: cover;
		z-index: -1;
		}
		#hero .thumbBox img{
			object-fit: cover;
			}
	#hero .wrap{
		}

#overview{
	padding-bottom: 0;
	}

#movies{}
	#movies header+div{
		background: #333;
		}
	#movies .thumb-item{}
		#movies .thumb-item li{
			position: relative;
			}
			#movies .thumb-item li div{
				position: relative;
				aspect-ratio: 16 / 9;
				}
			#movies .thumb-item li iframe{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				}
	#movies .thumb-item-nav{}
		#movies .thumb-item-nav .thumbBox{
			padding-top: 56.25%;
			}
		#movies .thumb-item-nav .slick-current{
			opacity: 0.3;
			}

#access{
	overflow: hidden;
	}
	#access a:focus{
		background: none;
		}

#accessLink{}
	#accessLink ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
		}
	#accessLink li{
		width: calc(50% - 0.5em);
		}
		#accessLink li:nth-child(n+3){
			margin-top: 1em;
			}
		#accessLink li a{
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			color: #2b2926;
			text-decoration: none;
			}
			#accessLink li a:hover{}
				#accessLink li a:hover span,
				#accessLink li a:active span{
					display: block;
					color: var(--primary-color);
					}
		#accessLink li i{
			width: 4em;
			border-radius: 100%;
			overflow: hidden;
			}
			#accessLink li i .thumbBox{
				}
		#accessLink li span{
			max-width: calc(100% - 4em);
			padding-left: 0.5em;
			line-height: 1.2em;
			transition: 0.2s all ease-out;
			}
	#accessLink p{
		margin-top: 2em;
		text-align: center;
		}

#accessMap{
	position: relative;
	}
	#accessMap dl{
		position: absolute;
		top: 1em;
		right: 1em;
		max-width: 340px;
		background: #fff;
		border-radius: 0.2em;
		box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.3);
		overflow: hidden;
		}
	#accessMap dt{
		padding: 0.8em 1em;
		line-height: 1.4em;
		background: var(--secondary-color);
		color: #fff;
		text-align: center;
		}
	#accessMap dd{
		padding: 1em;
		}
		#accessMap dd:last-child{
			text-align: center;
			}
	#accessMap dd+dd{
		padding-top: 0;
		}
	#accessMap ul{
		list-style: none;
		}
	#accessMap li{
		position: relative;
		padding-left: 1.2em;
		line-height: 1.4em;
		}
		#accessMap li:before{
			content: "";
			position: absolute;
			left: 0;
			top: 0.4em;
			width: 0.8em;
			height: 0.8em;
			border: 0.2em solid var(--secondary-color);
			border-radius: 100%;
			box-sizing: border-box;
			}
	#accessMap li+li{
		margin-top: 0.5em;
		}
	#accessMap .thumbBox{
		padding-top: 85%;
		background-position: top left;
		}
		#accessMap .thumbBox img{
			object-fit: cover;
			object-position: top left;
			}

#feature{
	position: relative;
	}
	#feature:before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../images/featureBg.jpg) center bottom;
		background-size: cover;
		opacity: 0.1;
		z-index: -1;
		}
	#feature .featureList{
		border: none;
		}
	#feature section{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0;
		position: relative;
		}
		#feature section>div{
			display: grid;
			grid-gap: 1em;
			justify-items: center;
			}
			#feature section>div>*:not(a){
				width: 100%;
				}
	#feature ul{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		list-style-type: none;
		}
	#feature li{
		text-align: center;
		line-height: 1em;
		color: var(--secondary-color);
		}
		#feature li+li{
			margin-left: 0.3em;
			}
	#feature h3{
		font-size: 1.2em;
		}
	#feature p{
		padding-top: 1em;
		line-height: 1.4em;
		font-weight: 300;
		border-top: 1px solid #ccc;
		color: #666;
		}
	#feature .thumbBox{
		padding-top: 66.66%;
		}

#ranking{}
	#ranking ul{
		list-style: none;
		}
	#ranking li{
		width: calc(20% - 0.5em);
		}
		#ranking li a{
			position: relative;
			display: block;
			color: inherit;
			}
			#ranking li a:hover{
				opacity: .7;
				}
		#ranking li span{
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			padding: 0.8em;
			background: rgba(255,255,255,0.8);
			line-height: 1em;
			overflow: hidden;
			white-space: nowrap;
			text-overflow: ellipsis;
			text-align: center;
			}
		#ranking li i{
			position: absolute;
			top: 0;
			left: 0;
			width: 2em;
			padding: 0.5em;
			background: var(--primary-color);
			color: #fff;
			line-height: 1em;
			text-align: center;
			}

#lodging{
	background: url(../images/lodgingBg.jpg) center center;
	background-size: cover;
	color: #fff;
	display: none;
	}
/*	#lodging p{
		text-align: center;
		} */
	#lodging aside{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: center;
		margin-top: 1em;
		}
		#lodging aside a{
			display: block;
			width: calc(33.33% - 0.7em);
			padding: 1em;
			background: #fff;
			border-radius: 0.2em;
			line-height: 3em;
			}
		#lodging aside img{
			max-height: 3em;
			vertical-align: middle;
			}

#information{
	background: rgba(var(--primary-color-rgb),0.1);
	}
	#information header{
		width: 100%;
		}
	#information section{
		position: relative;
		width: calc(33.33% - 0.667em);
		margin: 0;
		padding: 1em;
		background: #fff;
		border-radius: 0.2em;
		box-shadow: 0.5em 0.5em 0 rgba(0,0,0,0.15);
		}
		#information section:hover h3 i,
		#information section:active h3 i{
			background: var(--secondary-color);
			}
		#information section:nth-of-type(n+2){
			margin-left: 1em;
			}
	#information h3{
		position: relative;
		padding-top: 5em;
		font-weight: bold;
		text-align: center;
		}
		#information h3 i{
			position: absolute;
			top: 0;
			left: calc(50% - 0.5em);
			background: var(--primary-color);
			width: 1em;
			height: 1em;
			border-radius: 100%;
			fill: #fff;
			font-size: 4.8em;
			line-height: 1em;
			transition: background 0.2s ease-out;
			overflow: hidden;
			z-index: 1;
			}
	#information p{
		margin-top: 0.5em;
		}
	#information section a{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		color: rgba(0,0,0,0)
		}
		#information section a:focus{
			background: none;
			}
	#information .wrap{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		}

#informationBnr{
	width: 100%;
	margin-bottom: 2em;
	}
	#informationBnr>div+div{
		margin-top: 2em;
		}
	#informationBnr dl{
		display: flex;
		flex-direction: column;
		}
	#informationBnr dt{
		order: 2;
		font-weight: bold;
		}
	#informationBnr dd:nth-of-type(1){
		order: 3;
		}
	#informationBnr dd:nth-of-type(2){
		order: 1;
		margin-bottom: 0.5em;
		}
	#informationBnr a{
		display: block;
		width: 100%;
		height: 100%;
		}
	#informationBnr a:hover{
		opacity: 0.7;
		}
	#informationBnr .thumbBox{
		padding-top: 66.66%;
		}

#instagram{
	padding-bottom: 0;
	text-align: center;
	}
	#instagram i{
		position: relative;
		padding-left: 1.8em;
		}
	#instagram svg{
		position: absolute;
		left: 0;
		top: calc(50% - 0.7em);
		width: 1.4em;
		height: 1.4em;
		}
	#instagram ul{
		display: grid;
		gap: 2px;
		margin-top: 2em;
		list-style: none;
		}

#sns{
	padding: 3em 0;
	}
	#sns .wrap{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5em;
		list-style: none;
		}
	#sns a{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 3em;
		height: 3em;
		background: var(--primary-color);
		border-radius: 50px;
		color: #fff;
		fill: #fff;
		}
		#sns a:hover{
			background: var(--secondary-color);
			}
	#sns svg{
		width: 1.5em;
		height: 1.5em;
		}


/* for mobile */
@media (max-width: 767px) {
/*767px以下*/
#hero{}
	#hero .slick-arrow{
		font-size: 1.5em;
		}
#informationBnr{}
		#informationBnr dl+dl{
			margin-top: 2em;
			}
}
@media (max-width: 767px) and (orientation:portrait) {
/*767px以下 縦向き*/
#hero{}
	#hero dl{
		font-size: 0.6em;
		}
#movies{}
	#movies .thumb-item-nav{
		padding: 0.5em 0;
		}
#access{
	padding-top: 0;
	}
#accessLink{}
	#accessLink li{
		width: 100%;
		}
	#accessLink li+li{
		margin-top: 1em;
		}
#accessMap{}
	#accessMap dl{
		position: static;
		margin: 1em 1em 0;
		}
#ranking{}
	#ranking ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#ranking li{
		width: calc(50% - 0.5em);
		}
	#ranking li:first-child{
		width: 100%;
		}
	#ranking li+li{
		margin-top: 1em;
		}
#lodging{}
	#lodging aside{}
		#lodging aside a{
			width: 100%;
			}
		#lodging aside a+a{
			margin-top: 0.5em;
			}
#information{}
	#information section{
		width: 100%;
		margin-left: 0 !important;
		}
	#information section+section{
		margin-top: 1em;
		}
#instagram{}
	#instagram ul{
		grid-template-columns: repeat(3, 1fr);
		}
		#instagram li:nth-child(n+10){
			display: none;
			}
#sns{}
	#sns .facebook{
		margin: 2em 0 0 0;
		}
	#sns .wrap{}
		#sns .wrap > div{
			width: 100%;
			margin-left: 0;
			}
}
@media (max-width: 767px) and (orientation:landscape) {
/*767px以下 横向き*/
#hero{}
	#hero dt{
		font-size: 1.2em;
		}
#access{
	padding-bottom: 0;
	}
#ranking{}
	#ranking ul{
		display: grid;
		grid-template-columns: 2fr 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		grid-gap: 2px;
		}
	#ranking li{
		width: 100%;
		}
		#ranking li:first-child{
			grid-row: 1/3;
			}
			#ranking li:first-child .thumbBox{
				padding: calc(100% + 2px) 0 0 0;
				}
		#ranking li:nth-child(4){
			grid-column: 2/3;
			grid-row: 2/3;
			}
		#ranking li:nth-child(5){
			grid-column: 3/4;
			grid-row: 2/3;
			}
#instagram{}
	#instagram ul{
		grid-template-columns: repeat(4, 1fr);
		}
		#instagram li:nth-child(n+9){
			display: none;
			}
}


/* for TabletPC */
@media (min-width: 768px) {
/*768px以上*/
#hero{}
	#hero .slick-arrow{
		font-size: 2em;
		}
#ranking{}
	#ranking ul{
		display: grid;
		grid-template-columns: 2fr 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		grid-gap: 2px;
		}
	#ranking li{
		width: 100%;
		}
		#ranking li:first-child{
			grid-row: 1/3;
			}
			#ranking li:first-child .thumbBox{
				padding: calc(100% + 2px) 0 0 0;
				}
		#ranking li:nth-child(4){
			grid-column: 2/3;
			grid-row: 2/3;
			}
		#ranking li:nth-child(5){
			grid-column: 3/4;
			grid-row: 2/3;
			}
#informationBnr{}
	#informationBnr>div{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		}
	#informationBnr dl{
		width: calc(33.33% - 1em);
		margin-right: 1.5em;
		}
		#informationBnr dl:nth-of-type(3n){
			margin-right: 0;
			}
		#informationBnr dl:nth-of-type(n+4){
			margin-top: 1.5em;
			}
#instagram{}
	#instagram ul{
		grid-template-columns: repeat(5, 1fr);
		}
	#instagram li:nth-child(n+11){
		display: none;
		}
#lodging{}
	#lodging aside{}
		#lodging aside a{
			line-height: 2em;
			}
		#lodging aside img{
			max-height: 2em;
			}
}
@media (min-width: 768px) and (max-width: 991px) {
/*768px～991px*/
#hero{}
	#hero dt{
		font-size: 1.3em;
		}
#access{
	padding-bottom: 0;
	}
}
@media (max-width: 991px) {
/*991px以下*/
#hero{}
	#hero dl{
		padding: 0.8em;
		}
	#hero dt+dd{
		margin-top: 0.8em;
		padding-top: 0.8em;
		}
	#hero .wrap{
		padding: 0 2em;
		}
#accessMap{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	margin-top: 2em;
	}
#feature{}
	#feature section{
		position: relative;
		padding: 0 0 1em 0;
		}
		#feature section+section{
			margin-top: 2em;
			}
		#feature section>figure{
			order: -1;
			width: 100%;
			}
		#feature section>div{
			margin-top: 1em;
			}
	#feature li{
		font-size: 1.2em;
		}
#sns{}
	#sns .facebook{
		margin-left: 2em;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#hero{}
	#hero dl{
		padding: 1em;
		}
	#hero dt{
		font-size: 1.4em;
		}
	#hero dt+dd{
		margin-top: 1em;
		padding-top: 1em;
		}
#movies{}
	#movies .thumb-item-nav{
		padding: 1em 0;
		}
#access{
	position: relative;
	background: rgba(var(--primary-color-rgb),0.1);
	}
#accessLink{
	margin-left: calc(50% + 2em);
	}
#accessMap{
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 50vw;
	height: 100%;
	background: #ccc;
	}
	#accessMap dt,
	#accessMap dd{
		font-size: 0.8em;
		}
	#accessMap .thumbBox{
		height: 100%;
		padding: 0;
		background-position: top left;
		}
		#accessMap .thumbBox img{
			object-fit: cover;
			object-position: top left;
			}
#sns{}
	#sns .facebook{
		margin-left: 3em;
		}
	#sns .wrap{}
		#sns .wrap > div{
			width: calc(50% - 1.5em);
			}
#feature{
	padding-bottom: 0;
	}
	#feature section{}
		#feature section>div{
			padding: 1.5em 1.5em 1.5em 0;
			width: 50%;
			align-content: center;
			}
		#feature section>figure{
			flex: 1;
			margin-right: calc(50% - 50vw);
			width: 50%;
			}
		#feature section:nth-of-type(even){
			flex-direction: row-reverse;
			}
			#feature section:nth-of-type(even)>div{
				padding-left: 1.5em;
				padding-right: 0;
				}
			#feature section:nth-of-type(even)>figure{
				margin-left: calc(50% - 50vw);
				margin-right: 0;
				}
	#feature h3{
		font-weight: 400;
		}
	#feature p{
		font-size: 0.8em;
		}
	#feature li{
		font-size: 1.6em;
		}
#information{}
	#information section{
		width: calc(33.33% - 1.33em);
		padding: 2em;
		}
	#information h3{
		font-size: 1.2em;
		}
#sns{}
	#sns .facebook{
		margin-left: 3em;
		}
	#sns .wrap{}
		#sns .wrap > div{
			width: calc(50% - 1.5em);
			}
}
@media (min-width: 992px) and (max-width: 1199px) {
/*992px～1200px*/
#hero{}
	#hero .wrap{
		padding: 0 3em;
		}
}
@media (min-width: 1200px) {
/*1200px以上*/
}


/* ie */
@media all and (-ms-high-contrast: none){}


