/* ---------- ---------- 認証 ---------- ---------- */
.login-page .login-logo a img,
.login-page .card .card-header,
.login-page .card .card-footer {
	display: none;
}

.login-page .card {
	border-radius: 0;
}

.login-page .card-body {
	padding: 1.5rem 2rem;
}

.login-page .login-logo,
.login-page .login-logo a {
	font-size: 1.5rem;
	font-weight: 700;
}

.login-page .form_item {
	margin-bottom: 1.5rem;
}

.login-page .form_item .content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.login-page .form_item .content .label {
	font-size: 0.875rem;
	font-weight: 700;
	margin-right: 1rem;
}

.login-page .form_item .content .element {
	width: 100%;
	flex: 1;
	max-width: 220px;
}

.login-page .form_item .content .element .error {
	font-size: 0.75rem;
	color: #dc3545;
	margin-top: 0.25rem;
}

.login-page .login_button {
	display: flex;
	justify-content: space-between;
}

.login-page .login_button #remember {
	visibility: hidden;
	width: 0;
	padding: 0;
	margin: 0;
	position: absolute;
}

.login-page .login_button label {
	font-size: 0.75rem;
	font-weight: 400;
	margin: 0;
	position: relative;
	display: flex;
	align-items: center;
	cursor: pointer;
}

.login-page .login_button label::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	border: solid 1px rgba(0, 0, 0, 0.125);
	margin-right: 0.5rem;
}

.login-page .login_button #remember:checked + label::before {
	background-color: #17a2b8;
	border-color: #17a2b8;
}

.login-page .login_button #remember:checked + label::after {
	content: '';
	display: block;
	width: 5px;
	height: 10px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	position: absolute;
	top: 11px;
	left: 5px;
	transform: rotate(45deg);
}


/* ---------- ---------- メインサイドバー ---------- ---------- */
.main-sidebar .brand-link {
	font-size: 0.875rem;
	padding: 0.7rem;
	display: flex;
	align-items: center;
}

.main-sidebar .brand-link img {
	margin: 0;
	margin-right: 0.5rem;
	float: none;
	background-color: #fff;
	padding: 0.35rem;
	border-radius: 50%;
	transition: 0.3s;
}

.sidebar-collapse .main-sidebar .brand-link img {
	margin-left: 0.5rem;
}

.main-sidebar .brand-link span {
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
}

.main-sidebar .sidebar {
	padding: 0;
}

.main-sidebar .sidebar .nav .nav-header {
	font-weight: 700;
	color: #fff;
}

.main-sidebar .sidebar .nav .nav-item .nav-link {
	width: 100%;
	border-radius: 0;
	margin: 0;
}

.sidebar-collapse .main-sidebar .sidebar .nav .nav-item .nav-link {
	width: 100%;
}

.main-sidebar .sidebar .nav .nav-item .nav-link.active {
	border-right: solid 5px #f7f7f7;
}

.main-sidebar .sidebar .nav .nav-item .nav-link i {
	transition: 0.3s;
}

.sidebar-collapse .main-sidebar .sidebar .nav .nav-item .nav-link i {
	margin-left: 0.7rem;
}

.main-sidebar .sidebar .nav .nav-item .nav-link p {
	font-size: 0.875rem;
	color: #fff;
}

.main-sidebar .sidebar .nav .nav-item .nav-link.active p {
	font-weight: 700;
}


/* ---------- ---------- メインヘッダー ---------- ---------- */
.main-header .navbar-brand {
	margin: 0;
	margin-left: 1rem;
	padding: 0;
}

.main-header .navbar-brand .nav-item .nav-link {
	display: flex;
	align-items: center;
	padding: 0;
	height: auto;
}

.main-header .navbar-brand .nav-item .nav-link img {
	width: 20px;
	margin-right: 0.5rem;
}

.main-header .navbar-brand .nav-item .nav-link span {
	font-weight: 700;
	color: #212529;
}

.main-header .navbar-nav .nav-item .nav-link span {
	font-size: 0.875rem;
}