/* CSS Document */

#subject{}
	#subject h2{
		position: relative;
		display: flex;
		flex-direction: column;
		margin-left: 1em;
		padding-top: 1.5em;
		}
		#subject h2:before{
			margin-left: 2em;
			}
		#subject h2:after{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			height: 2.5em;
			border-left: 1px solid currentColor;
			}

#pickup{
	padding: 1em 0 0 0;
	}

#pageTab{
	border: none;
	padding-top: 0;
	}

#article{
	padding-top: 0;
	}
	#article+#search #searchDisplay{
		display: none;
		}

#model{
	padding-top: 0;
	}
	#model+#search #searchDisplay{
		display: none;
		}

#spot{
	display: flex;
	flex-direction: column;
	padding: 0;
	}
	#spot header{
		padding-top: 0;
		}
	#spot #pickup{
		order: -1;
		}
	#spot+#search #searchMenuSelect li:nth-of-type(3){
		display: none;
		}

#product{
	display: flex;
	flex-direction: column;
	padding: 0;
	}
	#product header{
		padding-top: 0;
		}
	#product h2+div{}
		#product h2+div p{
			line-height: 1.5em;
			}
	#product #pickup{
		order: -1;
		}
	#product+#search #searchMenuSelect li:nth-of-type(3){
		display: none;
		}

#event{
	display: flex;
	flex-direction: column;
	padding: 0;
	}
	#event header{
		padding-top: 0;
		}
	#event #pickup{
		order: -1;
		}

#gourmet{
	display: flex;
	flex-direction: column;
	padding: 0;
	}
	#gourmet header{
		padding-top: 0;
		}
	#gourmet #pickup{
		order: -1;
		}
	#gourmet+#search #searchMenuSelect li:nth-of-type(3){
		display: none;
		}

#reserve{
	display: flex;
	flex-direction: column;
	padding: 0;
	}
	#reserve header{
		padding-top: 0;
		}
	#reserve #pickup{
		order: -1;
		}
	#reserve+#search #searchMenuSelect li:nth-of-type(3){
		display: none;
		}

#flowering{
	padding-top: 0;
	}
	#flowering #lead{
		margin-top: 2em;
		}
		#flowering #lead p{
			line-height: 1.7em;
			}
		#flowering #lead figure{
			margin-bottom: 2em;
			}
		#flowering #lead .wrap{
			display: flex;
			flex-direction: column-reverse;
			}
		#flowering #lead .thumb{
			padding-top: 50%;
			border-radius: 12px;
			}
	#flowering+#search #searchMenuSelect li:nth-of-type(3){
		display: none;
		}
	#flowering+#search #searchResult dd{
		display: block;
		}
		#flowering+#search #searchResult dd[data-type]{
			margin-top: 0.5em;
			font-size: 0.875em;
			line-height: 1.5em;
			}
			#flowering+#search #searchResult dd[data-type]:before{
				content: attr(data-type)"：";
				}
	#flowering+#search #searchResult dd time{
		margin-top: 0;
		}

#favorite{}
	#favorite+#search #searchMenuSelect li:nth-of-type(3){
		display: none;
		}

#map{
	position: relative;
	padding-top: 75%;
	background: #ccc;
	}
	#map #gMap{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}

#pickup{
	overflow: hidden;
	}
	#pickup dl{
		position: relative;
		border-radius: 12px;
		overflow: hidden;
		}
	#pickup dt{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		padding: 1em;
		color: #fff;
		text-align: center;
		line-height: 1.5em;
		z-index: 1;
		}
		#pickup dt:before{
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 4em;
			background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,1));
			z-index: -1;
			}
		#pickup dt:empty{
			display: none;
			}
	#pickup dd{}
		#pickup dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			z-index: 2;
			}
	#pickup .thumb{
		padding-top: 100%;
		}
	#pickup .slide{
		height: 0;
		opacity: 0;
		transition: opacity 0.2s ease-out;
		}
	#pickup .slick-initialized{
		height: auto;
		opacity: 1;
		}
	#pickup .slick-arrow{
		position: absolute;
		top: 50%;
		z-index: 1;
		}
	#pickup .slick-list{
		margin: 0 -2px;
		}
	#pickup .slick-slide{
		margin: 0 2px;
		}

#search{
	padding-top: 0;
	}

#searchMenu{
	padding-bottom: 2em;
	background: #fff;
	border-top: 1px solid #b2b6bc;
	}

#searchMenuTitle{
	font-weight: bold;
	text-align: center;
	}

#searchMenuSelect{
	margin-top: 1.5em;
	}
	#searchMenuSelect ul{
		display: flex;
		}
	#searchMenuSelect li{
		display: flex;
		}
		#searchMenuSelect li:last-child{
			position: relative;
			}
	#searchMenuSelect a{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		background: #fff;
		border: 1px solid #b2b6bc;
		border-radius: 6px;
		padding: 0.8em 1em;
		padding-right: 2em;
		color: inherit;
		fill: #1696ac;
		text-decoration: none;
		line-height: 1.5em;
		cursor: pointer;
		text-align: center;
		}
		#searchMenuSelect a i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0.8em;
			}
	#searchMenuSelect input{
		border-color: #b2b6bc;
		border-radius: 6px;
		padding: 0.6em 1em;
		padding-right: 3em;
		}
	#searchMenuSelect button{
		position: absolute;
		top: 0;
		right: 0;
		width: 3em;
		height: 100%;
		background: transparent;
		border-radius: 6px;
		fill: #1696ac;
		}
		#searchMenuSelect button svg{
			position: absolute;
			top: 30%;
			right: 30%;
			width: 40%;
			height: 40%;
			}
	#searchMenuSelect .select{
		background: #e6f3f5;
		border-color: currentColor;
		color: #1696ac;
		}

#searchMenuDetail{}
	#searchMenuDetail ul{
		display: flex;
		}
	#searchMenuDetail li{
		margin-bottom: 1em;
		}
		#searchMenuDetail li ul{
			flex-direction: column;
			margin-top: 1em;
			}
		#searchMenuDetail li li{
			width: 100%;
			margin-left: 1em !important;
			}
	#searchMenuDetail label{}
		#searchMenuDetail label:before{
			font-size: 0.7em;
			}
	#searchMenuDetail button{
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		padding: 0.8em;
		border-radius: 8px;
		font-weight: bold;
		text-align: center;
		}
		#searchMenuDetail button i{
			position: absolute;
			top: calc(50% - 0.5em);
			}
		#searchMenuDetail button+button{
			margin-top: 1em;
			}
	#searchMenuDetail .buttonSet{
		position: sticky;
		bottom: 0;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: 2em;
		}
	#searchMenuDetail .doSearch{
		max-width: 360px;
		border: 1px solid #b2b6bc;
		background: #fff;
		color: inherit;
		fill: #1696ac;
		}
		#searchMenuDetail .doSearch i{
			left: 1em;
			}
	#searchMenuDetail .doClear{
		max-width: 180px;
		padding-right: 2em;
		background: #4d596a;
		color: #fff;
		font-size: 0.875em;
		}
		#searchMenuDetail .doClear i{
			right: 1em;
			}

#searchMenuArea{}
	#searchMenuArea > div:first-child{
		display: grid;
		}
	#searchMenuArea figure{
		position: relative;
		/*padding-top: 128%;*/
		padding-top: 100%;
		overflow: hidden;
		}
		#searchMenuArea figure svg{
			position: absolute;
			top: 50%;
			left: 50%;
			/*
			width: 150%;
			height: 150%;
			*/
			width: 125%;
			height: 125%;
			transform: translate(-50%, -50%);
			}
		#searchMenuArea figure a{
			fill: #27344D;
			cursor: pointer;
			}
		#searchMenuArea figure use+use{
			fill: #878b91;
			}
		#searchMenuArea figure .select{}
			#searchMenuArea figure .select use+use{
				fill: #4d596a;
				}
		#searchMenuArea figure .gifu{
			fill: #f2ecdf;
			}
			#searchMenuArea figure .gifu.select{
				fill: #d99a44;
				}
		#searchMenuArea figure .hida{
			fill: #cec4d1;
			}
			#searchMenuArea figure .hida.select{
				fill: #806787;
				}
		#searchMenuArea figure .nishi{
			fill: #d1dfe6;
			}
			#searchMenuArea figure .nishi.select{
				fill: #55a2c9;
				}
		#searchMenuArea figure .higashi{
			fill: #ede2e4;
			}
			#searchMenuArea figure .higashi.select{
				fill: #b95268;
				}

#searchMenuDate{}
	#searchMenuDate table{
		width: 100%;
		}
	#searchMenuDate caption{
		position: relative;
		margin: 0.8em;
		margin-top: 0;
		color: #0080d2;
		font-weight: bold;
		text-align: center;
		}
		#searchMenuDate caption span{
			position: absolute;
			left: 0;
			bottom: 0;
			font-size: 0.8em;
			}
	#searchMenuDate tbody{
		font-weight: bold;
		}
	#searchMenuDate td{
		padding: 0.3em 0;
		border: 1px solid #fff;
		text-align: center;
		}
		#searchMenuDate td:last-child{
			background: #d3e7f2;
			color: #2991c8;
			}
		#searchMenuDate td:first-child,
		#searchMenuDate td.holiday{
			background: #fae3e1;
			color: #b4000b;
			}
	#searchMenuDate .check{
		background: #0080d2 !important;
		color: #fff !important;
		}
	#searchMenuDate .slick-slider{
		display: flex;
		justify-content: space-between;
		}
	#searchMenuDate .slick-arrow{
		position: relative;
		align-self: center;
		margin: 0;
		}

#searchCurrent{
	margin-top: -1em;
	padding-bottom: 2em;
	background: #fff;
	}
	#searchCurrent dl{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		margin: -0.25em;
		}
	#searchCurrent dt{
		margin-right: 0.75em;
		}
	#searchCurrent dd{
		margin: 0.25em;
		}
		#searchCurrent dd a,
		#searchCurrent dd button{
			position: relative;
			display: block;
			padding: 0.8em;
			padding-right: 2em;
			border-radius: 8px;
			color: #fff;
			fill: currentColor;
			font-size: 0.875em;
			font-weight: bold;
			letter-spacing: 0.025em;
			line-height: 1em;
			}
		#searchCurrent dd a{
			background: #1696ac;
			text-decoration: none;
			}
		#searchCurrent dd button{
			background: #4d596a;
			}
		#searchCurrent dd i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0.5em;
			}

#searchSetting{
	padding: 1em 0;
	background: #4d596a;
	}
	#searchSetting .wrap{
		display: flex;
		}

#searchCount{
	display: flex;
	align-items: center;
	color: #fff;
	}
	#searchCount span{
		margin-right: 0.2em;
		font-size: 1.7em;
		}

#searchSort{}
	#searchSort dl{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: -0.25em;
		}
	#searchSort dt{
		margin-right: 0.75em;
		color: #fff;
		}
	#searchSort dd{
		min-width: 8em;
		margin: 0.25em;
		padding: 0.8em;
		background: #fff;
		border-radius: 6px;
		text-align: center;
		cursor: pointer;
		}
	#searchSort .select{
		background: #e6f3f5;
		color: #1696ac;
		}

#searchDisplay{}
	#searchDisplay dl{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: -0.25em;
		}
	#searchDisplay dt{
		margin-right: 0.75em;
		color: #fff;
		}
	#searchDisplay dd{
		margin: 0.25em;
		}
		#searchDisplay dd a{
			display: flex;
			align-items: center;
			padding: 0.8em;
			background: #fff;
			border-radius: 6px;
			color: inherit;
			fill: #1696ac;
			text-decoration: none;
			cursor: pointer;
			}
		#searchDisplay dd i{
			display: flex;
			align-items: center;
			margin-right: 0.3em;
			}
	#searchDisplay .select{
		background: #e6f3f5;
		color: #1696ac;
		}

#pagenation{
	padding-top: 0;
	}

.searchMenuBox{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #b2b6bc;
	z-index: 10;
	}
	.searchMenuBox > div{
		overflow-y: auto;
		padding-right: 2em !important;
		}
	.searchMenuBox .close{
		position: absolute;
		top: 0.5em;
		right: 0.5em;
		width: 1.2em;
		height: 1.2em;
		margin: 0;
		padding: 0;
		cursor: pointer;
		}
		.searchMenuBox .close svg{
			position: absolute;
			top: 10%;
			left: 10%;
			width: 80%;
			height: 80%;
			}

.spotList{}
	.spotList.grid{
		display: flex;
		flex-wrap: wrap;
		}



/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#searchMenu{}
	#searchMenu .wrap{
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		}
#searchMenuSelect{
	display: contents;
	}
	#searchMenuSelect ul{
		display: contents;
		}
	#searchMenuSelect li{
		margin-top: 1em;
		}
	#searchMenuSelect li{}
		#searchMenuSelect li:nth-child(1){
			order: 1;
			}
		#searchMenuSelect li:nth-child(2){
			order: 2;
			}
		#searchMenuSelect li:nth-child(3){
			order: 3;
			}
		#searchMenuSelect li:nth-child(4){
			order: 4;
			}
		#searchMenuSelect li:nth-child(5){
			order: 5;
			}
		#searchMenuSelect li:last-child{
			order: 10;
			}
#searchMenuDetail{
	display: contents;
	}
.searchMenuBox{
	position: relative;
	margin-top: 0.5em;
	}
	.searchMenuBox:nth-of-type(1){
		order: 1;
		}
	.searchMenuBox:nth-of-type(2){
		order: 2;
		}
	.searchMenuBox:nth-of-type(3){
		order: 3;
		}
	.searchMenuBox:nth-of-type(4){
		order: 4;
		}
	.searchMenuBox:nth-of-type(5){
		order: 5;
		}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767以下px*/
#pickup{}
	#pickup .wrap{
		width: 100%;
		}
	#pickup .slick-prev{
		left: 1.5em;
		}
	#pickup .slick-next{
		right: 1.5em;
		}
#product{}
	#product h2+div{
		margin: 1em 0 0 1.25em;
		}
#searchMenu{
	padding-top: 2em;
	}
#searchResult,
#pagenation{
	margin-top: 2em;
	}
.searchMenuBox{}
	.searchMenuBox > div{
		max-height: 80vh;
		padding: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下 縦向き*/
#pickup{}
	#pickup .slick-list{
		padding: 0 20vw !important;
		}
#map{
	padding-top: 120%;
	}
#searchMenuDetail{}
	#searchMenuDetail ul{
		flex-direction: column;
		}
	#searchMenuDetail button{
		width: 100%;
		}
#searchMenuDate{}
	#searchMenuDate .slick-list{
		width: calc(100% - 6em);
		}
	#searchMenuDate .slick-arrow{
		transform: scale(0.8);
		}
#searchSetting{}
	#searchSetting dl{
		font-size: 0.7em;
		}
	#searchSetting .wrap{
		flex-direction: column;
		grid-gap: 1em;
		}
#searchSort{}
#searchDisplay{}
	#searchSort dl,
	#searchDisplay dl{
		margin-left: 5em;
		text-indent: -5em;
		}
	#searchSort dt,
	#searchDisplay dt{
		margin-right: 0;
		}
	#searchSort dd,
	#searchDisplay dd{
		text-indent: 0;
		}
.articleList{}
	.articleList dl+dl{
		margin-top: 2em;
		}
.spotList{}
	.spotList.grid{
		justify-content: space-between;
		}
		.spotList.grid dl{
			width: calc(50% - 0.75em);
			}
			.spotList.grid dl:nth-of-type(n+3){
				margin-top: 2em;
				}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下 横向き*/
#pickup{}
	#pickup .slick-list{
		padding: 0 25vw !important;
		}
#searchMenuDetail{}
	#searchMenuDetail ul{
		flex-wrap: wrap;
		}
	#searchMenuDetail li{
		width: calc(50% - 1em);
		}
		#searchMenuDetail li:nth-of-type(even){
			margin-left: 2em;
			}
.articleList{}
	.articleList dl{
		width: calc(50% - 1em);
		}
		.articleList dl:nth-of-type(n+3){
			margin-top: 2em;
			}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#map{
	padding-top: 50%;
	}
#searchMenuArea{}
	#searchMenuArea > div:first-child{
		grid-template-columns: auto min(50%, 260px);
		}
	#searchMenuArea > div:first-child figure{
		order: 1;
		align-self: start;
		}
#searchMenuDate{}
	#searchMenuDate .slick-list{
		width: calc(100% - 8em);
		}
	#searchMenuDate .slick-slide{
		padding: 0 0.5em;
		}
#searchSetting{}
	#searchSetting dl{
		font-size: 0.875em;
		}
	#searchSetting .wrap{
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		grid-gap: 1em;
		}
#searchSort{
	margin-left: auto;
	}
#searchDisplay{
	margin-left: auto;
	}
.articleList{
	display: flex;
	flex-wrap: wrap;
	}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
.articleList{
	justify-content: space-between;
	}
.spotList{}
	.spotList.grid{}
		.spotList.grid dl{
			width: calc(33.33% - 1.34em);
			}
			.spotList.grid dl:not(:nth-of-type(3n+1)){
				margin-left: 2em;
				}
			.spotList.grid dl:nth-of-type(n+4){
				margin-top: 3em;
				}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#pickup{}
	#pickup .wrap{
		width: calc(100% - 1.5em);
		}
#product{}
	#product h2+div{
		margin: 2em 0 0 1.75em;
		}
#searchMenuDetail{}
	#searchMenuDetail ul{
		flex-wrap: wrap;
		}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
#pickup{}
	#pickup .slick-prev{
		left: calc(50% - 360px);
		}
	#pickup .slick-next{
		right: calc(50% - 360px);
		}
#searchMenu{
	padding-top: 3em;
	}
#searchMenuDetail{}
	#searchMenuDetail li{
		width: calc(33.33% - 1.33em);
		}
		#searchMenuDetail li:nth-of-type(3n+2){
			margin-left: 2em;
			margin-right: auto;
			}
#searchResult,
#pagenation{
	margin-top: 3em;
	}
.searchMenuBox{}
	.searchMenuBox > div{
		max-height: 50vh;
		padding: 1.5em;
		}
.articleList{}
	.articleList dl{
		width: calc(50% - 1.5em);
		}
		.articleList dl:nth-of-type(n+3){
			margin-top: 3em;
			}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
/*
#event{}
	#event+#search #searchMenuSelect{
		position: relative;
		margin-bottom: 4em;
		}
	#event+#search #searchMenuSelect li:last-child{
		position: absolute;
		width: 100%;
		max-width: 420px;
		left: 0;
		bottom: -4em;
		margin: 0;
		}
	#event+#search #searchMenuDetail{
		top: -4em;
		}
*/
#searchMenu{
	padding-top: 4em;
	}
#searchMenuSelect{
	margin-top: 1em;
	}
	#searchMenuSelect li{
		width: 50%;
		}
		#searchMenuSelect li a{
			font-size: 0.8em;
			}
	#searchMenuSelect li+li{
		margin-left: 1em;
		}
	#searchMenuSelect input{
		padding: 0.4em;
		padding-right: 3em;
		}
#searchMenuDetail{
	position: relative;
	}
	#searchMenuDetail > div{
		margin-top: 1em;
		}
	#searchMenuDetail li{
		width: calc(25% - 1.5em);
		}
		#searchMenuDetail li:not(:nth-of-type(4n+1)){
			margin-left: 2em;
			}
#searchResult,
#pagenation{
	margin-top: 4em;
	}
.searchMenuBox{}
	.searchMenuBox > div{
		max-height: 50vh;
		padding: 2em;
		}
.articleList{}
	.articleList dl{
		width: calc(33.33% - 2em);
		}
		.articleList dl:not(:nth-of-type(3n+1)){
			margin-left: 3em;
			}
		.articleList dl:nth-of-type(n+4){
			margin-top: 4em;
			}
.spotList{}
	.spotList.grid{}
		.spotList.grid dl{
			width: calc(25% - 1.5em);
			}
			.spotList.grid dl:not(:nth-of-type(4n+1)){
				margin-left: 2em;
				}
			.spotList.grid dl:nth-of-type(n+5){
				margin-top: 3em;
				}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
#pickup{}
	#pickup .slick-prev{
		left: calc(50% - 480px);
		}
	#pickup .slick-next{
		right: calc(50% - 480px);
		}
}
@media (min-width: 1200px) {
/*1200px以上*/
#subject{}
	#subject h2{
		margin-left: 100px;
		}
#pickup{}
	#pickup .slick-prev{
		left: calc(50% - 570px);
		}
	#pickup .slick-next{
		right: calc(50% - 570px);
		}
#product{}
	#product h2+div{
		margin-left: 100px;
		}
#flowering{}
	#flowering #lead{}
		#flowering #lead .wrap{
			padding-left: 100px;
			}
}





