/* CSS Document */

#detailHeader{
	padding: 0;
	}
	#detailHeader h2+div{
		font-size: 0.8em;
		font-weight: normal;
		line-height: 1.4em;
		}
	#detailHeader+section{
		padding-top: 0;
		}

#detailLead{}
	#detailLead h3{
		color: #16377a;
		font-size: 1.2em;
		line-height: 1.4em;
		}

#detailPhoto{}
	#detailPhoto li{
		cursor: pointer;
		}
	#detailPhoto .slide{}
		#detailPhoto .slide li{}
			#detailPhoto .slide li:not([data-caption=""]):after{
				content: attr(data-caption);
				display: block;
				margin-top: 1em;
				color: #666666;
				line-height: 1.4em;
				white-space: nowrap;
				text-overflow: ellipsis;
				overflow: hidden;
				}
	#detailPhoto .slide-nav{
		margin-top: 2em !important;
		}
		#detailPhoto .slide-nav .slick-track{
			display: flex;
			max-width: 100%;
			}
	#detailPhoto .slick-arrow{
		border-color: currentColor;
		color: #fff;
		}
		#detailPhoto .slick-arrow:hover{
			border-color: transparent;
			}

#detailBody{
	line-height: 1.4em;
	}

#detailTag{}
	#detailTag dl{
		overflow: hidden;
		}
	#detailTag dt{
		position: relative;
		padding-left: calc(4px + 0.5em);
		}
		#detailTag dt:before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 2px;
			height: 1em;
			background: #16377a;
			}
	#detailTag dt:not(:lang(ja)){}
		#detailTag dt:not(:lang(ja)):before{
			background: #fe9b97;
			}
	#detailTag dd{
		float: left;
		margin-right: 0.5em;
		}
		#detailTag dd a{
			display: flex;
			align-items: center;
			padding: 0.5em 1em;
			border: 1px solid currentColor;
			color: inherit;
			font-size: 0.9em;
			fill: currentColor;
			text-decoration: none;
			}
			#detailTag dd a:hover{
				color: #16377a;
				}
			#detailTag dd a:not(:lang(ja)):hover{
				color: #bb000b;
				}
		#detailTag dd i{
			position: relative;
			left: 0.3em;
			display: flex;
			align-items: center;
			justify-content: center;
			}
	#detailTag dl+dl{
		margin-top: 2em;
		}

#detailLink{}
	#detailLink li+li{
		margin-top: 1em;
		}
	#detailLink a{
		cursor: pointer;
		}
		#detailLink a:not(#toReservation){
			position: relative;
			width: 100%;
			padding-left: 3em;
			}
			#detailLink a:not(#toReservation) i{
				left: 1em;
				}
	#detailLink i{
		position: absolute;
		top: calc(50% - 0.5em);
		left: 0.5em;
		}
	#detailLink a:not(:lang(ja)){
		border-color: currentColor;
		}
		#detailLink a:not(:lang(ja)):hover{
			background: #fae3e1;
			border-color: #aeaeae;
			}

#wishlist{}
	#wishlist.favOn{}
		#wishlist.favOn:not(:hover){
			background: #fcfcfc;
			color: #999;
			}

#toReservation{
	position: fixed;
	left: 0;
	bottom: 2em;
	width: auto !important;
	padding-right: 2.5em;
	border-left: none;
	z-index: 100;
	}
	#toReservation:not(:hover){
		background: #fff;
		}
	#toReservation i{
		right: 1em;
		left: auto;
		}

#detailMovie{
	padding-top: 0;
	}

#detailBasic{}
	#detailBasic h3{
		display: flex;
		align-items: center;
		justify-content: center;
		fill: #16377a;
		}
	#detailBasic h3:not(:lang(ja)){
		fill: #bb000b;
		}
		#detailBasic h3 i{
			position: relative;
			top: 0.1em;
			margin-right: 0.5em;
			}
	#detailBasic h3+div{
		margin-top: 1em;
		}
	#detailBasic dl{
		display: flex;
		border-bottom: 1px solid #c7c7c7;
		}
	#detailBasic dt,
	#detailBasic dd{
		padding: 0.8em;
		border-top: 1px solid #c7c7c7;
		line-height: 1.4em;
		}
	#detailBasic dt{
		background: #eff1f6;
		font-weight: 500;
		}
		#detailBasic dt:not(:lang(ja)){
			background: #fae3e1;
			color: #bb000b;
			font-weight: 600;
			}
	#detailBasic dd{
		background: #fff;
		word-break: break-all;
		}
		#detailBasic dd a{
			display: flex;
			align-items: center;
			text-align: left;
			}
		#detailBasic dd i{
			margin-top: 0.2em;
			margin-right: 0.5em;
			}
		#detailBasic dd a+a{
			margin-top: 0.5em;
			}
		#detailBasic dd li+li{
			margin-top: 0.5em;
			}

#detailAdditional{}
	#detailAdditional > div{
		margin-top: 2em;
		}
	#detailAdditional h4{
		text-align: center;
		}
	#detailAdditional h4+div{
		margin-top: 1em;
		}
	#detailAdditional ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: -0.5em 1em;
		}
	#detailAdditional li{
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0.5em 1em;
		color: #ccc;
		fill: currentColor;
		font-weight: bold;
		text-align: center;
		line-height: 1.4em;
		}
		#detailAdditional li i{
			margin-bottom: 0.5em;
			}
		#detailAdditional li svg{
			font-size: 4em;
			}
		#detailAdditional li.on{
			color: inherit;
			}

#detailMap{
	padding-bottom: 0;
	}
	#detailMap h3{
		display: flex;
		align-items: center;
		justify-content: center;
		fill: #16377a;
		}
	#detailMap h3:not(:lang(ja)){
		fill: #bb000b;
		}
		#detailMap h3 i{
			position: relative;
			top: 0.1em;
			margin-right: 0.5em;
			}
	#detailMap .googlemap{
		background: #ccc;
		}

#detailMapDefault{
	margin-top: 1em;
	}

#detailMapCustomMap{
	margin-top: 1em;
	}
	#detailMapCustomMap ul{
		display: flex;
		flex-wrap: wrap;
		}
	#detailMapCustomMap label{
		line-height: 1.4em;
		}
		#detailMapCustomMap label i{
			position: relative;
			width: 36px;
			height: 36px;
			margin: 0 0.5em;
			}
		#detailMapCustomMap label svg{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}
	#detailMapCustomMap img{
		opacity: 1;
		/*
		width: 50px;
		height: 59px;
		*/
		}
	#detailMapCustomMap #gMap > img{
		display: none;
		}

#detailMapSwitch{
	margin-top: 2em;
	}
	#detailMapSwitch .wrap{
		display: flex;
		justify-content: center;
		}
	#detailMapSwitch .linkBut{
		position: relative;
		padding-right: 3em;
		width: calc(100% - 2em);
		cursor: pointer;
		}
		#detailMapSwitch .linkBut i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}
		#detailMapSwitch .linkBut svg{
			transform: rotate(90deg);
			}
	#detailMapSwitch .linkBut:not(:lang(ja)){
		background: #fae3e1;
		border: none;
		fill: #fe9b97;
		}

#article{}
	#article h2+div{
		margin-top: 1em;
		}

#itineraries{
	padding-top: 0;
	}
	#itineraries h2+div{
		margin-top: 1em;
		}

#peripheral{
	overflow: hidden;
	}
	#peripheral h2+div{
		margin-top: 1em;
		}
	#peripheral .slick-arrow{
		position: absolute;
		top: 50%;
		margin: -1.5em 0;
		z-index: 1;
		}
		#peripheral .slick-arrow:not(:hover){
			background: #fff;
			}
	#peripheral .slick-prev{
		left: -1.5em;
		}
	#peripheral .slick-next{
		right: -1.5em;
		}

#recommend{
	padding-top: 0;
	overflow: hidden;
	}
	#recommend h2+div{
		margin-top: 1em;
		}
	#recommend .slick-arrow{
		position: absolute;
		top: 50%;
		margin: -1.5em 0;
		z-index: 1;
		}
		#recommend .slick-arrow:not(:hover){
			background: #fff;
			}
	#recommend .slick-prev{
		left: -1.5em;
		}
	#recommend .slick-next{
		right: -1.5em;
		}

#experience{
	padding: 0;
	}
	#experience h2+div,
	#experience h3+div{
		display: flex;
		margin-top: 1em;
		}
	#experience dl{
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-height: 8em;
		padding: calc(1em + 5px);
		padding-right: 5em;
		border: 1px solid #16377a;
		transition: background 0.2s ease-out;
		}
		#experience dl:hover{
			background: #cedaf3;
			}
		#experience dl:before{
			content: "";
			position: absolute;
			top: 5px;
			left: 5px;
			width: calc(100% - 10px);
			height: calc(100% - 10px);
			border: 1px solid #16377a;
			box-sizing: border-box;
			pointer-events: none;
			}
	#experience dl:not(:lang(ja)){
		border-color: #bb000b;
		}
		#experience dl:not(:lang(ja)):hover{
			background: #fae3e1;
			}
		#experience dl:not(:lang(ja)):before{
			border-color: #bb000b;
			}
	#experience dt{
		font-size: 1.2em;
		font-weight: 500;
		line-height: 1.4em;
		}
		#experience dt+dd:not(:last-child){
			margin-bottom: 0.5em;
			order: -1;
			}
		#experience dt+dd:not(:lang(ja)){
			font-weight: 500;
			}
	#experience dd a{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		color: transparent;
		}
		#experience dd a i{
			position: absolute;
			top: 50%;
			right: 3em;
			width: 3em;
			height: 3em;
			margin: -1.5em;
			border: 1px solid currentColor;
			border-radius: 100%;
			color: #1a1a1a;
			fill: currentColor;
			}
		#experience dd a i:not(:lang(ja)){
			color: #bb000b;
			}
		#experience dd a svg{
			position: absolute;
			top: 25%;
			left: 25%;
			width: 50%;
			height: 50%;
			}

#share{}
	#share ul{
		display: flex;
		justify-content: flex-end;
		}
	#share li{}
		#share li a{
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 0.8em;
			border: 1px solid currentColor;
			color: #000;
			fill:currentColor;
			font-size: 0.8em;
			text-decoration: none;
			}
			#share li a:hover{
				color: #16377a;
				}
			#share li a:hover:not(:lang(ja)){
				color: #bb000b;
				}
		#share li i{
			margin-right: 1em;
			}
		#share li svg{
			transform: scale(1.2);
			}
	#share li+li{
		margin-left: 1em;
		}

.citationList{
	display: flex;
	}
	.citationList dl{
		position: relative;
		display: -ms-grid;
		-ms-grid-columns: 1fr 2fr;
		display: grid;
		grid-template-columns: 1fr 2fr;
		}
	.citationList dt{
		-ms-grid-column: 2;
		-ms-grid-row: 1;
		display: flex;
		align-items: center;
		padding: 1em;
		border: 1px solid #aeaeae;
		border-left: none;
		font-weight: normal;
		}
	.citationList dt+dd{
		order: -1;
		}
	.citationList dd{}
		.citationList dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.citationList .thumb{
		padding-top: 100%;
		}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#detailPhoto{}
	#detailPhoto .slide{}
		#detailPhoto .slide li{
			width: 80vw;
			}
	#detailPhoto .slide-nav{
		margin: -0.5em;
		}
		#detailPhoto .slide-nav li{
			width: 16.66%;
			padding: 0.5em;
			float: none;
			}
		#detailPhoto .slide-nav .slick-track{
			flex-wrap: wrap;
			}
		#detailPhoto .slide-nav .slick-slide{}
			#detailPhoto .slide-nav .slick-slide:nth-of-type(n+7):last-child{
				margin-right: auto;
				}
#detailMapCustomMap{}
	#detailMapCustomMap label{}
		#detailMapCustomMap label i{
			width: 1.4em;
			height: 1.4em;
			}
#experience{}
	#experience dt{
		font-size: 1.4em;
		}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767px以下*/
#detailLead{
	margin-top: 0.5em;
	}
#detailPhoto{
	margin-top: 0.5em;
	}
	#detailPhoto .slide{}
		#detailPhoto .slide li{
			padding: 0 0.5em;
			}
#detailIntroduction{
	margin-top: 2em;
	}
#detailTag,
#detailLink{
	margin-top: 2em;
	}
#detailMovie{}
	#detailMovie .wrap{
		width: 100%;
		}
#peripheral{}
	#peripheral .slick-slide{
		padding: 0 0.5em;
		}
	#peripheral .slick-list{
		margin: 0 -0.5em;
		}
	#peripheral .slick-arrow{
		transform: scale(0.8);
		}
#recommend{}
	#recommend .slick-slide{
		padding: 0 0.5em;
		}
	#recommend .slick-list{
		margin: 0 -0.5em;
		}
	#recommend .slick-arrow{
		transform: scale(0.8);
		}
#experience{}
	#experience h2+div,
	#experience h3+div{
		flex-direction: column;
		}
	#experience dl+dl{
		margin-top: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下縦向き*/
#detailTag{}
	#detailTag dt{
		width: 100%;
		margin-bottom: 0.5em;
		}
	#detailTag dd{
		margin-top: 0.5em;
		}
#detailLink{}
	#detailLink ul{
		padding: 0 1em;
		}
#detailBasic{}
	#detailBasic dl{
		flex-direction: column;
		}
	#detailBasic dd{
		border: none;
		}
#detailMapCustomMap{}
	#detailMapCustomMap ul{
		justify-content: space-between;
		}
	#detailMapCustomMap li{
		width: calc(50% - 0.5em);
		margin-top: 1em;
		}
#share{}
	#share ul{
		justify-content: center;
		}
	#share li{}
		#share li a{
			font-size: 6px;
			}
.citationList{
	flex-direction: column;
	}
	.citationList dl+dl{
		margin-top: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下横向き*/
#detailLink{}
	#detailLink ul{
		display: flex;
		justify-content: center;
		}
	#detailLink li+li{
		margin: 0 0 0 1em;
		}
}
@media (min-width: 576px) and (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*576px～767px横向き, 768px以上*/
#detailTag{}
	#detailTag dl{
		position: relative;
		padding-left: 7em;
		margin-bottom: -0.5em;
		}
		#detailTag dl:lang(en){
			padding-left: 7.5em;
			}
		#detailTag dl:lang(ko){
			padding-left: 9em;
			}
	#detailTag dt{
		position: absolute;
		top: 0.5em;
		left: 0;
		}
	#detailTag dd{
		margin-bottom: 0.5em;
		}
#detailBasic{}
	#detailBasic dl{
		flex-wrap: wrap;
		}
	#detailBasic dt{
		width: 14em;
		}
	#detailBasic dd{
		width: calc(100% - 14em);
		}
#detailMapCustomMap{}
	#detailMapCustomMap ul{
		margin-top: 1em;
		}
#detailMapSwitch{}
	#detailMapSwitch .linkBut{
		max-width: 280px;
		}
.citationList{
	flex-wrap: wrap;
	}
}
@media (min-width: 576px) and (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*576px～767px横向き, 768px～991px*/
#detailMapCustomMap{}
	#detailMapCustomMap li{
		width: calc(33.33% - 0.67em);
		}
		#detailMapCustomMap li:nth-of-type(n+4){
			margin-top: 1em;
			}
		#detailMapCustomMap li:not(:nth-of-type(3n+1)){
			margin-left: 1em;
			}
.citationList{
	justify-content: space-between;
	}
	.citationList dl{
		width: calc(50% - 0.5em);
		}
		.citationList dl:nth-of-type(n+3){
			margin-top: 1em;
			}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#detailLead{
	margin-top: 1em;
	}
#detailPhoto{
	margin-top: 2em;
	}
	#detailPhoto .slide{
		position: relative;
		}
		#detailPhoto .slide .slick-arrow{
			position: absolute;
			top: 50%;
			margin: -1.5em 0;
			z-index: 1;
			}
#detailIntroduction{}
	#detailIntroduction .wrap{
		display: -ms-grid;
		display: grid;
		}
#detailBody{
	-ms-grid-column: 1;
	-ms-grid-row: 1;
	}
#detailTag{
	-ms-grid-column: 1;
	-ms-grid-row: 3;
	order: 1;
	}
#detailLink{
	-ms-grid-column: 3;
	-ms-grid-row: 1;
	-ms-grid-row-span: 4;
	grid-column: 2;
	grid-row: 1 / 3;
	}
#detailMovie{}
	#detailMovie h3+div{
		width: 100%;
		max-width: 940px;
		}
	#detailMovie .wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		}
#detailMapCustomMap{}
	#detailMapCustomMap ul{
		padding: 1.5em;
		border: 2px solid #c7c7c7;
		}
#peripheral{}
	#peripheral .slick-slide{
		padding: 0 1em;
		}
	#peripheral .slick-list{
		margin: 0 -1em;
		}
#recommend{}
	#recommend .slick-slide{
		padding: 0 1em;
		}
	#recommend .slick-list{
		margin: 0 -1em;
		}
#experience{}
	#experience h2+div,
	#experience h3+div{
		flex-wrap: wrap;
		justify-content: center;
		}
	#experience dl{}
		#experience dl:nth-of-type(even){
			margin-left: auto;
			}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
#detailPhoto{}
	#detailPhoto .slide{}
		#detailPhoto .slide li{
			width: calc(500px + 1em);
			padding: 0 1em;
			}
		#detailPhoto .slide .slick-prev{
			left: calc(50% - 362px);
			}
		#detailPhoto .slide .slick-next{
			right: calc(50% - 362px);
			}
#detailIntroduction{
	margin-top: 3em;
	}
	#detailIntroduction .wrap{
		-ms-grid-columns: calc(100% - 20em) 3em 17em;
		-ms-grid-rows: auto 3em auto;
		grid-template-columns: auto 17em;
		grid-gap: 3em;
		}
#experience{}
	#experience dl{
		width: calc(50% - 0.5em);
		}
		#experience dl:nth-of-type(n+3){
			margin-top: 1em;
			}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#detailPhoto{}
	#detailPhoto .slide{}
		#detailPhoto .slide li{
			width: calc(660px + 4em);
			padding: 0 2em;
			}
		#detailPhoto .slide .slick-arrow{
			top: calc(434px / 2);
			}
	#detailPhoto .slide-nav{
		margin: 0 -0.5em;
		}
		#detailPhoto .slide-nav li{
			width: calc(100% / 12);
			padding: 0 0.5em;
			}
		#detailPhoto .slide-nav .slick-track{
			justify-content: center;
			transform: none !important;
			}
#detailIntroduction{
	margin-top: 4em;
	}
	#detailIntroduction .wrap{
		-ms-grid-columns: calc(100% - 24em) 4em 20em;
		-ms-grid-rows: auto 4em auto;
		grid-template-columns: auto 20em;
		grid-gap: 4em;
		}
#toReservation{
	width: 240px;
	}
#detailMapCustomMap{}
	#detailMapCustomMap ul{
		padding: 1.5em 2em;
		}
	#detailMapCustomMap li{
		width: calc(25% - 1.13em);
		}
		#detailMapCustomMap li:nth-of-type(n+5){
			margin-top: 1.5em;
			}
		#detailMapCustomMap li:not(:nth-of-type(4n+1)){
			margin-left: 1.5em;
			}
	#detailMapCustomMap label{}
		#detailMapCustomMap label i{
			width: 36px;
			height: 36px;
			}
#experience{}
	#experience dl{
		width: calc(50% - 1em);
		}
		#experience dl:nth-of-type(n+3){
			margin-top: 2em;
			}
	#experience dt{
		font-size: 1.4em;
		}
.citationList{}
	.citationList dl{
		width: calc(33.33% - 0.67em);
		}
		.citationList dl:nth-of-type(n+4){
			margin-top: 1em;
			}
		.citationList dl:not(:nth-of-type(3n+1)){
			margin-left: 1em;
			}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
#detailPhoto{}
	#detailPhoto .slide{}
		#detailPhoto .slide .slick-prev{
			left: calc(50% - 470px);
			}
		#detailPhoto .slide .slick-next{
			right: calc(50% - 470px);
			}
}
@media (min-width: 1200px) {
/*1200px以上*/
#detailPhoto{}
	#detailPhoto .slide{}
		#detailPhoto .slide .slick-prev{
			left: calc(50% - 570px);
			}
		#detailPhoto .slide .slick-next{
			right: calc(50% - 570px);
			}
}


/* ie */
@media all and (-ms-high-contrast: none) {
}



