/* CSS Document */

#nav{}
	#nav menu{
		fill: #1696ac;
		}

#navGlobal{}
	#navGlobal li{
		border-bottom: 1px solid #b2b6bc;
		}
		#navGlobal li a{
			position: relative;
			display: inline-block;
			padding: 1em 0;
			padding-left: 2.5em;
			font-weight: bold;
			}
			#navGlobal li a:hover{
				color: #1696ac;
				}
		#navGlobal li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 0.5em;
			}

#navPickup{}
	#navPickup li{
		border-bottom: 1px solid #b2b6bc;
		}
		#navPickup li a{
			position: relative;
			display: inline-block;
			padding: 0.75em 0;
			padding-left: 2.5em;
			fill: #1696ac;
			font-weight: bold;
			line-height: 1.5em;
			}
			#navPickup li a:hover{
				color: #1696ac;
				}
		#navPickup li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 0.5em;
			}

#navExtra{}
	#navExtra a{
		display: block;
		padding: 1em;
		border: 1px solid #b2b6bc;
		border-radius: 6px;
		color: #27344d;
		text-align: center;
		}
		#navExtra a:hover{
			border-color: currentColor;
			color: #1696ac;
			}

#navTerms{}
	#navTerms li{}
		#navTerms li a{
			display: inline-block;
			}
			#navTerms li a:hover{
				text-decoration: underline;
				}

#navBusiness{
	align-self: center;
	height: 1em;
	order: -1;
	}
	#navBusiness a{
		position: relative;
		font-size: 0.875em;
		padding-right: 1.5em;
		}
		#navBusiness a:after{
			content: "";
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0;
			margin-right: -0.5em;
			border: 0.5em solid transparent;
			border-left-color: currentColor;
			transform: scaleY(0.6);
			}
		#navBusiness a:hover{
			color: #1696ac;
			}

#navLanguage{
	position: relative;
	z-index: 1;
	order: -1;
	}
	#navLanguage dl{
		position: relative;
		font-size: 0.875em;
		}
	#navLanguage dt{
		position: relative;
		padding-right: 1.5em;
		cursor: pointer;
		line-height: 1.2em;
		}
		#navLanguage dt:after{
			content: "";
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0;
			margin-top: 0.5em;
			border: 0.5em solid transparent;
			border-top-color: currentColor;
			transform: scaleX(0.6);
			}
	#navLanguage dt+span{
		position: absolute;
		top: 100%;
		width: auto;
		margin-top: 0.5em;
		background: #fff;
		border: 1px solid #b2b6bc;
		border-radius: 6px;
		}
	#navLanguage dd{
		padding: 0.8em;
		}
		#navLanguage dd a{
			display: block;
			white-space: nowrap;
			}
			#navLanguage dd a:hover{
				color: #1696ac;
				}
	#navLanguage dd+dd{
		padding-top: 0;
		}

#navTool{
	position: absolute;
	top: 0;
	right: 1em;
	display: flex;
	justify-content: center;
	width: 2em;
	height: 100%;
	}
	#navTool ul{
		display: flex;
		flex-direction: column;
		align-items: center;
		}
	#navTool li{
		position: relative;
		}
		#navTool li:last-child{
			margin-top: 1.5em;
			}
			#navTool li:last-child i{
				margin-bottom: 0.5em;
				}
		#navTool li a{
			font-size: 0.8em;
			cursor: pointer;
			}
			#navTool li a:hover{
				color: #1696ac;
				}
			#navTool li a:not([href]):not([data-type]){
				pointer-events: none;
				}
			#navTool li a[href="/favorite/index.html"]{
				-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
				font-weight: bold;
				}
		#navTool li svg{
			font-size: 1.2em;
			}
	#navTool li+li{
		margin-top: 1.5em;
		}

#navToolSearch{
	position: absolute;
	top: 50%;
	right: 2em;
	z-index: 121;
	}
	#navToolSearch.open{}
		#navToolSearch.open form{
			width: 20em;
			opacity: 1;
			}
	#navToolSearch form{
		display: flex;
		align-items: center;
		width: 0;
		height: 3em;
		padding: 0 0.5em;
		background: #fff;
		border: 1px solid #b2b6bc;
		transform: translate(0,-50%);
		transition: all 0.2s ease-out;
		opacity: 0;
		overflow:hidden;
		}

#floatingNav{
	position: -webkit-sticky;
	position: sticky;
	width: 100%;
	z-index: 110;
	order: -1;
	}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
}


/* for mobile */
@media (max-width: 767.98px) {
/*767以下px*/
#navTool{
	padding-top: 2em;
	}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下 縦向き*/
#navExtra{}
	#navExtra li+li{
		margin-top: 1em;
		}
#navTerms{}
	#navTerms li+li{
		margin-top: 1em;
		}
#navBusiness{
	width: 100%;
	}
#navLanguage{
	margin-top: 1em;
	}
#floatingNav{
	top: 4em;
	background: #fff;
	overflow-x: scroll;
	}
	#floatingNav ul{
		display: flex;
		padding: 0.5em 1.5em 1em 1.5em;
		}
	#floatingNav li{
		padding-right: 1.5em;
		}
	#floatingNav i{
		display: none;
		}
	#floatingNav a{
		font-weight: bold;
		white-space: nowrap;
		}
	#floatingNav #floatingNavPickup{
		display: none;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下 横向き*/
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#navGlobal{}
	#navGlobal ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#navGlobal li{
		width: calc(50% - 0.75em);
		}
#navPickup{
	margin-top: 2em;
	}
	#navPickup ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#navPickup li{
		width: calc(50% - 0.75em);
		}
#navExtra{}
	#navExtra ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		}
	#navExtra li{
		width: calc(50% - 0.75em);
		}
		#navExtra li:nth-of-type(n+3){
			margin-top: 1em;
			}
#navTerms{}
	#navTerms ul{
		display: flex;
		justify-content: center;
		}
	#navTerms li{}
		#navTerms li a{
			margin: 0 2em;
			}
	#navTerms li+li{
		position: relative;
		}
		#navTerms li+li:before{
			content: "";
			position: absolute;
			top: calc(50% - 0.5em);
			left: 0;
			height: 1em;
			border-left: 1px solid #b2b6bc;
			}
#navLanguage{
	align-self: center;
	height: 1em;
	border-left: 1px solid #b2b6bc;
	margin-left: 1.5em;
	padding-left: 1.5em;
	}
	#navLanguage dt+span{
		left: -1em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
#floatingNav{
	display: none;
	}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#navGlobal{}
	#navGlobal li{
		width: calc(50% - 1em);
		}
#navPickup{}
	#navPickup li{
		width: calc(50% - 1em);
		}
#navTool{
	align-items: center;
	padding: 4em 0;
	}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#siteName{
	transition: all 0.2s ease-out;
	}
	_:-ms-lang(x)::-ms-backdrop, #siteName{
		margin-top: 1em;
		}
	#siteName svg{
		transition: font-size 0.2s ease-out;
		}
		_:-ms-lang(x)::-ms-backdrop, #siteName svg{
			font-size: 4em;
			}
	.scrollTop #siteName{
		margin-top: 1em;
		}
		.scrollTop #siteName svg{
			font-size: 4em;
			}
#navButton{
	position: fixed;
	right: 0;
	transition: transform 0.2s ease-out;
	}
	.scrollTop:not(.nav) #navButton{
		transform: translate(100%,0);
		}
	_:-ms-lang(x)::-ms-backdrop, #navButton{
		display: none;
		}
#hNav{
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	padding: 1em 2em 0 0;
	transform: translate(0,-100%);
	transition: transform 0.2s ease-out;
	}
	.scrollTop #hNav{
		transform: translate(0,0);
		}
	_:-ms-lang(x)::-ms-backdrop, #hNav{
		position: static;
		align-self: flex-start;
		padding-top: 1em;
		transform: translate(0,0);
		}
#hNavSearch{
	width: 26em;
	margin-right: 2em;
	order: -1;
	}
	#hNavSearch form{
		display: flex;
		align-items: center;
		height: 2em;
		padding: 0 0.8em 0 1em;
		border: 1px solid #b2b6bc;
		border-radius: 1em;
		overflow: hidden;
		}
	#hNavSearch > form{
		display: flex;
		pointer-events: none;
		}
	#hNavSearch > form input{
		width: calc(100% - 5em);
		}
	#hNavSearch > form button{
		width: 5em;
		}
	#hNavSearch .gsc-results-wrapper-overlay{
		top: 10vh;
		left: auto;
		right: 10vw;
		width: 80vw;
		height: 80vh;
		}
	#hNavSearch .gsc-modal-background-image-visible{
		top: 0;
		right: 0;
		left: auto;
		width: 100vw;
		height: 100vh;
		}
#hNavBusiness{
	align-self: center;
	height: 1em;
	order: -1;
	}
	#hNavBusiness a{
		position: relative;
		font-size: 0.875em;
		padding-right: 1.5em;
		}
		#hNavBusiness a:after{
			content: "";
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0;
			margin-right: -0.5em;
			border: 0.5em solid transparent;
			border-left-color: currentColor;
			transform: scaleY(0.6);
			}
		#hNavBusiness a:hover{
			color: #1696ac;
			}
#hNavLanguage{
	position: relative;
	align-self: center;
	height: 1em;
	margin-left: 1.5em;
	padding-left: 1.5em;
	border-left: 1px solid #b2b6bc;
	z-index: 1;
	order: -1;
	}
	#hNavLanguage dl{
		position: relative;
		font-size: 0.875em;
		}
	#hNavLanguage dt{
		position: relative;
		padding-right: 1.5em;
		cursor: pointer;
		}
		#hNavLanguage dt:after{
			content: "";
			position: absolute;
			top: calc(50% - 0.5em);
			right: 0;
			margin-top: 0.5em;
			border: 0.5em solid transparent;
			border-top-color: currentColor;
			transform: scaleX(0.6);
			}
	#hNavLanguage dt+span{
		position: absolute;
		top: 100%;
		right: -1em;
		width: auto;
		margin-top: 0.5em;
		background: #fff;
		border: 1px solid #b2b6bc;
		border-radius: 6px;
		}
	#hNavLanguage dd{
		padding: 0.8em;
		}
		#hNavLanguage dd a{
			display: block;
			white-space: nowrap;
			}
			#hNavLanguage dd a:hover{
				color: #1696ac;
				}
	#hNavLanguage dd+dd{
		padding-top: 0;
		}
#floatingNav{
	top: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	pointer-events: none;
	}
	#floatingNav > *{
		pointer-events: all;
		}
#floatingNavGlobal{
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	width: 100%;
	height: 6em;
	padding: 1em 5em 1em 2em;
	background: #fff;
	transform: translate(0,-2em);
	transition: all 0.2s ease-out;
	}
	.scrollTop #floatingNavGlobal{
		padding-right: 2em;
		transform: translate(0,0);
		}
		.scrollTop #floatingNavGlobal li{
			margin-left: 1.5em;
			}
	_:-ms-lang(x)::-ms-backdrop, #floatingNavGlobal{
		padding-right: 2em;
		transform: translate(0,0);
		}
		_:-ms-lang(x)::-ms-backdrop, #floatingNavGlobal li{
			margin-left: 1.5em !important;
			}
	#floatingNavGlobal ul{
		display: flex;
		justify-content: flex-end;
		}
	#floatingNavGlobal li{
		margin-left: 2em;
		}
		#floatingNavGlobal li a{
			position: relative;
			display: inline-block;
			padding-left: 1.5em;
			font-weight: bold;
			}
			#floatingNavGlobal li a:hover{
				color: #1696ac;
				}
		#floatingNavGlobal li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 0;
			}
#floatingNavPickup{
	width: 100%;
	padding: 0.8em 2em;
	background: #27344d;
	color: #fff;
	transform: translate(0,-2em);
	transition: all 0.2s ease-out;
	}
	.scrollTop #floatingNavPickup{
		transform: translate(0,0);
		}
	_:-ms-lang(x)::-ms-backdrop, #floatingNavPickup{
		transform: translate(0,0);
		}
	#floatingNavPickup ul{
		display: flex;
		justify-content: center;
		}
	#floatingNavPickup li{}
		#floatingNavPickup li a{
			position: relative;
			display: inline-block;
			padding-left: 2.5em;
			fill: #1696ac;
			font-weight: bold;
			line-height: 1.5em;
			}
			#floatingNavPickup li a:hover{
				color: #1696ac;
				}
		#floatingNavPickup li i{
			position: absolute;
			top: calc(50% - 0.5em);
			left: 0.5em;
			}
	#floatingNavPickup li+li{
		margin-left: 2em;
		}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
#floatingNavGlobal{}
	#floatingNavGlobal li{}
		#floatingNavGlobal li a{
			font-size: 0.875em;
			}
}
@media (min-width: 1200px) {
/*1200px以上*/
}



