@charset "UTF-8";

/* ヘッダーバー */
#header-bar {
	display: flex;
	align-items: stretch;
	position: relative;
	z-index: 1;
}

/* ロゴ */
#header-logo {
	flex: 1;
	display: flex;
	align-items: center;
}

#header-logo-img {
	width: 150px;
	min-width: 150px;
	margin: 0 0 5px 10px;
}

/* タイトル */
#header-title {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-family: "Noto Sans JP", "メイリオ", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	line-height: 1em;
	min-width: 400px;
}

/* メインメニューエリア */
#header-menu-area {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}

/* メインメニュー */
#header-menu {
	display: flex;
	margin: 0 5px 0 0;
	padding: 0;
}

#header-menu li {
	display: flex;
	position: relative;
	list-style: none;
}

#header-menu li .header-menu-button {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 4.5em;
	padding: 6px 0;
	color: #FFFFFF;
	text-decoration: none;
	line-height: 1em;
	transition: 0.2s;
}

#header-menu li .header-menu-button:hover {
	opacity: 0.7;
	cursor: pointer;
}

#header-menu li .header-menu-button i.fas,
#header-menu li .header-menu-button i.far {
	display: flex;
	align-items: center;
	height: 20px;
	margin: 2px 0 5px 0;
	font-size: 18px;
}

#header-menu li .header-menu-button .header-menu-label {
	font-size: 13px;
}

/* アカウント */
#header-account-area {
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	padding: 5px 10px;
	color: #FFF;
	font-size: 13px;
	text-align: right;
}

/* ログアウト */
#header-logout a {
	color: #FFF;
}

/* 管理者向けヘッダー */
.page-admin #header-bar {
	background-color: #00529E;
	box-shadow: 0 0 5px #BBBBBB;
}

/* 顧客向けヘッダー */
.page-customer #header-bar {
	background-color: #5C6BC0;
	background-color: #4DB6AC;
	box-shadow: 0 0 5px #BBBBBB;
}

/* 通知メッセージ */
.notification {
	font-family: "Noto Sans JP", "メイリオ", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 14px;
	font-weight: bold;
}

.notification .contents-area {
	display: flex;
	justify-content: center;
	padding: 2px 2px;
}

.notification .notification-list {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding-left: 0;
	word-break: break-all;
	word-break: break-word;
}

/* 通知メッセージ（正常系） */
#info-notification {
	width: 100%;
	background-image: linear-gradient(to bottom, #057e05 0%, #34d134 50%, #057e05 100%);
	border-radius: 5px;
	border-top: 1px #ccc solid;
	border-left: 1px #ccc solid;
	border-bottom: 2px #000 solid;
	border-right: 2px #000 solid;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

#info-notification .notification-list-item::before {
	content: "\f058";
	margin-right: 0.3em;
	font-family: "Font Awesome 5 Free";
}

/* 通知メッセージ（エラー系） */
#error-notification {
	width: 100%;
	background-image: linear-gradient(to bottom, #7e0707 0%, #c50a0a 50%, #7e0707 100%);
	border-radius: 5px;
	border-top: 1px #ccc solid;
	border-left: 1px #ccc solid;
	border-bottom: 2px #000 solid;
	border-right: 2px #000 solid;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
}

#error-notification a{
	color: #fff;
}

#error-notification .notification-list-item::before {
	content: "\f071";
	margin-right: 0.3em;
	font-family: "Font Awesome 5 Free";
}

/* ヘッダータイトル */
#header-title {
	flex: 1;
    margin: 0 30px;
    /* font-size: 19px; */
    line-height: 1.2em;
}

/* 1200px以下（顧客のみ） */
@media (max-width: 1200px) {
	.page-customer #header-logo {
		flex: 1;
	}

	.page-customer #header-title {
		flex: 1;
	}

	.page-customer #header-menu-area {
		flex: none;
	}
}

/* タブレット以下 */
@media (max-width: 1023px) {
	/* ロゴ */
	#header-logo {
		display: none;
	}

	/* タイトル */
	#header-title {
		flex: 1;
		font-size: 21px;
	}

	/* メインメニューエリア */
	#header-menu-area {
		flex: none;
	}
}

/* スマートフォン版 */
@media (max-width: 767px) {
	/* 通知メッセージ */
	.notification {
		font-size: 16px;
		text-align: left;
	}

	.notification .contents-area {
		padding: 13px 10px;
	}
}
