@charset "utf-8";

/* ---------------------------------------------
	style.css

	index
	1 - Base font
	2 - font style
	3 - text color
	4 - preset margin
	5 - preset padding
	6 - inline align
	7 - vertical align
	8 - preset width
	9 - float
	10 - imgBox
	11 - clearfix
	12 - block align
	13 - tools
	14 - JavaScript Class
	15 - list
	16 - 
	17 - 
	18 - 
	19 - 
	20 - round
	21 - line-height
	22 - table
	23 - h2-h6
	24 - btn
	25 - icon
--------------------------------------------- */


/*html { overflow-y: scroll;}*/


/* ---------------------------------------------
	1 - Base font
--------------------------------------------- */
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-size: 18px;
	line-height: 1.8;
	color: #333;
	text-align: left;
	position:relative;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

/* ie7 */
*:first-child+html body {
	font-size: 95%;
}

/* ie5 - ie6 */
* html body {
	font-size:95%;
}

@media screen and (max-width: 780px) {
	body {
		font-size: 14px;
	}
}


/* ---------------------------------------------
	2 - font style
--------------------------------------------- */

.regular {}
.large { font-size:140%; }

.fNormal  { font-weight: normal;}
.fBold   { font-weight: bold;}
.fItalic { font-style: italic;}
.fMincyo {
	font-family:"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "HGS明朝E", serif;
}

.fSS  { font-size: 78%;} /* base 12px =  8px */
.fS   { font-size: 90%;} /* base 12px = 10px */
.fM   { font-size: 100%;}
.fL   { font-size: 115%;}/* base 12px = 14px */
.fLL  { font-size: 130%;}/* base 12px = 16px */
.fLLL { font-size: 143%;}/* base 12px = 18px */

sup {
	font-size: 78%;
	vertical-align: top;
}
sub {
	font-size: 78%;
	vertical-align: baseline;
}

/* ---------------------------------------------
	3 - text color
--------------------------------------------- */
.txtColor1 { color: #C00; }
.txtColor2 { color: #03F; }
.txtColor3 { color: #F36; }
.txtColor4 { color: #B22C00; }
.txtColor5 {}

.fRed	{color: #cc0000;}
.fRed2	{color: #F00;}
.fGray	{color: #999999;}
.fBlue 	{color: #0861A7;}

a {
	color: #00008C;
	text-decoration: underline;
	outline: none;
}
a:hover {
	text-decoration:none;
}

/* ---------------------------------------------
	4 - preset margin 
--------------------------------------------- */
.mt00 { margin-top:  0   !important;}
.mt05 { margin-top:  5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}

.mr00 { margin-right:  0   !important;}
.mr05 { margin-right:  5px !important;}
.mr10 { margin-right: 10px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}
.mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}

.mb00 { margin-bottom:  0   !important;}
.mb05 { margin-bottom:  5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}

.ml00 { margin-left:  0   !important;}
.ml05 { margin-left:  5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml30 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}


/* ---------------------------------------------
	5 - preset padding 
--------------------------------------------- */
.pt00 { padding-top:  0   !important;}
.pt05 { padding-top:  5px !important;}
.pt10 { padding-top: 10px !important;}
.pt15 { padding-top: 15px !important;}
.pt20 { padding-top: 20px !important;}
.pt25 { padding-top: 25px !important;}
.pt30 { padding-top: 30px !important;}
.pt35 { padding-top: 35px !important;}
.pt40 { padding-top: 40px !important;}
.pt45 { padding-top: 45px !important;}
.pt50 { padding-top: 50px !important;}

.pr00 { padding-right:  0   !important;}
.pr05 { padding-right:  5px !important;}
.pr10 { padding-right: 10px !important;}
.pr15 { padding-right: 15px !important;}
.pr20 { padding-right: 20px !important;}
.pr25 { padding-right: 25px !important;}
.pr30 { padding-right: 30px !important;}
.pr35 { padding-right: 35px !important;}
.pr40 { padding-right: 40px !important;}
.pr45 { padding-right: 45px !important;}
.pr50 { padding-right: 50px !important;}

.pb00 { padding-bottom:  0   !important;}
.pb05 { padding-bottom:  5px !important;}
.pb06 { padding-bottom:  6px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pb30 { padding-bottom: 30px !important;}
.pb35 { padding-bottom: 35px !important;}
.pb40 { padding-bottom: 40px !important;}
.pb45 { padding-bottom: 45px !important;}
.pb50 { padding-bottom: 50px !important;}

.pl00 { padding-left:  0   !important;}
.pl05 { padding-left:  5px !important;}
.pl10 { padding-left: 10px !important;}
.pl15 { padding-left: 15px !important;}
.pl20 { padding-left: 20px !important;}
.pl25 { padding-left: 25px !important;}
.pl30 { padding-left: 30px !important;}
.pl30 { padding-left: 35px !important;}
.pl40 { padding-left: 40px !important;}
.pl45 { padding-left: 45px !important;}
.pl50 { padding-left: 50px !important;}


/* ---------------------------------------------
	6 - inline align
--------------------------------------------- */
.inlineL { text-align: left;}
.inlineC { text-align: center;}
.inlineR { text-align: right;}


/* ---------------------------------------------
	7 - vertical align
--------------------------------------------- */
.vlineT { vertical-align: top    !important;}
.vlineM { vertical-align: middle !important;}
.vlineB { vertical-align: bottom !important;}


/* ---------------------------------------------
	8 - preset width
--------------------------------------------- */
.wHalf  { width: 50%;}
.wTri   { width: 33%;}
.wQuart { width: 25%;}
.wMax   { width: 100%;}

/* table */
.tw05 { width:  5% !important;}
.tw10 { width: 10% !important;}
.tw15 { width: 15% !important;}
.tw20 { width: 20% !important;}
.tw25 { width: 25% !important;}
.tw30 { width: 30% !important;}
.tw35 { width: 35% !important;}
.tw40 { width: 40% !important;}
.tw45 { width: 45% !important;}
.tw50 { width: 50% !important;}
.tw55 { width: 55% !important;}
.tw60 { width: 60% !important;}
.tw65 { width: 65% !important;}
.tw70 { width: 70% !important;}
.tw75 { width: 75% !important;}
.tw80 { width: 80% !important;}


/* ---------------------------------------------
	9 - float
--------------------------------------------- */
.fltL {
	display: inline;
	float: left;
}
.fltR {
	display: inline;
	float: right;
}
.ft {
	overflow: hidden;
	zoom: 1;
}


/* ---------------------------------------------
	10 - imgBox 
--------------------------------------------- */
.imgBoxL,
.imgBoxR {
	display: block;
	min-height: 1%;
}
.imgBoxL:after,
.imgBoxR:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .imgBoxL,
* html .imgBoxR {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
	.imgBoxL .fltImg {
		display: inline;
		float: left;
		margin-right: 10px;
	}
	.imgBoxR .fltImg {
		display: inline;
		float: right;
		margin-left: 10px;
	}
	
.img-responsive {
	display:inline-block !important;
	/*display:block;*/
	height:auto;
	max-width:100%;
}


/* ---------------------------------------------
	11 - clearfix
--------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}


/* ---------------------------------------------
	12 - block align
--------------------------------------------- */
.blockC { text-align: center;}
	.blockC .block {
		margin-right: auto;
		margin-left: auto;
		text-align: left;
	}
	/* ie 6 Fix */
	* html .blockC .block {
		margin-right: 0;
		margin-left: 0;
	}
.blockR { text-align: right;}
	.blockR .block {
		margin-left: auto;
		text-align: left;
	}
	/* ie 6 Fix */
	* html .blockR .block {
		margin-left: 0;
	}


/* ---------------------------------------------
	13 - tools
--------------------------------------------- */
.clear { 
	clear: both;
}

.block  { display: block;}
.inline { display: inline;}
/*.hide   { display: none;}*/

.nobg {
	background: none !important;
}

.underLine { text-decoration: underline;}


/* ---------------------------------------------
	14 - JavaScript Class
--------------------------------------------- */
.rollover {/* ロールオーバー呼び出し用 */}
.box01 {/* jQueryAutoHeight呼び出し用 */}

/* ---------------------------------------------
	15 - list
--------------------------------------------- */
.nmbList {
	list-style:decimal;
	margin-left:20px;
}

.nmlList {
	list-style:disc;
	margin-left:20px;
}

.liststyle01 li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.liststyle01 li:before {
	content: "●";
	color: #de2319;
	margin-right: 0.2em;
}


/* ---------------------------------------------
	16 - text-indent
--------------------------------------------- */
.txtIndent-1 {
	text-indent:-1em;
	margin-left:1em;
}

.txtIndent1 {
	text-indent:1em;
}


/* ---------------------------------------------
	17 - link
--------------------------------------------- */

a.pdfLink {
	background:url(../img/ico_pdf.gif) no-repeat left top;
	padding-left:20px;
}

a.link {
	background:url(../img/arw01.png) no-repeat left 2pt;
	padding-left:15px;
}

/* ---------------------------------------------
	18 - hr
--------------------------------------------- */

hr.hrSolid {
	border:none;
    border-top:solid 1px #CCC;
    height:1px;
    color:#999;
}

hr.hrDotted {
	border:none;
    border-top:dotted 1px #CCC;
    height:1px;
    color:#403000;
}

/* ---------------------------------------------
	19 - shadow
--------------------------------------------- */
.shadow {
	box-shadow:rgba(0, 0, 0, 0.3) 3px 3px 3px 0px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.3) 3px 3px 3px 0px;
	-moz-box-shadow:rgba(0, 0, 0, 0.3) 3px 3px 3px 0px;
}

/* ---------------------------------------------
	20 - round
--------------------------------------------- */
.round {
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

/* ---------------------------------------------
	21 - line-height
--------------------------------------------- */
.lH_narrow {
	line-height:1.6;
}

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

/* table_basic01 */
table.table_basic01 {
	border-collapse: collapse;
	width:100%;
	background:#FFF;
}

table.table_basic01 th,
table.table_basic01 td {
	border-collapse: collapse;
	border:solid 1px #333;
	padding:7px 1em;
	vertical-align:middle;
}

table.table_basic01 th {
	color:#FFF;
	background:#b32200;
	text-align: center;
}

table.table_basic01 td.bg1 {
	background: #e7e7e7;
	text-align: left;
}

/* table_basic02 */
table.table_basic02 {
	border-collapse: collapse;
	width:100%;
	table-layout: fixed;
	border-top: solid 1px #222;
}

table.table_basic02 td,
table.table_basic02 th {
	border-collapse: collapse;
	border-bottom: solid 1px #222;
	padding:1em;
	vertical-align: middle;
}
table.table_basic02 th {
	background: #efefef;
	border-right: 1px solid #222;
}

@media screen and (max-width: 780px) {
	table.table_basic01 th,
	table.table_basic01 td {
		padding: 5px;
	}
	table.table_basic02 td,
	table.table_basic02 th {
		padding: 10px;
	}
	table.table_responsive th,
	table.table_responsive td{
		display: block;
		width: 100%;
	}
	
	table.table_responsive th,
	table.table_responsive td{
		width: 100%;
		display: block;
	}
	table.table_responsive th {
		padding-bottom: 0 !important;
		border-bottom: none;
	}
}



/* ---------------------------------------------
	23 - h2-h6
--------------------------------------------- */

h2.h2_basic {
	text-align: center;
	padding: 1.5em 0;
	font-size: 210%;
	color: #333;
	margin-bottom: 20px;
	letter-spacing: 1px;
	position: relative;
	border-bottom:8px solid #ff2319;
}
h2.h2_basic:before {
	content:"";
	position:absolute;
	bottom:-8px;
	display:block;
	width:50%;
	border-bottom:8px solid #b02200;
}

h2.h2_basic:first-letter{
	color: #ff2319;
}

h3.h3_basic {
	text-align: left;
	padding: 1.5em 0.5em;
}

h3.h3_basic{
	font-size:180%;
	letter-spacing:1px;
	border-bottom:7px solid #b02200;
	padding:1.5em 0;
	width:100%;
	position:relative;
	margin-bottom:35px;
}

h3.h3_basic:before {
	content:"";
	position:absolute;
	bottom:-7px;
	display:block;
	width:30%;
	border-bottom:7px solid #ff2319;
}

h4.h4_basic {
	background: #e8e8e8;
	padding: 0.4em 0.8em;
	border-left: 8px solid #b82100;
	font-size: 120%;
	margin: 40px 0 1em;
}
h5.h5_basic {
	font-weight: bold;
	padding-left: 25px;
	font-size: 115%;
	line-height: 1.4em;
	margin-bottom: 15px;
}
h5.h5_basic:before {
	content: url(../img/ico_h5.png);
	margin-left: -25px;
	margin-right: 5px;
	vertical-align: middle;
	margin-bottom: 2px;
}

@media screen and (max-width: 780px) {
	h2.h2_basic {
		padding: 1.2em;
		font-size: 200%;
	}
	h3.h3_basic{
		padding: 0.6em 0;
		font-size: 160%;
	}
}


/* ---------------------------------------------
	24 - btn
--------------------------------------------- */
.css_btn01 {
	border: 3px solid #ba2200;
	padding: 0.7em 2em 0.7em 0.8em;
	font-size: 110%;
	color: #ba2200;
	display: inline-block;
	width: 48%;
	box-sizing: border-box;
	text-align: left;
	text-decoration: none;
}
.css_btn01:after {
	content: url(../img/ico_btn.png);
	vertical-align: middle;
	float: right;
	margin-right: -1.5em;
	margin-top: 0.2em;
}


@media screen and (max-width: 780px) {
	.css_btn01 {
		width: 100%;
	}
}


/* ---------------------------------------------
	25 - icon
--------------------------------------------- */
/*a[href$=".pdf"] {
	padding-right: 20px;
	background:url(../img/ico_commonPdfSmall01.png) no-repeat right;
}*/

.icoOtherPage {
	vertical-align:text-top !important;
	margin-left:0.5em;
}

.clickable {
  cursor: pointer !important;
}