@charset 'UTF-8';
/*reset*/
#content ol, ul {
	list-style: none;
	padding: 0;
}
#content img {
	vertical-align: top;
	font-size:0;
	line-height: 0;
}
/*common*/
#content {
	color: #333;
	background-color: #4B6DA2!important;
	background-image: url("../images/body_grad.png")!important;
	background-position: center top!important;
	background-repeat: no-repeat!important;
	background-size: auto!important;
}
#content .container {
	position: relative;
	padding: 1em;
	background-color: #fff;
}
#content .container::before,
#content .container::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 1em;
	height: 100%;
	background-color: #3C5781;
}
#content .container::before {
	left: -1em;
}
#content .container::after {
	right: -1em;
}
#content a {
	color: #1C6A51;
	text-decoration: underline;
}
#content a:hover {
	color: #fff;
	background-color: #1C6A51;
	text-decoration: none;
}
#content img.cover {
	width: 100%;
	height: auto;
}
/* 文字をセンタリングする場合 */
#content .alignCenter {
	text-align: center;
}
/* 文字数がわからないブロックをセンタリングする場合 */
#content .alignCenter > .blockCenter {
	display: inline-block;
}
/* 文字を右寄せ場合 */
#content .alignRight {
	text-align: right;
}
/* 文字を左寄せ場合（デフォルト） */
#content .alignLeft {
	text-align: left;
}
.textIndent {
	padding-left: 1em;
}
/*二行目以降一文字分段落ち指定*/
.textAttention {
	display: block;
	text-indent: -1em;
	margin-left: 1em;
}
/*一行の領域からはみ出す時に文字省略*/
.textEllipsis {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
/*二行の領域からはみ出す時に文字省略*/
.textEllipsis2lines {
	display: -webkit-box!important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
/*四行の領域からはみ出す時に文字省略*/
.textEllipsis4lines {
	display: -webkit-box!important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
/*フォントサイズ指定*/
.front-page h2,
.front-page .h2 {
	font-size: 24px;
	margin-bottom: 0!important;
}
.front-page .text16 {
	font-size: 18px;
}
/*行間指定*/
.lineHeight100 {
	line-height: 100%;
}
.lineHeight140 {
	line-height: 140%;
}
.lineHeight160 {
	line-height: 160%;
}
.lineHeight200 {
	line-height: 200%;
}
.lineHeight225 {
	line-height: 225%;
}
.lineHeight300 {
	line-height: 300%;
}
/*余白指定*/
.marginTopHalf {
	margin-top: 0.5em!important;
}
.marginTop1 {
	margin-top: 1em!important;
}
.marginTop1half {
	margin-top: 1.5em!important;
}
.marginTop2 {
	margin-top: 2em!important;
}
.marginTop3 {
	margin-top: 3em!important;
}
.marginTop4 {
	margin-top: 4em!important;
}
.paddingVertical1 {
	padding: 1em 0;
}
/*flexbox指定*/
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
}
.flexBlockReverse {
	flex-direction: row-reverse;
}
.flexBlockColumn {
	flex-direction: column;
}
.flexAround {
	justify-content: space-around;
}
.flexBetween {
	justify-content: space-between;
}
.flexStart {
	justify-content: flex-start;
}
.flexStretch {
	align-items: stretch;
}
.flexAlignCenter {
	align-items: center;
}
.flexList2 > li,
.flexList2 > div {
	width: 49%;
	padding: 0.25em;
}
.flexList2 > li:nth-child(even) {
	margin-left: 1.5%;
}
.flexSquare > li {
	background-color: #eaeaea;
	box-sizing: border-box;
}
.flexSquare > li:nth-child(n + 3) {
	margin-top: 0.5em;
}
li .date {
	display: block;
	color: #333;
}
.flexSquare > li .text {
	color: #00006f;
}
.flexList2 > li:nth-child(even) {
	margin-left: 1.5%;
}
.columnleft {
	width: 26%;
	box-sizing: border-box;
}
.columnMain {
	width: 46%;
	box-sizing: border-box;
}
.columnRight {
	width: 26%;
	box-sizing: border-box;
}
.columnleft h2,
.columnleft .h2,
.columnRight h2,
.columnRight .h2 {
	margin-bottom: 0.25em!important;
}
@media screen and (max-width: 800px) {
	.flexSplit article {
		width: 100%;
	}
	.columnleft {
		width: 100%;
		padding-top: 2em;
		order: 2;
	}
	.columnMain {
		width: 100%;
		order: 1;
	}
	.columnRight {
		width: 100%;
		padding-top: 2em;
		order: 3;
	}
}

/*枠組み*/
.boxWrapper {
	border: 1px solid #3f6657;
}
.boxWrapper .photo {
	width: 100%;
	padding: 1em;
}
.boxWrapper .text {
	width: 100%;
	padding-bottom: 1em;
}
.boxWrapper .text h2,
.boxWrapper .text .h2 {
	padding-left: 0.5em;
}
.boxWrapper.flexBlock .photo {
	width: 25%;
	margin-right: 3%;
	padding: 0;
}
.boxWrapper.flexBlock .text {
	width: 70%;
	padding: 0;
}
.boxWrapper .text ul {
	padding-left: 1em;
}
.boxWrapper .text ul li + li {
	padding-top: 0.5em;
}
.boxWrapper.flexBlock .text ul li {
	padding-top: 0.5em;
}
.columnleft .listWrapper {
	padding: 2em 1em 1em;
	border-right: 1px solid #2e4365;
}
.columnRight .listWrapper {
	padding: 2em 1em 1em;
	border-left: 1px solid #2e4365;
}
.columnRight .listWrapper + .listWrapper {
	border-top: 1px solid #2e4365;
}
@media screen and (max-width: 800px) {
	.columnleft .listWrapper {
		border-right: none;
	}
	.columnRight .listWrapper {
		border-left: none;
	}
}
.titleRecent > span {
	display: block;
	padding: 1em 3em;
	background-image: url("../images/blocks_image_3_1.jpg"), url("../images/blocks_image_3_1.jpg");
	background-position: left center, right center;
	background-repeat: no-repeat;
	background-size: auto 2.5em;
}
.listWrapper h2 {
	margin-bottom: 1em;
}
.listWrapper li + li {
	margin-top: 0.5em;
}