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

/*******************************************************************/
/*                                                            BASE */
/*******************************************************************/
/*	h2
===================================================================*/
#main h2 {
	background: url(../../img/union/h2_bg.jpg) repeat-x left bottom;
	font-size: 140%;
	font-weight: bold;
	color: #000;
	border-top: 2px solid #105DA5;
	padding: 12px 10px;
	margin-bottom: 10px;
	line-height: 120%;
	}
	
/*	h3
===================================================================*/
#main h3 {
	background: #EAF0F7;
	font-size: 130%;
	font-weight: bold;
	color: #222;
	border-top: 1px solid #D5D9E3;
	border-bottom: 1px solid #D5D9E3;
	padding: 8px 10px;
	margin-bottom: 10px;
	line-height: 120%;
	}
	
/*	h4
===================================================================*/
#main h4 {
	font-size: 120%;
	font-weight: bold;
	color: #333;
	padding: 8px 10px;
	border-bottom: 1px dashed #666;
	margin-bottom: 10px;
	line-height: 120%;
	background: none;
	}
	
/*	h5
===================================================================*/
#main h5 {
	font-size: 110%;
	font-weight: bold;
	color: #333;
	padding: 5px 10px;
	margin-bottom: 10px;
	line-height: 120%;
	background: #fff;
	border: 1px solid #ccc;
	}
	
/*	goto_top
===================================================================*/
#main .goto_top {
	position: absolute;
	right: 0;
	bottom: 0;
	}
	
/*	ul
===================================================================*/
/*初期化*/
ul {
	margin: 0px;
}

#main ul {
	list-style-type: none;
	margin-left: 0px;
	margin-right: 5px;
	}

	#main li.mleft_1em {
		margin-left: 1em;
	}
	
	/* 通常(右向き三角画像) */
	#main ul li {
		background: url(../../img/union/icon_list.gif) no-repeat 0px 5px;
		padding-left: 15px;
	}

	/* ■　*/
	#main ul.type_square {
		margin-left: 15px;
		list-style-type: square;
	}
	
	#main ul.type_square li {
		background: none;
		padding-left: 0px;	
	}

	/* ●　*/
	#main ul.type_disc {
		margin-left: 15px;
		list-style-type: disc;
	}
	#main ul.type_disc li {
		background: none;
		padding-left: 0px;
	}

	/* ○　*/
	#main ul.type_circle {
		margin-left: 15px;
		list-style-type: circle;
	}
	#main ul.type_circle li {
		background: none;
		padding-left: 0px;
	}

	/* ※(米印) */
	#main ul.type_kome {
		margin-left: 15px;
		list-style-type: none;
	}
	#main ul.type_kome li {
		background: none;
		padding-left: 0px;
		text-indent: -1.3em;
	}
	#main ul.type_kome li:before {
		content:"※";
		padding-right: 4px;
	}
	#main ul.type_kome ul li:before {
		content:"";
		padding-right: 15px;
	}

/*	ol
===================================================================*/
/* 初期化 */
ol {
	margin-bottom: 0px;
}

#main ol {
	margin-left: 15px;
	margin-right: 5px;
}

/*　括弧付き数字　*/
#main ol.type_parentheses {
	list-style-type: none;
	margin-left: 15px;
}

#main ol.type_parentheses  li {
	counter-increment: cnt;
	text-indent: -1.3em;
}

#main ol.type_parentheses  li:before {
	content: "(" counter(cnt) ")";
	padding-right: 1px;
}

/*	li
===================================================================*/
/* 初期化 */
li {
	margin: 5px 0px;
}

/*	p
===================================================================*/
/* 初期化 */
p {
	padding: 0px 10px;
	}
	
/*	table
===================================================================*/
/*	style_001(縦系thのwidth固定)
-------------------------------------------------------------------*/
#main table.style_001 {
	width: 100%;
	font-size: 100%;
	border-collapse: collapse;
	border: 1px solid #ccc;
	}
	
	#main table.style_001 th {
		border-collapse: collapse;
		border: 1px solid #ccc;
		background: #FEFBE7;
		padding: 5px 10px;
		width: 155px;
		}
		
	#main table.style_001 td {
		border-collapse: collapse;
		border: 1px solid #ccc;
		padding: 5px 10px;
		word-break: break-all;
		overflow-wrap: break-word;
		}

	@media screen and (max-width: 767px) {
		#main table.style_001 th {
			width: 130px;
		}
	}

/*	style_002(横系width固定なし)
-------------------------------------------------------------------*/
#main table.style_002 {
	width: 100%;
	font-size: 100%;
	border-collapse: collapse;
	border: 1px solid #ccc;	
	background-color: #FFFFFF;
	}
	
	#main table.style_002 th {
		border-collapse: collapse;
		border: 1px solid #ccc;
		background: #FEFBE7;
		padding: 5px 10px;
		}
		
	#main table.style_002 td {
		border-collapse: collapse;
		border: 1px solid #ccc;
		padding: 5px 10px;
		word-break: break-all;
		overflow-wrap: break-word;
		}

	@media screen and (max-width: 767px) {
		#main table.style_002 {
			font-size: 80%;
		}

		#main table.style_002 th {
			width: auto;
			padding: 3px;
		}

		#main table.style_002 td {
			padding: 3px;
		}
	}

		
/*	style_input(入力項目のあるテーブル)
-------------------------------------------------------------------*/
#main table.style_input {
	width: 100%;
	font-size: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #ccc;
	}
	
	#main table.style_input th {
		border: 1px solid #ccc;
		background: #FEFBE7;
		padding: 5px 10px;
		width: 155px;
		}
		
	#main table.style_input th.w180 { width: 180px; }
		
	#main table.style_input td {
		border: 1px solid #ccc;
		padding: 5px 10px;
		word-break: break-all;
		overflow-wrap: break-word;
	}
		
	#main table.style_input td.ess {
		width: 30px;
		min-height: 30px;
		text-align: center;
		font-weight: bold;
		color: red;
		margin: auto;
		}

	#main table.style_input input,
	#main table.style_input select {
		margin-top: 5px;
		margin-bottom: 5px;
	}

	/*991px以下の設定*/
	@media screen and (max-width: 991px) {
		#main table.style_input {
			font-size: 0;
			border-bottom: none;
		}

		#main table.style_input .ip_none{	
			display: none;
		}

		#main table.style_input th {
			width: 80%;
			font-size: 9pt;
			line-height: 20px;
			display: inline-block;
			border: none;
			border-right: 1px solid #ccc;
		}

		#main table.style_input th.ip_full {	
			width: 100%;
			border-right: none;
		}

		#main table.style_input td {
			font-size: 9pt;
			vertical-align: middle;
			display: inline-block;
			border: none;
			border-bottom: 1px solid #ccc;
		}

		#main table.style_input td.ess {
			width: 20%;
			border-bottom: none;
		}

		#main table.style_input td.ip {
			width: 100%;
			border-top: 1px solid #ccc;
			border-bottom: 1px solid #ccc;
			padding: 5px 10px;
		}

		#main table.style_input input.ip_fit, 
		#main table.style_input select.ip_fit,
		#main table.style_input textarea.ip_fit {
			width: 100%;
		}
	}

/*	style_none
-------------------------------------------------------------------*/
#main table.style_none {
	/*width: 100%;*/
	font-size: 100%;
	border: none;
	}

	#main table.style_none th {
		padding: 5px; 
	}
	
	#main table.style_none td {
		padding: 5px;
		word-break: break-all;
		overflow-wrap: break-word;
	}

@media screen and (max-width: 767px) {
	#main table.style_none th {
		display: block;
		padding-bottom: 0px;
	}

	#main table.style_none td {
		display: block;
		padding-top: 0px;
		padding-bottom: 10px;
	}
}

/*	login_body
===================================================================*/
#main .login_body {
}
	
	#main .login_body table.form {
		margin: 0px auto;
		width: 100%;
	}

	#main .login_body table.form th {
		color: #fff;
		font-weight: bold;
	}	

	#main .login_body table.form td {
		padding-left: 10px;
		padding-right: 15px;
	}

	#main .login_body table.form td.login_btn {
		text-align: right;
		padding-right: 0px;
	}

	/*991px以下の場合*/
	@media screen and (max-width: 991px) {
		#main .login_body {
			background: #1375CE;
			padding: 20px 0px 0px 0px;
			text-align: center;
		}

		#main .login_body table.form th {
			display: block;
			text-align: center;
			padding-bottom: 5px;
		}

		#main .login_body table.form td {
			display: block;
			text-align: center;
			padding: 0px;
			padding-bottom: 20px;
		}

		#main .login_body table.form td.login_btn {
			padding-top: 10px;
			text-align: center;
		}
	}

	/*992px以上の場合*/
	@media screen and (min-width: 992px) {
		#main .login_body {
			background: url(../../img/top/login_bg.jpg) no-repeat center top;
			background-size: 100%;
			padding: 45px 30px;
			height: 120px;
		}
	}


/*	メッセージ系
===================================================================*/
/*	err_msg(赤点線枠に薄黄色背景に囲まれたメッセージ)
    赤の太文字です
--------------------------------------------------*/
.err_msg {
	padding: 10px 10px;
	border: 1px dotted #f00;
	background: #FFFFCC;
	font-weight: bold;
	color: #f00;
	}

/*	notice_msg(赤点線枠に薄ピンク背景に囲まれたメッセージ)
    strongで囲んだところが赤くなります
--------------------------------------------------*/
.notice_msg {
	background: #FCF3F5;
	border: 1px dotted #D95576;
	padding: 15px;
	}
	
	.notice_msg strong {
		color: #f00;
		}

/* red_msg(センタリングされた赤の太字)
   ※msgの枠がないヴァージョンです
--------------------------------------------------*/
.red_msg
{
	color: #ff0000;
	font-weight: bold;
	text-align: center;
}