@charset "UTF-8";

/*
########################################################
  common style
########################################################
*/
body{
    margin:0;
	color:#333;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif !important;
	min-width: 1000px;
	font-size:110%;
}
html{
	filter: expression(document.execCommand("BackgroundImageCache", false, true));
}/*IE6 hover*/
h1{
    line-height:160%;
    font-weight:normal;
    font-size:200%;
	margin:0;
	padding:0;
}
h2{
position: relative;
font-weight:normal;
padding: .5em .75em;
margin-bottom:2em;
font-size:220%;
line-height:120%;
text-align:center;
border-top: solid 1px #8c6b3a;
border-bottom: solid 1px #8c6b3a;
}
h2:before,h2:after{
content: '';
position: absolute;
top: -.5em;
width: 1px;
height: calc(100% + 1em);
background-color: #8c6b3a;
}
h2:before{
left: .5em;
}
h2:after{
right: .5em;
}
h2 span.parent{
	display:block;
	font-size:60%;
	line-height: 100%;
	margin-bottom:0.5em;
}
h2 span.child{
	display:block;
	font-weight:bold;
	font-size:43%;
	margin-top:15px;
	line-height: 120%;
}
#home h2{
    line-height:160%;
    font-weight:bold;
    font-size:200%;
	margin:0;
	text-align: center;
	border:0px;
}
#home h2 span.parent{
	display:block;
	font-size:60%;
	line-height: 100%;
}
#home h2:before,#home h2:after{
	content: '';
	position: relative;
	top: 0;
	width: auto;
	height: auto;
	}
h3 {
  position: relative;
  margin-top:30px;
  margin:0 0 1em 0;
  padding: .5em .75em;
  background-color: #c2d7e6;
  border-radius: 6px;
}
h3::after {
  position: absolute;
  top: 100%;
  left: 30px;
  content: '';
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top: 15px solid #c2d7e6;
}
h4{
    font-weight:bold;
    font-size:120%;
    border-bottom:1px solid #bbb !important;
    margin:50px 0 10px 0;
    padding:0 0 2px 3px;
    color:#444 !important;
}
h5{
    font-weight:bold;
    font-size:110%;
    margin:40px 0 0px 0;
    padding:0 0 2px 3px;
    color:#444 !important;
}
h6{
    margin:30px 0 0px 0;
	padding:0 0 2px 3px;
	font-size  : 100%;
	font-weight: bold;
	color:#444 !important;
}
h7{
	margin     : 10px 0 3px 0;
	font-size  : 100%;
	font-weight: bold
}
img{
	border        : 0;
	vertical-align: top;
}
img.floatL{
	padding-right:1em;
}
img.floatR{
	padding-left:1em;
}
input{
	padding: 1px;
}
a:hover,
a:active{
	color          : #00a8d8;
	text-decoration: underline;
}
a.pdf{
  background  : url(/images/common/link_pdf.gif) left 1px no-repeat;
}
a.word,
a.doc,
a.docx{
  background  : url(/images/common/link_word.gif) left 1px no-repeat;
}
a.excel,
a.xls,
a.xlsx{
  background  : url(/images/common/link_excel.gif) left 1px no-repeat;
}
a.ppt,
a.pptx{
  background  : url(/images/common/link_ppt.gif) left 1px no-repeat;
}
a.blank{
  background  : url(/images/common/link_blank.gif) left 1px no-repeat;
}
a.link{
	background  : url(/images/common/link_blank.gif) left 1px no-repeat;
  }
a.pdf,
a.word,
a.doc,
a.docx,
a.excel,
a.xls,
a.xlsx,
a.ppt,
a.pptx,
a.blank,
a.link{
	padding-left: 35px;
    background-size: 30px 16px;
}
a:hover img{
	opacity: 0.7;
    filter: alpha(opacity=70);
}
hr{
	margin      : 0 0 1em 0;
	border-top  : 1px dashed #aaa;
	border-width: 1px 0 0 0;
	height      : 4px;
	_height     : 1px;              /* for IE6 */
	_clear      : both;             /* for IE6 */
}
p{
  margin: 0 0 1em 0;
  text-indent:1em;
}
.indent{
  text-indent: 1em;
}
.indent p{
  text-indent: 1em;
  margin     : 0;
}
.indent p:last-child{
  text-indent: 1em;
  margin     : 0 0 1em 0;
}
.indent-1{
	text-indent: -1em;
	padding-left: 1em;
}
.indent-1_5{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.indent-2{
	text-indent: -2em;
	padding-left: 2em;
}
.indent-2_5{
	text-indent: -2.5em;
	padding-left: 2.5em;
}
.indent-3{
	text-indent: -3em;
	padding-left: 3em;
}
.indent-3_5{
	text-indent: -3.5em;
	padding-left: 3.5em;
}
.indent-4{
	text-indent: -4em;
	padding-left: 4em;
}
.indent-4_5{
	text-indent: -4.5em;
	padding-left: 4.5em;
}
.indent-5{
	text-indent: -5em;
	padding-left: 5em;
}
.indent-5_5{
	text-indent: -5.5em;
	padding-left: 5.5em;
}
.indent-6{
	text-indent: -6em;
	padding-left: 6em;
}
.indent-6_5{
	text-indent: -6.5em;
	padding-left: 6.5em;
}
.indent-7{
	text-indent: -7em;
	padding-left: 7em;
}
.indent-7_5{
	text-indent: -7.5em;
	padding-left: 7.5em;
}
.indent-8{
	text-indent: -8em;
	padding-left: 8em;
}
.indent-8_5{
	text-indent: -8.5em;
	padding-left: 8.5em;
}
.indent-9{
	text-indent: -9em;
	padding-left: 9em;
}
.indent-9_5{
	text-indent: -9.5em;
	padding-left: 9.5em;
}
sup,
sub {
	font-size      : 50%;
	height         : 0;
	line-height    : 1;
	vertical-align : baseline;
	_vertical-align: bottom;
	position       : relative;
}
sup {
    bottom: 1ex;
}
sub {
    top: .0ex;
}
/* table */
table{
	border-collapse: collapse;
	border-spacing : 0px;
	margin         : 0 0 1.5em 0;
	width          : 100%;
	line-height:200%;
}
table th,
table td{
	border        : 1px solid #aaa;
	padding       : 2px 3px 1px 3px;
	vertical-align: top;
	text-align    : left;
	font-weight   : normal;
}
table th{
  background: #eee;
}
table.noborder th,
table.noborder td,
table tr.noborder th,
table tr.noborder td,
table th.noborder,
table td.noborder{
  border: 0;
}
table.noborder th,
table tr.noborder th,
table tr th.noborder{
  background : #fff;
  font-weight: bold;
}
table table{
	/*font-size      : 125%;*/
}
table table th,
table table td{
	border        : 0px;
	padding       : 2px 3px 1px 3px;
	vertical-align: top;
	text-align    : left;
	font-weight   : normal;
}
.PCBlock{
	display: block;
}
.MobileBlock{
	display: inline;
}
.PCnone{
    display: none;
}
.Mobilenone{
    display: inline;
}

/*
########################################################
  Decoration
########################################################
*/
.btn a{
	border       : solid 2px #2463B0;
	border-radius: 3px;
	background:#fff;
	padding        : 0.6em 1em;
	color          : #2463B0;
	text-decoration: none;
	transition   : .4s;
}
.btn a:hover {
	background: #2463B0;
	color     : #fff;
	text-decoration: none;
}
/*css radio02*/
input[type=radio]{
	display: none;
}
input[type=radio] + label{
	padding-left: 20px;
	position    : relative;
	margin-right: 20px;
}
input[type=radio] + label::before{
	content      : "";
	display      : block;
	position     : absolute;
	top          : 0;
	left         : 0;
	width        : 15px;
	height       : 15px;
	border       : 1px solid #999;
	border-radius: 50%;
}
input[type=radio]:checked + label{
	color: #2463B0;
}
input[type=radio]:checked + label::after{
	content      : "";
	display      : block;
	position     : absolute;
	top          : 3px;
	left         : 3px;
	width        : 11px;
	height       : 11px;
	background   : #2463B0;
	border-radius: 50%;
}
/* css checkbox01 */
input[type=checkbox]{
	display: none;
}
input[type=checkbox] + span{
	padding-left: 20px;
	position    : relative;
	margin-right: 20px;
}
input[type=checkbox] + span::before{
	content      : "";
	display      : block;
	position     : absolute;
	top          : 0;
	left         : 0;
	width        : 15px;
	height       : 15px;
	border       : 1px solid #999;
	border-radius: 4px;
}
input[type=checkbox]:checked + span{
	color: #2463B0;
}
input[type=checkbox]:checked + span::after{
	content      : "";
	display      : block;
	position     : absolute;
	top          : -5px;
	left         : 5px;
	width        : 7px;
	height       : 14px;
	transform    : rotate(40deg);
	border-bottom: 3px solid #2463B0;
	border-right : 3px solid #2463B0;
}
/* css button */
input[type=button]{
	padding:3px 30px 1px 30px;
	font-size:120%;
}
/*
########################################################
  .align
########################################################
*/
.alignC {
	text-align: center !important;
}
.alignL {
	text-align: left !important;
}
.alignR {
	text-align: right !important;
}
.valignM {
	vertical-align: middle !important;
}
.valignT {
	vertical-align: top !important;
}
.valignB {
	vertical-align: bottom !important;
}
table.alignC th,
table.alignC td{
	text-align: center;
}
table.alignL th,
table.alignL td {
	text-align: left;
}
table.alignR th,
table.alignR td{
	text-align: right;
}
table tr.alignC th,
table tr.alignC td{
	text-align: center;
}
table tr.alignL th,
table tr.alignL td {
	text-align: left;
}
table tr.alignR th,
table tr.alignR td{
	text-align: right;
}

table.valignT th,
table.valignT td{
	vertical-align: top;
}
table.valignM th,
table.valignM td {
	vertical-align: middle;
}
table.valignB th,
table.valignB td{
	vertical-align: bottom;
}
table tr.valignT th,
table tr.valignT td{
	vertical-align: top;
}
table tr.valignM th,
table tr.valignM td {
	vertical-align: middle;
}
table tr.valignB th,
table tr.valignB td{
	vertical-align: bottom;
}

/*
########################################################
  .float
########################################################
*/
.floatR{
	float: right;
}
.floatL{
	float: left;
}
.floatN{
	float: none;
}
.floatC{
	margin-left : auto;
	margin-right: auto;
}
img.floatR,
.floatR > img{
	margin-left:1em;
}
img.floatL,
.floatL > img{
	margin-right:1em;
}
.clearR{
	clear: right;
}
.clearL{
	clear: left;
}
.clear{
	clear: both;
}
.clearfix:after {
	content: "";
	display: block;
	clear  : both;
}
.clearfix{
	zoom: 100%;
}
/*
########################################################
  margin padding
########################################################
*/
.marginT00{margin-top:0px !important;}
.marginT10{margin-top:10px !important;}
.marginT20{margin-top:20px !important;}
.marginT30{margin-top:30px !important;}
.marginT40{margin-top:40px !important;}
.marginT50{margin-top:50px !important;}
.marginB00{margin-bottom:0px !important;}
.marginB10{margin-bottom:10px !important;}
.marginB20{margin-bottom:20px !important;}
.marginB30{margin-bottom:30px !important;}
.marginB40{margin-bottom:40px !important;}
.marginB50{margin-bottom:50px !important;}
.marginL00{margin-left:0px !important;}
.marginL10{margin-left:10px !important;}
.marginL20{margin-left:20px !important;}
.marginL30{margin-left:30px !important;}
.marginL40{margin-left:40px !important;}
.marginL50{margin-left:50px !important;}
.marginR00{margin-right:0px !important;}
.marginR10{margin-right:10px !important;}
.marginR20{margin-right:20px !important;}
.marginR30{margin-right:30px !important;}
.marginR40{margin-right:40px !important;}
.marginR50{margin-right:50px !important;}

.paddingT00{padding-top:0px !important;}
.paddingT10{padding-top:10px !important;}
.paddingT20{padding-top:20px !important;}
.paddingT30{padding-top:30px !important;}
.paddingT40{padding-top:40px !important;}
.paddingT50{padding-top:50px !important;}
.paddingB00{padding-bottom:0px !important;}
.paddingB10{padding-bottom:10px !important;}
.paddingB20{padding-bottom:20px !important;}
.paddingB30{padding-bottom:30px !important;}
.paddingB40{padding-bottom:40px !important;}
.paddingB50{padding-bottom:50px !important;}
.paddingL00{padding-left:0px !important;}
.paddingL10{padding-left:10px !important;}
.paddingL20{padding-left:20px !important;}
.paddingL30{padding-left:30px !important;}
.paddingL40{padding-left:40px !important;}
.paddingL50{padding-left:50px !important;}
.paddingR00{padding-right:0px !important;}
.paddingR10{padding-right:10px !important;}
.paddingR20{padding-right:20px !important;}
.paddingR30{padding-right:30px !important;}
.paddingR40{padding-right:40px !important;}
.paddingR50{padding-right:50px !important;}

/*
########################################################
  Font
########################################################
*/
/* ##### COLOR ##### */
.white{
	color: #ffffff;
}
.black{
	color: #000000;
}
.gray{/*GRAY*/
	color: #808080;
}
.red{ /*RED*/
	color: #c43a3a;
}
.orange{ /*ORANGE*/
	color: #f19149;
}
.blue{ /*BLUE*/
	color: #10bfbf;
}
.green{ /*GREEN*/
	color: #34933c;
}
.purple{
	color: #8c0cb3 ;
}

/* ##### BOLD ##### */
.bold{
	font-weight: bold;
}
.normal{
	font-weight: normal;
}
/* ##### SIZE ##### */
.size01{
	font-size  : 70%;
	line-height: 120%;
}
.size02{
	font-size  : 85%;
	line-height: 120%;
}
.size03{
	font-size  : 100%;
	line-height: 155%;
}
.size04{
	font-size  : 120%;
	line-height: 180%;
}
.size05{
	font-size  : 140%;
	line-height: 160%;
}
.size06{
	font-size  : 160%;
	line-height: 160%;
}
.size07{
	font-size  : 180%;
	line-height: 160%;
}
