/**
components CSS
**/

/** sidebar **/
ul.egFrame {
	position: fixed;
	left: 0;
	top: 0;
	/*top: 60px;*/
	list-style: none;
	margin: 0;
	/*padding: 0 0 0 10px;*/
	padding: 60px 0 0 10px;
	height: 100%;
	overflow-y: auto;
	scrollbar-width: thin;
	background-color: #fff;
	border-right: solid 5px #fff;
	li {
		white-space: nowrap;
		overflow: hidden;
		padding: 10px;
		padding-right: 20px;
		border: solid 1px #fff;
		border-right: none;
		border-radius: 20px 0 0 20px;
		a {
			display: inline-block;
			width: 100%;
		}
	}
	li.select {
		font-weight: bold;
		border-radius: 20px 0 0 20px;
		background-color: aquamarine;
	}
	li:hover {
		background-color: azure;
	}
	li.select:hover {
		background-color: aquamarine;
	}
}

ul.egFrame:hover {
	border-right: solid 5px #eee;
	background-color: #fefefe;
	li {
		border: solid 1px aquamarine;
		border-right: none;
	}
}

/** table **/
table.egFrame {
	border-collapse: collapse;
	a {
		color: blue;
	}
	a.header {
		color: #fff;
	}
	th, td {
		padding: 0 5px;
		font-weight: normal;
		border: solid 1px #ccc;
	}
	td div.hidden {
		display: block;
		white-space: nowrap;
		overflow: hidden;
	}
	td div.ellipsis {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
	}
	thead {
		th, td {
			color: #fff;
			/*background: linear-gradient(0deg, rgb(22, 135, 237), rgb(20, 55, 90));*/
			background: linear-gradient(0deg, rgb(120, 155, 190), rgb(22, 135, 237));
			a {
				display: block;
				width: 100%;
			}
			a.select span {
				text-decoration: underline;
			}
			div {
				font-size: 8px;
			}
			div:before {
				content: "*";
				opacity: 0;
			}
			div.asc:before {
				content: "\02228";	/* v */
				opacity: 1;
			}
			div.desc:before {
				content: "\02227";	/* ^ */
				opacity: 1;
			}
		}
		th {
			white-space: nowrap;
			line-height: 120%;
		}
	}
	tbody {
		tr:nth-child(2n+0) {
			background: rgb(247, 247, 247);
		}
		tr:nth-child(2n+1) {
			background: rgb(255, 255, 255);
		}
	}
	.info {
		th, td {
			vertical-align: middle;
			background: linear-gradient(0deg, rgb(204, 204, 204), rgb(238, 238, 238));
		}
		table {
			border-collapse: separate;
			border-spacing: 0;
			margin: 5px 0;
			td {
				width: 0;
				padding: 0 5px;
				white-space: nowrap;
				vertical-align: middle;	
				font-size: 14px;
				border-top: none;
				border-bottom: none;
				border-left: solid 1px rgb(255, 255, 255);
				border-right: solid 1px rgb(204, 204, 204);
				a {
					overflow: hidden;
					padding: 0px 1px 0;
					border: solid 1px rgba(204,204,204,0);
					img {
						margin-bottom: -4px;
						border-top: solid 1px rgba(255, 255, 255, 0);
						border-left: solid 1px rgba(255, 255, 255, 0);
					}
				}
				a:hover {
					border: solid 1px rgba(204,204,204,1);
					img {
						margin-bottom: -4px;
						border-top: solid 1px rgba(255, 255, 255, 1);
						border-left: solid 1px rgba(255, 255, 255, 1);
					}
				}
				a[disabled] {
					opacity: 0.5;
					pointer-events: none;
				}
			}
			td:first-child {
				border-left: none;
			}
			td:last-child {
				width: auto;
				border-right: none;
			}
			input {
				width: 40px;
				padding: 0 5px;
				border-top: solid 1px rgb(204, 204, 204);
				border-left: solid 1px rgb(204, 204, 204);
				border-right: solid 1px rgb(255, 255, 255);
				border-bottom: solid 1px rgb(255, 255, 255);
				border-radius: 5px;
			}
		}
	}
}

div#egPopupBase {
	position: fixed;
	box-sizing: border-box;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*display: flex;*/
	display: none;
	align-items: center;	/*flex専用*/
	background-color: RGBA(0, 0, 0, 0.2);
}

.egDialog {
	display: block;
	margin: 0 auto;
	width: auto;
	padding: 20px;
	background-color: #fff;
	border-radius: 20px;
	form {
		th {
			text-align: left;
			font-weight: normal;
		}
	}
	input[type="text"] {
		border: none;
		border-bottom: solid 1px #ccc;
	}
	input[type="text"]:focus {
		outline: none;
		border: none;
		border-bottom: solid 1px aquamarine;
		border-radius: 5px 5px 0 0;
		background-color:azure;
	}
	button,
	input[type="reset"],
	input[type="submit"],
	input[type="button"] {
		width: 100px;
		background-color:azure;
		border: solid 1px aquamarine;
		border-radius: 5px;
		cursor: pointer;
	}
	textarea {
		padding: 5px;
		border: solid 1px #ccc;
	}
	textarea:focus {
		outline: none;
		background-color:azure;
		border: solid 1px aquamarine;
	}
}

.egInline {
	padding: 0;
	input[type="text"] {
		padding: 3px;
		border-top: solid 1px #bbb;
		border-left: solid 1px #bbb;
		border-right: solid 1px #eee;
		border-bottom: solid 1px #eee;
	}
	input[type="text"]:read-only {
		border: none;
		background-color: transparent;
		cursor: default;
	}
	input[type="text"]:focus {
		outline: none;
		background-color:azure;
	}
	input[type="text"]:focus:read-only {
		outline: none;
		border: none;
		background-color: transparent;
		cursor: default;
	}
}

/*
iOS 風のチェックボックス
*/
input[type="checkbox"].toggle {
	display: none;
}
input[type="checkbox"].toggle+label {
	margin-bottom: -6px;
	cursor: pointer;
	display: inline-block;
	box-sizing: content-box;
	position: relative;
	width: 40px;
	height: 20px;
	background-color: #FFF;
	border: 2px solid #CCC;
	border-radius: 20px;
}
input[type="checkbox"].toggle:checked+label {
	background-color: #78D376;
	border-color: #78D376;
}
input[type="checkbox"].toggle+label:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	left: 0;
	top: 0;
	border-radius: 50%;
	background-color: #FFF;
	box-shadow: 2px 2px 4px gray;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
input[type="checkbox"].toggle:checked+label:before {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	box-shadow: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
input[type="checkbox"].square+label {
	border-radius: 4px;
}
input[type="checkbox"].square+label:before {
	border-radius: 2px;
}
input[type="checkbox"].red:checked+label {
	background-color: #78D376;
	border: 2px solid #CCC;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5 ease;
}
input[type="checkbox"].red+label {
	background-color: #f30c3a;
	border: 2px solid #CCC;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5 ease;
}
input[type="checkbox"].blue:checked+label {
	background-color: #78D376;
	border: 2px solid #CCC;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5 ease;
}
input[type="checkbox"].blue+label {
	background-color: #0622fb;
	border: 2px solid #CCC;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5 ease;
}

.close_button {
	display: block;
	position: relative;
	width: 24px;
	height: 24px;
	border: 2px solid #333;
	/*border-radius: 50%;*/
	background: #fff;
}

.close_button::before, .close_button::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px; /* æ£’ã®å¹…ï¼ˆå¤ªã•ï¼‰ */
	height: 22px; /* æ£’ã®é«˜ã• */
	background: #333; /* ãƒãƒ„å°ã®è‰² */
}

.close_button::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.close_button::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
