/* CSS Document */
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap');
@import url('//use.typekit.net/ors1ckr.css');
/*
font-family: sofia-pro, sans-serif;
font-weight: 900;
font-style: italic;
*/

body{
	color: #231815;
	fill: currentColor;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	text-align: justify;
	word-break: normal;
	line-height: 1em;
	}
	body:not(.nav){}
		body:not(.nav) #nav{
			opacity: 0;
			pointer-events: none;
			}

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;
	word-break: break-all;
	}

main{}
	main a{
		color: inherit;
		text-decoration: underline;
		}
		main a:hover{
			color: #246cb3;
			}

input,
textarea,
select{
	border-color: #bed0d4;
	border-radius: 4px;
	}
	input:focus,
	textarea:focus,
	select:focus{
		border: 1px solid #0068b6;
		}

input[type="radio"],
input[type="checkbox"]{}
	input[type="radio"]+label,
	input[type="checkbox"]+label{}
		input[type="radio"]+label:before,
		input[type="checkbox"]+label:before{
			color: #C7C7C7;
			}
	input[type="radio"]:checked+label,
	input[type="checkbox"]:checked+label{}
		input[type="radio"]:checked+label:before,
		input[type="checkbox"]:checked+label:before{
			background-color: currentColor;
			color: #246cb3;
			}

#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;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	background: #fff;
	z-index: 110;
	}

#siteName{
	margin: 0.5em 1em;
	margin-right: auto;
	}
	#siteName a{
		display: block;
		}
	#siteName svg{
		font-size: 3em;
		}

#hNav{}
	#hNav ul{
		display: flex;
		}
	#hNav li{
		width: 11em;
		}
		#hNav li:nth-of-type(1){}
			#hNav li:nth-of-type(1) a{
				letter-spacing: 0.1em;
				}
		#hNav li:nth-of-type(2){
			color: #246cb3;
			}
		#hNav li a{
			position: relative;
			display: block;
			padding: 0.6em;
			padding-left: 2.5em;
			border: 1px solid currentColor;
			border-radius: 3em;
			font-size: 0.875em;
			fill: currentColor;
			text-align: center;
			}
			#hNav li a:hover{
				border-color: #246cb3;
				background: #246cb3;
				color: #fff;
				}
		#hNav li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			display: flex;
			align-items: center;
			width: 1em;
			height: 1em;
			}
	#hNav li+li{
		margin-left: 1em;
		}

#navButton{
	position: relative;
	flex: 0 0 4em;
	width: 4em;
	height: 4em;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: #d42c25;
	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	}
	#navButton i{
		position: absolute;
		display: block;
		left: 20%;
		width: 60%;
		height: 2px;
		margin-top: -1px;
		background: currentColor;
		border-radius: 1px;
		transition: all 0.2s ease-out;
		}
		#navButton i:nth-child(1){
			top: 33%;
			}
		#navButton i:nth-child(2){
			top: 50%;
			}
		#navButton i:nth-child(3){
			top: 67%;
			}

#nav{
	position: fixed;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	background: #fff;
	transition: opacity 0.2s ease-out;
	opacity: 1;
	overflow-y: auto;
	z-index: 120;
	}
	#nav a{
		list-style: none;
		font-weight: 500;
		text-decoration: none;
		}
	#nav #navButton{
		color: inherit;
		}
		#nav #navButton:after{
			content: "CLOSE";
			position: absolute;
			left: 0;
			bottom: 0.3em;
			width: 100%;
			transform: scale(0.6);
			letter-spacing: 0.1em;
			white-space: nowrap;
			}
		#nav #navButton i{
			top: 40%;
			}
			#nav #navButton i:nth-child(1){
				transform: rotate(-45deg);
				}
			#nav #navButton i:nth-child(2){
				display: none
				}
			#nav #navButton i:nth-child(3){
				transform: rotate(45deg);
				}
	#nav .wrap{
		max-width: 580px;
		}

#navHead{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	background: #fff;
	z-index: 1;
	}

#navLogo{
	margin: 0.5em 1em;
	margin-right: auto;
	}
	#navLogo a{
		display: block;
		}
	#navLogo svg{
		font-size: 3em;
		}

#navBody{
	display: flex;
	flex-direction: column;
	padding: 4em 0;
	}
	#navBody > *{
		margin-top: 2em;
		}

#navSearch{}
	#navSearch .gsc-control-cse,
	#navSearch .gsc-search-box-tools,
	#navSearch .gsc-search-box-tools *{
		margin: 0;
		padding: 0;
		border: none;
		background: none;
		font-size: inherit;
		}
	#navSearch .gsc-search-box-tools,
	#navSearch .gsc-search-box-tools *{
		line-height: inherit;
		}
	#navSearch .gsc-search-box-tools{
		padding: 0.6em;
		border: 1px solid #bed0d4;
		}
	#navSearch .gsc-input{
		font-size: 16px;
		}
	#navSearch .gsst_a{
		margin-right: 0.5em;
		}

#navGlobal{}
	#navGlobal ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: -1em;
		}
	#navGlobal li{
		width: calc(50% - 0.5em);
		border-bottom: 1px solid #bed0d4;
		}
		#navGlobal li a{
			display: block;
			padding: 1em;
			letter-spacing: 0.1em;
			}
			#navGlobal li a:hover{
				color: #246cb3;
				}

#navPickup{
	padding: 2em 0;
	background: #246cb3;
	color: #fff;
	}
	#navPickup ul{
		margin-top: -1em;
		}
	#navPickup li{
		border-bottom: 1px solid #bed0d4;
		}
		#navPickup li a{
			display: block;
			padding: 1em;
			letter-spacing: 0.1em;
			}
			#navPickup li a:hover{
				text-decoration: underline;
				}

#navExtra{}
	#navExtra ul{
		display: flex;
		justify-content: center;
		margin: -0.5em;
		}
	#navExtra li{
		width: 50%;
		max-width: 12em;
		margin: 0.5em;
		}
		#navExtra li:nth-of-type(1){}
			#navExtra li:nth-of-type(1) a{
				letter-spacing: 0.1em;
				}
		#navExtra li:nth-of-type(2){
			color: #246cb3;
			}
		#navExtra li a{
			position: relative;
			display: block;
			padding: 0.8em;
			padding-left: 2.5em;
			border: 1px solid currentColor;
			border-radius: 3em;
			font-size: 0.875em;
			fill: currentColor;
			text-align: center;
			}
			#navExtra li a:hover{
				border-color: #246cb3;
				background: #246cb3;
				color: #fff;
				}
		#navExtra li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			display: flex;
			align-items: center;
			width: 1em;
			height: 1em;
			}

#navSns{}
	#navSns ul{
		display: flex;
		justify-content: center;
		}
	#navSns li{}
		#navSns li a{
			display: block;
			}
			#navSns li a:hover{
				opacity: 0.8;
				}
	#navSns li+li{
		margin-left: 2em;
		}

#navRelated{}
	#navRelated ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#navRelated li{
		width: calc(50% - 0.5em);
		border-bottom: 1px solid #bed0d4;
		}
		#navRelated li a{
			display: block;
			padding: 1em;
			}
			#navRelated li a:hover{
				color: #246cb3;
				}

#navLanguage{}
	#navLanguage dl{
		display: flex;
		flex-direction: column;
		background: #246cb3;
		border-radius: 1.5em;
		color: #fff;
		text-align: center;
		}
	#navLanguage dt{
		position: relative;
		padding: 1em;
		fill: currentColor;
		font-weight: 500;
		letter-spacing: 0.1em;
		cursor: pointer;
		}
		#navLanguage dt i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}
	#navLanguage dt+span{
		display: block;
		}
	#navLanguage dd{
		border-top: 1px solid #bed0d4;
		}
		#navLanguage dd a{
			display: block;
			padding: 1em;
			}
			#navLanguage dd a:hover{
				background: rgba(255,255,255,0.2);
				}
	#navLanguage .open{}
		#navLanguage .open i{
			transform: rotate(-180deg);
			}

#pagePath{
	padding: 1em 0;
	color: #246cb3;
	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;
	}

#pageTop{
	position: fixed;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: flex-end;
	height: 0;
	z-index: 100;
	text-align: center;
	}
	#pageTop a{
		position: relative;
		display: block;
		width: 3em;
		height: 3em;
		background: #246cb3;
		border-radius: 100%;
		color: transparent;
		fill: #fff;
		transform: translate(-1em,-4em);
		overflow: hidden;
		}
		#pageTop svg{
			position: absolute;
			top: 25%;
			left: 25%;
			width: 50%;
			height: 50%;
			}

#footer{
	padding-top: 0 !important;
	border-top: 1px solid #246cb3;
	order: 1;
	}

#fNav{}
	#fNav ul{
		list-style: none;
		}

#fNavGlobal{
	color: #246cb3;
	}
	#fNavGlobal dd{
		margin-top: 1em;
		}
		#fNavGlobal dd a{
			position: relative;
			display: inline-block;
			padding-left: 1em;
			color: inherit;
			font-weight: 500;
			}
			#fNavGlobal dd a:hover{
				text-decoration: underline;
				}
		#fNavGlobal dd a:before{
			content: "";
			position: absolute;
			top: 0.5em;
			left: 0;
			width: 8px;
			height: 2px;
			background: currentColor;
			}

#fNavAddress{}
	#fNavAddress dl{
		font-weight: 500;
		}
	#fNavAddress dt{
		display: flex;
		flex-direction: column;
		}
	#fNavAddress dt+dd{
		margin-top: 1em;
		}
	#fNavAddress dd{
		margin-top: 0.5em;
		}
	#fNavAddress dd+dd{}
		#fNavAddress dd+dd:not(:last-child){
			margin-right: 1em;
			}

#fNavRelated{}
	#fNavRelated li{}
		#fNavRelated li a{
			position: relative;
			display: flex;
			align-items: center;
			padding: 1em;
			padding-left: calc(2em + 20px);
			border: 1px solid currentColor;
			color: inherit;
			fill: currentColor;
			font-weight: 500;
			}
			#fNavRelated li a:hover{
				color: #246cb3;
				}
		#fNavRelated li i{
			position: absolute;
			top: calc(50% - 10px);
			left: 1em;
			width: 20px;
			height: 20px;
			}
		#fNavRelated li svg{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}

#copyright{
	margin-bottom: env(safe-area-inset-bottom);
	}
	#copyright p{
		margin: 0;
		padding: 0;
		font-size: 0.75em;
		line-height: 1.2em;
		text-align: center;
		}

#subject{
	text-align: center;
	color: #246cb3;
	}
	#subject .subject{
		margin: 0 1em;
		text-align: center;
		letter-spacing: 0.1em;
		}
		#subject .subject[data-ruby]{
			display: inline-flex;
			align-items: center;
			}
			#subject .subject[data-ruby]:before,
			#subject .subject[data-ruby]:after{
				order: -1;
				}
			#subject .subject[data-ruby]:after{
				content: "";
				width: calc(100% + 2em);
				border-bottom: 1px solid currentColor;
				order: -1;
				}

#linkTab{
	padding-bottom: 0;
	border-bottom: 3px solid currentColor;
	color: #246cb3;
	}
	#linkTab ul{
		display: flex;
		margin-bottom: -3px;
		}
	#linkTab li{
		display: flex;
		border: 1px solid;
		border-bottom: none;
		border-radius: 8px 8px 0 0;
		}
		#linkTab li a{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 1em;
			text-align: center;
			line-height: 1.4em;
			text-decoration: none;
			}
		#linkTab li.select{
			background: #fff;
			border-color: currentColor;
			}
			#linkTab li.select a{
				color: currentColor;
				}
		#linkTab li:not(.select){
			border-color: currentColor;
			background: currentColor;
			cursor: pointer;
			}
			#linkTab li:not(.select) a{
				color: #fff;
				}
	#linkTab li+li{
		margin-left: 1em;
		}

#tabMenu{
	position: relative;
	overflow: hidden;
	}
	header+#tabMenu{
		padding-top: 0;
		}
	#tabMenu ul{
		position: relative;
		display: flex;
		margin-bottom: 1em;
		color: #246cb3;
		}
		#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%;
			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;
			}

#pagenation{
	color: #246cb3;
	overflow: hidden;
	}
	#pagenation ul,
	#pagenation ol{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		list-style: none;
		}
	#pagenation ol{
		margin: -0.5em;
		}
		#pagenation ol li{
			margin: 0.5em;
			}
		#pagenation ol a{}
			#pagenation ol a:not([rel]){
				min-width: 2.6em;
				padding: 0 0.3em;
				border: 1px solid #c7c7c7;
				border-radius: 4px;
				color: #aeaeae;
				}
				#pagenation ol a:not([rel]).now,
				#pagenation ol a:not([rel]).lsc-current-page{
					border-color: #246cb3;
					background: #246cb3;
					color: #fff;
					pointer-events: none;
					}
	#pagenation ul{}
		#pagenation ul li{
			width: 50%;
			max-width: 240px;
			border: 1px solid currentColor;
			transition: all 0.2s ease-out;
			overflow: hidden;
			}
			#pagenation ul li:first-child{
				border-radius: 8px 0 0 8px;
				}
			#pagenation ul li:last-child{
				border-radius: 0 8px 8px 0;
				}
			#pagenation ul li:only-child{
				border-radius: 8px;
				}
		#pagenation ul a{
			position: relative;
			}
			#pagenation ul li:hover{
				background: currentColor;
				}
				#pagenation ul li:hover a{
					color: #fff;
					}
			#pagenation ul a[rel="prev"]{}
				#pagenation ul a[rel="prev"] i{
					left: 1em;
					}
			#pagenation ul a[rel="next"]{}
				#pagenation ul a[rel="next"] i{
					right: 1em;
					}
		#pagenation ul i{
			position: absolute;
			top: calc(50% - 0.5em);
			}
		#pagenation ul li+li{
			border-left: none;
			}
	#pagenation a{
		display: flex;
		align-items: center;
		justify-content: center;
		height: 2.6em;
		color: inherit;
		fill: currentColor;
		text-decoration: none;
		}

#favoriteReg{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5em;
	background: #246cb3;
	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: #246cb3;
		text-decoration: underline;
		}
	#cookieAgree button{
		align-self: center;
		width: 7em;
		margin-top: 1em;
		padding: 0.8em;
		background: #246cb3;
		border-radius: 10em;
		font-weight: 500;
		line-height: 1em;
		cursor: pointer;
		}

.wrap{
	margin-left: auto;
	margin-right: auto;
	}

.subject{
	margin: 0;
	padding: 0;
	font-weight: 500;
	line-height: 1.4em;
	}
	.subject[data-ruby]{
		display: flex;
		flex-direction: column;
		grid-gap: 0.5em 0;
		letter-spacing: 0.1em;
		}
		.subject[data-ruby]:before{
			position: relative;
			top: 0.125em;
			content: attr(data-ruby);
			padding: 0 0.1em 0.25em 0.1em;
			text-transform: capitalize;
			font-family: sofia-pro, sans-serif;
			font-weight: 900;
			font-style: italic;
			letter-spacing: 0;
			}
		_:-ms-lang(x)::-ms-backdrop, .subject:before{
			background: none !important;
			font-size: 1.2em;
			}

.headline{
	margin: 0;
	padding: 0;
	line-height: 1.4em;
	}

.title{
	margin: 0;
	padding: 0;
	line-height: 1.4em;
	}

.subTitle{
	margin: 0;
	padding: 0;
	line-height: 1.4em;
	}

.linkBut{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	grid-gap: 0.5em;
	padding: 0.8em 1em;
	background: none;
	border: 1px solid currentColor;
	border-radius: 4px;
	color: inherit;
	fill: currentColor;
	font-family: inherit;
	font-size: inherit;
	text-decoration: none;
	line-height: 1.4em;
	}
	.linkBut:hover{
		background: #d42c25;
		color: #fff;
		text-decoration: none;
		}
	.linkBut.append{
		position: relative;
		padding-right: 3em;
		}
		.linkBut.append i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			width: 1em;
			height: 1em;
			}
		.linkBut.append svg{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}

.spotList{}
	.spotList dl{
		position: relative;
		display: flex;
		flex-direction: column;
		}
	.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;
			margin: -0.25em;
			}
		.spotList dd li{
			margin: 0.25em;
			color: #246cb3;
			}
			.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: 6px;
		z-index: -1;
		}

.articleList{}
	.articleList dl{
		position: relative;
		display: flex;
		flex-direction: column;
		}
	.articleList dt{
		margin: 0.8em;
		margin-bottom: 0;
		font-weight: 500;
		line-height: 1.5em;
		}
	.articleList dt+dd{
		border-radius: 8px;
		overflow: hidden;
		order: -1;
		}
	.articleList dt+dd+dd{
		position: relative;
		align-self: flex-start;
		margin: -0.8em 0 0 1em;
		padding: 0.3em 1em;
		background: #179677;
		border-radius: 2em;
		color: #fff;
		order: -1;
		}
		.articleList dt+dd+dd:empty{
			visibility: hidden;
			}
	.articleList dd{}
		.articleList dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.articleList .thumb{
		padding-top: 75%;
		}

.topicsList{}
	.topicsList p{
		padding: 10% 0;
		text-align: center;
		opacity: 0.5;
		}
	.topicsList dl{
		position: relative;
		display: flex;
		flex-direction: column;
		border-bottom: 1px solid #bed0d4;
		color: #246cb3;
		}
	.topicsList dt{
		padding-right: 2.5em;
		fill: currentColor;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 1.7em;
		}
		.topicsList dt i{
			position: absolute;
			top: calc(50% - 0.5em);
			}
	.topicsList dt+dd{
		display: flex;
		order: -1;
		}
	.topicsList dd{}
		.topicsList dd time{
			font-size: 0.875em;
			}
		.topicsList dd ul{
			display: flex;
			}
		.topicsList dd li{
			min-width: 6em;
			padding: 0.2em 0.5em;
			border: 1px solid currentColor;
			font-size: 0.75em;
			text-align: center;
			}
		.topicsList dd figure{
			position: absolute;
			top: calc(50% - 3em);
			left: 0;
			width: 6em;
			height: 6em;
			}
		.topicsList dd a{
			position: absolute;
			top: 0;
			right: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.topicsList .thumb{
		padding-top: 100%;
		border-radius: 100%;
		}
	.topicsList .tagNew{
		color: #f26179;
		text-transform: uppercase;
		}
	.topicsList .tagCheck{
		background: #f26179;
		border-color: #f26179;
		color: #fff;
		text-transform: capitalize;
		}
	.topicsList.noimg{}
		.topicsList.noimg dl{
			margin: 0;
			}
		.topicsList.noimg dd{}
			.topicsList.noimg dd a{
				width: 100%;
				}

.tabMenu{
	display: inline-flex;
	color: #246cb3;
	}
	.tabMenu li{
		display: flex;
		background: #fff;
		border: 1px solid currentColor;
		font-size: 0.875em;
		cursor: pointer;
		}
		.tabMenu li:first-child{
			border-radius: 4px 0 0 4px;
			}
		.tabMenu li:last-child{
			border-radius: 0 4px 4px 0;
			}
		.tabMenu li a{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 0.5em 1em;
			color: inherit;
			line-height: 1.5em;
			text-align: center;
			text-decoration: none;
			}
	.tabMenu li+li{
		border-left: none;
		}
	.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;
			}

.areaMap{
	position: relative;
	padding-top: 56.56%;
	}
	.areaMap svg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	.areaMap a{}
		.areaMap a:not(.select){
			opacity: 0.3;
			}

.slide{
	height: 0;
	opacity: 0;
	transition: opacity 0.5s ease-out;
	}
	.slide .slick-arrow{
		position: relative;
		display: inline-block;
		width: 3em;
		height: 3em;
		background: #fff;
		border: 1px solid currentColor;
		border-radius: 100%;
		color: #246cb3;
		fill: currentColor;
		cursor: pointer;
		}
		.slide .slick-arrow svg{
			position: absolute;
			top: 30%;
			left: 30%;
			width: 40%;
			height: 40%;
			}
	.slide .slick-dots{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		}
		.slide .slick-dots li{
			position: relative;
			flex: 0 0 10px;
			width: 10px;
			height: 10px;
			border-radius: 100%;
			background: #fff;
			overflow: hidden;
			}
		.slide .slick-dots button{
			opacity: 0;
			}
		.slide .slick-dots .slick-active{
			background: #246cb3;
			}
	.slide.slick-initialized{
		height: auto;
		opacity: 1;
		}

.googlemap{
	position: relative;
	}
	.googlemap iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	.googlemap div+div{
		margin-top: auto;
		}
	.googlemap > .infoWin{
		position: absolute;
		top: 10%;
		left: 10%;
		width: 20em;
		max-width: 80%;
		padding: 1em;
		background: #fff;
		filter: drop-shadow(0 0 0.2em rgba(0, 0, 0, 0.3));
		z-index: 10;
		}
	.googlemap > img{
		position: absolute;
		bottom: 10%;
		left: 50%;
		margin-left: -40px;
		width: 30px;
		height: 42px;
		filter: drop-shadow(0 0 0.2em rgba(0, 0, 0, 0.3));
		z-index: 10;
		}
	.googlemap > img+img{
		margin-left: 6px;
		}

.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+dd{}
		.infoWin dt+dd+dd:last-child{
			width: 100%;
			}
	.infoWin dd{
		width: calc(50% - 0.4em);
		margin-top: 0.8em;
		}
	.infoWin img{
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 0.667;
		object-fit: cover;
		border-radius: 4px;
		}
	.infoWin a{
		display: block;
		padding: 0.6em 0.8em;
		background: #333333;
		border: none;
		border-radius: 4px;
		color: #fff;
		fill: #fff;
		font-size: 0.875em;
		text-align: center;
		text-decoration: none;
		}
		.infoWin a[href*="google.co.jp"]{
			background: #246cb3;
			}

.anchor{
	position: absolute;
	opacity: 0;
	transform: translateY(-4em);
	}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#header{
	transition: box-shadow 0.2s ease-out;
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
	}
	.scrollTop #header{
		box-shadow: none;
		}
#fNav{
	padding-top: 0 !important;
	}
#floatingNav{
	display: none;
	height: 4em;
	}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767px以下*/
main > *,
article,
article section,
article nav,
article header,
article footer{
	padding-top: 2em;
	padding-bottom: 2em;
	}
#navSns{}
	#navSns li{}
		#navSns li svg{
			font-size: 2.8em;
			}
#footer,
#fNav,
#fNavGlobal,
#fNavAddress,
#fNavRelated{
	padding: 2em 0;
	}
#fNavGlobal{}
	#fNavGlobal dl+dl{
		margin-top: 1em;
		}
	#fNavGlobal dt{
		position: relative;
		padding: 1em;
		border: 1px solid currentColor;
		fill: currentColor;
		}
		#fNavGlobal dt i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0.8em;
			}
	#fNavGlobal dt+span{
		display: block;
		padding-bottom: 1em;
		}
	#fNavGlobal .open{}
		#fNavGlobal .open i{
			transform: rotate(180deg);
			}
#fNavAddress{}
	#fNavAddress dl{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		letter-spacing: 0.1em;
		}
	#fNavAddress dt{
		align-items: center;
		}
		#fNavAddress dt i{
			margin-bottom: 1em;
			}
		#fNavAddress dt svg{
			font-size: 4em;
			}
	#fNavAddress dt+dd{
		width: 100%;
		text-align: center;
		}
	#fNavAddress dd{
		font-size: 0.75em;
		}
#fNavRelated{}
	#fNavRelated li{}
		#fNavRelated li a{
			letter-spacing: 0.1em;
			}
#copyright{}
	#copyright p{
		letter-spacing: 0.1em;
		}
#linkTab{}
	#linkTab li{}
		#linkTab li a{
			padding: 0.8em 1em;
			}
.wrap{
	width: calc(100% - 2em);
	}
.subject{
	font-size: 1.4em;
	}
.headline{
	font-size: 1.6em;
	}
.title{
	font-size: 1.3em;
	}
.subTitle{
	font-size: 1.1em;
	}
.spotList{}
	.spotList dt{
		font-size: 1.1em;
		}
	.spotList dd{}
		.spotList dd time{
			white-space: nowrap;
			text-overflow: ellipsis;
			overflow: hidden;
			}
.slide{}
	.slide .slick-arrow{
		transform: scale(0.8);
		}
.anchor{
	margin-top: -2em;
	}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下縦向き*/
body{
	font-size: 3.8vw;
	}
#navRelated{}
	#navRelated li{}
		#navRelated li a{
			letter-spacing: 0.05em;
			}
#hNav{
	display: none;
	}
#fNavRelated{
	padding-top: 0;
	}
	#fNavRelated ul{
		padding: 0 4em;
		}
	#fNavRelated li+li{
		margin-top: 1em;
		}
#tabMenu{}
	#tabMenu li{}
		#tabMenu li a{
			padding: 0.5em 0.5em 0.7em 0.5em;
			}
.subject{}
	@media screen and (-webkit-min-device-pixel-ratio: 0) {
		.subject:before{
			font-size: 1.4em;
			}
		}
.topicsList{}
	.topicsList dl{
		margin-left: 7em;
		padding: 1em 0;
		}
	.topicsList dt{
		position: relative;
		margin-top: 0.5em;
		}
		.topicsList dt i{
			right: 0;
			}
	.topicsList dt+dd{
		flex-direction: column;
		}
	.topicsList dd{}
		.topicsList dd ul{
			margin: -0.25em;
			margin-top: 0.25em;
			}
		.topicsList dd li{
			margin: 0.25em;
			}
		.topicsList dd figure{
			left: -7em;
			}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下横向き*/
body{
	font-size: 2.1vw;
	}
#fNavRelated{}
	#fNavRelated ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 0 6em;
		}
	#fNavRelated li{
		width: calc(50% - 0.5em);
		}
		#fNavRelated li:nth-of-type(n+3){
			margin-top: 1em;
			}
.subject{}
	@media screen and (-webkit-min-device-pixel-ratio: 0) {
		.subject:before{
			font-size: 1.6em;
			}
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#navRelated{}
	#navRelated li{}
		#navRelated li a{
			letter-spacing: 0.1em;
			}
#tabMenu{}
	#tabMenu li{}
		#tabMenu li a{
			padding: 1em;
			}
.topicsList{}
	.topicsList dt{
		margin-top: 1em;
		}
		.topicsList dt i{
			right: 0.5em;
			}
	.topicsList dt+dd{
		align-items: center;
		}
	.topicsList dd{}
		.topicsList dd li{
			margin-left: 1em;
			}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
.topicsList{}
	.topicsList dl{
		margin-left: 8em;
		padding: 1.5em 0;
		}
	.topicsList dd{}
		.topicsList dd figure{
			left: -8em;
			}
		.topicsList dd a{
			width: calc(100% + 7em);
			}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
html{
	font-size: 62.5%;
	}
#navSns{}
	#navSns li{}
		#navSns li svg{
			font-size: 56px;
			}
#fNav{}
	#fNav .wrap{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
#fNavGlobal{
	display: flex;
	width: 100%;
	}
	#fNavGlobal dt{
		margin-bottom: 2em;
		padding-bottom: 0.8em;
		border-bottom: 2px solid currentColor;
		pointer-events: none;
		}
		#fNavGlobal dt i{
			display: none;
			}
	#fNavGlobal dt+span{
		display: block !important;
		}
#fNavAddress{}
	#fNavAddress dl{
		letter-spacing: 0.2em;
		overflow: hidden;
		}
	#fNavAddress dt{}
		#fNavAddress dt i{
			margin-bottom: 2em;
			}
		#fNavAddress dt svg{
			font-size: 5em;
			}
	#fNavAddress dd{
		float: left;
		font-size: 0.875em;
		}
		#fNavAddress dd:nth-of-type(2){
			clear: both;
			}
#fNavRelated{}
	#fNavRelated li{}
		#fNavRelated li a{
			letter-spacing: 0.2em;
			}
#copyright{}
	#copyright p{
		letter-spacing: 0.6em;
		}
#linkTab{}
	#linkTab li{}
		#linkTab li a{
			letter-spacing: 0.1em;
			}
.subject{
	font-size: 1.5em;
	}
	@media screen and (-webkit-min-device-pixel-ratio: 0) {
		.subject:before{
			font-size: 1.66em;
			}
		}
.headline{
	font-size: 1.8em;
	}
.title{
	font-size: 1.6em;
	}
.subTitle{
	font-size: 1.2em;
	}
.articleList{}
	.articleList dt{
		font-size: 0.875em;
		}
	.articleList dt+dd+dd{
		font-size: 0.75em;
		}
.spotList{}
	.spotList dd+dd{
		font-size: 0.875em;
		}
	.spotList dd{}
		.spotList dd time{
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			max-height: calc(1.5em * 2);
			line-height: 1.5em;
			overflow: hidden;
			}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
body{
	font-size: 1.4rem;
	}
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
main > *,
article,
article section,
article nav,
article header,
article footer{
	padding-top: 3em;
	padding-bottom: 3em;
	}
#footer,
#fNav,
#fNavGlobal,
#fNavAddress,
#fNavRelated{
	padding: 3em 0;
	}
#fNavGlobal{
	justify-content: space-between;
	}
	#fNavGlobal dl{
		font-size: 0.875em;
		}
	#fNavRelated li+li{
		margin-top: 1em;
		}
#linkTab{}
	#linkTab li{}
		#linkTab li a{
			padding: 1em 1.5em;
			}
.wrap{
	width: 724px;
	}
.slide{}
	.slide .slick-arrow{
		transform: scale(0.9);
		}
.anchor{
	margin-top: -3em;
	}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
main > *,
article,
article section,
article nav,
article header,
article footer{
	padding-top: 4em;
	padding-bottom: 4em;
	}
#header{
	display: none;
	}
#hNav{
	display: none;
	}
#nav{
	width: 30em;
	}
	#nav .wrap{
		width: calc(100% - 3em);
		}
#navHead{
	background: none;
	}
#navLogo{
	visibility: hidden;
	}
#footer,
#fNavGlobal,
#fNavAddress,
#fNavRelated{
	padding: 4em 0;
	}
#fNavGlobal{
	justify-content: center;
	}
	#fNavGlobal dl+dl{
		margin-left: 4em;
		}
#fNavRelated{
	width: 35em;
	}
	#fNavRelated ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#fNavRelated li{
		width: calc(50% - 0.5em);
		}
		#fNavRelated li:nth-of-type(n+3){
			margin-top: 1em;
			}
#floatingNav{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 7em;
	padding: 0 14em;
	background: #fff;
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
	transition: box-shadow 0.2s ease-out;
	order: -1;
	z-index: 110;
	}
	_:-ms-lang(x)::-ms-backdrop, #floatingNav{
		position: relative;
		}
	.scrollTop #floatingNav{
		box-shadow: none;
		}
	#floatingNav a{
		text-decoration: none;
		}
#floatingNavLogo{
	position: absolute;
	top: 1em;
	left: 2em;
	}
	#floatingNavLogo a{
		display: block;
		}
	#floatingNavLogo svg{
		font-size: 5em;
		}
#floatingNavGlobal{}
	#floatingNavGlobal ul{
		display: flex;
		align-items: center;
		justify-content: space-between;
		}
	#floatingNavGlobal li{}
		#floatingNavGlobal li a{
			display: block;
			white-space: nowrap;
			font-size: 0.875em;
			font-weight: 500;
			letter-spacing: 0.1em;
			}
	#floatingNavGlobal li+li{
		margin-left: 1em;
		}
#floatingNavPickup{
	margin-top: 1em;
	color: #246cb3;
	}
	#floatingNavPickup ul{
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		}
	#floatingNavPickup li{
		display: flex;
		max-width: 33.33%;
		}
		#floatingNavPickup li:only-child{
			max-width: 100%;
			}
		#floatingNavPickup li a{
			display: block;
			font-size: 0.875em;
			font-weight: 500;
			text-align: center;
			line-height: 1.4em;
			}
			#floatingNavPickup li a:hover{
				text-decoration: underline;
				}
	#floatingNavPickup span{
		height: 1em;
		margin: 0 1em;
		border-left: 1px solid currentColor;
		}
#floatingNavExtra{
	position: absolute;
	top: 1em;
	right: 2em;
	}
	#floatingNavExtra li{}
		#floatingNavExtra li:nth-of-type(1){}
			#floatingNavExtra li:nth-of-type(1) a{
				letter-spacing: 0.1em;
				}
		#floatingNavExtra li:nth-of-type(2){
			color: #246cb3;
			}
		#floatingNavExtra li a{
			position: relative;
			display: block;
			padding: 0.6em;
			padding-left: 2.5em;
			border: 1px solid currentColor;
			border-radius: 3em;
			font-size: 0.875em;
			font-weight: 500;
			fill: currentColor;
			text-align: center;
			}
			#floatingNavExtra li a:hover{
				border-color: #246cb3;
				background: #246cb3;
				color: #fff;
				}
		#floatingNavExtra li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 1em;
			display: flex;
			align-items: center;
			width: 1em;
			height: 1em;
			}
	#floatingNavExtra li+li{
		margin-top: 0.5em;
		}
#linkTab{}
	#linkTab li{}
		#linkTab li a{
			padding: 1.2em 2em;
			}
.topicsList{}
	.topicsList dl{
		margin-left: 9em;
		padding: 2em 0;
		}
		.topicsList dl:after{
			left: 9em;
			}
	.topicsList dd{}
		.topicsList dd figure{
			left: -9em;
			transform: scale(1.1);
			transform-origin: left center;
			}
		.topicsList dd a{
			width: calc(100% + 9em);
			}
.anchor{
	margin-top: -4em;
	}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
#floatingNavGlobal{}
	#floatingNavGlobal li{
		font-size: 0.875em;
		}
#floatingNavPickup{}
	#floatingNavPickup li{
		font-size: 0.875em;
		}
.wrap{
	width: 940px;
	}
}
@media (min-width: 1200px) {
/*1200px以上*/
body{
	font-size: 1.6rem;
	}
#tabMenu{}
	#tabMenu ul{
		margin: 0 100px;
		}
.wrap{
	width: 1140px;
	}
}





