/* CSS Document */

#detail{
	padding: 0;
	}

#detailHeader{
	padding-top: 0;
	}

#detailTitle{
	display: flex;
	flex-direction: column;
	padding-top: 0;
	overflow: hidden;
	}
	#detailTitle h2{
		position: relative;
		padding-bottom: 0.8em;
		font-size: 1.75em;
		font-weight: bold;
		line-height: 1.5em;
		}
		#detailTitle h2:before{
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 1px;
			background: linear-gradient(90deg, #9c1c29 20%, #b3b3b3 20%);
			}
	#detailTitle h2+div{
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		}
	#detailTitle figure{
		position: relative;
		height: 50vw;
		order: -1;
		}
	#detailTitle [data-fav-id]{
		position: relative;
		display: block;
		width: 100%;
		max-width: 300px;
		padding: 1em;
		padding-left: 3em;
		border: 1px solid #b3b3b3;
		background: #fff;
		color: inherit;
		fill: currentColor;
		text-align: center;
		text-decoration: none;
		cursor: pointer;
		z-index: 1;
		}
		#detailTitle [data-fav-id] i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			}
		#detailTitle [data-fav-id] path+path{
			opacity: 0;
			}
		#detailTitle [data-fav-id][data-fav-status="on"]{
			background: #9d804e;
			border-color: transparent;
			color: #fff;
			}
			#detailTitle [data-fav-id][data-fav-status="on"] path+path{
				opacity: 1;
				}
	#detailTitle .wrap{
		align-self: center;
		background: #fff;
		border: 1px solid #b3b3b3;
		border-radius: 12px;
		z-index: 1;
		}
	#detailTitle .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		}

#detailStatus{
	display: flex;
	}
	#detailStatus dl{
		display: flex;
		align-items: flex-start;
		}
	#detailStatus dt{
		margin-right: 1em;
		padding: 0.6em 1em;
		background: #9c1c29;
		border-radius: 2em;
		color: #fff;
		font-size: 0.875em;
		text-align: center;
		white-space: nowrap;
		}
	#detailStatus dd{
		padding-top: 0.2em;
		font-weight: bold;
		line-height: 1.5em;
		}

#detailLead{}
	#detailLead .fr-view{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.7em;
		}

#detailCourse{
	counter-reset: count;
	border-top: 1px solid #b3b3b3;
	}
	#detailCourse section{
		position: relative;
		margin-left: 4em;
		}
		#detailCourse section:before,
		#detailCourse section:after{
			position: absolute;
			top: 0;
			left: -3.7em;
			width: 2.4em;
			height: 2.4em;
			color: #9c1c29;
			}
		#detailCourse section:before{
			content: "";
			background: #fff;
			border: 2px solid currentColor;
			transform: rotate(45deg);
			}
		#detailCourse section:after{
			counter-increment: count;
			content: counter(count);
			display: flex;
			align-items: center;
			justify-content: center;
			transform: scale(1.6);
			}
	#detailCourse .wrap{
		position: relative;
		display: flex;
		flex-direction: column;
		}
		#detailCourse .wrap:before{
			content: "";
			position: absolute;
			top: 0;
			left: 1.5em;
			width: 0;
			height: 100%;
			margin-left: -1px;
			border-left: 2px solid #9c1c29;
			}

#detailCourseStart,
#detailCourseGoal{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 100%;
	max-width: 200px;
	height: 3em;
	background: #fff;
	border: 2px solid currentColor;
	color: #9c1c29;
	fill: currentColor;
	font-size: 1.1em;
	text-transform: uppercase;
	text-align: center;
	}
	#detailCourseStart:before,
	#detailCourseGoal:before{
		content: "";
		position: absolute;
		top: 50%;
		left: 1.5em;
		width: 0;
		height: 0;
		margin: -4px -8px;
		border: 4px solid currentColor;
		border-radius: 100%;
		}

#detailCourseStart{
	margin-top: -1.5em;
	}

#detailFooter{
	background: #e6e4dc;
	}

#detailMap{
	display: flex;
	flex-direction: column;
	}
	#detailMap menu{
		position: relative;
		display: block;
		align-self: center;
		width: 100%;
		max-width: 480px;
		align-items: center;
		justify-content: center;
		padding: 1em;
		padding-left: 3em;
		background: #fff;
		border: 1px solid #b3b3b3;
		color: inherit;
		text-align: center;
		line-height: 1.5em;
		cursor: pointer;
		order: 1;
		}
		#detailMap menu i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			}
		#detailMap menu svg{
			background: #9c1c29;
			fill: #fff;
			transform: scale(1.4);
			}
		#detailMap menu.open{}
			#detailMap menu.open svg{
				background: #b3b3b3;
				}
			#detailMap menu.open rect+rect{
				opacity: 0;
				}
	#detailMap menu+span{
		display: block;
		margin-bottom: 1em;
		background: #fff;
		border: 1px solid #8e8e8e;
		border-radius: 12px;
		overflow: hidden;
		}

#mapBody{
	position: relative;
	background: #ccc;
	}
	#mapBody > [id^="gMap"]{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	#mapBody [LSC-LT="dummy"]{
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: flex-start;
		column-gap: 1em;
		width: 100%;
		height: 100%;
		padding: 2em;
		z-index: 1;
		}
		#mapBody [LSC-LT="dummy"] > .infoWin{
			padding: 1em;
			background: #fff;
			}
		#mapBody [LSC-LT="dummy"] > img{
			width: 30px;
			height: 40px;
			}

#mapList{
	overflow-y: auto;
	}
	#mapList ul{
		counter-reset: count;
		}
	#mapList li{
		position: relative;
		padding-left: 3em;
		line-height: 1.5em;
		cursor: pointer;
		font-size: 1.1em;
		}
		/*
		#mapList li:before{
			counter-increment: count;
			content: counter(count);
			position: absolute;
			top: -0.2em;
			left: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 1.8em;
			height: 1.8em;
			background: #9c1c29;
			border-radius: 100%;
			color: #fff;
			z-index: 1;
			}
		*/
		#mapList li[data-map-type="typeSpot"]:before{
			counter-increment: count;
			content: counter(count);
			position: absolute;
			top: -0.2em;
			left: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 1.8em;
			height: 1.8em;
			background: #9c1c29;
			border-radius: 100%;
			color: #fff;
			z-index: 1;
			}
		#mapList li[data-map-type="typeBusStop"]:before{
			content: "";
			position: absolute;
			top: -0.2em;
			left: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 1.8em;
			height: 1.8em;
			background: #9c1c29 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 681 681"><path d="M359,420.02c87.55-9.27,156-83.55,156-173.52,0-96.22-78.28-174.5-174.5-174.5s-174.5,78.28-174.5,174.5c0,88.94,66.89,162.55,153,173.17v130.33h-119v40H488v-40h-129v-129.98ZM206,246.5c0-10.49,1.21-20.7,3.49-30.5H471.51c2.28,9.8,3.49,20.01,3.49,30.5,0,9.42-.98,18.62-2.83,27.5H208.83c-1.85-8.88-2.83-18.08-2.83-27.5ZM340.5,112c52.42,0,97.92,30.14,120.1,74H220.4c22.18-43.86,67.69-74,120.1-74Zm-121.57,192h243.14c-21.6,45.48-67.97,77-121.57,77s-99.98-31.52-121.57-77Z" style="fill:%23fff;"/></svg>') center no-repeat;
			background-size: 75%;
			border-radius: 100%;
			color: #fff;
			z-index: 1;
			}
	#mapList li a{
		display: contents;
		color: inherit;
		}

#detailFavorite{
	display: flex;
	justify-content: center;
	margin-top: 2em;
	}
	#detailFavorite [data-fav-id]{
		position: relative;
		display: block;
		width: 100%;
		max-width: 300px;
		padding: 1em;
		padding-left: 3em;
		border: 1px solid #b3b3b3;
		background: #fff;
		color: inherit;
		fill: currentColor;
		text-align: center;
		text-decoration: none;
		cursor: pointer;
		z-index: 1;
		}
		#detailFavorite [data-fav-id] i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			}
		#detailFavorite [data-fav-id] path+path{
			opacity: 0;
			}
		#detailFavorite [data-fav-id][data-fav-status="on"]{
			background: #9d804e;
			border-color: transparent;
			color: #fff;
			}
			#detailFavorite [data-fav-id][data-fav-status="on"] path+path{
				opacity: 1;
				}

#recommend{}
	#recommend h2{
		display: none;
		}
	#recommend section{
		padding-top: 0;
		}
	#recommend h3{
		position: relative;
		padding-left: 1.5em;
		font-size: 1.5em;
		line-height: 1.5em;
		}
		#recommend h3 i{
			position: absolute;
			top: 0.2em;
			left: 0;
			}
	#recommend h3+div{
		margin-top: 1.5em;
		}
	#recommend dl{
		position: relative;
		display: flex;
		flex-direction: column;
		}
	#recommend dt{
		position: relative;
		margin-top: -3em;
		height: 3em;
		width: 100%;
		padding: 1em;
		color: #fff;
		font-size: 1.1em;
		font-weight: bold;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
		}
	#recommend dt+dd{
		position: relative;
		order: -1;
		z-index: -1;
		}
		#recommend dt+dd:before{
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 25%;
			background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.8));
			z-index: 1;
			}
	#recommend dd{}
		#recommend dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	#recommend .thumb{
		padding-top: 100%;
		}
	#recommend .slide{
		height: 0;
		opacity: 0;
		transition: opacity 0.2s ease-out;
		}
	#recommend .slick-initialized{
		height: auto;
		opacity: 1;
		}
	#recommend .slick-arrow{
		top: 50%;
		}
	#recommend .slick-prev{
		left: 0;
		}
	#recommend .slick-next{
		right: 0;
		}

#reservation{
	padding-top: 0;
	}
	#reservation dl{
		background: #628180;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		font-weight: bold;
		}
	#reservation dt{
		color: #fff;
		}
	#reservation dt+dd{
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border: 5px solid #628180;
		}
		#reservation dt+dd img{
			width: 100%;
			height: auto;
			}
	#reservation dt+dd+dd{
		margin: 0.5em 0 1em 0;
		color: #fff;
		font-size: 1.2em;
		}
	#reservation dd{}
		#reservation dd a{
			position: relative;
			display: block;
			padding: 0.6em;
			padding-right: 3em;
			background: #fff;
			color: #4d596a;
			fill: #1a1a1a;
			font-size: 0.875em;
			text-decoration: none;
			}
		#reservation dd i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0.5em;
			}

.spotName{
	position: relative;
	padding-bottom: 0.5em;
	font-size: 1.75em;
	font-weight: bold;
	line-height: 1.5em;
	}
	.spotName:before{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: linear-gradient(90deg, #9c1c29 20%, #b3b3b3 20%);
		}
	.spotName+div{
		display: flex;
		flex-direction: column;
		}

.spotCatch{
	margin-top: 1em;
	color: #9c1c29;
	font-size: 1.1em;
	line-height: 1.5em;
	order: -1;
	}
	.spotCatch+.fr-view{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.7em;
		}

.spotPhoto{
	margin-top: 1.5em;
	order: -1;
	}
	.spotPhoto li{}
		.spotPhoto li[data-caption]:not([data-caption=""]){
			position: relative;
			}
			.spotPhoto li[data-caption]:not([data-caption=""]):before{
				content: attr(data-caption);
				position: absolute;
				left: 0;
				bottom: 0;
				width: 100%;
				padding: 0.8em;
				background: rgba(0,0,0,0.5);
				color: #fff;
				z-index: 1;
				}
	.spotPhoto .slide-nav{
		position: relative;
		height: 0;
		opacity: 0;
		transition: opacity 0.2s ease-out;
		border: 1px solid #b3b3b3;
		background: #fff;
		border-radius: 12px;
		}
		.spotPhoto .slide-nav li{
			cursor: pointer;
			}
		.spotPhoto .slide-nav .slick-current{
			opacity: 0.5;
			}
	.spotPhoto .slick-initialized{
		height: auto;
		opacity: 1;
		}

.spotInfo{
	display: flex;
	}
	.spotInfo menu,
	.spotInfo a{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 1em;
		padding-right: 3em;
		background: #fff;
		border: 1px solid #b3b3b3;
		color: inherit;
		text-align: center;
		line-height: 1.5em;
		text-decoration: none;
		}
		.spotInfo i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}
	.spotInfo menu{
		max-width: 20em;
		cursor: pointer;
		}
		.spotInfo menu span{
			line-height: inherit;
			}
		.spotInfo menu.open{
			background: #9c1c29;
			border-color: transparent;
			color: #fff;
			}
			.spotInfo menu.open svg{
				transform: rotate(180deg);
				}

.spotData{
	align-self: stretch;
	margin-top: 1em;
	}
	.spotData dl{
		display: flex;
		background: #fff;
		}
	.spotData dt,
	.spotData dd{
		padding: 0.8em;
		line-height: 1.5em;
		border-bottom: 1px solid #b3b3b3;
		}
	.spotData dt{
		background: #9c1c29;
		color: #fff;
		}
	.spotData dd{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		}

.spotLink{
	display: flex;
	max-width: 20em;
	}
	.spotLink a{
		width: 100%;
		}
		.spotLink a:not(:hover){
			color: currentColor;
			}
		.spotLink a:hover{
			text-decoration: none;
			}

.move{
	position: relative;
	align-self: flex-start;
	display: inline-block;
	margin-left: 0.25em;
	padding: 0.5em 1.5em;
	padding-left: 3.75em;
	background: #9c1c29;
	border-radius: 1.25em;
	color: #fff;
	fill: #9c1c29;
	font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	line-height: 1.5em;
	}
	.move i{
		position: absolute;
		left: 0;
		top: 0;
		width: 2.5em;
		height: 2.5em;
		}
	.move svg{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		}

.busstop{
	position: relative;
	align-self: flex-start;
	display: inline-block;
	margin-left: 0.25em;
	padding: 0.5em 1.5em;
	padding-left: 4em;
	font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	line-height: 1.5em;
	}
	.busstop:before{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 2.5em;
		height: 2.5em;
		background: #9c1c29 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 681 681"><path d="M359,420.02c87.55-9.27,156-83.55,156-173.52,0-96.22-78.28-174.5-174.5-174.5s-174.5,78.28-174.5,174.5c0,88.94,66.89,162.55,153,173.17v130.33h-119v40H488v-40h-129v-129.98ZM206,246.5c0-10.49,1.21-20.7,3.49-30.5H471.51c2.28,9.8,3.49,20.01,3.49,30.5,0,9.42-.98,18.62-2.83,27.5H208.83c-1.85-8.88-2.83-18.08-2.83-27.5ZM340.5,112c52.42,0,97.92,30.14,120.1,74H220.4c22.18-43.86,67.69-74,120.1-74Zm-121.57,192h243.14c-21.6,45.48-67.97,77-121.57,77s-99.98-31.52-121.57-77Z" style="fill:%23fff;"/></svg>') center no-repeat;
		background-size: 75%;
		border-radius: 100%;
		}

.date{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	padding: 0.8em;
	background: #fff;
	border: 2px solid currentColor;
	color: #9c1c29;
	fill: currentColor;
	font-size: 1.1em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.5em;
	}

.slide{}
	.slide .slick-arrow{
		position: absolute;
		margin: -1.5em;
		}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#detailTitle{}
	#detailTitle h2+div+div{
		display: flex;
		align-items: center;
		margin-top: 2em;
		}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767px以下*/
#detailHeader{}
	#detailHeader .wrap{
		padding: 1.5em;
		}
		#detailHeader .wrap:only-child{
			margin-top: 2em;
			}
#detailTitle{}
	#detailTitle h2+div{
		margin-top: 1em;
		}
	#detailTitle figure{
		margin-bottom: -1.5em;
		}
#detailCourse{}
	#detailCourse section{}
		#detailCourse section:before,
		#detailCourse section:after{
			top: 3em;
			}
	#detailCourse .wrap{}
		#detailCourse .wrap > div+div{
			margin-top: 2em;
			}
#detailFooter{
	margin-top: 2em;
	}
#mapList{
	height: 10em;
	}
#recommend{}
	#recommend .slick-list{
		margin: 0 -0.5em;
		}
	#recommend .slick-slide{
		margin: 0 0.5em;
		}
#reservation{
	margin-bottom: 2em;
	}
	#reservation dl{
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 1.5em;
		}
	#reservation dt+dd{
		margin: -1.5em;
		margin-top: 1.5em;
		align-self: stretch;
		order: 1;
		}
.spotCatch{}
	.spotCatch+.fr-view{
		margin-top: 1.5em;
		}
.spotPhoto{}
	.spotPhoto .slide-nav{
		margin-top: 1em;
		padding: 1em 2em;
		}
	.spotPhoto .slick-list{
		margin: 0 -0.5em;
		}
	.spotPhoto .slick-slide{
		margin: 0 0.5em;
		}
	.spotPhoto .slick-arrow{
		top: 50%;
		}
	.spotPhoto .slick-prev{
		left: 0;
		}
	.spotPhoto .slick-next{
		right: 0;
		}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下縦向き*/
#detailStatus{
	flex-direction: column;
	}
	#detailStatus dl+dl{
		margin-top: 1em;
		}
#mapBody{
	height: 70vh;
	}
#mapList{
	padding: 1em;
	}
	#mapList li{
		font-size: 1em;
		}
	#mapList li+li{
		margin-top: 1em;
		}
.spotInfo{
	flex-direction: column;
	align-items: center;
	margin-top: 1.5em;
	}
	.spotInfo menu,
	.spotInfo .spotLink{
		width: 100%;
		}
.spotData{
	align-self: stretch;
	}
	.spotData dl{
		flex-direction: column;
		}
	.spotData dt{
		border: none;
		}
.spotLink{}
	.spotLink:not(:first-child){
		margin-top: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下横向き*/
#recommend{}
	#recommend .slick-list{
		padding: 0 15vw;
		}
}
@media (min-width: 576px) and (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*576px～767px横向き, 768px以上*/
#detailStatus{
	flex-wrap: wrap;
	margin: -0.5em -1em;
	}
	#detailStatus dl{
		margin: 0.5em 1em;
		}
#mapBody{}
	#mapBody:before{
		content: "";
		display: block;
		padding-top: 75%;
		}
#mapList{
	padding: 1.5em;
	}
.spotInfo{
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.5em;
	}
	.spotInfo menu,
	.spotInfo .spotLink{
		width: calc(50% - 0.5em);
		}
.spotData{
	width: 100%;
	order: 1;
	}
	.spotData dl{
		flex-wrap: wrap;
		border-right: 1px solid #b3b3b3;
		}
	.spotData dt{
		width: 10em;
		}
	.spotData dd{
		width: calc(100% - 10em);
		}
		.spotData dd:nth-of-type(1){
			border-top: 1px solid #b3b3b3;
			}
.spotLink{}
	.spotLink:not(:first-child){
		margin-left: 1em;
		}
}
@media (min-width: 576px) and (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*576px～767px横向き, 768px～991px*/
#mapList{}
	#mapList ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#mapList li{
		width: calc(50% - 0.5em);
		}
		#mapList li:nth-of-type(n+3){
			margin-top: 1em;
			}
	#mapList [lsc-lt="dummy"]{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#detailHeader{}
	#detailHeader .wrap{
		padding: 2em;
		}
#detailTitle{}
	#detailTitle h2+div{
		margin-top: 1.5em;
		}
	#detailTitle figure{
		margin-bottom: -6em;
		}
#recommend{}
	#recommend .slick-list{
		margin: 0 -0.75em;
		}
	#recommend .slick-slide{
		margin: 0 0.75em;
		}
#reservation{}
	#reservation dl{
		display: -ms-grid;
		-ms-grid-columns: 17em calc(100% - 17em);
		grid-template-rows: auto auto auto;
		display: grid;
		grid-template-columns: 17em calc(100% - 17em);
		padding: 1.5em 3em;
		}
	#reservation dt{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
		}
	#reservation dt+dd{
		-ms-grid-column: 2;
		-ms-grid-row: 1;
		-ms-grid-row-span: 4;
		grid-column: 2;
		grid-row: 1 / 4;
		margin: -1.5em -3em;
		margin-left: 2em;
		padding-left: 1em;
		}
	#reservation dd{}
		#reservation dd:nth-of-type(2){
			-ms-grid-column: 1;
			-ms-grid-row: 2;
			}
		#reservation dd:nth-of-type(3){
			-ms-grid-column: 1;
			-ms-grid-row: 3;
			}
.spotCatch{}
	.spotCatch+.fr-view{
		margin-top: 2em;
		}
.spotPhoto{
	display: flex;
	justify-content: space-between;
	}
	.spotPhoto .slide-main{}
		.spotPhoto .slide-main:last-child{
			width: 100%;
			}
	.spotPhoto .slide-nav{
		padding: 1.5em;
		}
		.spotPhoto .slide-nav .slick-list{
			position: absolute;
			left: 1.5em;
			top: 50%;
			width: calc(100% - 3em);
			height: calc(100% - 3em);
			transform: translate(0,-50%);
			}
		.spotPhoto .slide-nav .slick-slide{
			margin: 0.5em 0;
			}
	.spotPhoto .slick-prev{
		left: 50%;
		top: 0;
		transform: rotate(90deg);
		}
	.spotPhoto .slick-next{
		right: 50%;
		bottom: 0;
		transform: rotate(90deg);
		}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
#detailHeader{}
	#detailHeader figure{
		margin-bottom: -2em;
		}
	#detailHeader .wrap{}
		#detailHeader .wrap:only-child{
			margin-top: 3em;
			}
#detailCourse{}
	#detailCourse section{}
		#detailCourse section:before,
		#detailCourse section:after{
			top: 3em;
			}
	#detailCourse .wrap{}
		#detailCourse .wrap > div+div{
			margin-top: 3em;
			}
#reservation{
	margin-bottom: 3em;
	}
.spotPhoto{}
	.spotPhoto .slide-main{}
		.spotPhoto .slide-main:not(:last-child){
			width: calc(78% - 3em);
			}
	.spotPhoto .slide-nav{
		width: 22%;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#detailHeader{}
	#detailHeader .wrap{}
		#detailHeader .wrap:only-child{
			margin-top: 4em;
			}
#detailTitle{}
	#detailTitle h2{
		width: 100%;
		}
	#detailTitle h2+div{
		width: calc(100% - 300px);
		padding-right: 4em;
		}
	#detailTitle h2+div+div{
		margin-top: 1.5em;
		width: 300px;
		}
	#detailTitle .wrap{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		}
#detailCourse{}
	#detailCourse section{}
		#detailCourse section:before,
		#detailCourse section:after{
			top: 4em;
			}
	#detailCourse .wrap{}
		#detailCourse .wrap > div+div{
			margin-top: 4em;
			}
#detailFooter{
	margin-top: 4em;
	}
#detailMap{
	position: relative;
	}
#mapBody{
	width: calc(100% - 18em);
	}
#mapList{
	position: absolute;
	top: 0;
	right: 0;
	width: 18em;
	height: 100%;
	}
	#mapList li+li{
		margin-top: 1em;
		}
#reservation{
	margin-bottom: 4em;
	}
.spotPhoto{}
	.spotPhoto .slide-main{}
		.spotPhoto .slide-main:not(:last-child){
			width: calc(78% - 4em);
			}
	.spotPhoto .slide-nav{
		width: 22%;
		}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
#reservation{}
	#reservation dl{
		margin: 0 100px;
		}
}




