/* CSS Document */

#main{}
	#main article+article{
		padding-top: 0;
		}

#detail{
	padding-top: 0;
	overflow: hidden;
	}

#detailHeader{
	position: relative;
	background: #fff;
	filter: drop-shadow(0 0 0.2em rgba(0,0,0,0.5));
	z-index: 1;
	}

#detailTitle{
	display: flex;
	flex-direction: column-reverse;
	padding-bottom: 1em;
	border-bottom: 1px solid #ccc;
	}
	#detailTitle h2{
		display: flex;
		flex-direction: column;
		color: #4d4d4d;
		line-height: 1.4em;
		}
		#detailTitle h2:before{
			content: attr(data-ruby);
			font-size: 0.5em;
			line-height: 1em;
			}
	#detailTitle span{
		margin: 0;
		font-weight: bold;
		line-height: 1.4em;
		}

#detailLead{
	margin-top: 1em;
	}
	#detailLead p{
		font-weight: bold;
		}

#detailPhoto{}
	#detailPhoto .slide-nav{}
		#detailPhoto .slide-nav li{
			margin: 0 1em;
			cursor: pointer;
			}
	#detailPhoto .thumb{
		padding-top: 66.66%;
		}

#detailContents{
	background: #f9f7ef;
	}
	#detailContents+#detailInformation{
		padding-top: 0;
		}

#detailInformation{
	background: #f9f7ef;
	}
	#detailInformation div+div{
		margin-top: 0;
		}
	#detailInformation ul{
		margin-top: 2em;
		}

#detailBody{}
	#detailBody .fr-view{
		line-height: 1.6em;
		}

#detailIndex{
	padding-top: 2em;
	border-top: 1px solid #ccc;
	}
	#detailIndex dl{
		display: flex;
		flex-wrap: wrap;
		}
	#detailTag dl+dl{
		margin-top: 2em;
		}
	#detailIndex dt{
		width: 100%;
		margin-bottom: 0.5em;
		padding-left: 0.5em;
		border-left: 3px solid #00a99d;
		font-size: 1.2em;
		font-weight: bold;
		}
	#detailIndex dd{
		margin:0.5em 0.5em 0 0;
		}
	#detailIndex a{
		display: block;
		padding: 0.5em 0.8em;
		background: #fff;
		border: 1px solid #00a99d;
		color: #00a99d;
		fill: #00a99d;
		text-decoration: none;
		}
		#detailIndex a:hover{
			background: #00a99d;
			color: #fff;
			fill: #fff;
			}

#detailCategory{}
	#detailCategory a{
		display: flex;
		align-items: center;
		}
	#detailCategory i{
		margin-left: 0.5em;
		margin-right: -0.5em;
		}

#detailAction{}
	#detailAction ul{
		display: flex;
		list-style: none;
		}
	#detailAction li{
		cursor: pointer;
		}
	#detailAction a{
		display: flex;
		align-items: center;
		width: 100%;
		font-size: 1.2em;
		}
	#detailAction i{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1em;
		margin-right: 0.3em;
		font-size: 1.4em;
		}

#startPhoto{
	background: #00a99d;
	border-color: transparent;
	color: #fff;
	fill: #fff;
	}
	#startPhoto:hover{
		opacity: 0.7;
		}

#favoriteList{
	background: #e07112;
	border-color: transparent;
	color: #fff;
	fill: #fff;
	opacity: 0;
	}
	#favoriteList i+i{
		display: none;
		}
	#favoriteList.favOff{
		fill: transparent;
		stroke: #fff;
		stroke-width: 1px;
		stroke-linecap: round;
		opacity: 1;
		}
		#favoriteList.favOff:hover{
			opacity: 0.7;
			}
	#favoriteList.favOn{
		background: #ccc;
		border-color: transparent;
		color: #fff;
		fill: #fff;
		opacity: 1;
		}
		#favoriteList.favOn:hover{
			background: #fff;
			border-color: #00a99d;
			color: #00a99d;
			fill: #00a99d;
			}
			#favoriteList.favOn:hover .favCount{
				display: none;
				}
		#favoriteList.favOn .favCount{
			color: #ccc;
			}
	#favoriteList .favCount{
		position: relative;
		display: flex;
		align-items: center;
		margin: -0.5em 0;
		margin-left: auto;
		padding: 0.5em;
		background: #fff;
		border-radius: 2px;
		font-size: 0.8em;
		color: #e07112;
		text-align: center;
		line-height: 1em;
		}
		#favoriteList .favCount:before{
			content: "★";
			}
		#favoriteList .favCount:after{
			content: "";
			position: absolute;
			top: calc(50% - 0.5em);
			left: -0.9em;
			border: 0.5em solid transparent;
			border-right-color: #fff;
			transform: scale(1,0.75);
			}
	#favoriteList span{
		margin-right: 1em;
		}

#detailSns{}
	#detailSns ul{
		display: flex;
		justify-content: center;
		list-style: none;
		}
	#detailSns li+li{
		margin-left: 0.5em;
		}
	#detailSns a{
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0.5em;
		border-radius: 4px;
		color: #fff;
		fill: #fff;
		font-size: 0.8em;
		text-decoration: none;
		}
		#detailSns a:hover{
			opacity: 0.7;
			}
		#detailSns a i{
			margin-right: 0.3em;
			}
	#detailSns [data-target="twitter"]{
		background: #1da1f2;
		}
	#detailSns [data-target="facebook"]{
		background: #3b5998;
		}
	#detailSns [data-target="line"]{
		background: #00c300;
		}

#detailMovie{}
	#detailMovie.adjust-yes{
		display: none;
		}
	#detailMovie h3{
		line-height: 1.4em;
		}
	#detailMovie h3+div{
		margin-top: 1em;
		}
	#detailMovie+#detailMovie{
		margin-top: 2em;
		}

#detailInformation{}
	#detailInformation h3{
		display: flex;
		justify-content: center;
		align-items: center;
		fill: #00a99d;
		}
		#detailInformation h3 i{
			margin-right: 0.2em;
			font-size: 1.2em;
			}
	#detailInformation dt,
	#detailInformation dd{
		line-height: 1.6em;
		}
	#detailInformation dd{
		display: flex;
		flex-direction: column;
		}
		#detailInformation dd a+a{
			margin-top: 1em;
			}

#reservationCheck{
	position: relative;
	width: 100%;
	max-width: 20em;
	padding: 0.8em 1em;
	padding-right: 3em;
	background: #e3472a;
	border-color: #e3472a;
	color: #fff;
	fill: #fff;
	font-size: 1.2em;
	}
	#reservationCheck i{
		position: absolute;
		top: calc(50% - 0.5em);
		right: 0.5em;
		font-size: 1.4em;
		}

#detailMap{
	padding-bottom: 0;
	overflow: hidden;
	}
	#detailMap h3{
		display: flex;
		justify-content: center;
		align-items: center;
		fill: #00a99d;
		}
		#detailMap h3 i{
			margin-right: 0.2em;
			font-size: 1.2em;
			}

#gMap{
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}

[id^="recommend"]{
	overflow: hidden;
	}
	[id^="recommend"] h3{
		fill: #00a99d !important;
		}



/* for all */
@media (max-width: 1199px) {
/*1199px以下*/
}
@media (max-width: 991px) {
/*991px以下*/
#detailPhoto{}
	#detailPhoto .slide-nav{
		display: none !important;
		}
	#detailPhoto .slick-dots{
		padding: 0 1em;
		}
#detailAction{}
	#detailAction li{
		display: flex;
		}
}


/* for mobile */
@media (max-width: 767px) {
/*767以下px*/
#detailPhoto{}
	#detailPhoto .slick-slider{
		margin-left: -1em;
		margin-right: -1em;
		}
}
@media (max-width: 767px) and (orientation:portrait) {
/*767px以下 縦向き*/
#detailTag{}
	#detailTag dl{
		padding-left: 0.5em;
		}
	#detailTag dt{
		position: static;
		width: 100%;
		}
#detailAction{}
	#detailAction ul{
		flex-direction: column;
		align-items: stretch;
		padding: 0 2em;
		}
	#detailAction li+li{
		margin-top: 1em;
		}
#detailSns{}
	#detailSns ul{
		justify-content: center;
		}
#detailContents{}
	#detailContents nav{
		margin-top: 2em;
		}
		#detailContents nav ul{
			padding: 0 3em;
			}
		#detailContents nav dl{
			margin-top: 2em;
			}
	#detailContents .wrap{
		display: block;
		}
		#detailContents .wrap > *{
			width: 100% !important;
			}
}
@media (max-width: 767px) and (orientation:landscape) {
/*767px以下 横向き*/
#detailAction{}
	#detailAction ul{
		display: flex;
		justify-content: center;
		}
	#detailAction li+li{
		margin-left: 1em;
		}
}


/* for TabletPC */
@media (min-width: 768px) {
/*768px以上*/
#detailPhoto{}
	#detailPhoto .slick-list{
		margin-left: 1em;
		margin-right: 1em;
		}
#detailTitle{}
	#detailTitle h2+span{
		font-size: 0.8em;
		}
#detailInformation{}
	#detailInformation dt,
	#detailInformation dd{
		padding: 1em;
		}
}
@media (min-width: 768px) and (max-width: 1199px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991px) {
/*768px～991px*/
#detailPhoto{}
	#detailPhoto .slick-list{}
		#detailPhoto .slick-list li{
			margin: 0 0.75em;
			}
	#detailPhoto .slick-prev{
		left: calc(50% - 360px);
		}
	#detailPhoto .slick-next{
		right: calc(50% - 360px);
		}
#detailAction{}
	#detailAction ul{
		display: flex;
		justify-content: center;
		}
	#detailAction li+li{
		margin-left: 1em;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#detailPhoto{}
	#detailPhoto .slide{}
		#detailPhoto .slide li{
			margin: 0 1em;
			}
	#detailPhoto .slide-nav{
		margin-top: 2em;
		}
		#detailPhoto .slide-nav li{
			margin: 0 1em;
			}
		#detailPhoto .slide-nav .slick-list{
			margin-left: 0;
			margin-right: 0;
			}
#detailContents{}
	#detailContents .wrap{
		display: flex;
		justify-content: space-between;
		}
#detailBody{
	width: calc(100% - 22em);
	}
#detailMenu{
	width: 20em;
	margin-top: 0;
	}
#detailAction{}
	#detailAction ul{
		flex-direction: column;
		}
	#detailAction li+li{
		margin-top: 1em;
		}
#favoriteList{}
	#favoriteList .favCount{
		margin-left: auto;
		}
#detailMovie{}
	#detailMovie .wrap{
		padding: 0 10%;
		}
}
@media (min-width: 992px) and (max-width: 1199px) {
/*992px～1200px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
}


/* Edge */
@supports (-ms-ime-align:auto) {
}


/* ie */
@media all and (-ms-high-contrast: none){}


