/* CSS Document */

#header{
	position: fixed;
	transition: background 0.2s ease-out;
	}
	#header:not(.fixed){
		background: none;
		color: #fff;
		}

#pagePath{
	display: none;
	}

#hero{
	position: relative;
	padding: 0;
	}

#heroSlide{}
	#heroSlide dl{
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-end;
		}
		#heroSlide dl:before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0));
			z-index: 1;
			}
	#heroSlide dd{
		position: relative;
		width: 100%;
		z-index: 2;
		}
		#heroSlide dd a{
			padding: 0.5em 0.8em;
			background: #fff;
			color: inherit;
			}
	#heroSlide .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		}
	#heroSlide .slick-dots{
		position: absolute;
		left: 0;
		bottom: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		}
		#heroSlide .slick-dots li{
			width: 40px;
			height: 4px;
			background: #fff;
			cursor: pointer;
			overflow: hidden;
			}
			#heroSlide .slick-dots li.slick-active{
				background: #bda58a;
				}
		#heroSlide .slick-dots button{
			opacity: 0;
			}
	#heroSlide .slick-dots li+li{
		margin-left: 10px;
		}

#heroText{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #fff;
	fill: currentColor;
	text-align: center;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.4));
	pointer-events: none;
	}
	#heroText h1+div{
		margin-top: 1em;
		}
	#heroText p{
		font-weight: bold;
		line-height: 2em;
		letter-spacing: 0.5em;
		text-indent: -0.5em;
		}
		#heroText p:last-child{
			font-size: 1.1em;
			}

#about{
	background: #f0ece9;
	overflow: hidden;
	}
	#about h2{
		color: #fff;
		fill: currentColor;
		}
	#about h3+div{
		color: #666;
		}
	#about p{
		line-height: 1.8em;
		}

#map{
	position: relative;
	overflow: hidden;
	}
	#map h2{}
		#map h2 img{
			width:2.8em;
			}

#mapLink{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	#mapLink dl{
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		}
		#mapLink dl:nth-of-type(1){}
			#mapLink dl:nth-of-type(1) i{
				background: #e0c3bc;
				}
		#mapLink dl:nth-of-type(2){}
			#mapLink dl:nth-of-type(2) i{
				background: #adcbd9;
				}
		#mapLink dl:nth-of-type(3){}
			#mapLink dl:nth-of-type(3) i{
				background: #b8d1a6;
				}
		#mapLink dl:nth-of-type(4){}
			#mapLink dl:nth-of-type(4) i{
				background: #e3da9c;
				}
	#mapLink dt{
		display: flex;
		align-items: center;
		line-height: 1.4em;
		}
		#mapLink dt i{
			flex: 0 0 1.6em;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 1.6em;
			height: 1.6em;
			margin-left: 0.5em;
			border-radius: 100%;
			order: 1;
			}
	#mapLink dt+dd{
		margin-bottom: 1em;
		order: -1;
		}
	#mapLink dd{}
		#mapLink dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	#mapLink .thumb{
		padding-top: 100%;
		}

#mapImg{
	position: absolute;
	top: calc(50% - 739px);
	left: calc(50% - 1000px);
	width: 2000px;
	height: 1478px;
	background: url("../images/mapImgBase.svg") center center no-repeat;
	background-size: contain;
	z-index: -1;
	}
	#mapImg use{}
		#mapImg use:nth-of-type(1){
			fill: #e0c3bc;
			}
		#mapImg use:nth-of-type(2){
			fill: #adcbd9;
			}
		#mapImg use:nth-of-type(3){
			fill: #b8d1a6;
			}
		#mapImg use:nth-of-type(4){
			fill: #e3da9c;
			}

#attraction{
	padding-bottom: 0;
	overflow: hidden;
	}
	#attraction article{}
		#attraction article:nth-of-type(odd){}
			#attraction article:nth-of-type(odd) h2{
				align-self: flex-start;
				padding-left: 0;
				}
				#attraction article:nth-of-type(odd) h2:before{
					right: 0;
					}
		#attraction article:nth-of-type(even){}
			#attraction article:nth-of-type(even) h2{
				align-self: flex-end;
				padding-right: 0;
				}
				#attraction article:nth-of-type(even) h2:before{
					left: 0;
					}
		#attraction [data-area="ise"],
		#attraction [data-area="ise"] h2:before,
		#attraction [data-area="ise"] dt+dd:before{
			background: #adcbd9;
			}
			#attraction [data-area="ise"] .img{
				background-image: url("../images/areaIsePhotoMain.jpg");
				background-size: cover;
				}
		#attraction [data-area="yoshino"],
		#attraction [data-area="yoshino"] h2:before,
		#attraction [data-area="yoshino"] dt+dd:before{
			background: #e3da9c;
			}
			#attraction [data-area="yoshino"] .img{
				background-image: url("../images/areaYoshinoPhotoMain.jpg");
				background-size: cover;
				}
		#attraction [data-area="suzuka"],
		#attraction [data-area="suzuka"] h2:before,
		#attraction [data-area="suzuka"] dt+dd:before{
			background: #e0c3bc;
			}
			#attraction [data-area="suzuka"] .img{
				background-image: url("../images/areaSuzukaPhotoMain.jpg");
				background-size: cover;
				background-position: 50% 75%;
				}
		#attraction [data-area="murou"],
		#attraction [data-area="murou"] h2:before,
		#attraction [data-area="murou"] dt+dd:before{
			background: #b8d1a6;
			}
			#attraction [data-area="murou"] .img{
				background-image: url("../images/areaMurouPhotoMain.jpg");
				background-size: cover;
				background-position: 50% 75%;
				}
	#attraction h2{
		position: relative;
		margin-top: -3em;
		padding: 1em;
		line-height: 1em;
		z-index: 1;
		}
		#attraction h2:before{
			content: "";
			position: absolute;
			top: 0;
			width: 100vw;
			height: 100%;
			background: #fff;
			z-index: -1;
			}
	#attraction dl{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		background: #fff;
		}
	#attraction dt{
		font-size: 1.2em;
		line-height: 1.4em;
		}
	#attraction dt+dd{
		position: relative;
		order: -1;
		}
		#attraction dt+dd:before,
		#attraction dt+dd:after{
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 3em;
			z-index: 1;
			}
		#attraction dt+dd:before{
			opacity: 0.8;
			}
		#attraction dt+dd:after{
			display: block;
			padding: 1em;
			color: #fff;
			font-weight: bold;
			overflow: hidden;
			text-align: center;
			white-space: nowrap;
			text-overflow: ellipsis;
			}
		#attraction dt+dd[data-caption]{}
			#attraction dt+dd[data-caption]:before{
				content: "";
				}
			#attraction dt+dd[data-caption]:after{
				content: attr(data-caption);
				}
	#attraction dd{}
		#attraction dd:nth-of-type(2){
			margin: 1em 0;
			}
		#attraction dd:nth-of-type(3){
			color: #666;
			font-size: 0.8em;
			line-height: 1.4em;
			}
	#attraction ul{
		display: flex;
		flex-wrap: wrap;
		margin: -0.5em;
		font-size: 0.8em;
		}
	#attraction li{
		display: flex;
		align-items: center;
		margin: 0.5em;
		font-weight: bold;
		}
	#attraction i{
		width: 2em;
		height: 2em;
		margin-right: 0.5em;
		}
	#attraction dl+div,
	#attraction ul+div{
		position: relative;
		width: 100%;
		}
		#attraction dl+div:before,
		#attraction ul+div:before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			border-top: 1px solid currentColor;
			border-bottom: 1px solid currentColor;
			pointer-events: none;
			opacity: 0.4;
			}
		#attraction dl+div a,
		#attraction ul+div a{
			display: flex;
			align-items: center;
			justify-content: center;
			color: inherit;
			font-weight: bold;
			text-decoration: none;
			}
		#attraction dl+div i,
		#attraction ul+div i{
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2em;
			height: 2em;
			margin-left: 1em;
			order: 1;
			}
			#attraction dl+div i:before,
			#attraction ul+div i:before{
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				border: 1px solid currentColor;
				border-radius: 100%;
				opacity: 0.4;
				}
	#attraction .wrap{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		}
	#attraction .img{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		color: #fff;
		fill: currentColor;
		background: #ccc;
		}
		#attraction .img svg{
			filter: drop-shadow(0 0 10px rgba(0,0,0,0.4));
			}

#movie{}
	#movie h2{
		margin: auto;
		}
#youtube {
	position: relative;
	padding-top: 56.25%;
	}
	#youtube iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
		}

#activity{
	padding-top: 0;
	}
	#activity h2{
		margin: auto;
		}
	#activity dl{
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		}
	#activity dt{
		position: relative;
		background: rgba(0,0,0,0.6);
		margin-top: -2.6em;
		padding: 0.8em;
		color: #fff;
		text-align: center;
		z-index: 1;
		}
	#activity dt+dd{
		order: -1;
		}
	#activity dt+dd+dd{
		padding: 1em;
		padding-bottom: 0;
		font-size: 1.2em;
		font-weight: bold;
		line-height: 1.4em;
		}
	#activity dd{}
		#activity dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	#activity > .wrap{
		max-width: 100%;
		}
	#activity .thumb{
		padding-top: 100%;
		}

.subject{
	text-align: center;
	}

.slide{}
	.slide .slick-arrow{
		position: absolute;
		top: 50%;
		border: 1px solid currentColor;
		border-radius: 100%;
		color: #fff;
		fill: currentColor;
		cursor: pointer;
		z-index: 1;
		}
		.slide .slick-arrow svg{
			position: absolute;
			top: 25%;
			left: 25%;
			width: 50%;
			height: 50%;
			}
	.slide .slick-prev{
		left: 0;
		}
	.slide .slick-next{
		right: 0;
		}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#nav{}
	#nav:not(.fixed){
		top: 0;
		padding-top: 5em;
		}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767px以下*/
#attraction{}
	#attraction article{}
		#attraction article:nth-of-type(odd){}
			#attraction article:nth-of-type(odd) .img{
				margin-left: 1.5em;
				padding-right: 1.5em;
				}
		#attraction article:nth-of-type(even){}
			#attraction article:nth-of-type(even) .img{
				margin-right: 1.5em;
				padding-left: 1.5em;
				}
		#attraction article:not(:last-child){
			padding-bottom: 4em;
			}
	#attraction h2{
		padding: 1em;
		}
	#attraction .img{
		margin-top: -4em;
		}
	#attraction [data-area="murou"]{}
		#attraction [data-area="murou"] .img{
			background-image: url("../images/areaMurouPhotoMain.jpg");
			background-size: cover;
			background-position: bottom;
			}
.slide{}
	.slide .slick-arrow{
		width: 2em;
		height: 2em;
		margin: -1em 1.5em;
		}
	.slide .slick-dots{
		padding: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下 縦向き*/
#heroSlide{}
	#heroSlide dl{
		height: 100vw;
		padding-bottom: 3em;
		}
#about{
	padding-bottom: 0;
	}
	#about section{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		}
	#about h3{
		text-align: center;
		}
	#about h3+div{
		order: 1;
		}
	#about figure{
		margin: 1em -1.5em 0 -1.5em;
		}
#mapLink{
	margin-top: 100vw;
	}
	#mapLink dl{
		width: calc(50% - 0.5em);
		margin-top: 2em;
		}
#mapImg{
	margin-top: -50vw;
	transform: scale(0.8);
	}
#attraction{}
	#attraction dl{
		padding: 1em;
		}
	#attraction dt+dd{
		margin: -1em;
		margin-bottom: 1em;
		}
	#attraction dl+dl{
		margin-top: 1em;
		}
	#attraction dl+div,
	#attraction ul+div{
		margin-top: 2em;
		}
		#attraction dl+div a,
		#attraction ul+div a{
			padding: 1em;
			}
	#attraction .img{
		height: 12em;
		padding-bottom: 4em;
		}
.subject{
	font-size: 3em;
	}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下 横向き*/
#heroSlide{}
	#heroSlide dl{
		height: calc(100vh - 4em);
		padding-bottom: 3em;
		}
#mapImg{
	transform: scale(0.8);
	}
#attraction{}
	#attraction .img{
		height: 16em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#about{}
	#about section{
		position: relative;
		min-height: 39.25vw;
		margin-top: 2em;
		}
		#about section:nth-of-type(odd){
			padding-left: calc(50% + 2em);
			}
			#about section:nth-of-type(odd) figure{
				right: 50%;
				}
		#about section:nth-of-type(even){
			padding-right: calc(50% + 2em);
			}
			#about section:nth-of-type(even) figure{
				left: 50%;
				}
	#about figure{
		position: absolute;
		top: 0;
		width: 50vw;
		height: 100%;
		}
	#about .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		padding-top: 39.25vw;
		}
#attraction{}
	#attraction h2+div+div{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#attraction dl{
		width: calc(50% - 1em);
		padding: 1.5em;
		}
		#attraction dl:nth-of-type(n+3){
			margin-top: 2em;
			}
	#attraction dt+dd{
		margin: -1.5em;
		margin-bottom: 1.5em;
		}
	#attraction dl+div,
	#attraction ul+div{
		margin-top: 1.5em;
		}
		#attraction dl+div a,
		#attraction ul+div a{
			padding: 1.5em;
			}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
#mapLink{}
	#mapLink dl{
		width: 15em;
		}
		#mapLink dl:nth-of-type(odd){
			margin-right: calc(50% - 15em);
			}
		#mapLink dl:nth-of-type(even){
			margin-left: calc(50% - 15em);
			}
		#mapLink dl:nth-of-type(n+3){
			margin-top: 2em;
			}
.subject{
	font-size: 6em;
	}
}


/* for TabletPC */
@media (min-width: 768px) {
/*768px以上*/
#heroSlide{}
	#heroSlide dl{
		height: 50vw;
		padding-bottom: 4em;
		}
#attraction{}
	#attraction h2{
		padding: 1.5em 1.5em 1em 1.5em;
		}
.slide{}
	.slide .slick-arrow{
		width: 2.4em;
		height: 2.4em;
		margin: -1.2em 0;
		}
	.slide .slick-dots{
		padding: 2em;
		}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
#about{}
	#about section{
		margin-top: 3em;
		}
		#about section:nth-of-type(odd){
			padding-left: calc(50% + 3em);
			}
		#about section:nth-of-type(even){
			padding-right: calc(50% + 3em);
			}
#mapLink{
	margin-top: 3em;
	}
#mapImg{
	transform: scale(0.8);
	}
#attraction{}
	#attraction article{}
		#attraction article:nth-of-type(odd){}
			#attraction article:nth-of-type(odd) .img{
				margin-left: 3em;
				padding-right: 3em;
				}
		#attraction article:nth-of-type(even){}
			#attraction article:nth-of-type(even) .img{
				margin-right: 3em;
				padding-left: 3em;
				}
		#attraction article:not(:last-child){
			padding-bottom: 6em;
			}
	#attraction h2+div+div{
		margin-top: 3em;
		}
	#attraction dl{
		width: calc(50% - 1.5em);
		}
		#attraction dl:nth-of-type(n+3){
			margin-top: 3em;
			}
	#attraction dl+div,
	#attraction ul+div{
		margin-top: 3em;
		}
	#attraction .img{
		height: 20em;
		margin-top: -6em;
		}
.slide{}
	.slide .slick-prev{
		left: 3em;
		}
	.slide .slick-next{
		right: 3em;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#nav{
	position: fixed;
	margin: 0;
	}
	#nav:not(.fixed){
		color: #fff;
		}
#heroSlide{}
	#heroSlide .slick-arrow{
		margin-top: 1.8em;
		}
#heroText{
	padding-top: 4em;
	}
#about{}
	#about section{
		margin-top: 4em;
		}
		#about section:nth-of-type(odd){
			padding-left: calc(50% + 4em);
			}
		#about section:nth-of-type(even){
			padding-right: calc(50% + 4em);
			}
#mapLink{
	margin-top: 4em;
	}
	#mapLink dl{
		width: 18em;
		}
		#mapLink dl:nth-of-type(odd){
			margin-right: calc(50% - 18em);
			}
		#mapLink dl:nth-of-type(even){
			margin-left: calc(50% - 18em);
			}
		#mapLink dl:nth-of-type(n+3){
			margin-top: 4em;
			}
	#mapLink dt{
		font-size: 1.2em;
		}
#mapImg{}
	#mapImg use{
		opacity: 1;
		transition: opacity 0.2s ease-out;
		}
		#mapImg use:not(.select){
			opacity: 0;
			}
#attraction{}
	#attraction article{}
		#attraction article:nth-of-type(odd){}
			#attraction article:nth-of-type(odd) .img{
				margin-left: 4em;
				padding-right: 4em;
				}
		#attraction article:nth-of-type(even){}
			#attraction article:nth-of-type(even) .img{
				margin-right: 4em;
				padding-left: 4em;
				}
		#attraction article:not(:last-child){
			padding-bottom: 8em;
			}
	#attraction h2+div+div{
		margin-top: 4em;
		}
	#attraction dl{
		width: calc(50% - 2em);
		}
		#attraction dl:nth-of-type(n+3){
			margin-top: 4em;
			}
	#attraction dl+div,
	#attraction ul+div{
		margin-top: 4em;
		}
	#attraction .img{
		height: 30em;
		margin-top: -8em;
		}
.subject{
	font-size: 8em;
	}
.slide{}
	.slide .slick-prev{
		left: 4em;
		}
	.slide .slick-next{
		right: 4em;
		}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
#mapImg{
	transform: scale(1.3);
	}
}




