/* CSS Document */

#detail{
	padding-top: 0;
	}
	#detail.off{}
		#detail.off #contents{
			width: 100% !important;
			}
		#detail.off #sidebar{
			display: none;
			}

#detailHeader{
	display: flex;
	flex-direction: column;
	padding-top: 0;
	overflow: hidden;
	}
	#detailHeader h2{
		position: relative;
		padding-bottom: 0.8em;
		font-size: 1.75em;
		font-weight: bold;
		line-height: 1.5em;
		}
		#detailHeader h2:before{
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 1px;
			background: linear-gradient(90deg, #9c1c29 20%, #b3b3b3 20%);
			}
	#detailHeader h2+div{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.7em;
		}
	#detailHeader figure{
		position: relative;
		height: 50vw;
		order: -1;
		}
	#detailHeader [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;
		}
		#detailHeader [data-fav-id] span{
			line-height: inherit;
			}
		#detailHeader [data-fav-id] i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			}
		#detailHeader [data-fav-id] path+path{
			opacity: 0;
			}
		#detailHeader [data-fav-id][data-fav-status="on"]{
			background: #9d804e;
			border-color: transparent;
			color: #fff;
			}
			#detailHeader [data-fav-id][data-fav-status="on"] path+path{
				opacity: 1;
				}
	#detailHeader .wrap{
		align-self: center;
		background: #fff;
		border: 1px solid #b3b3b3;
		border-radius: 12px;
		z-index: 1;
		}
	#detailHeader .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		}

#detailTable{
	position: relative;
	padding: 1.5em;
	padding-bottom: 2em;
	background: #fff;
	border: 1px solid #b3b3b3;
	border-radius: 12px;
	overflow: hidden;
	}
	#detailTable h3{
		display: flex;
		align-items: center;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #b3b3b3;
		font-size: 1.1em;
		}
		#detailTable h3 i{
			margin-right: 0.5em;
			}
	#detailTable h3+div{
		margin-top: 1.5em;
		}
	#detailTable ul{
		display: flex;
		flex-direction: column;
		padding-bottom: 2em;
		}
	#detailTable li{
		margin-top: 1em;
		}
		#detailTable li a{
			position: relative;
			display: inline-block;
			padding-left: 1.2em;
			color: inherit;
			fill: #9c1c29;
			text-decoration: none;
			}
		#detailTable li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 0;
			}
	#detailTable menu{
		position: absolute;
		left: 0;
		bottom: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 0.8em;
		background: #e6e4dc;
		font-size: 0.8em;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		cursor: pointer;
		}
		#detailTable menu i{
			margin-left: 0.5em;
			}
		#detailTable menu.open{}
			#detailTable menu.open svg{
				transform: rotate(180deg);
				}

#detailArticle{}
	#detailArticle section{
		padding-top: 0;
		}
	#detailArticle .photos+.text{
		margin-top: 2em;
		}

#detailFavorite{
	display: flex;
	justify-content: center;
	padding-top: 0;
	}
	#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;
				}

#detailShare{}
	#detailShare dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		}
	#detailShare dt{
		width: 100%;
		margin-bottom: 1em;
		text-align: center;
		}
	#detailShare dd+dd{
		margin-left: 2em;
		}
	#detailShare a{
		position: relative;
		display: block;
		width: 50px;
		height: 50px;
		overflow: hidden;
		}
		#detailShare a svg{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}

#ranking{
	padding: 1.5em;
	padding-bottom: 0.5em;
	background: #fff;
	border: 1px solid #b3b3b3;
	border-radius: 12px;
	}
	#ranking h4{
		display: flex;
		align-items: center;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #b3b3b3;
		font-size: 1.2em;
		}
	#ranking h4+div{
		counter-reset: count;
		}
	#ranking dl{
		position: relative;
		display: flex;
		border: 1px solid #b3b3b3;
		}
		#ranking dl:before{
			counter-increment: count;
			content: counter(count);
			position: absolute;
			top: 1em;
			left: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 1.6em;
			height: 1.6em;
			margin: -0.2em;
			background: #b8b8b8;
			border-radius: 100%;
			color: #fff;
			font-weight: bold;
			pointer-events: none;
			transform: scale(1.25);
			z-index: 1;
			}
		#ranking dl:nth-of-type(1):before{
			background: #a2854e;
			}
		#ranking dl:nth-of-type(2):before{
			background: #8b8c8c;
			}
		#ranking dl:nth-of-type(3):before{
			background: #9e504d;
			}
	#ranking dt{
		width: 50%;
		font-size: 0.875em;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.5em;
		}
	#ranking dt+dd{
		width: 50%;
		padding-right: 1em;
		order: -1;
		}
	#ranking dd{}
		#ranking dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}

.title{
	position: relative;
	padding-bottom: 0.5em;
	font-size: 1.75em;
	font-weight: bold;
	line-height: 1.5em;
	}
	.title:before{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: linear-gradient(90deg, #9c1c29 20%, #b3b3b3 20%);
		}
	.title+div{
		margin-top: 1.5em;
		}

.photos{}
	.photos li:not([data-caption=""]){
		position: relative;
		}
		.photos li: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;
			}
	.photos .slide{
		position: relative;
		}
	.photos .slick-list{
		margin: 0 -0.5em;
		}
	.photos .slick-slide{
		margin: 0 0.5em;
		}
	.photos .slick-arrow{
		position: absolute;
		top: 50%;
		margin: -1.5em;
		}

.text{}
	.text .fr-view{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.7em;
		}

.movie{}
	.movie h4{
		position: relative;
		padding: 0.6em 1.5em;
		padding-left: 3em;
		background: #9c1c29;
		border-radius: 12px 12px 0 0;
		color: #fff;
		line-height: 1.5em;
		font-size: 1.1em;
		display: none;
		}
		.movie h4 i{
			position: absolute;
			top: 0.8em;
			left: 1.5em;
			}
	/*
	.movie h4+div{
		position: relative;
		padding-top: 56.4%;
		}
	.movie h4+div+div{
		margin-top: 1.5em;
		}
	*/
	.movie div{
		position: relative;
		padding-top: 56.4%;
		}
	.movie div+div{
		margin-top: 1.5em;
		padding-top: 0;
		}
	.movie iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	.movie .fr-view{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.7em;
		}

.information{}
	.information h4{
		padding-left: 0.5em;
		border-left: 2px solid #9c1c29;
		font-size: 1.2em;
		}
	.information h4+div{
		margin-top: 1.5em
		}
	.information dl{
		display: flex;
		background: #fff;
		}
	.information dt,
	.information dd{
		padding: 0.8em;
		line-height: 1.5em;
		border-bottom: 1px solid #b3b3b3;
		}
	.information dt{
		background: #9c1c29;
		color: #fff;
		}
	.information dd{
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		}

.links{}
	.links ul{
		display: flex;
		}
	.links li{
		display: flex;
		}
		.links li a{
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 1em;
			padding-right: 3em;
			background: #fff;
			border: 1px solid #b3b3b3;
			color: inherit;
			text-align: center;
			line-height: 1.5em;
			text-decoration: none;
			}
		.links li i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}

.documents{}
	.documents h4{
		padding-left: 0.5em;
		border-left: 2px solid #9c1c29;
		font-size: 1.2em;
		}
	.documents h4+div{
		margin-top: 1.5em
		}
	.documents li{}
		.documents li a{
			position: relative;
			display: block;
			padding: 1em;
			padding-right: 3em;
			background: #fff;
			border: 1px solid #b3b3b3;
			color: inherit;
			text-align: center;
			line-height: 1.5em;
			text-decoration: none;
			}
		.documents li i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}
	.documents li+li{
		margin-top: 1em;
		}

.column{}
	.column h4{
		position: relative;
		padding: 0.6em 1.5em;
		padding-left: 3em;
		background: #9c1c29;
		border-radius: 12px 12px 0 0;
		color: #fff;
		line-height: 1.5em;
		font-size: 1.1em;
		}
		.column h4 i{
			position: absolute;
			top: 0.8em;
			left: 1.5em;
			}
		.column h4 svg{
			transform: scale(1.2);
			}
	.column h4+div{
		display: flex;
		background: #fff;
		border: 1px solid #b3b3b3;
		border-radius: 0 0 12px 12px;
		}
	.column h5{
		color: #9c1c29;
		font-size: 1.1em;
		line-height: 1.5em;
		}
	.column h5+div{
		margin-top: 1em;
		color: #4d4d4d;
		font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
		line-height: 1.5em;
		}
	.column p{
		line-height: 1.4em;
		}
	.column h5+div+div{
		display: flex;
		justify-content: center;
		margin-top: 1em;
		}
		.column h5+div+div a{
			position: relative;
			display: block;
			width: 100%;
			max-width: 20em;
			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;
			}
		.column h5+div+div i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}
	.column figure{
		order: -1;
		}

.map{
	display: flex;
	flex-direction: column;
	}
	.map 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;
		}
		.map menu i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			}
		.map menu svg{
			background: #9c1c29;
			fill: #fff;
			transform: scale(1.4);
			}
		.map menu.open{}
			.map menu.open svg{
				background: #b3b3b3;
				}
			.map menu.open rect+rect{
				opacity: 0;
				}
	.map 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%;
		}

.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;
			}

.slide{}
	.slide .slick-prev{
		left: 0;
		}
	.slide .slick-next{
		right: 0;
		}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#detailHeader{}
	#detailHeader h2+div+div{
		display: flex;
		align-items: center;
		margin-top: 2em;
		}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767px以下*/
#detailHeader{}
	#detailHeader h2+div{
		margin-top: 1em;
		}
	#detailHeader figure{
		margin-bottom: -1.5em;
		}
	#detailHeader .wrap{
		padding: 1.5em;
		}
		#detailHeader .wrap:only-child{
			margin-top: 2em;
			}
#detailTable{
	margin-bottom: 2em;
	}
#detailBody{
	padding-bottom: 2em;
	}
#detailArticle{}
	#detailArticle section > div+div{
		margin-top: 2em;
		}
#sidebar{
	margin-top: 4em;
	}
.links{}
	.links ul{
		flex-direction: column;
		align-items: center;
		}
	.links li{
		width: 100%;
		max-width: 24em;
		}
	.links li+li{
		margin-top: 1em;
		}
.mapList{
	height: 10em;
	}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下縦向き*/
#ranking{}
	#ranking dl{
		padding: 1em 0;
		}
		#ranking dl:not(:last-child){
			border-width: 0 0 1px 0;
			}
		#ranking dl:last-child{
			border: none;
			}
.information{}
	.information dl{
		flex-direction: column;
		}
	.information dt{
		border: none;
		}
.column{}
	.column h4+div{
		padding: 1.5em;
		flex-direction: column;
		}
	.column h5+div+div{
		margin-top: 1.5em;
		}
	.column figure{
		margin-bottom: 1.5em;
		}
.mapBody{
	height: 70vh;
	}
.mapList{
	padding: 1em;
	}
	.mapList li{
		font-size: 1em;
		}
	.mapList li+li{
		margin-top: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下横向き*/
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
.information{}
	.information dl{
		flex-wrap: wrap;
		border-right: 1px solid #b3b3b3;
		}
	.information dt{
		width: 10em;
		}
	.information dd{
		width: calc(100% - 10em);
		}
		.information dd:nth-of-type(1){
			border-top: 1px solid #b3b3b3;
			}
.documents{}
	.documents ul{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		}
.column{}
	.column h4+div{
		justify-content: space-between;
		padding: 2em;
		}
	.column h4+div > *{
		width: calc(50% - 1em);
		}
		.column h4+div > *:only-child{
			width: 100%;
			}
	.column h5+div+div{
		margin-top: 2em;
		}
.mapBody{}
	.mapBody:before{
		content: "";
		display: block;
		padding-top: 75%;
		}
.mapList{
	padding: 1.5em;
	}
	.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;
			}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
#ranking{}
	#ranking h4+div{
		display: -ms-grid;
		-ms-grid-columns: 40% calc(30% + 0.5em) calc(30% - 0.5em);
		display: grid;
		grid-template-columns: 40% calc(30% + 0.5em) calc(30% - 0.5em);
		margin-top: 1.5em;
		padding-bottom: 1.5em;
		}
	#ranking dl{}
		#ranking dl:nth-of-type(1){
			-ms-grid-column: 1;
			-ms-grid-row: 1;
			-ms-grid-row-span: 3;
			grid-column: 1;
			grid-row: 1 / 3;
			padding-right: 1em;
			border-width: 0 1px 0 0;
			}
		#ranking dl:nth-of-type(2){
			-ms-grid-column: 2;
			-ms-grid-row: 1;
			padding: 0 1em 1em 1em;
			border-width: 0 1px 1px 0;
			}
		#ranking dl:nth-of-type(3){
			-ms-grid-column: 3;
			-ms-grid-row: 1;
			padding: 0 0 1em 1em;
			border-width: 0 0 1px 0;
			}
		#ranking dl:nth-of-type(4){
			-ms-grid-column: 2;
			-ms-grid-row: 2;
			padding: 1em 1em 0 1em;
			border-width: 0 1px 0 0;
			}
		#ranking dl:nth-of-type(5){
			-ms-grid-column: 3;
			-ms-grid-row: 2;
			padding: 1em 0 0 1em;
			border-width: 0;
			}
		#ranking dl:nth-of-type(n+2):before{
			left: 1em;
			}
		#ranking dl:nth-of-type(-n+3):before{
			top: 0;
			}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#detailHeader{}
	#detailHeader h2+div{
		margin-top: 1.5em;
		}
	#detailHeader .wrap{
		padding: 2em;
		}
.links{}
	.links ul{
		justify-content: center;
		}
	.links li+li{
		margin-left: 1em;
		}
}
@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;
			}
#detailBody{
	padding-bottom: 3em;
	}
#detailTable{
	margin-bottom: 3em;
	}
#detailArticle{}
	#detailArticle section > div+div{
		margin-top: 3em;
		}
#sidebar{
	margin-top: 6em;
	}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#detailHeader{}
	#detailHeader h2{
		width: 100%;
		}
	#detailHeader h2+div{
		width: calc(100% - 300px);
		padding-right: 4em;
		}
	#detailHeader h2+div+div{
		margin-top: 1.5em;
		width: 300px;
		}
	#detailHeader figure{
		margin-bottom: -6em;
		}
	#detailHeader .wrap{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		}
		#detailHeader .wrap:only-child{
			margin-top: 4em;
			}
#detailBody{
	padding-bottom: 4em;
	}
#col2{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	}
#contents{
	width: calc(100% - 24em);
	}
#detailTable{
	margin-bottom: 4em;
	}
#detailArticle{}
	#detailArticle section > div+div{
		margin-top: 4em;
		}
#sidebar{
	position: -webkit-sticky;
	position: sticky;
	top: 9em;
	width: 20em;
	}
#ranking{}
	#ranking dl{
		padding: 1em 0;
		}
		#ranking dl:not(:last-child){
			border-width: 0 0 1px 0;
			}
		#ranking dl:last-child{
			border: none;
			}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
}




