/* CSS Document */
@import url('//use.typekit.net/nhj0the.css');
/*
Sofia Pro Bold
font-family: sofia-pro, sans-serif;
font-weight: 700;
font-style: normal;

Sofia Pro Bold italic
font-family: sofia-pro, sans-serif;
font-weight: 700;
font-style: italic;

Sofia Pro Regular
font-family: sofia-pro, sans-serif;
font-weight: 400;
font-style: normal;

Sofia Pro Regular italic
font-family: sofia-pro, sans-serif;
font-weight: 400;
font-style: italic;

Sofia Pro Soft Bold
font-family: sofia-pro-soft, sans-serif;
font-weight: 700;
font-style: normal;

Sofia Pro Soft Bold Italic
font-family: sofia-pro-soft, sans-serif;
font-weight: 700;
font-style: italic;

Sofia Pro Soft Regular
font-family: sofia-pro-soft, sans-serif;
font-weight: 400;
font-style: normal;

Sofia Pro Soft Regular Italic
font-family: sofia-pro-soft, sans-serif;
font-weight: 400;
font-style: italic;

Sofia Pro Condensed Bold
font-family: sofia-pro-condensed, sans-serif;
font-weight: 700;
font-style: normal;

Sofia Pro Condensed Bold italic
font-family: sofia-pro-condensed, sans-serif;
font-weight: 700;
font-style: italic;

Sofia Pro Condensed Regular
font-family: sofia-pro-condensed, sans-serif;
font-weight: 400;
font-style: normal;

Sofia Pro Condensed Regular italic
font-family: sofia-pro-condensed, sans-serif;
font-weight: 400;
font-style: italic;
*/

:root{
	--base-color: #2b2926;
	--base-color-rgb: 43, 41, 38;
	--primary-color: #185087;
	--primary-color-rgb: 24, 80, 135;
	}

body{
	color: var(--base-color);
	fill: currentColor;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	text-align: justify;
	overflow-wrap: break-word;
	word-wrap: break-word;
	line-height: 1em;
	}
	::selection {
		background: var(--primary-color);
		color: #fff;
		}
	::-moz-selection {
		background: var(--primary-color);
		color: #fff;
		}
	_::content, _:future, body:not(*:root) {
		/* Chromeのハック */
		/*フォント細いって言われたとき
		font-weight: 500;
		*/
		}
	_::-webkit-full-page-media, _:future, :root body{
		/* safariのハック */
		}
	body:not(.nav){}
		body:not(.nav) #nav{
			left: 100vw;
			}
	body :is(.fr-view){
		text-align: left;
		line-height: 1.6em;
		}
		body :is(.fr-view) p{
			margin-bottom: 0;
			}
		body :is(.fr-view) td{
			padding: 0.5em 0.8em;
			vertical-align: middle;
			}
		body :is(.fr-view) a{
			text-decoration: underline;
			}

a{
	color: inherit;
	fill: currentColor;
	transition-property: color,text-decoration,background,background-color,background-size,border,border-color,box-shadow,fill,filter,opacity;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	}

main > :where(div,article),
article :where(section,nav,header,footer){
	padding: var(--space) 0;
	}

main{}
	main a{
		color: var(--primary-color);
		}
		main a:where(:hover,:focus){
			text-decoration: underline;
			}
	main p{
		line-height: 1.7em;
		}

:where(input,textarea,select){}
	:where(input,textarea,select):focus{
		border: 1px solid var(--primary-color);
		}

:where(input[type="radio"],input[type="checkbox"]){}
	:where(input[type="radio"],input[type="checkbox"])+label{
		line-height: 1.5em;
		}
		:where(input[type="radio"],input[type="checkbox"])+label:before{
			flex: 0 0 1.5em;
			width: 1.5em;
			height: 1.5em;
			color: rgba(var(--base-color-rgb),0.2);
			}
	:where(input[type="radio"],input[type="checkbox"]):checked+label{}
		:where(input[type="radio"],input[type="checkbox"]):checked+label:before{
			-webkit-animation: checked 0.2s forwards;
			animation: checked 0.2s forwards;
			color: var(--primary-color);
			}
		@-webkit-keyframes checked{
			30% {box-shadow: 0 0 0 1em rgba(var(--primary-color-rgb),0.5);}
			}
		@keyframes checked{
			30% {box-shadow: 0 0 0 1em rgba(var(--primary-color-rgb),0.5);}
			}

#wrapper{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-height: 100vh;
	margin: auto;
	}

#header,
#nav,
#main{
	order: -1;
	}

#header{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	z-index: 110;
	}

#siteName{}
	#siteName a{
		display: block;
		color: var(--primary-color);
		fill: currentColor;
		}
	#siteName svg{
		width: 100%;
		}

#navButton{
	position: relative;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0 solid var(--primary-color);
	color: transparent;
	fill: var(--primary-color);
	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
	cursor: pointer;
	}
	.nav #navButton{}
		.nav #navButton rect:nth-child(1){
			transform: rotate(-45deg) translate(0, 45%);
			}
		.nav #navButton rect:nth-child(2){
			transform: translate(100%, 0);
			}
		.nav #navButton rect:nth-child(3){
			transform: rotate(45deg) translate(0, -45%);
			}
	#navButton svg{
		left: 50%;
		width: 60%;
		height: 60%;
		}
	#navButton rect{
		transform-origin: center center;
		transition: transform 0.2s ease-out;
		}

#nav{
	position: fixed;
	display: grid;
	align-content: flex-start;
	grid-gap: 1em;
	padding: 1em;
	background: rgba(255, 255, 255, 0.8);
	transition: left 0.2s ease-out;
	overflow-y: scroll;
	z-index: 120;
	}
	#nav ul{
		list-style: none;
		}

#navGlobal{
	margin: 0 -1em;
	}
	#navGlobal ul{
		display: grid;
		grid-gap: 1px;
		}
	#navGlobal a{
		display: block;
		padding: 0.8em 1em;
		background: var(--primary-color);
		color: #fff;
		letter-spacing: 0.1em;
		}
		#navGlobal a:hover{
			background: #EDF6FF;
			color: var(--primary-color);
			}

#navExtra{}
	#navExtra ul{
		display: grid;
		grid-gap: 1em;
		}
	#navExtra a{
		display: flex;
		align-items: center;
		grid-gap: 0.5em;
		padding: 0.8em;
		border: 1px solid currentColor;
		color: var(--primary-color);
		letter-spacing: 0.1em;
		}
		#navExtra a:hover{
			background: #EDF6FF;
			}

#navLanguage{}
	#navLanguage dl{
		border: 1px solid currentColor;
		color: var(--primary-color);
		}
	#navLanguage :where(dt,dd a){
		display: block;
		padding: 0.8em;
		letter-spacing: 0.1em;
		}
	#navLanguage dt{
		display: flex;
		align-items: center;
		justify-content: space-between;
		grid-gap: 1em;
		transition: background 0.2s ease-out;
		cursor: pointer;
		}
	#navLanguage dt+span{
		display: block;
		transform-origin: center top;
		}
	#navLanguage dd{
		border-top: 1px solid currentColor;
		}
		#navLanguage dd a{}
			#navLanguage dd a:hover{
				background: var(--primary-color);
				color: #fff;
				}
	#navLanguage .open,
	#navLanguage .open+span{
		background: #EDF6FF;
		}

#navSearch{
	min-height: 2.6em;
	order: -1;
	overflow: hidden;
	position: relative;
	}
	#navSearch > form{
		display: none;
		}
	#navSearch .gsc-control-cse{
		padding: 0;
		margin: 0;
		border: none;
		font-size: inherit;
		}
	#navSearch .gsc-search-box{
		width: 100%;
		padding: 0;
		margin: 0;
		background: none;
		border: none;
		font-size: inherit;
		}
		#navSearch .gsc-search-box *{
			padding: 0;
			margin: 0;
			border: none;
			font-size: inherit;
			}
	#navSearch .gsc-input-box{
		display: flex;
		align-items: center;
		height: 2.6em;
		padding: 0 0.6em;
		border: 1px solid var(--primary-color);
		border-radius: 0;
		}
	#navSearch .gsc-search-button{
		width: 2.6em;
		background: var(--primary-color);
		border-radius: 0;
		fill: #fff;
		}
	#navSearch .gsc-results-wrapper-overlay{
		top: 50%;
		left: 50%;
		width:  var(--wrap);
		max-width: 800px;
		height: calc(100vh - 4em);
		transform: translate(-50%,-50%);
		}
	.gstl_50.gssb_c{
		position: fixed !important;
		}

#pagePath{
	padding: 1em 0;
	color: var(--base-color);
	font-weight: 500;
	overflow-x: auto;
	}
	#pagePath ul{
		display: flex;
		font-size: 0.875em;
		}
	#pagePath li{
		display: flex;
		align-items: center;
		white-space: nowrap;
		}
		#pagePath li i{
			position: relative;
			width: 1em;
			height: 1em;
			margin: 0 0.5em;
			}
		#pagePath li svg{
			position: absolute;
			top: 10%;
			left: 10%;
			width: 80%;
			height: 80%;
			}

#main{
	margin-bottom: auto;
	}

#subject{
	text-align: center;
	}
	#subject h2{
		color: var(--primary-color);
		font-size: 1.75em;
		font-weight: 700;
		letter-spacing: 0.22em;
		}

#linkTab{
	padding-bottom: 0;
	border-bottom: 3px solid currentColor;
	color: var(--primary-color);
	}
	#linkTab ul{
		display: flex;
		grid-gap: 1em;
		margin-bottom: -3px;
		}
	#linkTab li{
		display: contents;
		}
	#linkTab a{
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 1em;
		border: 1px solid transparent;
		border-bottom: none;
		border-radius: 8px 8px 0 0;
		text-align: center;
		line-height: 1.4em;
		text-decoration: none;
		}
		#linkTab .select a{
			background: #fff;
			border-color: currentColor;
			color: inherit;
			}
		#linkTab li:not(.select) a{
			border-color: var(--primary-color);
			background: var(--primary-color);
			color: #fff;
			}

#tabMenu{
	position: relative;
	overflow: hidden;
	}
	header+#tabMenu{
		padding-top: 0;
		}
	#tabMenu ul{
		position: relative;
		display: flex;
		margin-bottom: 1em;
		color: var(--primary-color);
		}
		#tabMenu ul:before{
			content: "";
			position: absolute;
			top: 50%;
			left: calc(50% - 50vw);
			width: 100vw;
			border-top: 1px solid currentColor;
			z-index: -1;
			}
	#tabMenu li{
		display: flex;
		width: 50%;
		background: #fff;
		border: 1px solid currentColor;
		cursor: pointer;
		}
		#tabMenu li:first-child{
			border-radius: 8px 0 0 8px;
			}
		#tabMenu li:last-child{
			border-radius: 0 8px 8px 0;
			}
		#tabMenu li a{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 1em;
			color: inherit;
			font-weight: 500;
			line-height: 1.5em;
			letter-spacing: 0.05em;
			text-align: center;
			text-decoration: none;
			}
	#tabMenu li+li{
		margin-left: -1px;
		}
	#tabMenu li.select{
		position: relative;
		background: currentColor;
		}
		#tabMenu li.select:before{
			content: "";
			position: absolute;
			left: 50%;
			bottom: -2em;
			margin-left: -1em;
			border: 1em solid transparent;
			border-top-color: currentColor;
			transform: scale(0.6, 1);
			}
		#tabMenu li.select a{
			color: #fff;
			}

#pageTop{
	position: fixed;
	right: 1em;
	bottom: 1em;
	z-index: 100;
	}
	#pageTop a{
		position: relative;
		display: block;
		width: 3em;
		height: 3em;
		background: var(--primary-color);
		border: 1px solid #fff;
		border-radius: 100%;
		color: transparent;
		overflow: hidden;
		}
		#pageTop a:before{
			content: "";
			position: absolute;
			top: 50%;
			left: 50%;
			width: 1em;
			height: 1em;
			-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16.34 13.73"><path d="M15.84,6,10.18.29A1,1,0,1,0,8.76,1.71l4.1,4.09H1a1,1,0,0,0,0,2H13L8.76,12a1,1,0,0,0,0,1.42,1,1,0,0,0,.71.29,1,1,0,0,0,.71-.29L16,7.57a1,1,0,0,0,.29-.74v0A1,1,0,0,0,15.84,6Z"/></svg>');
			-webkit-mask-repeat: no-repeat;
			-webkit-mask-position: center;
			-webkit-mask-size: contain;
			background: #fff;
			transform: translate(-50%, -50%) rotate(-90deg);
			}

#footer{
	padding: 2em 0;
	background: var(--primary-color);
	color: #fff;
	}

#fNavGlobal{}
	#fNavGlobal ul{
		justify-content: center;
		}
	#fNavGlobal a{
		display: flex;
		align-items: center;
		grid-gap: 0.5em;
		}
	#fNavGlobal svg{
		font-size: 1.25em;
		}

#fAddress{
	margin: var(--space) 0;
	}
	#fAddress dt{}
		#fAddress dt svg{
			font-size: 5em;
			fill: currentColor;
			}
	#fAddress dd{}
		#fAddress dd a{
			pointer-events: none;
			text-decoration: none;
			}

#fNavRelated{
	margin-bottom: 2em;
	}
	#fNavRelated ul{
		display: flex;
		justify-content: center;
		}
	#fNavRelated li+li{}
		#fNavRelated li+li:before{
			content: "";
			width: 0;
			height: 1.2em;
			margin: 0 1.5em;
			border-left: 1px solid currentColor;
			}

#copyright{
	display: flex;
	align-items: center;
	height: 3em;
	box-sizing: content-box;
	}
	#copyright p{
		margin: 0;
		padding: 0;
		color: #fff;
		font-size: 0.8em;
		line-height: 1.2em;
		text-align: center;
		}

#pagenation{
	padding: var(--space) 0;
	overflow: hidden;
	}
	#pagenation :where(ul,ol){
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		grid-gap: 1em;
		list-style: none;
		}
	#pagenation a{
		display: flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		}
		#pagenation a:not([rel]){
			height: 2.6em;
			width: 2.6em;
			padding: 0 0.3em;
			background: var(--primary-color);
			color: #fff;
			}
		#pagenation a[rel]{
			grid-gap: 0.5em;
			color: inherit;
			}
	#pagenation .lsc-current-page{
		background: #ccc !important;
		color: #fff;
		pointer-events: none;
		}

#favoriteReg{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5em;
	background: var(--primary-color);
	border-radius: 4px;
	color: #fff;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	}
	#favoriteReg:before{
		content: attr(data-count);
		margin: -0.3em -0.3em -0.3em -1px;
		padding: 0.3em 0.5em;
		background: #fff;
		border-radius: 4px;
		color: #246cb3;
		white-space: nowrap;
		order: 2;
		}
	#favoriteReg:after{
		content: "";
		margin-left: auto;
		border: 0.5em solid transparent;
		border-right-color: #fff;
		transform: scaleY(0.6);
		}
	#favoriteReg span{
		width: 100%;
		letter-spacing: 0.05em;
		}
	#favoriteReg i{
		display: flex;
		align-items: center;
		margin-right: 0.5em;
		}
	#favoriteReg.favOn{}
		#favoriteReg.favOn{
			background: #aaa;
			}
			#favoriteReg.favOn:before{
				color: #aaa;
				}

#cookieAgree{
	position: fixed;
	left: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 1.5em;
	pointer-events: none;
	z-index: 1000;
	}
	#cookieAgree div{
		position: relative;
		display: flex;
		flex-direction: column;
		background: #fff;
		box-shadow: 0 0 5px rgb(0 0 0 / 50%);
		padding: 1em;
		line-height: 1.5em;
		pointer-events: all;
		}
	#cookieAgree a{
		color: var(--primary-color);
		text-decoration: underline;
		}
	#cookieAgree button{
		align-self: center;
		width: 7em;
		margin-top: 1em;
		padding: 0.8em;
		background: var(--primary-color);
		border-radius: 10em;
		font-weight: 500;
		line-height: 1em;
		cursor: pointer;
		}

.wrap{
	width: var(--wrap);
	margin-left: auto;
	margin-right: auto;
	}

.headline{
	color: var(--primary-color);
	font-size: 1.75em;
	font-weight: 700;
	letter-spacing: 0.22em;
	}

.linkBut{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	grid-gap: 0.5em;
	padding: 0.8em 1em;
	background: var(--primary-color);
	border: none;
	color: #fff;
	font-family: inherit;
	font-size:  inherit;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.5em;
	}
	.linkBut:hover{
		background: #e50012;
		color: #fff;
		text-decoration: none;
		}

.tabMenu{
	display: flex;
	justify-content: center;
	}
	.tabMenu li{
		position: relative;
		width: 50%;
		padding: 0.8em;
		background: #fff;
		border: 1px solid currentColor;
		color: var(--primary-color);
		text-align: center;
		cursor: pointer;
		}
		.tabMenu li:before{
			position: absolute;
			left: 50%;
			bottom: 0;
			width: 0;
			height: 0;
			border: 0.5em solid transparent;
			border-top-color: var(--primary-color);
			transform: translate(-50%, 100%) scale(0.6, 1);
			}
		.tabMenu li:first-child{
			border-radius: 0.5em 0 0 0.5em;
			}
		.tabMenu li:last-child{
			border-radius: 0 0.5em 0.5em 0;
			}
		.tabMenu li.select{
			position: relative;
			background: var(--primary-color);
			border-color: transparent;
			color: #fff;
			z-index: 1;
			}
			.tabMenu li.select:before{
				content: "";
				}
	.tabMenu li+li{
		margin-left: -1px;
		}
	.tabMenu a{
		display: block;
		margin: -0.8em;
		padding: 0.8em;
		color: inherit;
		}

.spotList{}
	.spotList dl{
		position: relative;
		display: flex;
		flex-direction: column;
		}
		.spotList dl[data-member]{}
			.spotList dl[data-member]:before{
				content: attr(data-member);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				padding: 0.5em;
				background: rgba(var(--primary-color-rgb),0.7);
				border-radius: 6px 6px 0 0;
				color: #fff;
				font-size: 0.875em;
				text-align: center;
				pointer-events: none;
				}
	.spotList dt{
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		height: 6em;
		margin-top: -6em;
		padding: 1em;
		background: linear-gradient(rgba(0,26,23,0), rgba(0,26,23,0.3));
		border-radius: 6px;
		color: #fff;
		font-weight: 500;
		text-shadow: 0 0 5px rgba(0,0,0,0.4);
		line-height: 1.5em;
		}
	.spotList dt+dd{
		order: -1;
		}
	.spotList dd+dd{}
		.spotList dd+dd:not(:last-child){
			margin-top: 0.5em;
			line-height: 1.5em;
			}
	.spotList dd{}
		.spotList dd ul{
			display: flex;
			flex-wrap: wrap;
			grid-gap: 0.25em;
			color: var(--primary-color);
			}
		.spotList dd li{}
			.spotList dd li:not(:last-child):after{
				content: "/";
				margin: 0 0.25em 0 0.5em;
				}
		.spotList dd time{
			display: block;
			margin-top: 0.8em;
			font-weight: 500;
			}
		.spotList dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.spotList .thumb{
		padding-top: 75%;
		border-radius: 8px;
		z-index: -1;
		}

.articleList{}
	.articleList dl{
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 0 1em;
		}
	.articleList dt{
		margin-bottom: auto;
		font-weight: 500;
		line-height: 1.5em;
		}
	.articleList dt+dd{
		margin: 0 -1em;
		overflow: hidden;
		order: -1;
		}
	.articleList dt+dd+dd:not(:last-child){
		justify-self: flex-start;
		padding: 0.3em 1em;
		background: var(--primary-color);
		border-radius: 2em;
		color: #fff;
		font-size: 0.875em;
		transform: translateY(-50%);
		order: -1;
		}
		.articleList dt+dd+dd:empty{
			visibility: hidden;
			}
	.articleList dd{}
		.articleList dd:last-child{
			display: contents;
			}
		.articleList dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.articleList .thumb{
		padding-top: 75%;
		border-radius: 8px;
		}

.topicsList{}
	.topicsList p{
		padding: 10% 0;
		text-align: center;
		opacity: 0.5;
		}
	.topicsList dl{
		position: relative;
		display: flex;
		flex-direction: column;
		grid-gap: 1em;
		padding: 1em 0;
		border-bottom: 1px solid currentColor;
		color: var(--primary-color);
		}
	.topicsList dt{
		margin-right: 3em;
		line-height: 1.5em;
		order: 1;
		}
	.topicsList dd{}
		.topicsList dd:last-child{
			display: contents;
			}
		.topicsList dd li{
			width: 10em;
			padding: 0.5em;
			border: 1px solid currentColor;
			font-size: 0.75em;
			text-align: center;
			white-space: nowrap;
			text-overflow: ellipsis;
			overflow: hidden;
			}
		.topicsList dd li.tagCheck{
			background: #FF6C2E;
			border-color: transparent;
			color: #fff;
			text-transform: capitalize;
			}
		.topicsList dd li.tagNew{
			background: var(--primary-color);
			color: #fff;
			text-transform: capitalize;
			}
		.topicsList dd time{
			font-size: 0.875em;
			}
		.topicsList dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			display: flex;
			align-items: center;
			justify-content: flex-end;
			}
	.topicsList dt+dd{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		grid-gap: 0.5em 1em;
		}

.googlemap{
	position: relative;
	height: min(100vw - 2em,30em);
	}
	.googlemap iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	.googlemap div+div{
		margin-top: auto;
		}

.youtube{
	position: relative;
	padding-top: 56.25%;
	}
	.youtube iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}

.slide{
	opacity: 0;
	}
	.slide.slick-initialized{
		opacity: 1 !important;
		}

.slick-arrow{
	position: relative;
	width: 3em;
	height: 3em;
	background: none;
	border: 1px solid var(--primary-color);
	border-radius: 100%;
	color: transparent;
	fill: var(--primary-color);
	overflow: hidden;
	}
	.slick-arrow:before{
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1em;
		height: 1em;
		margin: -0.5em;
		-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16.34 13.73"><path d="M15.84,6,10.18.29A1,1,0,1,0,8.76,1.71l4.1,4.09H1a1,1,0,0,0,0,2H13L8.76,12a1,1,0,0,0,0,1.42,1,1,0,0,0,.71.29,1,1,0,0,0,.71-.29L16,7.57a1,1,0,0,0,.29-.74v0A1,1,0,0,0,15.84,6Z"/></svg>');
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: contain;
		background: var(--primary-color);
		}
	.slick-arrow.slick-prev:before{
		transform: scale(-1, 1);
		}

.slick-dots{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	grid-gap: 1em 2em;
	}
	.slick-dots li{
		position: relative;
		flex: 0 0 10px;
		width: 10px;
		height: 10px;
		margin: 0;
		border-radius: 100%;
		background: #e1e9f2;
		overflow: hidden;
		}
	.slick-dots button{
		opacity: 0;
		}
	.slick-dots .slick-active{
		background: var(--primary-color);
		}

.infoWin{}
	.infoWin dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: 20em;
		font-weight: 500;
		}
	.infoWin dt{
		width: 100%;
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: 1.5em;
		}
	.infoWin dt+dd{
		width: 100%;
		}
		.infoWin dt+dd img{
			display: block;
			width: 100%;
			height: auto;
			border-radius: 4px;
			}
	.infoWin dd{
		width: calc(50% - 0.4em);
		margin-top: 0.8em;
		}
		.infoWin dd:last-child{}
			.infoWin dd:last-child a{
				background: var(--base-color);
				}
		.infoWin dd a{
			display: block;
			padding: 0.6em 0.8em;
			background: var(--primary-color);
			border: none;
			border-radius: 4px;
			color: #fff;
			fill: #fff;
			font-size: 0.875em;
			text-align: center;
			text-decoration: none;
			}

.anchor{
	position: absolute;
	margin-top: -2em;
	opacity: 0;
	}




/* for lower */
@media (max-width: 1399.98px) {
/*1399px以下*/
}
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
:root{
	--wrap: calc(100vw - 2em);
	}
body{
	font-size: clamp(1.4rem, 2.085vw, 1.6rem);
	}
#header{
	height: 4em;
	}
#siteName{
	margin-left: 1em;
	}
	#siteName svg{
		font-size: 3em;
		}
#navButton{
	width: 4em;
	height: 4em;
	}
#nav{
	top: 4em;
	left: calc(100% - 16em);
	width: 16em;
	height: calc(100% - 4em);
	}
#fNavGlobal{}
	#fNavGlobal ul{
		display: grid;
		}
#floatingNav{
	display: none;
	}
.anchor{
	transform: translateY(-4em);
	}
}


/* Small */
@media (max-width: 767.98px) {
/*767px以下*/
:root{
	--space: 2em;
	}
#siteName{}
	#siteName svg{
		font-size: 3.6em;
		}
#navSearch{
	font-size: 16px;
	}
#fAddress{}
	#fAddress dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		grid-gap: 1em 2em;
		}
	#fAddress dt+dd{
		width: 100%;
		text-align: center;
		}
.spotList{}
	.spotList dt{
		font-size: 1.1em;
		}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下縦向き*/
#fNavRelated{}
	#fNavRelated ul{
		font-size: 0.75em;
		}
#fNavGlobal{}
	#fNavGlobal ul{
		grid-template-columns: auto auto;
		grid-gap: 1.5em 2em;
		}
#linkTab{}
	#linkTab ul{
		flex-direction: column;
		}
	#linkTab .select a{
		order: 1;
		}
	#linkTab li:not(.select) a{
		border-radius: 8px;
		}
.topicsList{}
	.topicsList dd{}
		.topicsList dd ul{
			display: flex;
			align-items: center;
			grid-gap: 0.5em;
			}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下横向き*/
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#fNavGlobal{}
	#fNavGlobal ul{
		grid-gap: 1.5em 4em;
		}
.topicsList{}
	.topicsList dd{}
		.topicsList dd ul{
			display: contents;
			}
	.topicsList dt+dd{
		align-items: center;
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
#fNavGlobal{}
	#fNavGlobal ul{
		grid-template-columns: auto auto;
		}
}


/* Medium */
@media (min-width: 768px) {
/*768px以上*/
#fAddress{}
	#fAddress dl{
		display: grid;
		grid-template-columns: auto auto auto auto;
		grid-gap: 1em;
		justify-content: center;
		}
	#fAddress dt{
		grid-row: 1 / 3;
		margin-right: 3em;
		}
	#fAddress dt+dd{
		grid-column: 2 / 5;
		align-self: flex-end;
		}
	#fAddress dd{
		align-self: flex-start;
		}
.topicsList{}
	.topicsList dl{
		padding: 1.5em 0;
		}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
:root{
	--space: 3em;
	}
}


/* Large */
@media (min-width: 992px) {
/*992px以上*/
:root{
	--space: 4em;
	}
body{}
	body:not(.scrollTop) #header{
		box-shadow: 0 0 20px rgb(0 0 0 / 50%);
		}
#header{
	padding: 1em 0 1em 2em;
	transition: box-shadow 0.2s ease-out;
	}
#siteName{}
	#siteName svg{
		font-size: 5em;
		}
#navButton{
	width: 6em;
	height: 5em;
	border-width: 0 0 0 1px;
	}
	#navButton svg{
		width: 30px;
		height: 30px;
		}
#nav{
	top: 7em;
	left: calc(100% - 20em);
	width: 20em;
	height: calc(100% - 7em);
	}
#fNavGlobal{}
	#fNavGlobal ul{
		display: flex;
		}
#floatingNav{
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: flex-end;
	grid-gap: 1em 2em;
	width: 100%;
	height: 7em;
	padding: 1em 8em 1em 12em;
	pointer-events: none;
	z-index: 111;
	}
	#floatingNav:hover{
		z-index: 120;
		}
	#floatingNav a{
		color: inherit;
		}
#floatingNavGlobal{
	width: 100%;
	order: 1;
	}
	#floatingNavGlobal ul{
		display: flex;
		justify-content: flex-end;
		}
	#floatingNavGlobal li{
		pointer-events: all;
		}
	#floatingNavGlobal a{
		color: var(--primary-color);
		font-weight: 700;
		letter-spacing: 0.1em;
		}
#floatingNavExtra{
	font-size: 0.875em;
	pointer-events: all;
	}
	#floatingNavExtra a{
		display: inline-flex;
		align-items: center;
		grid-gap: 0.5em;
		color: var(--primary-color);
		letter-spacing: 0.1em;
		}
	#floatingNavExtra i{
		transform: translateY(0.15em);
		}
#floatingNavLanguage{
	font-size: 0.875em;
	pointer-events: all;
	}
	#floatingNavLanguage dl{
		position: relative;
		color: var(--primary-color);
		}
	#floatingNavLanguage dt{
		position: relative;
		padding-right: 2em;
		letter-spacing: 0.1em;
		cursor: pointer;
		z-index: 1;
		}
		#floatingNavLanguage dt i{
			position: absolute;
			inset: 50% 0 auto auto;
			transform: translateY(-50%);
			}
	#floatingNavLanguage dt+span{
		position: absolute;
		top: calc(100% + 1em);
		left: 0;
		display: block;
		width: 10em;
		background: #fff;
		transform-origin: center top;
		transition: transform 0.2s ease-out;
		}
	#floatingNavLanguage dd{
		border: 1px solid currentColor;
		}
	#floatingNavLanguage dd+dd{
		border-top: none;
		}
	#floatingNavLanguage a{
		display: block;
		padding: 0.8em;
		white-space: nowrap;
		}
		#floatingNavLanguage a:hover{
			background: #EDF6FF;
			}
	#floatingNavLanguage .open{}
		#floatingNavLanguage .open svg{
			transform: scale(1, -1);
			}
.googlemap{
	height: 40em;
	}
.anchor{
	transform: translateY(-7em);
	}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
:root{
	--wrap: 960px;
	--space: 4em;
	}
body{
	font-size: 1.4rem;
	}
#floatingNavGlobal{}
	#floatingNavGlobal ul{
		grid-gap: 1em;
		}
}


/* X-Large */
@media (min-width: 1200px) {
/*1200px以上*/
#floatingNavGlobal{}
	#floatingNavGlobal ul{
		grid-gap: 1.5em;
		}
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
/*1200px～1399px*/
:root{
	--wrap: 1140px;
	}
body{
	font-size: 1.6rem;
	}
}


/* XX-Large */
@media (min-width: 1400px) {
/*1400px以上*/
:root{
	--wrap: 1320px;
	}
body{
	font-size: 1.8rem;
	}
#siteName{
	margin: -0.5em 0;
	}
	#siteName svg{
		font-size: 6em;
		}
}





