@charset "utf-8";

/*-----------------------------------------------------------
 Default Setting
-----------------------------------------------------------*/

/*------ Site Set (default) ------*/

body, table { 
	font-family: meiryo ,verdana ,'ＭＳ Ｐゴシック' ,osaka ,sans-serif;
	/* font-family: meiryo ,verdana ,MS PGothic ,osaka ,sans-serif; */
	font-size: 12px;
	line-height: 1.6em;
	color: #333;
	}
	p,ul,ol,dl,table  { margin: 0 0 1em 0;  }
	address           { font-style: normal; }


	sup { line-height: 0px; }
	sub { line-height: 0px; vertical-align: baseline; }
	/* IE6 */ * html sup { position: relative; top: -0.4em; vertical-align: top; }
	/* IE7 */ *:first-child+html sup { position: relative; top: -0.4em; vertical-align: top; }

	img {
		image-rendering: -moz-crisp-edges;
		image-rendering:   -o-crisp-edges;
		image-rendering: -webkit-optimize-contrast;
		image-rendering: crisp-edges;
		}


	/* Anchor */
	a:link ,
	a:visited {
		color: #0d5e8e;
		text-decoration: none;
		}
	a:hover ,
	a:active {
		color: #ea5404;
		text-decoration: underline;
		}

	/* Clear */
	.clear { clear: both; }
	
	/* Clearfix */
	.clearfix:after ,
	p#pageTop:after ,
	div:after ,
	ul:after ,
	ol:after ,
	dl:after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: "";
		clear: both;
		height: 0;
		}
		/* IE6 */
		* html .clearfix ,
		* html p#pageTop ,
		* html div ,
		* html ul ,
		* html ol ,
		* html dl { zoom: 1; } 
		/* IE7 */
		*:first-child+html .clearfix ,
		*:first-child+html p#pageTop ,
		*:first-child+html div ,
		*:first-child+html ul ,
		*:first-child+html ol ,
		*:first-child+html dl { zoom: 1; } 



/*-----------------------------------------------------------
 Library
-----------------------------------------------------------*/

/*---------- Button ----------*/

a.btnTxt {
	margin: 0 0 3px; padding: 20px 60px;
	display: inline-block;
	font-size: 1rem;
	color: #fff;
	background: #be0707;
	background: rgb(222,8,8); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(222,8,8,1) 0%, rgba(190,7,7,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(222,8,8,1) 0%,rgba(190,7,7,1) 100%);
	background: linear-gradient(to bottom,  rgba(222,8,8,1) 0%,rgba(190,7,7,1) 100%);
	box-shadow: inset 0 2px 0 0 rgba(255,255,255,0.2), inset 0 -2px 0 0 rgba(0,0,0,0.1);
	border: 3px solid #eee;
	border-radius: 5px;
	transition: all ease-out .3s;
	}
	a.btnTxt:hover { opacity: 0.7; }


/*---------- Icon ----------*/

span.icoBlank {
	/*margin: 0 10px 0 5px;*/
	vertical-align: middle;
	}
	span.icoBlank img { line-height: 1em; margin: 0 0 5px 3px; }

img.icoPdf {
		margin: -1px 5px 0 10px;
		vertical-align: middle;
		}

ul.icoList ,
dl.icoList {
	}
	ul.icoList li ,
	dl.icoList dd {
		padding: 0 0 0 15px;
		background: transparent url("/common/images/icoSquare1.gif") no-repeat left 0.5em;
		}

ul.icoAsterisk {
	}
	p.icoAsterisk ,
	ul.icoAsterisk li {
		padding: 0 0 0 1.5em;
		}
		p.icoAsterisk:before ,
		ul.icoAsterisk li:before {
			margin: 0 0.5em 0 -1.5em;
			content: "※";
			}

ol.icoDecimal {
	}
	ol.icoDecimal li {
		margin: 0 0 0 2rem; padding: 0 0 0 0.5rem;
		list-style: decimal;
		}

ul.icoBullet {
	}
	p.icoBullet ,
	ul.icoBullet li {
		padding: 0 0 0 1.5em;
		}
		p.icoBullet:before ,
		ul.icoBullet li:before {
			margin: 0 0.5em 0 -1.5em;
			content: "・";
			}


/*---------- margin ----------*/

.mtReset { margin-top:    0 !important; }
.mrReset { margin-right:  0 !important; }
.mbReset { margin-bottom: 0 !important; }
.mlReset { margin-left:   0 !important; }

/*---------- Text Size ----------*/

.txtLarge { font-size: 16px; }

/*---------- Text Color ----------*/

.txtRed { color: #cc0000; }

/*---------- Text Align ----------*/

.prImage {
	float: right;
	margin: 0 0 15px 15px;
	}
.plImage {
	float: left;
	margin: 0 15px 15px 0;
	} 

ul.tableCol {
	margin: 20px auto;
	display: table;
	}
	ul.tableCol li {
		padding: 0 10px;
		display: table-cell;
		text-align: center;
		}

/*---------- Form ----------*/


/*---------- clear ----------*/
.cb { clear: both; }

/*---------- table ----------*/

table {
	width: 100%;
	margin: 10px 0;
	border: 1px solid #ccc;
	border-collapse: collapse;
	}
	table th ,
	table td {
		padding: 5px 8px;
		vertical-align: top;
		border: 1px solid #aaa;
		}
		table thead th { text-align: center; font-weight: bold; background: #e3e3e3; }
		table tbody th { width: 16em; vertical-align: middle; background: #f3f3f3; }
		form table tbody th { text-align: left; }
		
		table.txtSize4em  tbody th { width:  4em; }
		table.txtSize6em  tbody th { width:  6em; }
		table.txtSize8em  tbody th { width:  8em; }
		table.txtSize12em tbody th { width: 12em; }
		table.txtSize16em tbody th { width: 16em; }


		table td {
			}
			table td p  ,
			table td dl ,
			table td ul { margin: 0; }

table.defStyle {
	background: #fff;
	border: none;
	border-top: 1px dotted #bbb;
	}
	table.defStyle th ,
	table.defStyle td {
		padding: 9px 8px 7px;
		vertical-align: middle;
		border: none;
		border-bottom: 1px dotted #bbb;
		}

#contents table.noStyle {
	margin: 1em 0 10px;
	table-layout: fixed;
	border: none;
	}
	#contents table.noStyle thead th ,
	#contents table.noStyle tbody th ,
	#contents table.noStyle tbody td {
		padding: 0;
		vertical-align: top !important;
		background: none;
		border: none;
		}

#contents table.txtCenter {
	}
	#contents table.txtCenter th ,
	#contents table.txtCenter td {
		text-align: center;
		}