/* CSS Document */

#access{
	padding-bottom: 0;
	}
	#access figure{
		background: #fff;
		text-align: center;
		}
	#access figure img{
		max-width: 1140px;
		}

#accsessMap{
	background: #fff;
	}
	#accsessMap iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	#accsessMap .wrap{
		position: relative;
		}

#route{
	padding-top: 0;
	}
	#route:not(:last-child){
		padding-bottom: 0;
		}
	#route h2{
		display: none;
		}
	#route sectio{}
		#route section:not(:last-child){
			padding-bottom: 0;
			}
	#route section+section{
		padding-top: 2em;
		}
	#route h3{
		position: relative;
		padding: 0.8em 2.3em;
		background: #fff;
		border: 1px solid #b3b3b3;
		fill: #9c1c29;
		font-size: 1.5em;
		line-height: 1.5em;
		letter-spacing: 0.05em;
		font-weight: 500;
		cursor: pointer;
		}
		#route h3 i{
			position: absolute;
			top: 0.8em;
			left: 0.8em;
			transform: translate(0,0.15em);
			}
		#route h3 span{
			position: absolute;
			top: 0.8em;
			right: 0.8em;
			transform: translate(0,0.15em);
			}
			#route h3 span svg{
				background: #9c1c29;
				fill: #fff;
				}
		#route h3.open{}
			#route h3.open span{}
				#route h3.open span svg{
					background: #b3b3b3;
					}
				#route h3.open span rect+rect{
					opacity: 0;
					}
	#route h3+span{
		display: block;
		}
	#route h4{
		position: relative;
		padding-bottom: 0.5em;
		font-size: 1.25em;
		line-height: 1.5em;
		letter-spacing: 0.05em;
		font-weight: 500;
		}
	#route h4:before{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: linear-gradient(90deg, #9c1c29 20%, #b3b3b3 20%);
		}
	#route h4+div{
		margin-top: 1.5em;
		}
	#route footer{}
		#route footer dl{
			position: relative;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			width: 100%;
			max-width: 410px;
			padding: 1em;
			border: 1px solid currentColor;
			border-radius: 4px;
			color: #246cb3;
			}
			#route footer dl:nth-of-type(1){}
				#route footer dl:nth-of-type(1) dt{
					font-size: 1.125em;
					font-weight: 500;
					order: 1;
					}
		#route footer dt,
		#route footer dd{
			text-align: center;
			line-height: 1.5em;
			}
		#route footer dd{}
			#route footer dd a{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: transparent;
				}
			#route footer dd i{
				position: absolute;
				top: calc(50% - 0.5em);
				right: 1em;
				fill: #246cb3;
				}

#routeSelect{
	background: #fff;
	border-bottom: 1px solid #b3b3b3;
	}
	#routeSelect dl{
		display: flex;
		flex-wrap: wrap;
		}
	#routeSelect dt{
		width: 100%;
		padding-left: 0.5em;
		border-left: 2px solid #9c1c29;
		font-size: 1.2em;
		}
	#routeSelect dd{
		display: flex;
		margin-top: 1em;
		background: #fff;
		border: 1px solid #b3b3b3;
		}
		#routeSelect dd a{
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 1em;
			color: inherit;
			text-align: center;
			line-height: 1.5em;
			text-decoration: none;
			}
	#routeSelect dd.select{
		background: #9c1c29;
		border-color: transparent;
		}
		#routeSelect dd.select a{
			color: #fff;
			}
	#routeSelect+div{}
		#routeSelect+div p{
			padding: 10% 0;
			text-align: center;
			opacity: 0.5;
			}

#links{
	padding-top: 0;
	}
	#links h2{
		position: relative;
		padding-bottom: 0.6em;
		font-size: 1.75em;
		font-weight: bold;
		line-height: 1.5em;
		}
		#links h2:before {
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 1px;
			background: linear-gradient(90deg, #9c1c29 20%, #b3b3b3 20%);
			}
	#links h2+div{
		margin-top: 2em;
		}
	#links section{
		padding: 0;
		}
	#links h3{
		padding-left: 0.5em;
		border-left: 2px solid #9c1c29;
		font-size: 1.25em;
		}
	#links h3+div{
		margin-top: 1.5em;
		}
	#links ul{
		display: flex;
		flex-direction: column;
		}
	#links li{}
		#links li a{
			position: relative;
			display: inline-block;
			padding-left: 1.5em;
			line-height: 1.5em;
			}
		#links li i{
			position: absolute;
			top: 0.2em;
			left: 0;
			}
	#links li+li{
		margin-top: 1em;
		}

.accsess{}
	.accsess:first-child{
		margin-top: 2em;
		}

.route,
.text,
.link{
	margin-top: 2em;
	}

.spot{
	padding: 1em;
	background: #fff;
	border: 1px solid #b3b3b3;
	font-weight: 500;
	line-height: 1.5em;
	text-align: center;
	}
	.spot:first-child,
	.spot:last-child{
		background: #9c1c29;
		border-color: transparent;
		color: #fff;
		}

.move{
	position: relative;
	font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	overflow: hidden;
	}
	.move:before{
		content: "";
		position: absolute;
		border: solid #b3b3b3;
		}
	.move span{
		font-size: 0.875em;
		line-height: 1.5em;
		}
		.move span:empty{
			display: none;
			}

.text{}
	.text .fr-view{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.7em;
		}

.link{
	font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	}
	.link ul{
		display: flex;
		flex-wrap: wrap;
		margin: -0.5em -1em;
		}
	.link li{
		margin: 0.5em 1em;
		}
	.link li{}
		.link li a{
			position: relative;
			display: inline-block;
			padding-left: 1.5em;
			color: currentColor;
			line-height: 1.5em;
			}
		.link li i{
			position: absolute;
			top: 0.3em;
			left: 0;
			}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
}


/* for mobile */
@media (max-width: 767.98px) {
/*767以下px*/
#accsessMap{
	padding-top: 2em;
	}
#routeGoal{
	margin-top: 2em;
	}
.accsess{
	margin-top: 2em;
	}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下 縦向き*/
#accsessMap{}
	#accsessMap .wrap{
		padding-top: 100%;
		}
#route{}
	#route footer{}
		#route footer dl+dl{
			margin-top: 1em;
			}
#routeSelect{}
	#routeSelect dl{
		justify-content:space-between;
		}
	#routeSelect dd{
		width: calc(50% - 0.5em);
		}
#links{}
	#links section+section{
		margin-top: 2em;
		}
.move{
	display: flex;
	flex-direction: column;
	padding: 1em 0;
	padding-left: 2.5em;
	}
	.move:before{
		top: -0.5em;
		left: 1em;
		width: 0.6em;
		height: 100%;
		border-width: 0px 0px 1px 1px;
		transform: skewY(-45deg);
		}
	.move span:not(:empty)+span{
		margin-top: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下 横向き*/
#links{}
	#links section{
		width: calc(50% - 1em);
		}
		#links section:nth-of-type(n+3){
			margin-top: 2em;
			}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#accsessMap{}
	#accsessMap .wrap{
		padding-top: 56.25%;
		}
#route{}
	#route footer{}
		#route footer .wrap{
			display: flex;
			justify-content: center;
			}
#links{}
	#links h2+div{
		display: flex;
		flex-wrap: wrap;
		}
.route{}
	.route ul{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		}
.move{
	display: -ms-grid;
	-ms-grid-rows: 1fr 1.5em 1fr;
	display: grid;
	grid-template-rows: 1fr 1fr;
	padding: 0 1em;
	grid-gap: 1.5em 0;
	}
	.move:before{
		top: calc(50% - 0.6em);
		left: -0.5em;
		width: 100%;
		height: 0.6em;
		border-width: 0 1px 1px 0;
		transform: skewX(45deg);
		}
	.move span{
		text-align: center;
		}
		.move span:nth-of-type(1){
			-ms-grid-column: 1;
			}
		.move span:nth-of-type(2){
			-ms-grid-column: 3;
			}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
#routeSelect{}
	#routeSelect dd{
		width: calc(25% - 0.75em);
		}
		#routeSelect dd:not(:nth-of-type(4n+1)){
			margin-left: 1em;
			}
	#route footer{}
		#route footer dl+dl{
			margin-left: 1em;
			}
#links{}
	#links h2+div{
		justify-content: space-between;
		}
.route{}
	.route li{
		width: 33.33%;
		}
		.route li:nth-of-type(n+4){
			margin-top: 1em;
			}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
#accsessMap{
	padding-top: 3em;
	}
#route{}
	#route h3{}
		#route h3 span{
			padding-bottom: 1em;
			}
#routeGoal{
	margin-top: 3em;
	}
#links{}
	#links section{
		width: calc(50% - 1.5em);
		}
		#links section:nth-of-type(n+3){
			margin-top: 3em;
			}
.accsess{
	margin-top: 3em;
	}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#accsessMap{
	padding-top: 4em;
	}
#route{}
	#route h3+span{
		padding-bottom: 2em;
		}
	#route footer{}
		#route footer dl+dl{
			margin-left: 2em;
			}
#routeGoal{
	margin-top: 4em;
	}
#routeSelect{}
	#routeSelect dd{
		width: calc(20% - 0.8em);
		}
		#routeSelect dd:not(:nth-of-type(5n+1)){
			margin-left: 1em;
			}
#links{}
	#links section{
		width: calc(33.33% - 2.67em);
		}
		#links section:not(:nth-of-type(3n+1)){
			margin-left: 4em;
			}
		#links section:nth-of-type(n+4){
			margin-top: 4em;
			}
.accsess{
	margin-top: 4em;
	}
.route{}
	.route li{
		width: 20%;
		}
		.route li:nth-of-type(n+6){
			margin-top: 1em;
			}
		.route li.move:nth-of-type(2):nth-last-of-type(2){
			width: 60%;
			}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
}



