

/*---------------------------
 ヘッダー
----------------------------*/
#header_content {
	box-shadow: 0px 3px 6px #00000029;
	overflow: hidden;
}

	#header_content::before {
		content: '';
		width: 100%;
		display: block;
		position: absolute;
		top: 0px;
		z-index: 10001;
		height: 90px;
		border-top: 5px solid var(--main_color);
		border-bottom: solid 1px #d2d2d2;
	}

	#header_content a {
		text-decoration: none;
	}

#header {
	max-width: 1100px;
	margin: 5px auto 0px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 10001;
	position: relative;
}

	#header #headerTtl {
		display: flex;
		align-items:center;
		flex-wrap:wrap;
	}

		#header #headerTtl .siteName {
			padding: 10px 15px;
			margin-right: 15px;
			font-size: 1.4em;
			margin-bottom:3px;
			letter-spacing: 2.2px;
		}

	#header #headerMenu {
		text-align: center;
		display: flex;
		position: relative;
		z-index: 10001;
		align-items: center;
		padding: 0px;
		flex-direction: row;
		font-size: 0.9em;
	}

		#header #headerMenu .headerMenuBtn {
			min-width: 80px;
			height: 90px;
			border-right: 1px solid #ccc;
			display: grid;
			place-items: center;
			place-content: center;
			padding: 0px 5px;
		}

#area_languagesBtn svg{
	vertical-align:middle;
}
#loginBtn, #logoutBtn {
	cursor:pointer;
}
#accessibilityBtn {
	border-left: 1px solid #ccc;
}

/*---------------------------
 サブヘッダー（ログイン後のメニュー）
----------------------------*/
#head_subManu {
	border-top: solid 1px #d2d2d2;
	box-shadow: 0px 3px 6px #00000029;
}

	#head_subManu .subMenu_wrap {
		max-width: 1100px;
		margin: auto;
		display: flex;
		justify-content: space-between;
		padding: 10px 0px;
		align-items: center;
		flex-wrap: wrap;
	}

		#head_subManu .subMenu_wrap .loginName {
			letter-spacing: 1.8px;
		}

		#head_subManu .subMenu_wrap .midokuMsg {
			display: flex;
			align-items: center;
			margin-right: 30px;
			gap:5px;
		}

		#head_subManu .subMenu_wrap .myMenu {
			display: flex;
			justify-content: space-between;
			font-size: 1.1em;
		}

		#head_subManu .subMenu_wrap .btn_myMenu {
			border: solid 1px var(--accent_color);
			border-radius: 5px;
			padding: 0px 23px;
			height: 40px;
			display: flex;
			align-items: center;
			margin-left: 10px;
		}

			#head_subManu .subMenu_wrap .btn_myMenu svg {
				padding-right: 7px;
			}

	#head_subManu .kagoBtn {
		position: relative;
	}
	#head_subManu .kagoCnt {
		/*font-size: 0.8em;
		display: inline-block;
		width: 25px;
		height: 25px;
		border-radius: 50%;
		text-align: center;
		line-height: 25px;
		margin-left: 10px;*/
		font-size: 0.8em;
		font-weight: bold;
		position: absolute;
		top: -10px;
		left: calc(100% - 15px);
		line-height: 25px;
		text-align: center;
		border-radius: 15px;
		min-width: 25px;
		padding: 0 3px;
		box-sizing: border-box;
	}

/*---------------------------
 閲覧支援
----------------------------*/
	#header_content .comm_toggle-panel {
		display: none;
		width: 100%;
		height: 0px;
	}

.active_panel {
	display: block !important;
	height: auto !important;
	animation: comm_toggle-fade-in 0.6s 0s ease;
	animation-fill-mode: forwards;
	padding: 70px 0px;
	position: absolute !important;
	z-index: 10000;
}

.menuPanel {
	position: relative;
	z-index: 10000;
	margin: 0;
	width: 100%;
	display: none;
	box-shadow: 0px 3px 6px #00000029;
}

	.menuPanel .head_wp {
		position: relative;
		margin: 0px auto 0px auto;
		height: 100%;
		min-width: 765px;
	}

		.menuPanel .head_wp .acc_wp {
			z-index: 10000;
			position: relative;
			max-width: 800px;
			width: calc(100% - 10px);
			margin: 0px auto;
			display: flex;
			flex-direction: row;
			justify-content: center;
			flex-wrap: wrap;
			opacity: 1;
			padding: 80px 0px 20px;
			border: solid 5px #BFBFBF
		}

			.menuPanel .head_wp .acc_wp .panel_title {
				position: absolute;
				top: 0px;
				width: 100%;
				text-align: center;
				font-size: 1.5em;
				padding: 20px 0px;
				letter-spacing: 0px;
				font-weight:500;
			}

			.menuPanel .head_wp .acc_wp .panel_close {
				margin: 10px 0px 0px 30px;
				padding: 0px;
				text-align: left;
				position: absolute;
				top: 0px;
				z-index: 100;
				right: 13px;
				height: 32px;
				width: 32px;
				text-align: center;
				display:grid;
				place-content:center;
			}

			.menuPanel .head_wp .acc_wp .panel_wrap {
				display: flex;
				justify-content:center;
				width:100%;
			}

/* 文字サイズ・背景色変更 */
.font-size_wrap {
	width:50%;
	border-right: solid 1px #CBC6C6;
}

.haikei_wrap {
	width: 50%;
}

.change_title {
	text-align: center;
	font-size: 1.3em;
	padding-bottom:25px;
}

#mainFontSizeSel, #changeHaikei {
	margin: 20px 0px 15px ;
	padding: 0px;
	outline: medium none;
	text-align: center;
}

	#changeHaikei a, #mainFontSizeSel a {
		padding-right: 3px;
		vertical-align: middle;
	}
	#changeHaikei img, #mainFontSizeSel img {
		padding: 0px 0px;
		border: 1px solid #ccc;
	}
	#changeHaikei span, #mainFontSizeSel span {
		display: inline-block;
	}

/* google翻訳 */
#area_languages .lang-link {
	display:flex;
	flex-wrap:wrap;
}

	#area_languages .lang-link .lunguage{
		padding:10px 20px 10px 15px;
		cursor:pointer;
		position:relative;
		white-space:nowrap;
		font-size:1.1em;
	}

		#area_languages .lang-link .lunguage::before {
			content: "";
			left: 3px;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
			width: 4px;
			height: 4px;
			border: 4px solid transparent;
			border-left: 4px solid var(--accent_color);
			display: block;
			position: absolute;
			top: 40%
		}

div#goog-gt-vt {
	display: none;
}

@media screen and (max-width:1024px) {
	#header {
		padding-left: 10px;
	}
	#head_subManu{
		padding:0px 10px;
	}
		#head_subManu .subMenu_wrap .myMenu {
			margin-left: auto;
		}
}

@media screen and (max-width:767px) {
	#header_content::before{
		height:70px;
	}
	#header #headerMenu .headerMenuBtn {
		min-width: 70px;
		height: 70px;
		font-size:0.9em;
	}
	#header #headerTtl svg{
		width:180px;
	}

	#header #headerTtl .siteName{
		font-size:1.2em;
		padding:5px;
		margin-right:7px;
	}

	#head_subManu {
		font-size: 0.9em;
	}
	.subMenu_wrap .btn_myMenu {
		padding: 0px 10px;
	}
	#header #headerMenu #logoutBtn {
		font-size: 0.8em;
	}

	#head_subManu .subMenu_wrap .btn_myMenu {
		height: 30px;
		padding: 0px 15px;
	}


	.active_panel {
		display: block !important;
		height: auto !important;
		animation: comm_toggle-fade-in 0.6s 0s ease;
		animation-fill-mode: forwards;
		padding: 15px 0px;
		position: absolute !important;
		z-index: 10000;
	}

	.comm_toggle-panel {
		height: unset;
	}

	/* 閲覧補助 */
	.menuPanel {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}

		.menuPanel .head_wp {
			min-width: initial;
		}

			.menuPanel .head_wp .acc_wp {
				padding: 20px 0px;
				margin: 0px auto 0px auto;
				width: auto;
			}

				.menuPanel .head_wp .acc_wp .panel_title {
					display: none;
				}

				.menuPanel .head_wp .acc_wp .panel_close {
					border: solid 2px var(--main_color);
					border-radius: 5px;
				}

	#changeHaikei span, #mainFontSizeSel span {
		font-size: 1.1em !important;
		padding: 0px 5px;
	}

	.change_title {
		padding: 15px 0px 10px;
		font-weight: bold;
	}


	.panel_wrap {
		flex-direction: column;
	}

	.menuPanel .head_wp .acc_wp .panel_wrap {
		align-items: center;
	}

	.font-size_wrap {
		border: none;
	}

	#header {
		flex-wrap: wrap;
	}

	#header_content::before {
		border-bottom: none;
	}

	#header #headerMenu {
		margin-left: auto;
	}

	#head_subManu .subMenu_wrap .myMenu {
		flex-wrap:wrap;
		justify-content:end;
		gap:5px 0px;
	}
}


/* ナビメニュー展開時のスタイル */
@keyframes comm_toggle-fade-in {
	0% {
		transform: translateY(-50vh);
	}

	100% {
		transform: translateY(0);
	}
}
