@charset 'UTF-8';
/* ---------------------------------------------------------
見出し
--------------------------------------------------------- */
h1 {
	padding: 0 0 6px 3px;
	border-bottom: 1px solid #0e2e52;
	/* style */
	background: none;
	color: #0e2e52;
	font-size: 123.07692%;
}

@media only print, screen and (min-width: 700px) {
	h1 {
		padding: 0 0 12px 5px;
		font-size: 192.30769%;
	}
}

h1 span {
	display: block;
	padding: 2px 2px 2px 12px;
	border-left: 3px solid #0e2e52;
	background: none;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	h1 span {
		padding: 0 0 0 17px;
	}
}

h1 span span {
	display: inline;
	padding: 0;
	border-left: none;
}

@media only print, screen and (min-width: 700px) {
	h1 span span {
		padding: 0;
	}
}

h2 {
	overflow: hidden;
	margin: 28px 0 15px;
	padding: 6px 10px;
	border-bottom: 1px solid #dde4eb;
	background: #e2eff5;
	font-weight: bold;
	font-size: 107.69231%;
	line-height: 1.4;
	text-decoration: none;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	h2 {
		margin: 35px 0 23px;
		padding: 9px 10px;
		font-size: 123.07692%;
	}
}

h2 a, h2 a:link {
	display: block;
	color: #004ea2;
	text-decoration: none;
	transition: opacity 0.2s ease-in-out;
}

h2 a:hover, h2 a:link:hover {
	text-decoration: none;
	opacity: 0.7;
}

h3 {
	margin: 28px 0 15px;
	padding: 6px 10px;
	background: #efefef;
	color: #004ea2;
	font-size: 100%;
	line-height: 1.6;
}

@media only print, screen and (min-width: 700px) {
	h3 {
		margin: 35px 0 23px;
		padding: 9px 10px;
		font-size: 115.38462%;
	}
}

h4 {
	margin: 28px 0 15px;
	padding: 6px 10px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	color: #004ea2;
	font-size: 92.30769%;
}

@media only print, screen and (min-width: 700px) {
	h4 {
		margin: 35px 0 23px;
		padding: 9px 10px;
		font-size: 107.69231%;
	}
}

/* Paragraph
------------------------------------ */
p {
	margin: 1.0em 0 0;
	font-size: 92.30769%;
	line-height: 1.73;
}

@media only print, screen and (min-width: 700px) {
	p {
		font-size: 107.69231%;
	}
}

p img {
	max-width: 100%;
	height: auto;
}

em {
	font-style: italic;
	*font-family: monospace;
}

/* ---------------------------------------------------------
リンク
--------------------------------------------------------- */

/* 通常の●リスト
----------------------------------------- */
ul {
	margin: 1em 0 0;
}

ul li {
	position: relative;
	margin: 8px 0 0;
	padding-left: 11px;
	font-size: 92.30769%;
	list-style: none;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	ul li {
		margin: 6px 0 0;
		padding-left: 9px;
		font-size: 107.69231%;
	}
}

ul li li {
	font-size: 100%;
}

ul li:before {
	content: '';
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #004ea2;
}

@media only print, screen and (min-width: 700px) {
	ul li:before {
		width: 6px;
		height: 6px;
	}
}

/* 番号付きリスト
----------------------------------------- */
ol {
	margin: 1em 0 0;
	counter-reset: ol;
}

ol li {
	position: relative;
	margin: 8px 0 0;
	padding: 0;
	font-size: 92.30769%;
	list-style: none;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	ol li {
		margin: 6px 0 0;
		font-size: 107.69231%;
	}
}

ol li:before {
	content: counter(ol) '.';
	counter-increment: ol;
}

/* 画像リスト
----------------------------------------- */
.listType_01 {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_link.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	.listType_01 {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* 通常リンク
------------------------------------ */
.linkTypeNormal {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_link.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	.linkTypeNormal {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* PDF
------------------------------------ */
.linkTypePdf {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_pdf.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
}

@media only print, screen and (min-width: 700px) {
	.linkTypePdf {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* Word
------------------------------------ */
.linkTypeDoc {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_doc.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
}

@media only print, screen and (min-width: 700px) {
	.linkTypeDoc {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* Excel
------------------------------------ */
.linkTypeXls {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_xls.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
}

@media only print, screen and (min-width: 700px) {
	.linkTypeXls {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* PowerPoint
------------------------------------ */
.linkTypePpt {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_ppt.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
}

@media only print, screen and (min-width: 700px) {
	.linkTypePpt {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* 別ウィンドウ
------------------------------------ */
.linkTypeWindow {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_window.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
}

@media only print, screen and (min-width: 700px) {
	.linkTypeWindow {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* ---------------------------------------------------------
囲みブロック
--------------------------------------------------------- */
.colorBlock {
	width: 100%;
	border-collapse: collapse;
	/* style */;
}

.colorBlock th, .colorBlock td {
	padding: 10px;
	border: none;
}

.colorBlock p {
	margin: 1em 0 0;
}

.colorBlock p.firstChild, .colorBlock h2.firstChild, .colorBlock h3.firstChild, .colorBlock h4.firstChild, .colorBlock p:first-child, .colorBlock h2:first-child, .colorBlock h3:first-child, .colorBlock h4:first-child {
	margin-top: 0;
}

/* ---------------------------------------------------------
テーブル
--------------------------------------------------------- */

/* レイアウトテーブル
------------------------------------ */
.tblLayout {
	border-color: #fff;
	border-collapse: collapse;
}

.tblLayout th, .tblLayout td {
	padding: 0;
	border-color: #fff;
}

/* 通常
------------------------------------ */
table {
	margin: 1.0em 0 0;
	border: 3px solid #eee;
	border-collapse: collapse;
}

.tblLayout table {
	margin: 1.0em 0 0;
	border-collapse: collapse;
}

table caption, .tblLayout table caption {
	padding: 6px 10px;
	border-top: solid 1px #b1b1b1;
	border-right: solid 1px #b1b1b1;
	border-left: solid 1px #b1b1b1;
	background: #e6e6e6;
	font-weight: bold;
}

table thead th, .tblLayout table thead th {
	padding: 8px;
	border: 1px solid #eee;
	background: #f0f8fb;
	font-weight: bold;
	font-size: 92.30769%;
	line-height: 1.38;
}

@media only print, screen and (min-width: 700px) {
	table thead th, .tblLayout table thead th {
		padding: 11px;
		border-width: 2px;
		font-size: 107.69231%;
	}
}

table th, .tblLayout table th {
	padding: 8px 15px;
	border: 1px solid #eee;
	background: #f7fcfd;
	font-weight: bold;
	font-size: 92.30769%;
	line-height: 1.73;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	table th, .tblLayout table th {
		padding: 10px 15px;
		border-width: 2px;
		font-size: 107.69231%;
	}
}

table th th, table th td, .tblLayout table th th, .tblLayout table th td {
	font-size: 100%;
}

table td, .tblLayout table td {
	padding: 8px 15px;
	border: 1px solid #eee;
	font-size: 92.30769%;
	line-height: 1.73;
}

@media only print, screen and (min-width: 700px) {
	table td, .tblLayout table td {
		padding: 10px 15px;
		border-width: 2px;
		font-size: 107.69231%;
	}
}

table td th, table td td, .tblLayout table td th, .tblLayout table td td {
	font-size: 100%;
}

table p {
	margin: 0.5em 0 0;
	font-size: 100%;
}

table p.firstChild, table p:first-child {
	margin-top: 0;
}

table .nowrap {
	white-space: nowrap;
}

table ul, table ol, table dl {
	margin: 0;
}

/* ---------------------------------------------------------
画像カラムレイアウト
2カラム：imgColumns_01
3カラム：imgColumns_02
4カラム：imgColumns_03
5カラム：imgColumns_04
------------------------------------ */
.imgColumns_01, .imgColumns_02, .imgColumns_03, .imgColumns_04 {
	margin: 1.0em 0 0;
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_01, .imgColumns_02, .imgColumns_03, .imgColumns_04 {
		margin: 1.0em 0 0 -20px;
		letter-spacing: -0.4em;
	}

	.imgColumns_01 > *, .imgColumns_02 > *, .imgColumns_03 > *, .imgColumns_04 > * {
		letter-spacing: normal;
	}
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_03 {
		margin: 1.0em 0 0 -28px;
	}
}

.imgColumns_01 .item, .imgColumns_02 .item, .imgColumns_03 .item, .imgColumns_04 .item {
	margin: 1.0em 0 0;
	padding: 0;
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_01 .item, .imgColumns_02 .item, .imgColumns_03 .item, .imgColumns_04 .item {
		display: inline-block;
		margin: 0 0 0 20px;
		vertical-align: top;
	}
}

.imgColumns_01 .item:empty, .imgColumns_02 .item:empty, .imgColumns_03 .item:empty, .imgColumns_04 .item:empty {
	display: none;
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_01 .item:empty, .imgColumns_02 .item:empty, .imgColumns_03 .item:empty, .imgColumns_04 .item:empty {
		display: block;
	}
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_01 .item {
		width: 400px;
	}
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_02 .item {
		width: 260px;
	}
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_03 .item {
		width: 184px;
		margin: 0 0 0 28px;
	}
}

@media only print, screen and (min-width: 700px) {
	.imgColumns_04 .item {
		width: 148px;
	}
}

@media only print, screen and (min-width: 700px) {
	#contentWrapNoneSide .imgColumns_01 .item {
		width: 540px;
	}
}

@media only print, screen and (min-width: 700px) {
	#contentWrapNoneSide .imgColumns_02 {
		margin: 1.0em 0 0 -22px;
	}
}

@media only print, screen and (min-width: 700px) {
	#contentWrapNoneSide .imgColumns_02 .item {
		width: 352px;
		margin: 0 0 0 22px;
	}
}

@media only print, screen and (min-width: 700px) {
	#contentWrapNoneSide .imgColumns_03 {
		margin: 1.0em 0 0 -20px;
	}
}

@media only print, screen and (min-width: 700px) {
	#contentWrapNoneSide .imgColumns_03 .item {
		width: 260px;
		margin: 0 0 0 20px;
	}
}

@media only print, screen and (min-width: 700px) {
	#contentWrapNoneSide .imgColumns_04 .item {
		width: 204px;
	}
}

.imgColumns_01 p, .imgColumns_02 p, .imgColumns_03 p, .imgColumns_04 p {
	margin-top: 0.5em;
}

.imgColumns_01 p:first-child, .imgColumns_02 p:first-child, .imgColumns_03 p:first-child, .imgColumns_04 p:first-child {
	margin-top: 0;
}

.imgColumns_01 .imgWrap, .imgColumns_02 .imgWrap, .imgColumns_03 .imgWrap, .imgColumns_04 .imgWrap {
	display: block;
	position: relative;
	padding-top: 75%;
}

.imgColumns_01 img, .imgColumns_02 img, .imgColumns_03 img, .imgColumns_04 img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	vertical-align: bottom;
}

/* ---------------------------------------------------------
画像回り込み
--------------------------------------------------------- */
.columnsBlock {
	margin: 1.0em 0 0;
	padding: 0;
}

.columnsBlock .folderImg {
	float: left;
	max-width: calc(100% - 10px);
	margin: 0 10px 10px 0;
}

.columnsBlock .folderImg + p {
	position: relative;
	top: -5px;
}

.columnsBlock .folderImg .imgWrap {
	display: block;
}

.columnsBlock-right .folderImg {
	float: right;
	margin: 0 0 10px 10px;
}

/* 見出しなどが余白にはみ出さないように設定 */
.columnsBlock h2, .columnsBlock h3 {
	overflow: hidden;
	margin-top: 0;
}

.alignR {
	margin-right: 0;
}

.alignL {
	margin-left: 0;
}

img.imgLine_01 {
	padding: 0;
	border: none;
}

img.imgLine_02 {
	padding: 1px;
	border: 1px solid #b8b8b8;
	background: #fff;
}

/* ---------------------------------------------------------
区切り線
--------------------------------------------------------- */
hr.breakLine_01 {
	height: 2px;
	border: 0 none;
	background-color: #004ea2;
}

hr.breakLine_02 {
	height: 1px;
	border: 0 none;
	background-color: #004ea2;
}

/* ---------------------------------------------------------
新着情報
--------------------------------------------------------- */
.topicsBlock {
	margin: 0 -15px;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock {
		margin: 0;
	}
}

.topicsBlock table {
	width: 100%;
	border: none;
}

.topicsBlock th, .topicsBlock td {
	padding: 13px 15px;
	border: none;
	background: #eee;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock th, .topicsBlock td {
		padding: 15px 20px;
	}
}

.topicsBlock tr:nth-child(even) th, .topicsBlock tr:nth-child(even) td {
	background: #fafafa;
}

.topicsBlock th {
	width: 125px;
	font-size: 69.23077%;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock th {
		width: 178px;
		font-size: 100%;
	}
}

.topicsBlock th span {
	display: block;
	color: #004ea2;
}

.topicsBlock th span.icon {
	margin-top: 5px;
	padding: 1px;
	border: 1px solid #004ea2;
	border-radius: 1px;
	background: #004ea2;
	color: #fff;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock th span.icon {
		margin-top: 8px;
		padding: 2px;
		border-radius: 2px;
	}
}

.topicsBlock td {
	padding-left: 0;
	font-size: 92.30769%;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock td {
		font-size: 107.69231%;
		line-height: 1.7;
	}
}

.topicsBlock td a {
	display: block;
	color: #333;
	transition: color 0.2s ease-in-out;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock td a:hover {
		color: #004eaa;
	}
}

.topicsBlock td .new {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 30px;
	height: auto;
	padding: 1px;
	border: 1px solid #d50000;
	color: #d50000;
	font-size: 76.92308%;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
}

@media only print, screen and (min-width: 700px) {
	.topicsBlock td .new {
		width: 36px;
		margin-left: 2px;
		font-size: 92.30769%;
	}
}

/* ---------------------------------------------------------
サイトマップ
--------------------------------------------------------- */
.sitemap h2 a {
	padding: 0 0 0 18px;
	background: url(../img/icons/ico_link.png) no-repeat 0 0.2em;
	background-size: 12px auto;
	text-decoration: underline;
}

@media only print, screen and (min-width: 700px) {
	.sitemap h2 a {
		padding-left: 24px;
		background-size: 15px auto;
	}
}

.sitemap ul {
	margin: 1.0em 0 2em 15px;
}

.sitemap ul ul {
	margin: 0;
}

.sitemap ul li {
	padding: 0 0 0 18px;
	background: url(../img/icons/ico_link.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	list-style: none;
}

@media only print, screen and (min-width: 700px) {
	.sitemap ul li {
		padding-left: 24px;
		background-position: 0 0.15em;
		background-size: 15px auto;
	}
}

.sitemap ul li:before {
	display: none;
}

.sitemap ul li a {
	color: #333;
	transition: color 0.2s ease-in-out;
}

@media only print, screen and (min-width: 700px) {
	.sitemap ul li a:hover {
		color: #004eaa;
	}
}

/* ---------------------------------------------------------
お問い合わせ
--------------------------------------------------------- */
.pageContactBlockWrap {
	width: 684px;
	margin: 46px auto 0;
}

/* ---------------------------------------------------------
googleMap
--------------------------------------------------------- */
#map {
	margin: 1.0em auto 0;
}

/* ---------------------------------------------------------
ClearFix
--------------------------------------------------------- */
.columnsBlock:after {
	content: '';
	display: block;
	clear: both;
}
