@CHARSET "utf-8";
/*------------------------------------------------------------------------------
	共通
------------------------------------------------------------------------------*/
html, body	{
	padding: 0px;
	margin: 0px;
	height: 100%;
	color: #333;
}

body	{
	margin: 0;
	padding: 0;
}

body, input, textarea, select {
	font-family: 'メイリオ', 'Meiryo', Verdana, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.5;
}

form {
	display: inline;
}

select {
	background: white;
}
/*------------------------------------------------------------------------------
	ラッパー
------------------------------------------------------------------------------*/
.vs-wrapper	{
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

.vs-wrapper * {
	box-sizing: border-box;	
}
/*------------------------------------------------------------------------------
	ヘッダ
------------------------------------------------------------------------------*/
header {
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	z-index: 1;
}
/*------------------------------------------------------------------------------
	メニュー
------------------------------------------------------------------------------*/
.vs-menu {
	width: 100%;
}

.vs-menu > ul {
	display: flex;
}

.vs-menu > ul > li {
	width: 180px;
	padding: 15px 0;	
	background: #0075B5;
	color: white;
	font-size: 14px;
	text-align: center;
	position: relative;
}

.vs-menu > ul > li:first-of-type {
	width: 50px;
}

.vs-menu > ul > li:first-of-type > a {
	display: block;
}

.vs-menu > ul > li:first-of-type > a::before {
	content: '\f015';
	font-family: 'FontAwesome';
	color: white;
}

.vs-menu > ul > li:last-of-type {
	width: 50px;
}

.vs-menu > ul > li:last-of-type > p::before {
	content: '\f013';
	font-family: 'FontAwesome';
	color: white;
}

.vs-menu > ul > li.empty {
	flex: 1;
}

.vs-menu > ul > li > ul {
	left: 0;
	top: 100%;
	width: 100%;
	position: absolute;
	display: none;
}

.vs-menu > ul > li:last-of-type > ul {
	left: auto;
	right: 0;
	width: 180px;
}

.vs-menu > ul > li > ul > li > a {
	padding: 15px 10px;
	background: #0075B5;
	color: white;
	font-size: 12px;
	text-align: left;
	position: relative;
	display: block;
}

.vs-menu > ul > li > ul > li > a::after {
	content: '\f105';
	right: 10px;
	top: 50%;
	transform: translateY(-50%); 
	font-family: 'FontAwesome';
	position: absolute;
}

.vs-menu > ul > li:hover ul {
	display: block;
}

.vs-menu > ul > li:not(.empty):hover,
.vs-menu > ul > li > ul > li:hover a {
	background: #3290C3;	
}
/*------------------------------------------------------------------------------
	ファンクションキー
------------------------------------------------------------------------------*/
.vs-func {
	height: 50px;
	padding: 0 20px;
	background: #F5F5F5;
	display: flex;
}	

.vs-func h1 {
	width: 200px;
	line-height: 50px;
	color: #0075B5;
	font-size: 14px;
	font-weight: bold;
}	

.vs-func a {
	padding: 0 20px;
	line-height: 50px;
	font-size: 14px;
	text-align: center;
	cursor: pointer;
	display: inline-block;
}

.vs-func a:hover {
	background: #E5E5E5;
}
/*------------------------------------------------------------------------------
	ボディ
------------------------------------------------------------------------------*/
main {
	width: 100%;
	padding: 20px;
	font-size: 12px;
	flex: 1;
}

main h2 {
	font-size: 18px;
	font-weight: bold;
}

main h3 {
	padding: 5px 0 5px 10px;
	border-left: 5px solid #0075B5;
	line-height: 1.5;
	font-size: 16px;
	font-weight: bold;
}

main input[type=text],
main input[type=password],
main input[type=time],
main select {
	height: 24px;
	line-height: 24px;
	border: 1px solid #b0c4de;
}

main textarea {
	border: 1px solid #b0c4de;
}

main th, main td {
	height: 30px;
}
/*------------------------------------------------------------------------------
	画面分割
------------------------------------------------------------------------------*/
.vs-split-parent {
	justify-content: space-between;
	display: flex;
}

.vs-split-parent > li:first-of-type {
	width: 180px;
}

.vs-split-parent > li:last-of-type {
	width: calc(100% - 200px);
}

.vs-split-parent > li:last-of-type > ul.vs-split-child {
	justify-content: space-between;
	display: flex;
}

.vs-split-parent > li:last-of-type > ul.vs-split-child > li {
	width: 49%;
	margin-top: 20px;
}
/*------------------------------------------------------------------------------
	システムメニュー
------------------------------------------------------------------------------*/
.vs-config-menu > li:first-of-type {
	padding-bottom: 10px;
	color: #0075B5;
	font-weight: bold;
	text-align: center;
}

.vs-config-menu > li:not(:first-of-type):hover {
	background: #f5f5f5;
}

.vs-config-menu a {
	padding: 10px 0;
	color: #333;
	display: block;
	position: relative;
}

.vs-config-menu a::after {
	content: '\f105';
	right: 0;
	top: 50%;
	transform: translateY(-50%); 
	font-family: 'FontAwesome';
	position: absolute;
	pointer-events: none;
}
/*------------------------------------------------------------------------------
	タブメニュー
------------------------------------------------------------------------------*/
.vs-tabmenu {
	width: 100%;
	margin-top: 20px;
	display: flex;
}

.vs-tabmenu > li {
	width: 200px;
	padding: 10px 0;
	background: #f7f7f7;
	border-bottom: 1px solid #b0c4de; 
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}

.vs-tabmenu > li.curr {
	background: white;
	border-top: 1px solid #b0c4de; 
	border-right: 1px solid #b0c4de; 
	border-bottom: 0; 
	border-left: 1px solid #b0c4de; 
}

.vs-tabmenu > li:last-of-type {
	background: transparent;
	cursor: auto;
	flex: 1;
}
/*------------------------------------------------------------------------------
	マスター参照
------------------------------------------------------------------------------*/
.master-ref .master-search {
	margin-left: 5px;
	color: green;
	font-size: 14px;
	cursor: pointer;
}

.master-ref .master-clear {
	margin-left: 5px;
	color: red;
	font-size: 14px;
	cursor: pointer;
}

.master-ref .master-name {
	margin-left: 5px;
}

.master-search > select {
	width: 100%;
	max-width: calc(100% - 105px);
}

.master-search > input {
	width: 100px;
	margin-left: 5px;
}
/*------------------------------------------------------------------------------
	行数制限
------------------------------------------------------------------------------*/
.line-clamp-1 {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/*------------------------------------------------------------------------------
	ボタン
------------------------------------------------------------------------------*/
.btn_or {
	font-size: 12px;
	padding: 5px 10px;
	color: #fff;
	background-color:#0075B5;
	border-style: none;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
 	cursor: pointer;
 }

.btn_or:hover {
	opacity: 0.8;
}

.btn_or:disabled	{
	background-color: #C0C0C0;
	cursor: auto;
}
/*------------------------------------------------------------------------------
	ページャー
------------------------------------------------------------------------------*/
.pager img	{
	cursor: pointer;
	vertical-align: -4px;
}
/*------------------------------------------------------------------------------
	ナンバリング
------------------------------------------------------------------------------*/
tbody.numbering {
	counter-reset: rowCount;
}

tbody.numbering > tr {
	counter-increment: rowCount;
}

tbody.numbering > tr > th:first-of-type::before {
	content: counter(rowCount);
}
/*------------------------------------------------------------------------------
	ステータスアイコン
------------------------------------------------------------------------------*/
span.status::before {
	content: '';
	margin-left: 20px;
	padding: 5px;
	border: 1px solid #0075B5;
	border-radius: 3px;
	color: #0075B5;
	font-size: 12px;
	font-weight: normal;
	display: inline-block;
}

span.status.closed::before {
	content: '請求済み';
}	

span.status.shipped::before {
	content: '出庫';
}	

span.status.stored::before {
	content: '入庫';
}	

span.status.delivered::before {
	content: '手配書';
}	
/*------------------------------------------------------------------------------
	その他
------------------------------------------------------------------------------*/
.require_mark	{
	color: #fd6c8b;
}

.error	{
	background: #ffb6c1;
}

.hide {
	display: none;	
}