@charset "utf-8";

body {
	margin: 0;
	padding: 0;
	background: #fff;
	font: 90% 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif;
}
a {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	color: #dd0000 !important;
}
a:link, a:visited {
	color: #0044cc;
}
#container {
	display: flex;
	height: 100vh; /* 画面の高さに合わせる */
}
#menu {
	height: 100%;
	text-align: center;
	width: 150px;
	background: #edfaff;
	box-sizing: border-box;
	margin: 0;
	padding: 1em 0;
}
#menu input {
	margin: 10px auto;
	width: 100px;
}
#content {
	flex: 1;
	padding: 20px;
	background-color: #ffffff;
}

#head {
	background: #3b5998;
	padding: 4px 20px;
	color: #fff;
}
#head a {
	color: #fff;
}
#body {
	margin: 1.5em;
}
#foot {
	background: #3b5998;
	padding: 3px 20px;
	color: #fff;
}

.ttl {
	font-weight: bold;
	border-left: 4px solid #dd0000;
	padding: 1px 8px;
}
.sttl {
	font-weight: bold;
	color: #015c7b;
	margin: 1.2em 0;
}
.note {
	font-size: 90%;
	color: #333;
	padding: 8px;
	margin-left: 2em;
}
.mail-note {
	color: #333;
	padding: 8px;
}
.form-btn {
	margin: 1em 0 1.5em 1em !important;
}

.main-tb, .mini-tb {
	border-collapse: collapse;
	table-layout: fixed;
	margin: 1em;
}
.main-tb td, .main-tb th {
	border: 1px solid #666;
	padding: 10px;
}
.main-tb th {
	background: #ddeeee;
}

.mini-tb td, .mini-tb th {
	border: 1px solid #666;
	padding: 4px 8px;
	font-size: smaller;
}
.mini-tb th {
	background: #ddeeee;
}

/* datepicker */
div.ui-datepicker {
	font-size: 90%;
}

.form-tb, .form-tb2 {
	border-collapse: collapse;
	table-layout: fixed;
	margin: 1em;
}
.form-tb td, .form-tb th, .form-tb2 td, .form-tb2 th {
	border: 1px solid #666;
	padding: 6px 10px;
}
.form-tb th {
	background: #e7f3ff;
}
.form-tb2 th {
	background: #f1ffd9;
}
.w-item {
	width: 80px;
}
.save {
	font-size: smaller;
	color: #333;
}

/* login form */
#login {
	width: 400px;
	margin: 3em;
	text-align: left;
	padding: 1em 2em;
	border-radius:6px;
}
#login legend {
	padding: 5px;
	font-weight: bold;
}
#login input[type="text"], #login input[type="password"] {
	width: 300px;
	padding: 5px;
}
#login input[type="submit"] {
	width: 100px;
	height: 30px;
}
#login p {
	margin: 2em 0;
}

.w-m {
	width: 380px;
	padding: 3px;
}
.w-s {
	width: 150px;
	padding: 3px;
}
.ta-c {
	text-align: center;
}
.ta-l {
	text-align: left;
}
#msg {
	border: 1px solid #006400;
	padding: 2em;
	margin: 2em;
	background: #edffeb;
	width: 500px;
	text-align: center;
	border-radius: 6px;
}
#err {
	border: 1px dotted red;
	padding: 2em;
	margin: 2em;
	background: #fff3f9;
	width: 500px;
	text-align: center;
	border-radius: 6px;
	color: #dd0000;
}
