/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
reset
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, tt, var,
b, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*resetここまで*/


/*html5未対応ブラウザ用*/

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }



/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
common
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

body {
	height:100%;
	font-family:Open Sans, Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	line-height:160%;
	background: url("../images/bg_body.png") left top repeat-x, #fff;
}


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

img {
	vertical-align:bottom;
	border:none;
	display:block;
}
p , ol, ul, dl, table{
	font-size: 14px;
}


.center {
	text-align:center;
}
.left {
	text-align:left;
}
.right {
	text-align:right;
}

.fleft {
	float:left;	
}
.fright {
	float:right;	
}

.center00 {
	margin:0px auto;
}
.center20 {
	margin:20px auto;
}

.clear {
	clear:both;
}
.clearLeft {
	clear:left;
}
.clearRight {
	clear:right;
}

.h10 {
	height:10px;
}

.t5 {padding-top:5px;}
.t10 {padding-top:10px;}
.t15 {padding-top:15px;}
.t20 {padding-top:20px;}
.t30 {padding-top:30px;}
.t40 {padding-top:40px;}
.t50 {padding-top:50px;}
.t100 {padding-top:100px;}
.b5 {padding-bottom:5px;}
.b10 {padding-bottom:10px;}
.b15 {padding-bottom:10px;}
.b20 {padding-bottom:20px;}
.b30 {padding-bottom:30px;}
.b40 {padding-bottom:40px;}
.b50 {padding-bottom:50px;}
.b100 {padding-bottom:100px;}
.r10 {padding-right:10px;}
.r20 {padding-right:20px;}
.r30 {padding-right:30px;}
.l10 {padding-left:10px;}
.l20 {padding-left:20px;}
.l30 {padding-left:30px;}
.l1em {padding-left:1em;}
.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}


.lr20 {
	padding:0 20px;
}
.all5 {
	padding: 5px;
}
.all10 {
	padding: 10px;
}

.b {
	font-weight:bold;
}
.underline {
	text-decoration:underline;
}

.mt20 {
	margin-top:20px;
}
.mt40 {
	margin-top:40px;
}
.mb20 {
	margin-bottom:20px;
}
.mb40 {
	margin-bottom:40px;
}
.ssText {
	font-size:0.8em;
	line-height:135%;
}
.sText {
	font-size:0.9em;
	line-height:150%;
}
.lText {
	font-size:1.1em;
}
.llText {
	font-size:1.2em;
}
.XlText {
	font-size:1.3em;
}

.indent1em {
	padding-left:1em;
	text-indent:-1em;
}

.indent2em {
	padding-left:2em;
	text-indent:-2em;
}
.indent3em {
	padding-left:3em;
	text-indent:-3em;
}
.indent4em {
	padding-left:4em;
	text-indent:-4em;
}
.indent5em {
	padding-left:5em;
	text-indent:-5em;
}
.indent6em {
	padding-left:6em;
	text-indent:-6em;
}
.indent7em {
	padding-left:7em;
	text-indent:-7em;
}
.indent8em {
	padding-left:8em;
	text-indent:-8em;
}
.indent9em {
	padding-left:9em;
	text-indent:-9em;
}
.indent10em {
	padding-left:10em;
	text-indent:-10em;
}
.indent11em {
	padding-left:11em;
	text-indent:-11em;
}
.indent12em {
	padding-left:12em;
	text-indent:-12em;
}
.indent13em {
	padding-left:13em;
	text-indent:-13em;
}
.indent14em {
	padding-left:14em;
	text-indent:-14em;
}
.indent15em {
	padding-left:15em;
	text-indent:-15em;
}
.indent16em {
	padding-left:16em;
	text-indent:-16em;
}
.color_red {
	color:#e50012;
}
.color_darkblue {
	color:#004286;
}
.color_green {
	color:#94d303;
}
.color_orange {
	color:#EC6C00;	
}
.color_white {
	color:#fff;
}

a {
	color:#004286;
	text-decoration: underline;
	outline:0;
}
a:hover {
	color:#e50012;
	text-decoration: none;
}

.clearfix:after{
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}
.clearFix:after{
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}

.fullheight {
    height:100%;
}

/*flexbox*/

.flex {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-row-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row-reverse;
    /* Safari */
    flex-direction: row-reverse;
}

.flex-column {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column;
    /* Safari */
    flex-direction: column;
}

.flex-column-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column-reverse;
    /* Safari */
    flex-direction: column-reverse;
}

.inline-flex {
    display: -webkit-inline-flex;
    /* Safari */
    display: inline-flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-start {
    -webkit-justify-content: flex-start;
    /* Safari */
    justify-content: flex-start;
}

.flex-center {
    -webkit-justify-content: center;
    /* Safari */
    justify-content: center;
}

.flex-end {
    -webkit-justify-content: flex-end;
    /* Safari */
    justify-content: flex-end;
}

.flex-space-around {
    -webkit-justify-content: space-around;
    /* Safari */
    justify-content: space-around;
}

.flex-space-between {
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
}

.flex-align-center {
    -webkit-align-items: center;
    /* Safari */
    align-items: center;
}

.flex-align-end {
    -webkit-align-items: flex-end;
    /* Safari */
    align-items: flex-end;
}

.flex-wrap {
		-ms-flex-wrap:wrap;/*--- IE10用 ---*/
		-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
		flex-wrap:wrap;
}




/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
layout
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

/*ページベース
------------------------------------------------------*/
html, body {
	height: 100%;
}
body > #wrapper {
    height: auto;
}

#wrapper {
	width:960px;
	margin:0 auto;
	padding:0;
	min-height:770px;
	height:auto !important;
	position:relative;
	text-align:left;
}


/*ヘッダー
------------------------------------------------------*/

#mainVisual {
	width:730px;
	height:772px;
	position: relative;
	text-indent:-9999px;
	background: url("../images/bg_mainVisual.png") no-repeat;
}
header {
	width:100%;
	height: 150px;
	position:absolute;
	top:0;
	background: url("../images/bg_header.png") left top repeat-x;
}
.hederin {
	width:960px;
	margin:0 auto;
}
#logo {
	display:block;
	width:960px;
	height:150px;
	text-indent:-9999px;
}

#topTheme {
	display:block;
	width:730px;
	height:50px;
	position:absolute;
	top:10px;
	left:0px;
	text-indent:-9999px;
}


/*contentWrap
------------------------------------------------------*/

#contentsWrap {
	width:960px;
}



/*コンテンツエリア
------------------------------------------------------*/

#contentsAreaHome {
	width:730px;
	float:right;
	height:auto;
	position: relative;
	margin-top: 150px;
}
#contentsArea {
	width:730px;
	float:right;
	height: auto !important;  /* IE6対策 */
	min-height:750px;
	margin-top: 180px;
}


.contents {
	width:680px;
	margin:5px auto 10px;
	padding:20px 10px 40px;
	background: #fff;
	height: auto !important;  /* IE6対策 */ 
	min-height: 810px;
}


/*サイドエリア
------------------------------------------------------*/

#sideArea {
	display: inline; /*ie6*/
	width:230px;
	height:auto;
	min-height: 954px;
	background: url("../images/bg_side.png") left top repeat-x;
	margin-top: 180px;
}


/*メインメニュー
------------------------------------------------------*/

#gNavi {
	display:block;
	width:230px;
	/*height:895px;*/
	margin:5px auto;
}

.menu {
        margin: 10px auto 0;
    }

    .menu li a {
        display: flex;
        align-items: center;
        width: 210px;
        height: 49px;
		background-image: url("../images/menu.png");
        font-size: 14px;
        font-weight: bold;
        line-height: 1.3;
        font-feature-settings: "palt";
		color: #2252a3;
        text-decoration: none;
        filter: none;
        transition: all .3s;
		margin: 0 auto 1px;
		position: relative;
    }

    .menu li a > span {
        margin-left: 12px;
    }

    .menu li a:hover {
		background: #2252a3;
        color: #fff;
        text-decoration: none;
		/* box-shadow: none; */
		font-weight: bold;
    }

    .menu li.active a {
        pointer-events: none;
		background: #2252a3;
        color: #fff;
		/* box-shadow: none; */
		font-weight: bold;
    }
    
    .menu li.active a:hover {
        cursor: default;
    }


/*フッター
------------------------------------------------------*/

footer {
	clear: both;
	width:100%;
	height:auto;
	/*min-height:185px;*/
	background:#38a7cb;
}
#footerInner {
	width:100%;
	height:auto;
	min-height:120px;
	margin:0 auto;
	
}
	#footerInner p {
		color:#006837;
	}
	#footerInner p a {
		color:#00FFFF;
	}
	#footerInner p a:hover {
		color:#e50012;
		text-decoration: none;
	}
	.lNavi {
		font-size: 0.8em;
	}

#copyright {
	width:100%;
	height:30px;
	padding:0;
	background:#fff;
}
#copyright p {
	width: 940px;
	margin: 0 auto;
	line-height:2.5;
	font-size: 12px;
	color:#38a7cb;
	font-weight:600;
	
}

.contentsWrapper {
	display: flex;
}
