@charset "utf-8";

.loader ,
#loader {
	display: none;
	text-align: center;
}

h2 {
	font-size: 32px;
	font-weight: normal;
	color: #ae956c;
}

h2.mtitle {
	padding: 0 0 5px 0;
	border-bottom:1px solid #ccc;
}


/* エラー ---------------------*/

.status_error {
	margin: 0 auto;
	text-align: center;
	padding: 50px 0;
	font-size: 18px;
}

.status_error i {
	margin: 0 15px 0 0;
	font-size: 56px;
	vertical-align:middle;
}

.cla_content_err {
	margin: 100px auto 0 auto;
	text-align: center;
	font-size: 20px;
}

.e404 {
	margin: 80px auto 0 auto;
	text-align: center;
	font-size: 20px;
}


/* ヘッダ ---------------------*/

header {
	width: 100%;
	padding: 15px 0;
	border-bottom:1px solid #ccc;
}

header h1 {
	margin: 5px 0 0 0;
	font-size: 20px;
}

header .submit ,
header .submit:hover[disabled] {
	padding: 10px 15px;
	font-size: 13px;
}

header .header_right {
	text-align: right;
}


/* フッタ ---------------------*/

footer {
	padding: 100px 0 0 0;
}


/* ログイン ---------------------*/

.member_login {
	margin: 0 auto;
	padding: 50px 20px 20px 20px;
	border: 1px solid #ccc;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
}

.member_login h3 {
	font-size: 24px;
	color: #ae956c;
}

.member_login h4 {
	margin: 20px 0 5px 0;
	font-size: 15px;
	text-align: left;
}

.member_login p {
	margin: 20px 0 0 0;
	font-size: 13px;
}

.member_login .submit_wrap {
	margin: 30px 0 0 0;
}

.member_login p a:link {color: #009fb9;}
.member_login p a:visited {color: #009fb9;}
.member_login p a:hover {color: blue;}

.member_login .submit_wrap a:link ,
.member_login .submit_wrap a:visited ,
.member_login .submit_wrap a:hover ,
.member_login .submit_wrap a:active {
	color: #333;
	text-decoration: none;
}

.member_login .top_mes {
	margin: 20px 0 0 0;
	padding: 15px;
	background-color: #FCF8E3;
	font-size: 14px;
	color: #ac8d50;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}

.login_now {
	margin: 50px 0 0 0;
	text-align: center;
}

.login_now h3 {
	font-size: 20px;
}

.login_now p {
	margin: 30px 0 0 0;
	font-size: 13px;
}

.login_now p a:link {color: #009fb9;}
.login_now p a:visited {color: #009fb9;}
.login_now p a:hover {color: blue;}

.member_login h5 {
	margin: 30px 0 40px 0;
	padding: 20px 15px;
	background-color: #f8ecbd;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	border: 1px solid #ccc;
	font-size: 13px;
}

.member_login .submit i {
	font-size: 24px;
	padding: 0 10px 0 0;
	vertical-align: middle;
}

.member_login .member_login_bottom {
	margin: 30px 0 0 0;
	text-align: right;
}


/* プログレスバー ---------------------*/

.progressbar {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: nowrap;
	font-size: 10px;
}

.progressbar .item {
	width: 25%;
	padding: 5px 0 5px 10px;
	position: relative;
	text-align: center;
	align-items: center;
	justify-content: center;
	background: #eee;
	color: #000;
	line-height: 1.2;
}

.progressbar .item:last-of-type {
	padding: 10px 0 0 10px;
}

.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
	margin: auto;
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 2;
	content: "";
	border: 17px solid transparent;
	border-left: 10px solid #eee;
}

.progressbar .item:not(:last-child)::before {
	border-left-color: #fff;
}

.progressbar .item.active {
	background: #0074c2;
	color: #fff;
}

.progressbar .item.active:not(:last-child)::after {
	border-left-color: #0074c2;
}

.progressbar .item.active:not(:last-child)::before {
	border-left: none;
}


/* 登録 ---------------------*/

.registration_form {
	margin: 50px 0 0 0;
}

.registration_form h3 {
	margin: 0 0 10px 0;
	font-size: 14px;
}

.registration_form h3::before {
	margin: 0 5px 0 0;
	font-family: FontAwesome;
	font-size: 16px;
	content: "\f0da";
}

.registration_form table.expenses_detail {
	border-top: 1px solid #ccc;
}

.registration_form table.expenses_detail tr:nth-child(odd) {
	background-color: #f8f8f8;
}

.registration_form table.expenses_detail th ,
.registration_form table.expenses_detail td {
	padding: 15px 10px;
	text-align: center;
	font-weight: normal;
	border-bottom: 1px solid #ccc;
}

.registration_form table.expenses_detail th {
	background-color: #ebebeb;
	font-size: 13px;
}

.registration_form table.expenses_detail td {
	vertical-align: middle;
}

.registration_form table.expenses_detail td.expenses_detail_td_error {
	background-color: #fdeef1;
}

.registration_form table.expenses_detail td.expenses_detail_td_error p {
	margin: 5px 0 0 0;
	color: #cc0033;
	font-size: 13px;
}

.registration_form table.expenses_detail th.sort ,
.registration_form table.expenses_detail td.sort {
	width: 60px;
	text-align: center;
}

.registration_form table.expenses_detail tr:hover {
	background-color: #f8f3ba;
	cursor: ns-resize;
}

.registration_form table.expenses_detail .hover {
	background-color: #f8f3ba;
}

.registration_form table.expenses_detail td.right {
	text-align: right;
}

.registration_form table.expenses_detail tr.check_tr:hover {
	background-color: transparent;
	cursor: auto;
}

.registration_form table.expenses_detail tr.check_tr:nth-child(odd) {
	background-color: #f8f8f8;
}

.registration_form .arrow_down {
	display: none;
	margin: 20px 0 0 0;
	text-align: center;
	font-size: 36px;
}

.registration_form .precaution {
	margin: 30px 0 0 0;
	padding: 15px;
	background-color: #fafafa;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	border: 1px solid #ccc;
	font-size: 12px;
}

.registration_form .form_back_title_personal ,
.registration_form .form_back_title_expenses {
	width: 150px;
	margin: 0 0 0 30px;
	padding: 10px 30px;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	text-align: center;
	font-weight: bold;
	background-color: #ecfbff;
}

.registration_form .form_back_title_expenses {
	background-color: #fffdd3;
}

.registration_form .form_back_check_personal ,
.registration_form .form_back_check_expenses {
	margin: 0 0 30px 0;
	padding: 30px 15px;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
	border: 1px solid #ccc;
	background-color: #fff;
}

.registration_form table.expenses_check {
	border-top: 1px solid #eee;
}

.registration_form table.expenses_check tr:nth-child(even) {
	background-color: #f8f8f8;
}

.registration_form table.expenses_check th {
	padding: 10px 15px 0 15px;
	display: list-item;
	list-style-type: none;
	font-weight: normal;
}

.registration_form table.expenses_check th::before {
	margin: 0 5px 0 0;
	font-family: FontAwesome;
	font-size: 16px;
	content: "\f0da";
}

.registration_form table.expenses_check td {
	padding: 0 15px 10px 15px;
	display: list-item;
	list-style-type: none;
	border-bottom: 1px solid #eee;
}

.registration_form .form_back_check_personal .submit_wrap ,
.registration_form .form_back_check_expenses .submit_wrap {
	margin: 30px 0 0 0;
}

.registration_form table.expenses_detail td.expenses_detail_file img {
	width: 100px;
	height: auto;
}

.registration_form h3.expenses_detail_sp_h3 {
	margin: 30px 0 10px 15px;
}

.registration_form .expenses_detail_sp {
	padding: 0 15px 15px 15px;
}

.registration_form .expenses_detail_sp .expenses_detail_sp_wrap {
	margin: 0 0 15px 0;
	padding: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: 1px solid #ccc;
	background-color: #fdffdd;
}

.registration_form .expenses_detail_sp .expenses_detail_sp_wrap .form_back ,
.registration_form .expenses_detail_sp .expenses_detail_sp_wrap .form_back_err {
	margin: 0;
}

.registration_form .expenses_detail_sp .expenses_detail_sp_wrap .right {
	text-align: right;
}

.registration_form .expenses_detail_sp .expenses_detail_sp_wrap:nth-child(even) {
	background-color: #ecf8ef;
}

.registration_result {
	margin: 50px 0 0 0;
	text-align: center;
}

.registration_result h5 {
	font-size: 24px;
}

.registration_result h5 i {
	margin: 0 5px 0 0;
	font-size: 28px;
}

.registration_result p {
	margin: 30px 0 0 0;
	font-size: 14px;
}

.registration_form table.expenses_detail_table_sp {
	margin: 0 0 30px 0;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: 1px solid #ccc;
	background-color: #fdffdd;
}

.registration_form table.expenses_detail_table_sp:nth-child(even) {
	background-color: #ecf8ef;
}

.registration_form table.expenses_detail_table_sp th {
	padding: 10px 15px 0 15px;
	display: list-item;
	list-style-type: none;
	font-weight: normal;
}

.registration_form table.expenses_detail_table_sp th.expenses_detail_ymd_sp {
	padding: 0 15px 0 15px;
}

.registration_form table.expenses_detail_table_sp th::before {
	margin: 0 5px 0 0;
	font-family: FontAwesome;
	font-size: 16px;
	content: "\f0da";
}

.registration_form table.expenses_detail_table_sp td {
	padding: 0 15px 10px 15px;
	display: list-item;
	list-style-type: none;
	border-bottom: 1px solid #eee;
}

.registration_form table.expenses_detail_table_sp td.right {
	padding: 15px 15px 0 15px;
	border: none;
	text-align: right;
}

.registration_form table.expenses_detail_table_sp td.expenses_detail_file {
	padding: 0 15px 30px 15px;
}

.registration_form #file_drag_drop_area {
	border: 1px dashed #ccc;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	background-color: #edf7ff;
}

.registration_form #file_drag_drop_area .file_drag_drop_area_wrap {
	padding: 50px 15px;
	text-align: left;
}

.registration_form #file_list ,
.registration_form #already_file_list {
	opacity: 0;
	margin: 20px 0 0 0;
	border: 1px solid #ccc;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	text-align: center;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.registration_form #already_file_list {
	background-color: #f8f8f8;
}

.registration_form #file_list img ,
.registration_form #already_file_list img {
	width: 60px;
	height: 60px;
	margin: 10px 5px;
	overflow: hidden;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	vertical-align: top;
}

.registration_form .file_list_innr {
	width: 60px;
	height: 60px;
	margin: 10px 5px;
	border: 1px solid #ccc;
	overflow: hidden;
	background-color: #fff9df;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	text-align: center;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 9px;
}

.registration_form .file_list_innr i {
	margin: 0 5px 0 0;
}

.registration_form .form_back_err_file {
	width: 100%;
	padding: 15px;
	background-color: #fdeef1;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}

.registration_form .form_back_err_file p {
	text-align: left;
	color: #cc0033;
}

.registration_form #expenses_work {
	margin: 50px 0 0 0;
	padding: 30px 0 0 0;
	border-top: 1px solid #ccc;
}

.registration_form h2 {
	font-size: 14px;
	color: #333;
}

.registration_form h2:before {
	margin: 0 5px 0 0;
	font-family: FontAwesome;
	font-size: 16px;
	content: "\f138";
}

.registration_form h2 i {
	vertical-align: middle;
}

.registration_form #expenses_work #work_request_require ,
.registration_form #expenses_work #work_committee_require ,
.registration_form #expenses_work #work_content_require {
	display: none;
}









/* Media queries -------------------------------*/

/* ～320px iPhone SE */


@media (min-width: 321px) { /* 321px～360px Android */

}


@media (min-width: 361px) { /* 361px～375px iPhone 8 縦・iPhone XS 縦 */

}


@media (min-width: 376px) { /* 376px～412px Android */

}


@media (min-width: 413px) { /* 413px～414px iPhone 8 Plus 縦・iPhone XR 縦・iPhone XS Max 縦 */

}


@media (min-width: 415px) { /* 415px～834px iPhone SE 横・iPhone 8 横・iPhone 8 Plus 横・iPhone XS 横・ Android系横・iPad 9.7" 縦・iPad Pro 10.5" 縦 */

}


@media (min-width: 568px) {

}



@media(min-width:768px) { /* タブレット */

	.status_error {
		padding: 100px 0;
		font-size: 20px;
	}

	.member_login {
		width: 500px;
	}

	.member_login h4 {
		margin: 30px 0 5px 0;
	}

	.member_login p {
		margin: 30px 0 0 0;
		font-size: 15px;
	}

	.member_login .submit_wrap {
		margin: 30px 0 0 0;
	}

	.member_login .top_mes {
		margin: 30px 0 0 0;
		padding: 15px 30px;
	}

	.login_now {
		margin: 100px 0 0 0;
	}

	.login_now p {
		margin: 30px 0 0 0;
		font-size: 15px;
	}

	.member_login h5 {
		margin: 100px 0;
		padding: 25px 15px;
		font-size: 15px;
	}

	header h1 {
		margin: 5px 0 0 0;
		font-size: 24px;
	}

	header .submit ,
	header .submit:hover[disabled] {
		padding: 10px 30px;
		font-size: 14px;
	}

	.progressbar {
		font-size: 15px;
	}

	.progressbar .item {
		padding: 13px 0 13px 26px;
		line-height: inherit;
	}

	.progressbar .item:last-of-type {
		padding: 13px 0 13px 26px;
	}

	.progressbar .item:not(:last-child)::before,
	.progressbar .item:not(:last-child)::after {
		border: 25px solid transparent;
		border-left: 20px solid #eee;
	}

	.registration_form .form_back_check_personal ,
	.registration_form .form_back_check_expenses {
		margin: 0 0 30px 0;
		padding: 50px 30px;
	}

	.registration_form table.expenses_check th {
		padding: 15px;
		display: table-cell;
		border-bottom: 1px solid #eee;
	}

	.registration_form table.expenses_check td {
		padding: 15px;
		display: table-cell;
	}

	.registration_form .precaution {
		margin: 30px 0 0 0;
		padding: 15px 30px;
		font-size: 13px;
	}

	.registration_form #file_list img ,
	.registration_form #already_file_list img {
		width: 100px;
		height: 100px;
		margin: 10px 5px;
	}

	.registration_form .file_list_innr {
		width: 100px;
		height: 100px;
		margin: 10px 5px;
		font-size: 12px;
	}



}


@media (min-width: 835px) { /* 835px～959px PC・iPhone XR 横・iPhone XS Max 横 */

}


@media (min-width: 960px) { /* 960px～1023px PC */

	.registration_form table.expenses_detail th.sort {
		width: 60px;
		white-space: nowrap;
	}

	.registration_form table.expenses_detail th.th_ymd {
		width: 120px;
	}

	.registration_form table.expenses_detail th.th_description {
		width: 125px;
	}

	.registration_form table.expenses_detail th.th_place {
		width: auto;
	}

	.registration_form table.expenses_detail th.th_transport {
		width: auto;
	}

	.registration_form table.expenses_detail th.th_money {
		width: 110px;
	}

	.registration_form table.expenses_detail th.th_file {
		width: 75px;
	}

	.registration_form table.expenses_detail th.th_erase {
		width: 60px;
		white-space: nowrap;
	}





}


@media (min-width: 1024px) { /* 1024px～1059px PC・iPad 9.7" 横・iPad Pro 12.9" 縦*/

}


@media (min-width: 1060px) { /* 1060px～1199px PC・iPad Pro 10.5 横 */

}


@media (min-width: 1200px) { /* 1200px～ PC・iPad Pro12.9 横 */

}

