@charset "UTF-8";
/* CSS Document */

/****************************************************/
/**   全体レイアウト    **/
/****************************************************/

/****************************************************/
/**   ヘッダー    **/
/****************************************************/
header{
	position:fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 45px;
	border-bottom: rgb(54,125,162) solid 4px;
	background-color:rgb(255,255,255);
	box-sizing: border-box;
	z-index: 12;
}

header h1{
	position: absolute;
	left: 15px;
	top: 15px;
}

header h1 img{
	height:20px;
	vertical-align: top;
}

header div.login_info{
	position: absolute;
	right:30px;
	top: 8px;
	width:auto;
}

header div.login_info p{
	display: inline-block;
	padding: 0;
	line-height: 125%;
}

header div.login_info p:first-child{
	border-right:rgb(0,0,0) solid 1px;
	padding-right: 10px;
	margin-right: 10px;
}

header div.login_info p.logout{
	cursor: pointer;
}


/****************************************************/
/**   ナビゲーション    **/
/****************************************************/
aside{
	position:fixed;
	left: 0;
	top:0;
	height: 100%;
	width: 180px;
	box-sizing: border-box;
	background-color:rgb(248,248,248);
	border-right: rgb(221,226,228) solid 1px;
	padding-top: 45px;
	z-index: 11;
}
nav li{
	width:100%;
	height:60px;
	line-height: 60px;
	vertical-align: middle;
}

nav li a{
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0 0 0 20px;
	-webkit-transition: all .25s ease-in-out;
	-o-transition: all .25s ease-in-out;
	-ms-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
	position: relative;
}

nav li a:hover,
nav li.active a{
	text-decoration: none;
	background-color:rgb(227,233,235);
	
}

nav li a:after{
	display: block;
	content: "";
	width: 0;
	height: 0;
	right: 190px;
	top: 22px;	
	position: absolute;
	-webkit-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
	border-style: solid;
	border-width: 8px 0 8px 10px;
	border-color: transparent transparent transparent transparent;
}

nav li a:hover:after,
nav li.active a:after{
	border-color: transparent transparent transparent rgb(227,233,235);
	right: -10px;
	
	
}
aside #sub_menu{
	padding: 20px;
	margin-top: 40px;
}

aside #sub_menu h2{
	border-bottom:rgb(200,200,200) solid 3px;
	margin-bottom: 10px;
}


aside #sub_menu li{
	line-height: 40px;
	border-bottom:rgba(200,200,200,0.5) dotted 1px;	
}

aside #sub_menu li a{
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

aside #sub_menu li i{
	margin-right: 5px;	
}
aside p.revision{
	position: absolute;
	bottom:20px;
	left: 20px;
	font-size: 80%;
	
}










/****************************************************/
/**   メインエリア    **/
/****************************************************/
article{
	width:100%;
	box-sizing: border-box;
	padding: 75px 30px 30px 220px;
}

article > section{
	width:100%;
	margin-bottom: 30px;
	box-sizing: border-box;
}

article > section:last-of-type{
	margin-bottom: 0;
}

/**   エラーメッセージ    **/
section.error_area{
	text-align: center;
	padding: 200px 50px;
}

section.error_area span.error_cd{
	color:rgba(0,0,0,0.5);
	border-top: rgba(0,0,0,0.5) solid 3px;
	border-bottom: rgba(0,0,0,0.5) solid 3px;
	display: inline-block;
	margin-bottom: 10px;
	padding: 5px 10px;
}

section.error_area .btn_wrap{
	margin-top: 30px;
}
section.error_area .btn_wrap button{
	margin: 0 auto;
}

/****************************************************/
/**   メインエリア内共通使用パーツ    **/
/****************************************************/
dl.input_table{
	letter-spacing: -0.40em;
	width: 100%;
	border-top:rgba(200,200,200,0.2) dotted 1px;
	padding: 5px 0;
}

dl.input_table:first-child{
	border-top:none;
	padding-top: 0;
}

dl.input_table.main_input_table{
	padding-bottom: 5px;
}

dl.input_table.main_input_table:last-of-type{
	border-bottom:rgb(200,200,200) solid 3px;
	padding-bottom: 15px;
	margin-bottom: 15px;
}

dl.input_table.main_input_table + dl.input_table{
	border-top:none;
}

dl.input_table.left_table,
dl.input_table.right_table{
	display: inline-block;
	width: auto;
}

dl.input_table *{
	letter-spacing: normal;
}

dl.input_table > *{
	display: inline-block;
	vertical-align: middle;
	line-height: 24px;
}

dl.input_table > dt{
	color:rgb(54,125,162);
	font-weight:bold;
}

dl.input_table.main_input_table > dt{
	color:rgb(0,0,0);
	font-size: 120%;
}

dl.input_table.right_table > dt{
	padding-left: 30px;
	padding-right: 30px;
}

dl.input_table > dd{
	margin-right: 10px;
}

dl.input_table > dd > *{
	vertical-align: middle;
}

dl.input_table > dd:last-of-type{
	margin-right: 0;
}

span.budget_mark,
span.real_mark{
	width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
	text-align: center;
	color:rgb(255,255,255);
	display: inline-block;
	line-height: 22px;
	vertical-align: middle;
}

span.budget_mark{background-color:rgb(54,57,59);}
span.real_mark{background-color:rgb(253,92,92);}


/****************************************************/
/**   オーバーレイ    **/
/****************************************************/
#over_ray{
	background-color:rgba(0,0,0,0.8);
	position: fixed;
	top: 0%;
	left: 0;
	width:100%;
	height: 100%;
	z-index: 9999;
	display: none;
}


#over_ray .over_ray_inner{
	position:absolute;
	height: 80%;
	width: 90%;
	max-width: 1000px;
	-ms-transform:translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	top:50%;
	left: 50%;
	background-color:#FFFFFF;
	box-sizing: border-box;
	padding: 50px;
	overflow: hidden;
}

#over_ray .over_ray_inner_inner{
	overflow-y: scroll;
	height: 80%;
	margin: 50px 0;
}

#over_ray .over_ray_inner h3{
	font-size: 120%;
	border-left: rgb(28,81,119) solid 7px;
	padding-left: 15px;

}
#over_ray .over_ray_inner table.select_table tbody tr{
	cursor: pointer;
}

#over_ray .over_ray_inner table.select_table tbody tr:hover td{
	background-color:rgba(0,0,0,0.1);
}

#over_ray .over_ray_inner p.return_name{
	display: none;
}




/****************************************************/
/**   フッター(ボタン類)    **/
/****************************************************/
footer{
	position: fixed;
	right:0;
	top: 80px;
	width:80px;
}

footer li{
	width:80px;
	height: 80px;
	margin-bottom: 1px;
}

footer li > button{
	text-align: center;
	color: rgb(255,255,255);
	-webkit-transition: all .25s ease-in-out;
	-o-transition: all .25s ease-in-out;
	-ms-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
	cursor: pointer;
	width:80px;
	height: 80px;
}

footer li button i{
	font-size: 200% !important;
	display: block !important;
	margin: 0 auto 5px auto;
}

footer li button:disabled{
	cursor: default;
	opacity: 0.5;
}
footer li button:hover{
	opacity:0.5;
}


footer li button.btn_clear{background-color:rgba(59,59,59,0.9);}
footer li button.btn_save{background-color:rgba(255,172,54,0.9);}
footer li button.btn_sumup{background-color:rgba(255,172,54,0.9);}
footer li button.btn_delete{background-color:rgba(126,153,171,0.9);}
footer li button.btn_copy{background-color:rgba(19,189,174,0.9);}
footer li button.btn_csv{background-color:rgba(19,189,174,0.9);}
footer li button.btn_pdf{background-color:rgba(19,189,174,0.9);}


.cautions{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.98);
	z-index: 99999;
	text-align: center;
	padding: 200px 50px;
	box-sizing: border-box;
}

.cautions .titles{
	color:rgb(200,0,0);
	border-top: rgb(200,0,0) solid 3px;
	border-bottom: rgb(200,0,0) solid 3px;
	display: inline-block;
	margin-bottom: 50px;
	padding: 5px 100px;
}

.cautions p{
	margin-bottom: 10px;
}

