@charset "utf-8";

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

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

body, table { 
	font-size: 15px;
	font-family: 'Open Sans', meiryo ,verdana ,'ＭＳ Ｐゴシック' ,osaka ,sans-serif;
	line-height: 1.75em;
	color: #333;
	}
	
	* {
		box-sizing: border-box;
		margin: 0;
		padding: 0;
		}
	
	p,ul,ol,dl,table  { margin: 0 0 1em 0; }

	address           { font-style: normal; }


	sup { font-size: 80%; line-height: 0px; }
	sub { font-size: 80%; 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; }


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

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

	.iBlock { display: inline-block; }
	.spOnly { display: none !important; }



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

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

a[target=_blank]:after {
	margin: 0 5px 0 5px;
	content: url("/common/images/icoBlank.gif"); 
	}
	a[href*=".pdf"]:after ,
	a[target=_blank].notBlankIcon:after { margin: 0; content: ""; }

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


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

ul.icoAsterisk ,
dl.icoAsterisk {
	}
	ul.icoAsterisk > li ,
	dl.icoAsterisk > dt {
		margin: 0 0 5px; padding: 0 5px 0 18px;
		background: transparent url("/common/images/icoAsterisk.png") no-repeat left 0.45em;
		}
		dl.icoAsterisk > dt { margin: 0; }
	dl.icoAsterisk > dd {
		margin: 0 0 5px; padding: 0 5px 0 18px;
		}

ul.icoList {
	}
	p.icoList     ,
	ul.icoList > li {
		padding: 0 5px 0 15px;
		background: transparent url("/common/images/icoList.gif") no-repeat 3px 0.7em;
		}
	
	ul.icoList.ilColList li {
		float: left;
		margin: 0 20px 0 0;
		white-space: nowrap;
		}

p.icoArrow ,
ul.icoArrow li {
	padding: 0 0 0 20px;
	background: transparent url("/common/images/icoArrow.gif") no-repeat 5px 0.65em;
	}
	a.icoArrow {
		display: inline-block;
		padding: 0 0 0 20px;
		background: transparent url("/common/images/icoArrow.gif") no-repeat 5px 0.65em;
		}

ol.icoDecimal {
	}
	ol.icoDecimal li {
		margin: 0 0 0 2em;
		list-style: decimal;
		}

ol.icoAlpha {
	}
	ol.icoAlpha li {
		margin: 0 0 0 2em;
		list-style: lower-alpha;
		}

ol.icoNone {
	}
	ol.icoNone li {
		margin: 0;
		list-style: none;
		}


/*---------- Column List ----------*/
/* dl */
dl.flatDef  {
	}
	dl.flatDef  dt {
		clear: both;
		float: left;
		margin: 0 7px 0 0; padding: 0 10px 0 0;
		background: transparent url("/common/images/icoSeparate.gif") no-repeat right 0.5em;
		}

dl.flatInDef {
	}
	dl.flatInDef dt {
		display: inline;
		margin: 0 7px 0 0; padding: 0 10px 0 0;
		background: transparent url("/common/images/icoSeparate.gif") no-repeat right 0.5em;
		}
	dl.flatInDef dd {
		display: inline;
		margin: 0 25px 0 0;
		}

/* ul & ol */
ul.colList {
	text-align: center;
	}
	ul.colList li {
		display: inline-block;
		margin: 0 3px;
		vertical-align: top;
		}

.colList2 ,
.colList3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-align-items: left;
    align-items: left;
	}
	.colList2:after ,
	.colList3:after { display: none; }
	
	.colList2 { margin: 0 -0.5%; }
	.colList3 { margin: 0 -0.7% 0 -0.6%; }
	
	.colList2 li ,
	.colList2 dl {
		float: left;
		width: 49%;
		margin: 0 0.5% 0 0.5%;
		}
	.colList3 li {
		float: left;
		width: 32%;
		margin: 0 0.7% 0 0.6%;
		}
		.colList2.icoList li ,
		.colList3.icoList li {
			padding-top: 5px;
			padding-bottom: 5px;
			background-position: 3px 1.1em;
			border-bottom: 1px dotted #bbb;
			}


/*---------- Float Image ----------*/

.prImage {
	float: right;
	margin-left: 20px;
	text-align: center;
	}
	
.plImage {
	float: left;
	margin-right: 20px;
	text-align: center;
	}


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

.txtLeft   { text-align:   left; }
.txtRight  { text-align:  right; }
.txtCenter { text-align: center; }
.txtMiddle { vertical-align: middle; }
.txtTop    { vertical-align: top; }

td.txtLeft   { text-align:   left !important; }
td.txtRight  { text-align:  right !important; }
td.txtCenter { text-align: center !important; }
th.txtMiddle ,
td.txtMiddle { vertical-align: middle !important; }
th.txtTop    ,
td.txtTop    { vertical-align:    top !important; }

.txtRed    { color: #ff0000; }


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

a.btnTxt {
	margin: 0 10px; padding: 5px 10px 3px;
	display: inline-block;
	font-family: meiryo ,verdana ,MS PGothic ,osaka ,sans-serif;
	border-radius: 5px;
	color: #fff;
	text-align: center;
	background: #004690;
	transition: all ease-out .3s;
	}
	a.btnTxt:hover { background: #003976; }
	/*a.btnTxt:hover {
		color: #27689f;
		text-decoration: none;
		background: #fff;
		box-shadow: 0 0 10px #666, 0 0 5px #000;
		}*/

a.btnTxtR {
	display: block;
	width: 200px;
	margin: 15px 0;
	padding: 10px;
	background: #e93c00 url("/common/images/icoArrow-white.gif") no-repeat 170px center;
	border-radius: 10px;
	color: #fff;
	}
	a.btnTxtR:hover { background-color: #f55530; }
	
	a.btnTxtR.btrL250c {
		width: 250px;
		background-position: 230px center;
		margin: 20px auto;
		}

/*---------- box ----------*/

.grayBox {
	margin: 0 0 1em; padding: 10px;
	box-shadow: inset 0 0 0 1px #ccc;
	border: 4px solid #eee;
	}
	.grayBox p:last-child  ,
	.grayBox ul:last-child ,
	.grayBox dl:last-child ,
	.grayBox ol:last-child { margin-bottom: 0; }
	
	#primary .grayBox h5 {
		margin-left: 0;
		}


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

form input ,
form select{
	margin: 0 5px 0 0;
	vertical-align: middle;
	}
	form input    ,
	form select   ,
	form textarea {
		padding: 3px 8px;
		font-family: meiryo ,verdana ,MS PGothic ,osaka ,sans-serif;
		border: 1px solid #999;
		}
		form input:focus    ,
		form select:focus   ,
		form textarea:focus { background: #eafeff; }
		
		form label input { margin: -2px 5px 2px 0; }

		
		form input[type=radio] ,
		form input[type=checkbox] { border: none; }
	
	form input.inXShort  { width:  6em; }
	form input.inShort   { width: 11em; }
	form input.inMiddle  { width:  50%; }
	form input.inLong    ,
	form textarea.inLong { width: 100%; }

	form th span.txtRed { float: right; }

	#primary form button {
		background: none;
		border: none;
		outline: none;
		cursor: pointer;
		}
		#primary form button span {
			margin: 0 10px; padding: 15px 30px 11px;
			display: inline-block;
			font-size: 16px;
			font-family: meiryo ,verdana ,MS PGothic ,osaka ,sans-serif;
			color: #fff;
			background: #004690;
			background: -moz-linear-gradient(top, rgba(0,70,144,1) 50%, rgba(0,62,130,1) 51%);
			background: -webkit-linear-gradient(top, rgba(0,70,144,1) 50%,rgba(0,62,130,1) 51%);
			background: linear-gradient(to bottom, rgba(0,70,144,1) 50%,rgba(0,62,130,1) 51%);
			transition: all ease-out .3s;
			}
			
			#primary form button span:hover {
				background: #003e82;
				background: -moz-linear-gradient(top, rgba(0,59,137,1) 50%, rgba(0,45,119,1) 51%);
				background: -webkit-linear-gradient(top, rgba(0,59,137,1) 50%,rgba(0,45,119,1) 51%);
				background: linear-gradient(to bottom, rgba(0,59,137,1) 50%,rgba(0,45,119,1) 51%);
				}
	
	#primary form dl#prCheck {
		margin: 35px 0 40px;
		text-align: center;
		}
		#primary form dl#prCheck dt.icoRequire {
			display: inline-block;
			margin: 0 10px 5px 0; padding: 0 25px 0 0;
			background: transparent url("/common/images/icoAsterisk_blue.png") no-repeat right center;
			}
		#primary form dl#prCheck dd {
			}
			#primary form dl#prCheck dd label {
				min-width: 150px;
				padding: 10px 30px 3px;
				display: inline-block;
				font-size: 18px;
				font-family: meiryo ,verdana ,MS PGothic ,osaka ,sans-serif;
				color: #fff;
				background: #27689f;
				/*box-shadow: inset 0 0 0 1px #fff;*/
				border-top: 2px solid #5791c2;
				border-right: 1px solid #1e5c91;
				border-bottom: 6px solid #1e5c91;
				border-left: 1px solid #1e5c91;
				border-radius: 3px;
				}
				#primary form dl#prCheck dd label:hover {
					background: #144e7e;
					border-right: 1px solid #0f406a;
					border-bottom: 6px solid #0f406a;
					border-left: 1px solid #0f406a;
					}

p#prCheck { text-align: center; }
	#primary form p#prCheck label {
		display: inline-block;
		padding: 10px 20px;
		border: 1px solid #ccc;
		}


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

#contents table {
	width: 100%;
	margin: 10px 0 20px;
	border: 1px solid #ccc;
	border-collapse: collapse;
	}
	
	#contents table caption {
		text-align: right;
		}
	
	#contents table th ,
	#contents table td {
		padding: 5px 8px;
		vertical-align: middle;
		border: 1px solid #aaa;
		}
		#contents table thead th { padding: 8px; text-align: center; background: #ddd; }
		#contents table tbody th { vertical-align: middle;  background: #f2f2f2; }
		#contents form table tbody th { text-align: left; }
		
		
		#contents table td {
			}
			#contents table td p ,
			#contents table td dl ,
			#contents table td ul ,
			#contents table td ol { margin: 0; }
			
			#contents table.tdRight td { text-align: right; }
		
#contents table.defStyle {
	margin: 15px 0 20px;
	background: #fff;
	border: none;
	border-collapse: separate;
	border-spacing: 1px;
	border-top: 1px dotted #bbb;
	}
	#contents table.defStyle th ,
	#contents table.defStyle td {
		padding: 8px 10px 6px;
		vertical-align: top;
		border: none;
		border-bottom: 1px dotted #bbb;
		}
		#contents table.defStyle th { color: #303b40; background: #eee; border-right: 1px dotted #ddd;  }
		#contents table.defStyle td { }

		#contents table.defStyle th.icoRequire {
			background-image: url("/common/images/icoAsterisk_blue.png");
			background-repeat: no-repeat;
			background-position: right center;
			}

#contents table.noStyle {
	width: auto;
	margin: 0 0 10px;
	border: none;
	}
	
	#contents table.noStyle th ,
	#contents table.noStyle td {
		padding: 0;
		vertical-align: top !important;
		background: none;
		border: none;
		}
		#contents table.noStyle th { padding: 0 10px 0 0; background: transparent url("/common/images/icoSeparate.gif") no-repeat right 0.6em; }
		#contents table.noStyle td { padding-left: 10px; }

