@charset “utf-8″;
/*****************************************************************************************/
/* body
/*****************************************************************************************/
.body_login {
	background			: #f5f5f5;
}

/*****************************************************************************************/
/* ログイン入力ボックス
/*****************************************************************************************/
.login_container {
	width				: 100%;
	padding				: 15px 0;
}
.login_container h1 {
	text-align			: center;
}
.login_box {
	width				: 100%;
	max-width			: 500px;
	text-align			: center;
	background			: #fff;
	border				: 4px solid #00008b;
	border-radius		: 7px;
	padding				: 20px 10px 20px;
	margin				: 15px auto;
}
/* メッセージ欄 */
.login_box .message_area {
	width				: 100%;
	margin				: 0 auto 10px;
}
.login_box .message_area p {
	font-size			: 90%;
	text-align			: center;
	color				: red;
}
/* 入力欄 */
.login_box .login_input_tbl {
	width				: 80%;
}
.login_box .login_input_tbl th,
.login_box .login_input_tbl td {
	padding				: 10px 5px;
	background			: transparent;
	border				: none;
}
.login_box .login_input_tbl th {
	width				: 6.5em;
	text-align			: right;
	padding-right		: 15px;
}
.login_box .login_input_tbl td {
	text-align			: left;
}
.login_box .login_input_tbl input[type="text"],
.login_box .login_input_tbl input[type="password"] {
	width				: 100%;
	max-width			: 100%;
	min-width			: 100%;
	padding				: 3px;
	ime-mode			: disabled;
}
/* ボタン */
.login_box .button_box {
	width				: 100%;
	margin				: 20px auto 0;
	text-align			: center;
}
.login_box input[type=submit] {
	font-size			: 110%;
	color				: #ffffff;
	background			: #6666ff;
	padding				: 20px 40px;
	margin				: 0;
	border				: none;
	border-width		: 0;
	border-radius		: 7px 7px 7px 7px;
}
.btn_return_home:hover,
.btn_return_home:active {
	cursor				: pointer;
	opacity				: 0.6;
	transition			: 0.4s;
}
@media screen and (max-width:799px){
	.login_box {
		max-width			: 300px;
	}
	.login_box .login_input_tbl th,
	.login_box .login_input_tbl td {
		display				: block;
		width				: 100%;
		text-align			: left;
	}
	.login_box .login_input_tbl th {
		padding				: 10px 0 0;
	}
	.login_box .login_input_tbl td {
		padding				: 0 0 10px;
	}
}

/*****************************************************************************************/
/* 共通 (ページ構成)
/*****************************************************************************************/
/* ページ全体
---------------------------------------------------------------------*/
#page {
	width				: 100%;
}
.container {
	width				: 100%;
}

/* コンテナ全体
---------------------------------------------------------------------*/
.container {
	width				: 100%;
	text-align			: center;
	padding				: 10px;
	margin				: 0 auto;
}

/* 主領域コンテナ
---------------------------------------------------------------------*/
.main_container {
	width				: 100%;
	background			: #fff;
	border				: 4px solid #00008b;
	border-radius		: 10px;
	padding				: 20px 20px 5px;
	margin				: 0 auto;
}


/*****************************************************************************************/
/* 【共通】エラーメッセージ表示ボックス
/*****************************************************************************************/
.error_message_box {
	width				: 100%;
	background			: #fff0f5;
	border				: 2px solid #f00;
	border-radius		: 5px;
	padding				: 5px;
	margin-bottom		: 10px;
}
/*****************************************************************************************/
/* 【共通】モーダルウィンドウ
/*****************************************************************************************/
/* モーダルウィンドウ 背景 (全面を覆い、背景色をグレーにする) */
#modal-overlay {
	display				: none;
	z-index				: 1;
	position			: fixed;
	top					: 0;
	left				: 0;
	width				: 100%;
	height				: 120%;
	background-color	: rgba( 0,0,0, 0.7 );
}
/* モーダルウィンドウ 表示部 */
#modal-content {
	display				: none;
	z-index				: 2;
	position			: fixed;
	max-width			: 100%;
	max-height			: 100vh;
/*
	overflow			: scroll;
	width: 50% ;
*/
	background			: #fff;
	border				: 2px solid #54acd4;
	border-radius		: 5px;
	padding				: 15px;
	margin				: 0;
}
#modal-content::-webkit-scrollbar {
	width				: 7px;
	background			: #fff;
}
#modal-content::-webkit-scrollbar:horizontal {
	display				: none;;
}
#modal-content::-webkit-scrollbar-thumb {
	background			: #ffc0cb;
	border-radius		: 7px;
}
#modal-content::-webkit-scrollbar-track-piece:start{
	background			: #eee;
}
#modal-content::-webkit-scrollbar-corner {
	background			: transparent;
}

.modal_body_lock {
	overflow			: hidden;
}

.ajax_processing_message p {
	text-align			: center;
}
/*****************************************************************************************/
/* 【共通】jquery.validate.js エラー表示
/*****************************************************************************************/
label.error {
	font-size			: 90%;
	color				: #fff;
	background			: #ee0101;
	padding				: 2px 5px;
}

/*****************************************************************************************/
/* ホーム (スタッフ選択)
/*****************************************************************************************/
.select_staff_container {
	width				: 100%;
	padding				: 15px 0 5px;
	height				: calc(100vh - 215px);
/*
	height				: calc(100vh - 187px);
*/
	overflow-x			: hidden;
	overflow-y			: scroll;

}
.select_staff_container .staff_list {
	width				: 100%;
	margin				: 0 auto 0;
	display				: flex;
	justify-content		: flex-start;
	flex-wrap			: wrap;
}
.select_staff_container .staff_list > li {
	display				: block;
	margin				: 0 10px 20px;
/*
	margin-right		: 25px;
	margin-bottom		: 25px;
*/
}
.select_staff_container .staff_list > li > button {
/*
	min-width			: 10em;
*/
	min-width			: calc(86vw / 3);
	letter-spacing		: 0;
	padding				: 20px 20px;
}
@media (max-width: 900px) {
	.select_staff_container .staff_list > li > button {
		min-width			: calc(80vw / 3);
	}
}
@media (max-width: 768px) {
	.select_staff_container .staff_list > li > button {
		min-width			: calc(80vw / 2);
	}
}

/* 下部ボタン */
.bottom_button_box {
	width				: 100%;
	margin				: 15px auto 10px;
}

/* 20250312 kitamura add st */
/* スタッフ数表示 */
.staff_count_box {
	text-align: right;
}
.staff_count_box span {
	display: inline-block;
	margin-right: 1em;
}
.staff_count_box .staff_count_caution {
	color: red;
}
/* 20250312 kitamura add ed */

/*****************************************************************************************/
/* 打刻
/*****************************************************************************************/
.input_time_container {
	width				: 100%;
	padding				: 10px 0 20px;
	display				: flex;
	justify-content		: space-between;
}
/* スタッフ */
.input_time_staff_bax {
	/* 20250601 seguchi del st */
	/* position			: relative; */
	/* 20250601 seguchi del st */
	width				: calc(100% - 310px);
/*
	border				: 1px solid #f00;
	border-radius		: 7px;
*/
	padding				: 10px 10px;
}
/* ボタン */
.input_time_button_bax {
	width				: 300px;
	height				: calc(100vh - 130px);
	background			: #f8f8ff;
	border				: 2px solid #0000cd;
	border-radius		: 7px;
	padding				: 3px 0;
}

/*----------------------------------------------------------*/
/* スタッフ 内容
/*----------------------------------------------------------*/
.input_time_staff_bax h2 {
	font-size			: 180%;
}
.input_time_staff_bax .time_record_table {
	width				: 100%;
	margin-top			: 20px;
}
.input_time_staff_bax .time_record_table th,
.input_time_staff_bax .time_record_table td {
	font-size			: 140%;
	padding				: 25px 10px 5px;
	background			: transparent;
	border				: none;
	border-bottom		: 1px solid #999;
}
.input_time_staff_bax .time_record_table .col1 {  }
.input_time_staff_bax .time_record_table .col2 {  }
.input_time_staff_bax .time_record_table .col3 { width: 3em; }
.input_time_staff_bax .time_record_table .col4 {  }

/* キャプション */
.input_time_staff_caption_box {
	width				: 100%;
	margin-top			: 30px;
}
.input_time_staff_caption_box p {
	text-align			: center;
}

/* [戻る]ボタン */
.input_time_staff_button_box {
	position			: absolute;
	/* 20250601 seguchi upd st */
	/* width				: 100%;
	bottom				: 5px; */
	top: 20px;
	left: 20px;
	/* 20250601 seguchi upd ed */
}
.button_return_home {
	font-size			: 100%;
	line-height			: 1.3;
	background			: #f8f8ff;
	border				: 2px solid #999;
	/* 20250601 seguchi upd st */
	padding				: 5px 40px;
	/* 20250601 seguchi upd ed */
}

/*----------------------------------------------------------*/
/* ボタン 内容
/*----------------------------------------------------------*/
.input_time_button_sub_bax {
	width				: 100%;
	padding				: 4px 0;
	padding				: 1vh 0;
}

.input_time_button_bax button {
	min-width			: 10em;
	height				: 10.2vh;
	padding				: 5px 10px;
	margin				: 7px 0;
	margin				: 0.8vh 0;
}
@media (max-height: 700px) {
	.input_time_button_bax button {
		font-size			: 120%;
	}
}

.button_work_start {
	color				: #fff;
	background			: #4169e1;
	border-color		: #4169e1;
}
.button_work_end {
	color				: #fff;
	background			: #ff6347;
	border-color		: #ff6347;
}
.button_rest_start {
	color				: #fff;
	background			: #2e8b57;
	border-color		: #2e8b57;
}
.button_rest_end {
	color				: #fff;
	background			: #ff7f50;
	border-color		: #ff7f50;
}

.button_eng {
	font-size			: 80%;
	letter-spacing		: 0.05em;
	line-height			: 1.3;
	display				: block;
}

/*****************************************************************************************/
/* 勤務表
/*****************************************************************************************/
/* ヘッダ */
.time_record_header {
	width				: 100%;
	position			: relative;
}
.time_record_header_title {
	text-align			: left;
}
.time_record_header_title h1 {
	margin-bottom		: 5px;
}
.time_record_header_button_box {
	position			: absolute;
	bottom				: 10px;
	right				: 0;
}
.time_record_header_button_box button {
	min-width			: 7.5em;
	font-size			: 110%;
	line-height			: 1.3;
	padding				: 5px 20px;
	margin-right		: 10px;
}
.time_record_header_button_box button:last-child {
	margin-right		: 0;
}
@media screen and (max-width:940px){
	.time_record_header_button_box {
		top				: -10px;
	}
	.time_record_header_button_box button {
		min-width			: 7em;
		font-size			: 100%;
		line-height			: 1.1;
		padding				: 6px 20px;
	}
}
@media screen and (max-width:840px){
}

/* 勤務表 */
.time_record_container {
	width				: 100%;
	padding				: 0;
	margin				: 10px auto 20px;
	border				: 1px solid #999;
	height				: calc(100vh - 172px);
	overflow-x			: hidden;
	overflow-y			: scroll;
}
.time_record_container .time_record_table {
	width				: 100%;
}
.time_record_container .time_record_table thead,
.time_record_container .time_record_table tbody {
}
.time_record_container .time_record_table th,
.time_record_container .time_record_table td {
	padding				: 3px;
	border				: none;
	border-bottom		: 1px solid #999;
	border-right		: 1px solid #999;
}
.time_record_container .time_record_table th:last-child,
.time_record_container .time_record_table td:last-child {
	border-right		: none;
}
.time_record_container .time_record_table th {
	position			: sticky;
	top					: 0;
	left				: 0;
}

.time_record_container .time_record_table .col1 { width: 6em; }
.time_record_container .time_record_table .col2 {  }
.time_record_container .time_record_table .col3 {  }
.time_record_container .time_record_table .col4 {  }
.time_record_container .time_record_table .col5 {  }

/* 20250601 seguchi add st */
.button_input_koumoku_1{
	background-color: orange;
}

.koumoku_input{
	min-width: 5rem;
}
/* 20250601 seguchi add ed */
