@charset "utf-8";
/*======================================================================================================================
  全端末（PC・タブレット・スマホ）共通設定
======================================================================================================================*/
body {
	margin: 0px;
	padding: 0px;
	color: #666;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 15px;
	line-height: 2;
	background: #fff;
	-webkit-text-size-adjust: none;


}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #666;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
a:hover {
	color: #2E9AFE;
	text-decoration: none;
}

/* 入力エラー箇所の背景色 */
.err_field {
	background:#ffc0cb;
}
.err_field_td {
	background-color:#ffc0cb;
}
/* エラー理由（表示） */
.err_reason {
	color : #ff0000;
}

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 2%;
}

.inner2 {
        max-width: 1300px;
        margin: 0 auto;
        padding: 0 2%;
}

.inner3 {
        max-width: 1500px;
        margin: 0 auto;
        padding: 0 2%;
}

.inner_list {
	margin: 0 20px;
}

.guide1 {
	font-size: 20px;
}

.login_message {
	font-size: 20px;
}

/*ヘッダー
---------------------------------------------------------------------------*/
header {
	border-top: 4px solid #2E9AFE;
}
header .inner {
	height: 100px;
}
header #logo {
	width: auto;
	float: left;
	text-align: left;
}
#system_title {
	clear: both ;
	margin-top: 10px;
	width: auto;
	float: left;
	text-align: left;
	color: #222;
	font-size: 24px;

}

/*ぱんくず
---------------------------------------------------------------------------*/
#pan {
	clear: both;
/*	overflow: hidden;
	padding: 0 40px ;
*/
}

/*ヘッダのボタンニュー
---------------------------------------------------------------------------*/
#header_menu {
	margin-top: 10px;
	width: auto;
	float: right;
	text-align: left;
}
#header_menu a {
	width: auto;
	font-size: 14px;
	background: #FFF; /*#afd8fa;*/
/*	position: relative;left: 0px;bottom: -4px;
*/	text-decoration: none;
	text-align: center;
	padding: 2px 4px;
	border: 1px dashed  #222222;
	border-radius: 4px;

}

#header_menu a:hover {
	color:#ffffff; 
	background: #2E9AFE;
}

/* ページタイトル
---------------------------------------------------------------------------*/
#page_header {
	clear: both ;
	width:  100% ;
	height: auto ;
	text-align: center;
	margin: 0;

}
h1 {
	color: #222;
	font-size: 24px;

}

/* ログイン情報
---------------------------------------------------------------------------*/
.login_user_info {
	font-size: 16px;
	color: #000;

}

/* エラーメッセージ
---------------------------------------------------------------------------*/
.error_list {
	color: #880000;
	font-size: 16px;
	border: 2px solid  #880000;
	border-radius: 4px;
	margin-bottom: 20px ;
	padding: 0 10px;

}

/* 通知メッセージ
---------------------------------------------------------------------------*/
.msg_list {
	color: #000088;
	font-size: 16px;
	border: 2px solid  #000088;
	border-radius: 4px;
	margin-bottom: 20px ;

}

/* 説明文（小）
--------------------------------------------------*/
.small_text {
	font-size: 12px;

}

/*管理者の確認マーク
---------------------------------------------------------------------------*/
/* 確認 */
.mark_confirm {color: #00aa00;float: right; width: 2em ;font-size: 1.4em;font-weight: bold; }
/* 保留 */
.mark_hold {color: #ffa500;float: right; width: 2em ;font-size: 1.4em;font-weight: bold; }
/* 取消 */
.mark_cancel {color: #ff0000;float: right; width: 2em ;font-size: 1.4em;font-weight: bold; }
/* 取消 */
.mark_exclusion {color: #0000ff;float: right; width: 2em ;font-size: 1.4em;font-weight: bold; }

/* placeholder
--------------------------------------------------*/
.file_field::-webkit-input-placeholder {
	display: block;
	width: 90%;
/*	border: 1px solid #aaa; */
	border: none;
	color: #0044CC ; /* 0044CC */
	height: 26px ;
}
.file_field:-ms-input-placeholder {
	font-size: 14px;
	display: block;
	width: 90%;
	border: 1px solid #aaa;
	color: #0044CC ; /* 0044CC */
	height: 26px ;
}
.file_field::-moz-placeholder {
	display: block;
	width: 90%;
/*	border: 1px solid #aaa; */
	border: none;
	color: #0044CC ; /* 0044CC */
	height: 26px ;
}
/*PC用ログイン
---------------------------------------------------------------------------*/
#login_wrapper {
	margin: 30px auto 200px 200px;
	width:  400px ;
	height: 300px ;
}

#login_title {
	text-align: center ;
	font-size: 24px;
	color: #222 ;
	text-align: center ;

}

#login_area {
	width:  400px ;
	height: 200px ;
	text-align: center ;
	border: 1px solid #dcdcdc;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
}

#psw_change_area {
	width:  400px ;
	height: 200px ;
	text-align: center ;
	border: 1px solid #dcdcdc;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
}

#login_area th {
	width: 120px ;
	height: 35%;
	font-weight: normal ;
	text-align: right ;

}
#psw_change_area th {
	width: 160px ;
	height: 35%;
	font-weight: normal ;
	text-align: right ;

}

#login_area td {
	text-align: left ;
}
#psw_change_area td {
	text-align: left ;
}

.login_field_kenso {
	width: 145px ;
}

.login_field {
	width: 250px ;
}

.psw_change_field {
	width: 210px ;
}

#login_btn {
	width: 140px;
	padding: 10px 10px;
	margin-left: 40px;
	border-radius: 5px;
	font-size: 16px;
	border: 1px solid #ccc;
	color: #fff ;
	background: #2E9AFE;
}
/*ログインページに移動
---------------------------------------------------------------------------*/
#move_btn {
	width: auto;
	padding: 10px 10px;
	border-radius: 5px;
	font-size: 14px;
	border: 1px solid #ccc;
	color: #fff ;
	background: #2E9AFE;
	text-decoration: none;
}


/*PC用メインメニュー
---------------------------------------------------------------------------*/
#menubar {
	clear: both;
	overflow: hidden;
	position: relative;z-index: 1;
	background: linear-gradient(#fff, #eee);
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;

}
#menubar li {
	float: left;
	width: 16.6%;
}
#menubar li a {
	display:  block;
	text-decoration: none;
	text-align: center;
	line-height: 50px;
	padding-top: 4px;
}
#menubar li::after {
	transition: 0.3s;
	content: "";
	display: block;
	border-bottom: 4px solid #2E9AFE;
	position: relative;left: 0px;bottom: -4px;
}
#menubar li:hover::after,#menubar li.current::after {
	bottom: 0px;
}

/*アクションサブメインメニュー
---------------------------------------------------------------------------*/
#sub_menubar {
/*	margin-top: 10px;
*/	clear: both;
	overflow: hidden;
	position: relative;z-index: 1;
	border-bottom: 1px solid #dcdcdc;
	background: #fff;
}
#sub_menubar li {
	float: left;
	width: auto;
	height: 24px ;
	padding: 0.3em 1em ;
	border-right: 1px solid #efefef;
}
#sub_menubar li a {
	color: #000 ;
	display:  block;
	text-decoration: none;
	text-align: center;
	line-height: 1.4em;

}
#sub_menubar li::after {
	transition: 0.3s;
	content: "";
	display: block;
	position: relative;left: 0px;bottom: -4px; 

}
#sub_menubar li a:hover , #sub_menubar li:hover{
	background: #2E9AFE;
	color: #fff ;

}

.sub_menubar_first {
	border-left: 1px solid #efefef;

}

/*保留中ボタン
---------------------------------------------------------------------------*/



/*作業メニュー
---------------------------------------------------------------------------*/
.operation_menu {
	width: 200px;
	padding: 10px 10px;
	margin-bottom: 20px;
	border-radius: 2px;
	font-size: 16px;
	border: 1px dashed #ccc;
	color: #00f ;
	background: #eee;
}
#operation_menu_table table { width: 100% ; }

#operation_menu_table table, 
#operation_menu_table th, 
#operation_menu_table td 
{ border: none; }

#operation_menu_table td {
	text-align: center ;
	vertical-align: top;
}

/*作業メニュー内の一覧中に表示す追加ボタン
---------------------------------------------------------------------------*/
.list_add_btn {
	font-size: 14px;
	width: 3em;
	height: 30px ;
	margin-left: 5px;
	border: 1px solid #888;
	color: #000 ;
	background: #87cefa;
	padding: 0 ;

}

/*作業メニュー内の一覧中に表示する削除ボタン
---------------------------------------------------------------------------*/
.list_button {
	font-size: 14px;
	width: 3em;
	height: 30px ;
	border: 1px solid #888;
	color: #000 ;
	background: #87cefa;
	padding: 0 ;
}

/*工事作業メニュー
---------------------------------------------------------------------------*/
#construction_menu_wrapper {
	margin: auto auto auto auto;
	width:  900px ;
	height: 500px ;
}


.construction_menu {

	width: 200px;
	padding: 10px 10px;
	margin-bottom: 20px;
	border-radius: 2px;
	font-size: 16px;
	border: 1px dashed #ccc;
	color: #00f ;
	background: #eee;
}
.construction_menu_doc {
	width: 200px;
	padding: 10px 10px;
	margin-bottom: 20px;
	border-radius: 2px;
	font-size: 16px;
	color: #00f ;
	background: #fff;
	border: 1px dashed  #222222;
	border-radius: 4px;

}

#construction_menu_wrapper2 {
        margin: auto auto auto auto;
        width:  800px ;
}
#construction_menu_wrapper2 .cmenu{
	width: 800px;
}
#construction_menu_wrapper2 .cmenu td{
	padding: 0px 10px;
}

.construction_menu_doc2 {
        padding: 0px;
        margin-bottom: 0px;
        border-radius: 2px;
        font-size: 16px;
        color: #00f ;
        background: #fff;
        border: 0px;
        border-radius: 4px;
	text-align:left;

}


#construction_menu_table table { width: 100% ; }

#construction_menu table, 
#construction_menu th, 
#construction_menu td 
{ border: none; }

#construction_menu td {
	text-align: center ;
	vertical-align: top;
}





/*一次企業管理者一覧
---------------------------------------------------------------------------*/
span.button_change {
	display: bllock ;
}

/* 登録ボタンの色 */
span.button_entry {
	display: none ;

}
/* 登録ボタンの色 */
button.type_entry { background: #ffd700; }
/* 取消ボタンの色 */
button.type_cancel { background: #c0c0c0;  color: #222 ;}
/* 削除ボタンの色 */
button.type_delete { background: #880000; color: #fff ;}

/* パスワードリセット等の横長ボタン */
.list_button_auto {
	font-size: 14px;
	width: auto;
	height: 30px ;
	border: 1px solid #888;
	color: #000 ;
	background: #87cefa;
	padding: 0 ;
}


/*作業メニュー内一覧の表示項目の幅
---------------------------------------------------------------------------*/
.td_shiten_code { width:7em;}
.td_shiten_name { width:6em;}
.td_shozoku_name {text-align: left ;}
.td_input_shozoku_code {text-align: left ;}
.td_shozoku_code { width:7em;}
.td_pcode { width:7em;}
.td_employee_cd { width:12em;}
.td_employee_name { width:24em; }
.td_button { width:6em;}
.td_type { width:4em;}
.td_sei { width:8em;}
.td_mei { width:8em;}
.td_btn_psw { width:6em;}
.td_check { width:3em;}
.td_flags { width:6em;}
.td_shiten { width:10%;}
.td_juuso { width:3em;}
.td_left { text-align:left;}
.td_construction_code { width:7em;}
.td_period { width:7em;}
.td_industry_name { width:10em;}
.td_contract_kbn { width:7em;}
.td_sort {width:90%;}

.td_email { width:20em;}
.td_email_min { width:18em;}
.td_password { width:12em;}


/*一次企業一覧のソートセル
---------------------------------------------------------------------------*/
#list_table th.th_sort { 
/*	color: #000 ;
	background: #f00;
*/
}

#list_table th.th_sort:hover {
/*filter: invert(); */ /* 色反転 */
	background-color: #f0ffff;
	cursor:pointer ;
}

/*スマホ・タブレット用メインメニュー
---------------------------------------------------------------------------*/
#menubar_btn {
	display: none;
}
#menubar-s {
	display: none;

}

/*コンテンツエリア
---------------------------------------------------------------------------*/
.contents {
	clear: both;
	overflow: auto;
	padding: 10px 0;

}

.contents p {
	padding: 0px 20px 15px;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
.main {
	overflow: hidden;
	float: right;
	width: 72%;
}

/*subコンテンツ
---------------------------------------------------------------------------*/
.sub {
	float: left;
	width: 24%;
}
/*subコンテンツ内のh2タグ設定*/
/*.sub h2 { */
h2 {
	margin-bottom: 10px;
	box-shadow: none;
	font-size: 16px;
	text-align: left;
	border-bottom: 3px solid #dcdcdc;
	color: #000;
	font-weight: bold; 


}
/*subコンテンツ内の段落タグ設定*/
.sub p {
	margin: 0 !important;
	padding: 10px !important;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
.sub ul.submenu {
	margin-bottom: 15px;
	border-top: solid 1px #dcdcdc;
}
/*メニュー１個ごとの設定*/
.sub ul.submenu li a {
	text-decoration: none;
	display: block;
	padding: 5px 10px;
	border-bottom: solid 1px #dcdcdc;
	border-left: solid 1px #dcdcdc;
	border-right: solid 1px #dcdcdc;
}
/*マウスオン時の背景色*/
.sub ul.submenu li a:hover {
	background: #2E9AFE;
	color: #fff;
}
/*h2直下にsubmenuが続いた場合のみ、submenuの上の線を消す設定*/
.sub h2 + ul.submenu {
	border-top: none;
}

/*subコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	overflow: hidden;
	padding: 10px;
	margin-bottom: 20px;
	border: solid 1px #dcdcdc;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;

}
/*h2直下にbox1が続いた場合のみ、box1の上の線を消す設定*/
.sub h2 + .box1 {
	border-top: none;
}
/*box1内のサブメニュー*/
.sub ul.submenu {
	margin-bottom: 0;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	background: #2E9AFE;
	color: #fff;
	font-size: 85%;
}
footer a {
	color: #fff;
}
footer a:hover {
	color: #fff;
}
footer .pr {
	display: block;
	font-size: 80%;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
#footermenu {
	overflow: hidden;
	padding: 20px 0;
}
#footermenu ul {
	float: left;
	width: 18%;
	padding-right: 1%;
	padding-left: 1%;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #333;
}
#copyright a {
	text-decoration: none;
}

/*submitボタンの設定
---------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"],
input[type="reset"] {
	padding: 10px 30px;
	margin-bottom: 20px;
	border: none;
	border-radius: 30px;
	background: linear-gradient(#fff, #eee);
	font-size: 16px;
	border: 1px solid #ccc;
}
/*マウスオン時の設定*/
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover{
	background: #fff;
}

/*PAGE TOP設定
---------------------------------------------------------------------------*/
#pagetop {
	clear: both;
	padding-top: 40px;
}
#pagetop a {
	color: #fff;
	font-size: 20px;
	background: #2E9AFE;
	text-decoration: none;
	text-align: center;
	display: block;
	float: right;
	width: 60px;
	line-height: 60px;
	border-radius: 10px;
	border: 3px solid #fff;
	box-shadow: 0px 5px 15px rgba(0,0,0,0.2);
	margin-bottom: 20px;
}
/*マウスオン時*/
#pagetop a:hover {
	background: #fff;
	color: #2E9AFE;
}

/* システムエラー
--------------------------------------------------*/
#system_error_message {
	margin: 20px 20px 200px 20px;
	text-align: center; 
	font-size: 30px;
	color: #880000;

}

/* メール送信完了
--------------------------------------------------*/
#mail_message {
	margin: 20px 20px 200px 20px;
	text-align: center; 
	font-size: 30px;
	color: #808080;

}
/* 認証完了
--------------------------------------------------*/
#authorize_message {
	margin: 20px 20px 200px 20px;
	text-align: center; 
	font-size: 30px;
	color: #808080;

}

/* 入力セクション
--------------------------------------------------*/
section {
	margin-bottom: 20px ;
}

/* 操作ボタン群
--------------------------------------------------*/
#btn_field {
	clear: both ;
	text-align: center;
	margin-top: 10px ;
}

/* 登録・削除
--------------------------------------------------*/
.submit_button {
	width: 120px;
	padding: 10px 10px;
	margin-bottom: 20px;
	border-radius: 5px;
	font-size: 16px;
	border: 1px solid #ccc;

}

.entry_btn { color: #fff ; background: #2E9AFE; }
.delete_btn { color: #fff ; background: #880000;}

/* 年月日
--------------------------------------------------*/
.ymd {
	width: 6em;
}

/* 横幅Full
--------------------------------------------------*/
.long_field {width: 90%;}

/* 横幅自動
--------------------------------------------------*/
.auto_field {width: 100%;}

/* 右寄せ部品
--------------------------------------------------*/
.right_field {width: 10em;}

/* テーブル
--------------------------------------------------*/
.th_label {
	padding-top: 5px ;
	width: 8em;
	text-align: left ;
	vertical-align: top;
	font-weight: normal;
}

.wide-contents .th_label {
    width: 14em;
}

.td_label {
	margin-top: 5px ; 
	margin-left: 20px ;
	width: 8em;
	text-align: left ;

}
.td_label_l {
	margin-top: 5px ;
	width: auto ;
	text-align: left ;
	clear: both ;
	float:left;

}
.td_item {
	margin-right: 5px ;

}
.td_item_wide1 {
	margin-top: 5px ;
	width: 90% ;
	clear: both ;
	float: left ;

}
.td_item_wide2 {
	width: 90% ;
	clear: both ;
	float: left ;

}

.juuso_label {
	margin-left: 2em ;

}



/* 入力欄の共通設定
--------------------------------------------------*/
.ifield {
	margin: 5px 0 ;
	height: 20px ;
	font-size: 14px;

}

/* 表示のみ（日活性）欄の共通設定
--------------------------------------------------*/
.vfield{
	margin: 5px 10px 5px 0 ;
	padding: 0 5px;
	height: 1.4em ;
	font-size: 14px;
/*	border: 1px solid #ccc;
	background: #efefef;
*/
}
/* 
--------------------------------------------------*/
.parent_name {
	margin: 5px 10px 5px 0 ;
	padding: 0 5px;
	height: 1.4em ;
	font-size: 14px;
	font-weight: bold ;
/*
	border: 1px solid #ccc;
	background: #efefef;
*/
}

/* 企業形態
--------------------------------------------------*/
.kaisha_type { width:8em ; height: 28px; font-size: 14px; margin-right: 10px;}

/* 次数（重層）
--------------------------------------------------*/
.juuso_type { width:5em ; height: 28px; font-size: 14px; margin-right: 10px;}

/* 直上企業
--------------------------------------------------*/
.above_type { width:15em ; height: 28px; font-size: 14px; margin-right: 10px;}

/* 企業選択
--------------------------------------------------*/
.kaisha_select { width:20em ; height: 28px; font-size: 14px; }

/* 郵便番号
--------------------------------------------------*/
#zip_btn {
	font-size: 14px;
	width: 6em;
	height: 30px ;
	margin-left: 5px;
	border: 1px solid #ccc;
	color: #fff ;
	background: #880000;
	padding: 0 ;

}
.zip_code1 { width: 3em; }
.zip_code2 { width: 4em; }

/* 支店コード入力欄
--------------------------------------------------*/
.shiten_list {width: auto; float:left;}
.shiten_code_field {width: 3em;}
.shiten_code_label {margin-right: 3em;}

/* Pコード入力欄
--------------------------------------------------*/
.p_code_field {width: 10em;}

/* 重層入力欄
--------------------------------------------------*/
.juuso_field {width: 2em; margin-right: 10px;}

/* 名前入力欄
--------------------------------------------------*/
.long_name_field { width: 14em; }
.short_name_field { width: 10em;}
.small_name_field { width: 5em;}
.midium_name_field { width: 6em;}

/* 都道府県
--------------------------------------------------*/
.pref_name { width: 6em; }

/* 電話、FAX
--------------------------------------------------*/
.tel_field { width: 4em; }


/* 評価欄
--------------------------------------------------*/
#hyouka {
	width: 90% ;
	height: 5em ;
	vertical-align: top;
	font-size: 14px;

}

/* 許可業者
--------------------------------------------------*/
.radio {
	margin-left: 5px ;
	margin-right: 25px ;

}
input[type="radio"] {
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	margin-right: 0.5em;
}


/* 建設業許可番号
--------------------------------------------------*/
.kyoka_select { width:5em ; height: 28px; font-size: 14px;}
#kyoka_no1 { width:2em ; }
#kyoka_no2 { width:4em ; }

/* 建設業許可番号
--------------------------------------------------*/
.kyoka_gyoshu_code {
	width: 1.5em;
	height: 8em;
	float: left;
	margin-top: 5px ;
	text-align: center ;
    line-height: 1.2em;
	padding: 0.3em ;
	border: 1px solid #ccc;

}

.kyoka_gyoshu_code_item {
	line-height: 1.2em;

}
input[type="checkbox"] {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
	margin-left: 0.3em ;

}
.kanyu_item {
	margin-right: 1em ;
}


/* 保有資格・受講教育・特殊技能
--------------------------------------------------*/
.shikaku_code {
	height: 1.5em;
	float: left;
	margin-top: 5px ;
	text-align: center ;
    line-height: 1.2em;
	padding: 0.3em ;

}

.shikaku_code_item {
	line-height: 1.2em;

}

/* 生年月日（年）プルダウン
--------------------------------------------------*/
.birthday_y { width:5em ; height: 28px; font-size: 14px;}
.birthday_m { width:3em ; height: 28px; font-size: 14px;}
.birthday_d { width:3em ; height: 28px; font-size: 14px;}

/* 性別プルダウン
--------------------------------------------------*/
.sex_select { width:3em ; height: 28px; font-size: 14px;}

/* 血圧
--------------------------------------------------*/
.ketueki_select { width:4em ; height: 28px; font-size: 14px;}

/* RH
--------------------------------------------------*/
.rh_select { width:4em ; height: 28px; font-size: 14px;}

/* 血圧
--------------------------------------------------*/
.ketuatu_field { width: 4em; }

/* 建設業環安協会員プルダウン
--------------------------------------------------*/
.kankyou_kaiin_kbn_code { width:8em ; height: 28px; font-size: 14px;}

/* 社会保険プルダウン
--------------------------------------------------*/
.hoken_select { width:10em ; height: 28px; font-size: 14px;}

/* 国籍プルダウン
--------------------------------------------------*/
.nationality_select {height: 28px; font-size: 14px;}

.hoken_no_field {
	width: 10em ;
}

/* 年金保険
--------------------------------------------------*/
.nenkin_jigyousho_no_field {
	width: 3em ;
}


/* 雇用保険
--------------------------------------------------*/
.koyou_hoken_no_field {
	width: 8em ;
}

/* 建退共
--------------------------------------------------*/
.kentaikyou_no_field {
	width: 5em ;
}

/* 保険番号
--------------------------------------------------*/
.kenko_hoken_kigou_field {
	width: 7em ;
}
.kenko_hoken_no_field {
	width: 3em ;
}

.hoken4_no_field {
	width: 4em ;
}

input[type="file"] {
	clear:both;
	float: left ;
	width: 90% ;
	border: 1px solid #ccc;
	margin-bottom: 10px; 
	height: 26px ;

}

.file_field {
	font-size: 14px;
	display: block;
	width: 90%;
	border: 1px solid #aaa;
	color: #0044CC ;
	height: 26px ;
}

.filename {
	width: 90% ;
	border: 1px solid #ccc;
	background: #eeeeee;

}
.readonly {
	background: #eeeeee;

}

/* 確認ボタン
--------------------------------------------------*/
.action_btn {
	float: left ;
	font-size: 14px;
	width: 7em;
	height: 26px ;
	margin-top: 5px;
	margin-right: 20px;
	border: 1px solid #000;
	color: #000 ;
	background: #eaeaea;
}

#hold_flg {
	margin-top: 10px;

}

.confirm_msg {
	color: #880000;
	font-weight: bold ;
}

/* 確認済数と未確認数
--------------------------------------------------*/
.confirmed_cnt { color: #00f ; }
.unconfirmed_cnt { color: #f00 ; }

/* 作業員写真
--------------------------------------------------*/
.photo_area {
	width: 122px ;
	height: 152px ;
	margin-right: 20px;
	border: 1px dashed #000;

}

.photo_image {
	width: 120px ;
	height: 150px ;
	border: none ;
	margin: 2px;

}

#photo_label {
	font-size: 14px;
	width: 10em;
	margin-right: 20px;
	padding: 3px 10px ;
	border: 1px solid #000;
	color: #000 ;
	background: #eaeaea;

}
.sex_select { width:3em ; height: 28px; font-size: 14px;}

/* 並び順記号
--------------------------------------------------*/
.order_mark { padding-left: 10px;font-size: 10px; color: #0000ff ;}



/* 検索条件の支店プルダウン
--------------------------------------------------*/
.shiten_pulldown { width:150px ; height: 28px; font-size: 14px;}
.shiten_pulldown_eval { height: 28px; font-size: 14px;}

/* 検索条件
--------------------------------------------------*/

#search_table {
	padding: 20px 0px;
	border: 0.5px solid #808080;
	margin-bottom: 1em;
}

#search_table table { width: 100% ;}
#search_table table, 
#search_table th, 
#search_table td 
{ border:none;}

#search_table th {
	text-align: right ;
	vertical-align: middle;
	font-weight: normal;
	width: 7em ;
}
#search_table td {
	text-align: left ;
	vertical-align: top;
	font-weight: normal;
}
/*#search_table td.td_left { text-align: left ;}
*/
#search_table input {
	width: 100% ;
	height: 1.5em ;
}

/* 評価検索条件
--------------------------------------------------*/

#search_eval_table {
        padding: 20px 150px;
        border: 0.5px solid #808080;
        margin-bottom: 1em;
}

#search_eval_table table { width: 110% ;}
#search_eval_table table,
#search_eval_table th,
#search_eval_table td
{ border:none;}

#search_eval_table th {
        text-align: right ;
        vertical-align: middle;
        font-weight: normal;
        width: auto;
}

#search_eval_table td {
        text-align: left ;
        vertical-align: top;
        font-weight: normal;
}

/*#search_table td.td_left { text-align: left ;}
*/
#search_eval_table input {
        width: 100% ;
        height: 1.5em ;
}


/* 支店管理者追加テーブル
--------------------------------------------------*/
#input_table table { width: 100% ; }

#input_table table, 
#input_table th, 
#input_table td 
{ border: 0.5px solid #808080; }

#input_table th {
	text-align: center ;
	vertical-align: middle;
	font-weight: normal;
	background: #eaeaea;
	width: 10em ;

}
#input_table td {
	text-align: left ;
	font-weight: normal;
	width: auto;
	height: auto;
}
#input_table input {
	width:100%;
	height:120%;
	border: none ;
	background: #ffffe0;
	padding: 10px 0;
}

/* 企業、作業員一覧テーブル
--------------------------------------------------*/
#list_table table { width: 100% ; }

#list_table table, 
#list_table th, 
#list_table td 
{ border: 0.5px solid #808080; }

#list_table th {
	text-align: center ;
	vertical-align: middle;
	font-weight: normal;
	background: #eaeaea;

}
#list_table td {
	text-align: center ;
	vertical-align: top;
	font-weight: normal;
}
#list_table td.td_left { text-align: left ;}
#list_table tr.tr_odd { background: #ffffff;}
#list_table tr.tr_even { background: #e0ffff;}
/* 一次企業ユーザーのメールアドレス*/
.input_cell_text {
	width:100%;
	height:100%;
	border: none ;
	padding: 2px 0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 15px;
}

.display_cell { background: #ffffff; }
.input_cell {
	background: #ffffe0;
}
.input_sei { width: 8em ; }
.input_mei { width: 8em ; }
.input_userid { background: #ffffe0; }


/* 全選択ボタン */
.all_btn { width: 3em; height: 2em ; font-size: 0.8em; padding: 0px;}
.pager{
	width: 100%;
	height: 2em ;
	text-align: center ;
	margin-bottom: 10px ;
	clear: both; 
}

.pager_btn{
	font-size: 14px;
	width: 4em;
	height: 2em ;
	margin-right: 5px;
	border: 1px solid #000;
	border-radius: 2px;
	color: #000 ;
	background: #fff;
}
.pager_btn:hover{
	color: #fff ;
	background: #2E9AFE;
}
.page_now{
	color: #fff ;
	background: #808080;
}

.list_operation {
	width: 100%;
	height: 1.2em ;
	margin-bottom: 5px;

}

/* 企業・作業員アップロードエラーテーブル
--------------------------------------------------*/
.list_upload{
	width: 100%;
	text-align: center ;
	margin-bottom:10px;
}

#list_sel {
	width: 100%;
	height: 2em ;

}

#err_table table { width: 100% ; }

#err_table table, 
#err_table th, 
#err_table td 
{ border: 0.5px solid #808080; }

#err_table th {
	text-align: center ;
	vertical-align: middle;
	font-weight: normal;

}
#err_table td {
	text-align: left ;
	vertical-align: top;
	font-weight: normal;
	padding-left: 0.5em;
}
#err_table td.td_left { text-align: left ;}
#err_table tr.tr_odd { background: #ffffff;}
#err_table tr.tr_even { background: #e0ffff;}

/* 一覧ページのアクションボタン
--------------------------------------------------*/
#action_navi {
	width: 100% ;
	text-align: left ;
	margin-top: 5px ;
}

.action_navi_btn {
	font-size: 14px;
	width: auto;
	height: 36px;
	padding: 5px ;
/*	height: 20px ; */
	margin-right: 5px;
	border: 1px solid #c0c0c0;
	color: #fff ;
	background: #2E9AFE;
	border-radius: 5px;	

}

/* お知らせ表示用 */
.keiji {
    white-space:pre-wrap;
    position: relative;
    margin: 0 auto;
    padding: 5px 5px 7px;
    line-height:1;
    border: solid 2px #FFC107;
    width: 600px;
    height: auto;
text-align: left ;
}
.keiji .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 20px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}
.keiji p {
    margin: 0; 
    padding: 0;
}

/* 掲示板 */
.bbs {
    width: 614px;
    height: 130px;
	padding: 10px 10px;
	margin-bottom: 20px;
	border-radius: 2px;
	font-size: 15px;
	border: 1px dashed #ccc;
	color: #00f ;
	background: #eee;
	display: table-cell;
}


/* メールアドレス更新ボタン専用CSS */
.email-update-btn {
    /* 戻るボタンと同じ色 */
    background: #2E9AFE;
    border: 1px solid #2E9AFE;
    color: #fff;
    
    /* サイズとレイアウト */
    font-size: 10px;
    height: 22px;
    margin: 0;
    
    /* 見た目 */
    border-radius: 3px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    
    /* テキストの配置 */
    text-align: center;
    vertical-align: middle;
    line-height: 1;
}

/* ホバー効果 */
.email-update-btn:hover {
    background: #1E7FD4;
    border-color: #1E7FD4;
}

/* クリック時の効果 */
.email-update-btn:active {
    background: #1565C0;
    border-color: #1565C0;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.2);
}

/* 無効化時のスタイル */
.email-update-btn:disabled {
    background: #ccc;
    color: #999;
    cursor: not-allowed;
    border-color: #bbb;
}

/* ANDPADのロゴ
--------------------------------------------------*/
.andpad-logo {
	display: inline-block;
	vertical-align: middle;
	position: relative;
}

/* 有効状態 */
.andpad-logo.active {
	filter: none;
	opacity: 1;
}

/* 無効状態 */
.andpad-logo.inactive {
	filter: grayscale(100%);
	opacity: 0.6;
}

/*======================================================================================================================
  画面幅800px以下の設定
======================================================================================================================*/
@media screen and (max-width:800px) {

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	width: auto;
}

/*inner共通
---------------------------------------------------------------------------*/
.inner_eval {
        width:1000px;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	border-bottom: 1px solid #dcdcdc;
}

/*ヘッダー右側の電話番号ブロック
---------------------------------------------------------------------------*/
/*ブロック全体を非表示にする*/
#contact {
	display: none;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	display: block;
}
/*メニュー１個あたりの設定*/
#menubar-s li {
	float: left;
	width: 50%;
}
#menubar-s li a {
	display: block;
	text-decoration: none;
	text-align: center;
	padding: 15px 0;
	border-bottom: 1px solid #dcdcdc;
	border-right: 1px solid #dcdcdc;
}
/*偶数番目のメニューの右側の線を消す*/
/*
#menubar-s li:nth-child(even) a {
	border-right: none;
}
*/
/*PC用メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_btn {
	display: block;
	position: absolute;
	top: 45px;
	right: 2%;
	width: 25px;
	border: 1px solid #6c6c6c;
	padding: 12px 10px 5px;
	background: #fff;
	border-radius: 6px;

}
/*３本のバー（1本あたり）*/
#menubar_btn span {
	display: block;
	border-top: 3px solid #6c6c6c;
	margin-bottom: 7px;
}

/*main,subコンテンツ
---------------------------------------------------------------------------*/
.main, .sub {
	float: none;
	width: auto;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー１個ごとの設定*/
.sub ul.submenu li {
	width: 50%;
	float: left;
}
/*偶数番目のメニューの左のラインを消す設定*/
.sub ul.submenu li:nth-child(even) a {
	border-left: none;
}

} /* 画面幅800px以下の設定 ===========================================================================================*/

/*======================================================================================================================
  画面幅700px以下の設定
======================================================================================================================*/
@media screen and (max-width:700px){


} /* 画面幅700px以下の設定 ===========================================================================================*/

/*======================================================================================================================
  画面幅480px以下の設定
======================================================================================================================*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {

}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/

/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	padding: 20px 0;
}
/*コンテンツのh2タグの設定*/

/*コンテンツの段落タグ設定*/
.contents p {
	padding: 0px 10px 15px;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー１個ごとの設定*/
.sub ul.submenu li {
	width: auto;
	float: none;
}
/*偶数番目のメニューの左のラインを戻す設定*/
.sub ul.submenu li:nth-child(even) a {
	border-left: 1px solid #ccc;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
.sub ul.submenu li a {
	padding: 10px;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	display: none;
}

/*テーブル
---------------------------------------------------------------------------*/

#header_menu a {
	width: auto;
	font-size: 14px;
	background: #FFF;
	text-decoration: none;
	text-align: center;
	padding: 2px 4px;
	border: 1px dashed  #222222;
	border-radius: 4px;

}

header #system_title {
	clear: both ;
	margin-top: 10px;
	width: auto;
	float: left;
	text-align: left;
	color: #222;
	font-size: 16px;

}

/*スマホ用ログイン
---------------------------------------------------------------------------*/
#login_wrapper {
	margin-left: auto;
	margin-right: auto;
	width:  90% ;
	height: 200px ;
}

#login_title {
	text-align: center ;
	font-size: 16px;
	color: #222 ;
	text-align: center ;

}

#login_area {
	width:  90% ;
	height: 200px ;
	text-align: center ;
	border: 1px solid #dcdcdc;
	margin-top: 15px;
	margin-left: auto;
	margin-right: auto;
}

#login_area th {
	width: 30% ;
	height: 35%;
	font-weight: normal ;
	text-align: right ;
	font-size: 12px;
	line-height: 1.5;

}

#login_area td {
	text-align: left ;
}

.login_field {
	width: 90% ;
}

#login_btn {
	width: 60%;
	padding: 10px 10px;
	border-radius: 5px;
	font-size: 14px;
	border: 1px solid #ccc;
	color: #fff ;
	background: #2E9AFE;
}

img #login_title {
	width: 60% ;
	height: 60% ;
}

} /* 画面幅480px以下の設定 ===========================================================================================*/

/*======================================================================================================================
  ANDPAD関連ページ専用スタイル
  対象ページ: andpadmanage.php, andpaduserlist.php
======================================================================================================================*/

/* ========================================
   ANDPAD共通: アラートメッセージ関連
   ======================================== */

/* エラーメッセージのスタイル */
.andpad-error-messages {
    margin-bottom: 20px;
}

.andpad-error-message {
    background-color: #ffebee;
    color: #c62828;
    padding: 10px 15px;
    border: 1px solid #ef5350;
    border-radius: 4px;
    margin-bottom: 5px;
    font-weight: bold;
}

/* 成功メッセージのスタイル */
.andpad-success-messages {
    margin-bottom: 20px;
}

.andpad-success-message {
    background-color: #e8f5e8;
    color: #2e7d32;
    padding: 10px 15px;
    border: 1px solid #4caf50;
    border-radius: 4px;
    margin-bottom: 5px;
    font-weight: bold;
}

/* アラートコンテナのスタイル */
.andpad-alert-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    max-width: 400px;
}

.andpad-alert {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    margin-bottom: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    font-size: 14px;
    font-weight: 500;
    animation: andpadSlideIn 0.3s ease-out;
}

@keyframes andpadSlideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.andpad-alert-icon {
    font-size: 20px;
    margin-right: 12px;
    flex-shrink: 0;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.andpad-alert-message {
    flex: 1;
    margin-right: 12px;
    line-height: 1.4;
}

.andpad-alert-close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    opacity: 0.5;
    cursor: pointer;
    padding: 0;
    margin: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: opacity 0.2s;
}

.andpad-alert-close:hover {
    opacity: 0.8;
}

/* アラートタイプ別のスタイル */
.andpad-alert-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.andpad-alert-success .andpad-alert-icon {
    color: #28a745;
}

.andpad-alert-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.andpad-alert-error .andpad-alert-icon {
    color: #dc3545;
}

.andpad-alert-warning {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
}

.andpad-alert-warning .andpad-alert-icon {
    color: #ffc107;
}

.andpad-alert-info {
    background-color: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;
}

.andpad-alert-info .andpad-alert-icon {
    color: #17a2b8;
}

/* ========================================
   ANDPADユーザー一覧ページ専用
   ======================================== */

/* 検索・統計エリア */
.andpad-search-table {
    background: #ffffff;
    padding: 15px;
    border-radius: 5px;
    margin-top: 20px;
    margin-bottom: 20px;
    border: 1px solid #dee2e6;
}

#andpad-search-table table {
    width: 100%;
    table-layout: fixed;
}

#andpad-search-table input[type="text"] {
    padding: 15px 18px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
}

#andpad-search-table input[type="text"]:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.3);
}

#andpad-search-table td {
    vertical-align: middle;
    padding: 2px;
}

#andpad-totalCount, #andpad-activeCount, #andpad-inactiveCount {
    color: #333;
    font-weight: normal;
}

/* ページネーション制御エリア */
.andpad-pagination-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
    padding: 15px;
}

.andpad-pagination-controls .andpad-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* 表示件数選択 */
.andpad-per-page-selector {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 20px;
}

.andpad-per-page-selector label {
    font-weight: bold;
    color: #495057;
    font-size: 14px;
    white-space: nowrap;
}

.andpad-per-page-selector select {
    padding: 8px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: white;
    font-size: 14px;
    cursor: pointer;
    min-width: 80px;
}

.andpad-per-page-selector select:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 3px rgba(0, 123, 255, 0.3);
}

/* 表示情報 */
.andpad-display-info {
    text-align: right;
    margin: 10px 0;
    font-size: 14px;
    color: #666;
    font-weight: bold;
}

/* ソート関連 */
.andpad-th-sort {
    cursor: pointer;
    user-select: none;
    position: relative;
}

.andpad-th-sort:hover {
    background-color: #e9ecef;
}

.andpad-order-mark {
    margin-left: 5px;
    font-size: 14px;
    color: #007bff;
    font-weight: bold;
}

/* ページャスタイル */
.andpad-pager {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.andpad-pager-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #dee2e6;
    background-color: #fff;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
    min-width: 40px;
    min-height: 36px;
    text-align: center;
    white-space: nowrap;
    line-height: 1;
}

.andpad-pager-btn:hover:not(:disabled) {
    background-color: #e9ecef;
    border-color: #adb5bd;
}

.andpad-pager-btn.current {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
    font-weight: bold;
}

.andpad-pager-btn.prev, .andpad-pager-btn.next {
    min-width: 60px;
}

.andpad-pager-btn:disabled {
    background-color: #f8f9fa;
    color: #6c757d;
    cursor: not-allowed;
    border-color: #dee2e6;
}

/* ========================================
   ANDPAD レスポンシブ対応
   ======================================== */

@media (max-width: 768px) {
    .andpad-pagination-controls {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
    
    .andpad-per-page-selector {
        margin-left: 0;
        justify-content: center;
    }
    
    .andpad-pagination-controls .andpad-pager {
        justify-content: center;
        gap: 5px;
    }
    
    .andpad-pager-btn {
        padding: 6px 8px;
        font-size: 12px;
        min-width: 35px;
        min-height: 32px;
    }
    
    .andpad-alert-container {
        top: 10px;
        left: 10px;
        right: 10px;
        max-width: none;
    }
    
    .andpad-alert {
        font-size: 13px;
        padding: 12px 15px;
    }
    
    .andpad-alert-icon {
        font-size: 18px;
        margin-right: 10px;
        width: 20px;
        height: 20px;
    }
}
