@charset "utf-8";

body {
	position: relative;
}

input:focus {
	outline: solid 2px #40c89a;
}

input:hover {
	outline: solid 3px #40c89a;
	cursor: pointer;
}

button:hover {
	opacity: .8;
}

tbody tr:hover {
	cursor: pointer;
	background-color: #e1ffe1;
}

#login_id:invalid{
    background: #ffc8c8;
}
#password:invalid{
    background: #ffc8c8;
}
.inactive{
	background-color: #808080!important;
    border: 1px solid #808080!important;
	cursor: unset!important;
}
.inactive:hover{
	opacity:unset!important;
}

/* 画面名 */
#pgTitle {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	padding: 10px 0px;
	margin-bottom: 20px;
}

/* 強調色 */
.accent {
	color: white;
	background: #40c89a;
}

/* コンテンツ */
#contents {
	width: 70%;
	min-width: 400px;
	margin: auto;
}


/* 入力要素ラベル */
.inptHeader {
	font-size: 17px;
	font-weight: bold;
	color: gray;
	vertical-align: bottom;
}

/* 入力エリア */
.login_area {
	max-width: 500px;
	margin: 0 auto;
}

.inptArea {
	margin-bottom: 35px;
	display: block;
}

/* 入力要素 */
.inptArea>input {
	font-size: 18px;
	width: 100%;
	padding: 10px 0;
	border: 1px solid #b7b6b6;
	border-radius: 5px;
	padding: 10px;
}

/* ログインボタン */
#btnArea1 button[type="button"] {
	font-size: 20px;
	width: 100%;
	min-width: 240px;
	border: 1px solid #40c89a;
	border-radius: 5px;
	padding: 10px;
}

/* 開閉ボタン */
#btnArea2 {
	text-align: center;
	margin-top: 30px;
}

#btnArea2 button[type="button"] {
	font-size: 20px;
	border: 1px solid #40c89a;
	border-radius: 5px;
	padding: 5px 20px;
	color: #40c89a;
	background: #fff;
}

.display_hide {
	display: none;
}

.display_block {
	display: block;
}

/* 新規登録ボタン */
#signup {
	font-size: 20px;
	padding: 10px;
	border: none;
	border-radius: 5px;
	position: fixed;
	bottom: 35px;
	right: 20px;
}

/* ボタン */
button {
	cursor: pointer;
}

/* サブコンテンツ */
#subArea {
	margin-top: 30px;
	padding: 20px;
	background: #f5f5f5;
	border: 1px solid #dbdbdb;
	border-radius: 10px;
}

.subArea_inner {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}

.subBlk {
	display: inline-table;
	width: calc(50% - 3px);
}

/* ユーザー一覧 */
table {
	border-collapse: collapse;
	background: white;
}

table th,
table td {
	border: 1px solid #d8d8d8;
	width: 210px;
}

.select_user_row {
	background: #e2f5e2;
}

/* ニュースヘッダー */
#newsArea p {
	font-weight: bold;
	text-align: center;
}

/* ニュース */
#newsArea ul {
	border: 1px solid #d8d8d8;
	border-radius: 5px;
	overflow: auto;
	height: 140px;
	list-style: square inside;
	background: white;
	margin: 0;
}

/* 未入力背景 */
.input_nn {
	background: #ffbdbd;
}

/* ログインボタン:非活性 */
/* #loginBtn:disabled {
	background: gray;
} */

/* フォーカス時アウトライン */
.focusBorder {
	outline: 2px solid black !important;
}

/* フォーカス時太字 */
.focusBg {
	background: #e1ffe1;
}

#addition {
	font-size: 20px;
	width: 100px;
	height: 40px;
	border: 1px solid #40c89a;
	border-radius: 5px;
	color: white;
	background: #40c89a;
	margin-bottom: 10px;
}

.row_color {
	background: #e1ffe1;
}

thead,
tbody {
	display: block;
}

tbody {
	overflow-x: hidden;
	overflow-y: scroll;
	height: 140px;
}

/* モーダル */
#modal {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 40%);
	padding: 30px;
	position: absolute;
	top: 0;
	left: 0;
}

.modal_inner {
	background: #fff;
	max-width: 500px;
	margin: 200px auto;
	padding: 30px;
	position: relative;

}

.modal_inner input {
	width: 100%;
	padding: 5px;
	border-radius: 4px;
	border: solid 1px rgba(0, 0, 0, 60%);
}

#newBtn {
	font-size: 20px;
	width: 100%;
	height: 50px;
	border: 1px solid #b7b6b6;
	border-radius: 5px;
	margin-top: 20px;
}

#close {
	font-weight: bold;
	font-size: 30px;
	color: #40c89a;
	position: absolute;
	top: 0px;
	right: 10px;
	cursor: pointer;
}