@charset "utf-8";
/* CSS Document */

/**************************************************************************************************
CLEARFIX CLASS
**************************************************************************************************/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}


/* LINK
-------------------------------------------------------------------------------------------------*/
a:link,
a:active,
a:visited {
	color : #1839B8;
	text-decoration : none;
}
a:hover,
a:focus {
	color : #555;
	text-decoration : none;
}
a:hover img.ov, a:focus img.ov {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

/* OUTLINE
-------------------------------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}
body {
	min-width: 1000px;
	color: #222;
	margin: 0px;
	padding: 0px;
	font: 15px/1.6 "Century Gothic", "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
}
ul{
	list-style-type: none;
}
img {
	border:none;
	display: inline-block;
	max-width: 100%;
	height: auto;
}
hr {
	height: 0;
	margin: 3em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #ccc;
}
.u-sr-only {
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important; 
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
}


/* PC SP
-------------------------------------------------------------------------------------------------*/
.pcOnly {
	display: inline-block!important;
}
.spOnly {
	display: none!important;
}


/* HEADER
-------------------------------------------------------------------------------------------------*/
header {
	width: 1000px;
	min-height: 64px;
	margin: 0 auto;
	position: relative;
}
header > div:first-child {
	position: absolute;
	top:8px;
	left: 0;
}
#nav_toggle,
ul#headLink_sp,
ul#footLink_sp,
ul#uMenu_sp {
	display: none;
}
header #headerMenu {
	width: 100%;
	padding-top: 8px;
}
header #headerMenu:after,
header ul#language:after,
header ul#headLink:after {
	content: "";
	clear: both;
	display: block;
}
header ul#language {
	float: right;
}
header ul#language > li {
	float: left;
	margin-left: 4px;
}
header ul#language > li > a {
	line-height: 1;
	padding: .2em .5em;
	border: 1px solid #3d3c84;
	color: #3d3c84;
}
header ul#language > li > a:hover,
header ul#language > li > a.active {
	background: #3d3c84;
	color: #fff;
}
header ul#headLink {
	float: right;
}
header ul#headLink > li {
	float: left;
	margin-right: 1em;
}
header ul#headLink > li a {
	color: #222;
}
header ul#headLink > li a > span {
	color: #f2bc00;
}
#search{
	width: 30%;
	float: right;
	margin: 8px 0;
}
#search:after {
	content: "";
	clear: both;
	display: block;
}
	table.gsc-search-box {
		height: 32px!important;
	}
	td.gsc-input {
		width: 264px!important;
		background: #fff;
		border: 1px solid #3d3c84;
	}
	td.gsc-search-button {
		width: 56px!important;
		background: #3d3c84;
		text-align: center;
		border: 1px solid #3d3c84;
	}
	form.gsc-search-box,
	table.gsc-search-box,
	td.gsc-search-button {
		margin: 0!important;
	}
	td.gsc-input,
	td.gsib_b,
	.gsib_a,
	td.gsc-search-button,
	.gsc-search-button-v2 {
		padding: 0!important;
	}
	td#gs_tti50 {
		padding: 0 0 0 .5em!important;
	}
	.gsc-input-box,
	td#gs_tti50,
	td.gsib_b,
	.gsc-search-button-v2 {
		border: none!important;
		background: none!important;
		padding: 0 0 0 .2em!important;
	}
	.gscb_a {
		line-height: 1!important;
	}
	span.gscb_a {
		color: #475269!important;
	}
	form.gsc-search-box,
	input.gsc-input {
		font-size: 15px!important;
	}
	.gsc-search-button-v2 svg {
		width: 20px!important;
		height: 20px!important;
	}
header ul#gMenu {
	display: table;
	width: 100%;
	margin-bottom: 8px;
}
header ul#gMenu > li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	border-left: 1px solid #ccc; 
}
header ul#gMenu > li:first-child {
	display: none;
}
header ul#gMenu > li:last-child {
	border-right: 1px solid #ccc; 
}
header ul#gMenu > li > a {
	display: block;
	width: 100%;
	padding: .5em 0;
	color: #222!important;
}
header ul#gMenu > li,
header ul#gMenu > li > a {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
header ul#gMenu > li:hover,
header ul#gMenu > li.active {
	background: #3d3c84;
}
header ul#gMenu > li:hover > a,
header ul#gMenu > li.active > a {
	color: #fff!important;
}


/* FOOTER
-------------------------------------------------------------------------------------------------*/
footer {
	background: #4c4c4c;
}
footer > div {
	width: 1000px;
	margin: 0 auto;
	padding: 32px 0;
	display: table;
	color: #fff;
}
footer > div a {
	color: #fff!important;
}
footer > div > div {
	display: table-cell;
	vertical-align: top;
}
footer > div > div p.name {
	font-size: 200%;
}
footer > div > div p.sns > a {
	display: inline-block;
	font-size: 280%;
	margin-right: 8px;
}
footer > div > div:last-child > ul {
	text-align: right;
}
footer > div > div:last-child > ul > li {
	display: inline-block;
}
footer > div > div:last-child > ul:first-child > li {
	border: 1px solid #fff;
	padding: .5em 1.5em;
	margin: 0 0 16px 8px;
}
footer > div > div:last-child > ul:nth-child(2) > li {
	background: #565656;
	padding: .5em 1em;
	margin: 0 0 16px 8px;
}
footer > div > div:last-child > ul:last-child > li {
	padding: 0 1.5em;
	border-right: 1px solid #888;
}
footer > div > div:last-child > ul:first-child > li:hover,
footer > div > div:last-child > ul:nth-child(2) > li:hover {
	background: #777;
}
footer > div > div:last-child > ul:last-child > li > a:hover {
	color: #ccc!important;
}
a.pagetop {
	display: block;
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 48px;
	height: 48px;
	padding: 6px 0 0;
	z-index: 10;
	background: rgba(0,0,0,.8);
	text-align: center;
}
a.pagetop:hover {
	background: rgba(0,0,0,.6);
}
a.pagetop > span:first-child {
	font-size: 32px;
	color: #fff;
}


/* TITLE
-------------------------------------------------------------------------------------------------*/
#cateTtl {
	position: relative;
	background: #3d3c84;
	width: 100%;
	height: 368px;
}
#cateTtl > div:last-child {
	position: absolute;
	width: calc( 50% + 124px);
	height: 368px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	top: 0;
	left: calc( 50% - 124px);
}
#cateTtl .cateTtl {
	position: absolute;
	width: 376px;
	height: 368px;
	left: calc( 50% - 500px);
	display: table;
	background: #3d3c84;
	z-index: 1;
}
#cateTtl .cateTtl > div {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}
#cateTtl .cateTtl > div > h1.ttl,
#cateTtl .cateTtl > div > p.ttl {
	font-size: 230%;
	color: #fff;
	padding: 0;
	font-weight: normal;
	line-height: 1.1;
}
#cateTtl .cateTtl > div >p.ttlEn {
	font-size: 120%;
	color: #f2bc00;
}
#pageTtl01 {
	background: #f6f6f6;
	width: 100%;
}
#pageTtl02 {
	background-position: center;
	background-size: cover;
}
#pageTtl02 .mask {
	background-color: rgba(255,255,255,.5);
	height: 100%;
	padding-bottom: 32px;
}
#pageTtl02 .pageTtl {
	width: 500px;
	margin: 0 auto;
	padding: 32px;
	background: #fff;
	text-align: center;
}
#pageTtl02 .pageTtl p.ttlEn {
	font-size:240%;
	color: #3d3c84;
	line-height: 1;
}
#pageTtl02 .pageTtl > h1.ttl {
	font-size:170%;
	color: #222;
	border: none;
	font-weight: normal;
	padding: .5em 0;
}
#pageTtl03 {
	position: relative;
	background: #f6f6f6;
	width: 100%;
}
.pageTtl03 {
	background: #f6f6f6;
	border-top: 2px solid #fff;
	border-bottom: 4px solid #fff;
	width: 100%;
}
.pageTtl03 > h1 {
	width: 1000px;
	margin: 0 auto;
	padding: 0 0 48px 0;
	line-height: 1.2;
}
.pageTtl03 > p.parent {
	width: 1000px;
	margin: 0 auto;
	padding: 32px 0 0 0;
	font-size: 140%;
	color: #444;
}


/* PANKUZU
-------------------------------------------------------------------------------------------------*/
ul#pankuzu {
	width:1000px;
	margin: 0 auto;
	padding: .4em 0;
}
ul#pankuzu:after {
	content: "";
	clear: both;
	display: block;
}
ul#pankuzu li {
	float: left;
	padding-right: .4em;
}
ul#pankuzu li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f105';
	color: #444;
	padding-right: .4em;
}
ul#pankuzu li:first-child::before {
	display: none;
}


/* CONTENTS
-------------------------------------------------------------------------------------------------*/
/* Main*/
.Contents {
	width: 1000px;
	margin: 0 auto;
	padding: 24px 0;
}
.wrapper {
	width: 1000px;
	margin: 0 auto;
	padding: 64px 0;
}
.Contents p {
	padding-bottom: 1em;
}
h1{
	font-size: 280%;
	font-weight: normal;
}
h2 {
	font-size: 170%;
	padding: 0 0 1em 0;
	color: #3d3c84;
}
h3 {
	font-size: 140%;
	margin-bottom: 1em;
	padding: .4em 0;
	border-top: 1px solid #187fc4;
	/*border-bottom: 1px dotted#187fc4;*/
	background: #f6f6f6;
}
h4 {
	font-size: 120%;
	margin-bottom: 1em;
	padding: .4em 0;
	color: #3d3c84;
	border-top: 1px solid #adacd8;
	border-bottom: 1px dotted #adacd8;
}
h5 {
	font-size: 115%;
	padding: 0 0 .5em 0;
	color: #084998;
}
h6 {
	font-size: 105%;
	padding: 0 0 .5em 0;
	color: #333;
}


/* OTHER
-------------------------------------------------------------------------------------------------*/
/* page link */
#pageList {
	width: 1000px;
	margin: 56px auto;
	padding: 24px;
	background: #f6f6f6;
}
#pageList > h2 {
	font-size:140%;
	font-weight: normal;
	color: #222;
	padding: 0;
}
#pageList > h2 > a {
	position: relative;
	color: #222;
}
#pageList > ul {
	display:-webkit-box;
	display:flex;
	flex-wrap:wrap;
}
#pageList > ul > li > a,
#pageList > ul > li > p {
	display: block;
	padding: .5em 1em .5em 2em;
	background: #fff;
	margin: 8px 8px 0;
	color: #222;
	position: relative;
}
#pageList > ul > li > a.active,
#pageList > ul > li > a:hover {
	background: #005073;
	color: #fff;
}
#pageList > h2 > a::after,
#pageList > ul > li > a::before,
#pageList > ul > li > p::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}
#pageList > h2 > a::after {
	font-size: 80%;
	content: '\f0e2';
	color: #666;
	right: -1.8em;
}
#pageList > ul > li > a::before,
#pageList > ul > li > p::before {
	font-size: 110%;
	content: '\f15c';
	color: #66bade;
	left: 4px;
}
#pageList > ul > li > p::before {
	color: #aaa;
}
#pageList > ul > li.cate > a::before {
	content: '\f07b';
	color: #187fc4;
}
#pageList > ul > li > a.active::before,
#pageList > ul > li > a:hover::before {
	color: #fff;
}
#pageList > ul > li.cate > a.active::before,
#pageList > ul > li.cate > a:hover::before {
	content: '\f07c';
}
#pageList > ul > li > a[href$=".pdf"]::before {
	content: '\f1c1 ';
	color: #ff4859;
}
#pageList > ul > li > a[href$=".xlsx"]::before,
#pageList > ul > li > a[href$=".xlsx"]::before {
	content: '\f1c3 ';
	color: #009e96;
}
#pageList > ul > li > a[href$=".doc"]::before,
#pageList > ul > li > a[href$=".docx"]::before {
	content: '\f1c2 ';
	color: #084998;
}
#pageList > ul > li > a[target="_blank"]::after {
	font-family: "Font Awesome 5 Free";
	content: '\f2d2 ';
	font-size: 1em;
	color: #187fc4!important;
	padding: 0 .2em;
}
#pageList > ul > li > a[href$=".pdf"]:hover::before,
#pageList > ul > li > a[href$=".xlsx"]:hover::before,
#pageList > ul > li > a[href$=".xlsx"]:hover::before,
#pageList > ul > li > a[href$=".doc"]:hover::before,
#pageList > ul > li > a[href$=".docx"]:hover::before,
#pageList > ul > li > a[target="_blank"]:hover::after {
	color: #fff!important;
}


/* relation link */
#relationLink {
	width: 100%;
	background: #f6f6f6;
	padding: 48px 0 56px 0;
}
#relationLink > p {
	text-align: center;
	font-size:280%;
	color: #3d3c84;
}
#relationLink > h2{
	text-align: center;
	font-size:140%;
	color: #222;
	padding: 0 0 1em;
}
#relationLink > ul {
	width: 1000px;
	margin: 0 auto;
}
#relationLink > ul:after {
	content: "";
	clear: both;
	display: block;
}
#relationLink > ul > li {
	background: #fff;
	border: 2px solid #cdcdcd;
	position: relative;
	width: 23.5%;
	float: left;
	margin-right: 2%;
	margin-bottom: 6px;
	padding: .4em 1.4em .4em 1em;
}
#relationLink > ul > li:hover {
	background: #eee;
}
#relationLink > ul > li:nth-child(4n+4){
	margin-right: 0;
}
#relationLink > ul > li::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f105';
	color: #187fc4;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	right: 0;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}
#relationLink > ul > li > a {
	color: #222!important;
	display: block;
	position: relative;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}


/* TOP PAGE
-------------------------------------------------------------------------------------------------*/
/* slider */
#topSlider{
	position: relative;
}
.topSlider {
	width: 100%;
	height: calc(100vh - 128px );
	background-position: center center;
	background-size: cover;
}

/* emergency */
#emergency {
	background: rgba(61,60,132,.8);
	position: absolute;
	bottom: 0;
	width: 100%;
}
#emergency > div {
	width: 1000px;
	margin: 0 auto;
	display: table;
}
#emergency > div > div {
	width: 900px;
	display: table;
	vertical-align: middle;
		line-height: 1;
}
#emergency > div > div > h2 {
	width: 200px;
	padding: 1em 0;
	color: #fff;
	display: table-cell;
}
#emergency > div > div > div {
	width: 700px;
	display: table-cell;
	overflow: hidden;
}
#emergency > div > div > div > div#tickerbox > ul,
#emergency > div > div > div > div#tickerbox > ul a {
	color: #fff;
}
#emergency > div > div > div > div#tickerbox > ul dl {
	display: table;
	vertical-align: middle;
}
#emergency > div > div > div > div#tickerbox > ul dt {
	display: table-cell;
	width: 9em;
}
#emergency > div > div > div > div#tickerbox > ul dd {
	/*width: 34em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;*/
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
#emergency > div > p {
	width: 100px;
	height: 100%;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	background: rgba(255,255,255,.5);
}
#emergency > div > p:hover {
	background: rgba(255,255,255,.8);
}
#emergency > div > p > a {
	display: block;
	color:#3d3c84;
	font-weight: bold;
	padding: 1em 0;
}

/* universal menu */
ul#uMenu {
	width: 1000px;
	margin: 16px auto;
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
}
ul#uMenu > li {
	background: #3d3c84;
	position: relative;
}
ul#uMenu > li:hover {
	background: #4b4a92;
}
ul#uMenu > li::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f105';
	color: #fff;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	right: 0;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}
ul#uMenu > li > a {
	display: block;
	padding: .4em 5em .4em 1em;
	color: #fff;
}

/* entrance information */
h2.topH2 {
	text-align: center;
	font-weight: normal;
	font-size: 280%;
	line-height: 1.2;
	padding: 0;
}
h2.topH2 > span {
	display: block;
	font-size: 50%;
	color: #222;
}
ul#entrance {
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin: 48px auto;
}
ul#entrance > li {
	flex-basis:48.8%;
	padding: 32px 0;
}
ul#entrance > li:first-child {
	background: url("../../topimg/ei01.jpg") no-repeat center center / cover;
}
ul#entrance > li:last-child {
	background: url("../../topimg/ei02.jpg") no-repeat center center / cover;
}
ul#entrance > li > a {
	display: block;
	position: relative;
	width: 60%;
	margin: 0 auto;
	padding: 80px 0 32px 0;
	background: rgba(255,255,255,.8);
	text-align: center;
	color: #3d3c84;
	font-size: 140%;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
ul#entrance > li > a:hover {
	background: rgba(61,60,132,.8);
	color: #fff;
}
ul#entrance > li > a::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 200%;
	line-height: 1;
	display: inline-block;
	position: absolute;
	padding: 0;
	left: 50%;
	top: 32px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%); 
}
ul#entrance > li:first-child > a::after {
	content: '\f05a';
}
ul#entrance > li:last-child > a::after {
	content: '\f15c';
}


/* FIRST LEVEL CATEGORY
-------------------------------------------------------------------------------------------------*/
#FirstLevCT > a {
	display: block;
}
#FirstLevCT > a > dl {
	min-height: 320px;
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
}
#FirstLevCT > a:nth-child(even) > dl {
	-webkit-box-orient: horizontal;
	flex-direction: row-reverse;
}
#FirstLevCT > a:nth-child(even) > dl > dd > div {
	margin: 0 0 0 auto;
}
#FirstLevCT > a > dl > dt {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	flex-basis:50%;
	position: relative;
}
#FirstLevCT > a > dl > dd {
	flex-basis:50%;
	background: #fff;
}
#FirstLevCT > a > dl > dd > div {
	display: block;
	width: 500px;
	padding: 48px;
	text-align: center;
	color: #222;
}
#FirstLevCT > a > dl > dd > div > h2 {
	font-weight: normal;
	font-size: 230%;
	padding: 0 0 .4em 0;
	line-height: 1;
}
#FirstLevCT > a > dl > dd > div > h2 > span {
	display: block;
	font-size: 80%;
	color: #222;
	padding-top: .5em;
}
#FirstLevCT > a > dl > dd > div > span {
	font-size: 2.5em;
	color: #7373a1;
	margin-top: .5em;
}
#FirstLevCT > a > dl > dt::after,
#FirstLevCT > a > dl > dd,
#FirstLevCT > a > dl > dd > div > h2,
#FirstLevCT > a > dl > dd > div > h2 > span,
#FirstLevCT > a > dl > dd > div > p,
#FirstLevCT > a:hover > dl {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
/*#FirstLevCT > a:hover > dl > dt {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}*/
#FirstLevCT > a > dl > dd > div > p,
#pageTtl02 .pageTtl p:last-child {
	white-space: pre-wrap;
}
#FirstLevCT > a:hover > dl > dt::after {
	content: '';
	background-color: rgba(61,60,132,.5);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
}
#FirstLevCT > a:hover > dl > dd {
	background: #3d3c84;
}
#FirstLevCT > a:hover > dl > dd > div > h2 {
	color: #bcbbec;
}
#FirstLevCT > a:hover > dl > dd > div > h2 > span,
#FirstLevCT > a:hover > dl > dd > div > p {
	color: #fff!important;
}


/* SECOND LEVEL CATEGORY / THIRD LEVEL CATEGORY
-------------------------------------------------------------------------------------------------*/
ul#SecondLevCT,
ul#ThirdLevCT {
	width: 1000px;
	margin: 40px auto 0;
}
ul#SecondLevCT,
#exception > ul {
	border-top: 1px solid #d0d0d0;
}
ul#ThirdLevCT {
	border-top: 1px dotted #d0d0d0;
}
#exception {
	width: 1000px;
	margin: 48px auto 0;
	padding: 28px 16px;
	background: #f6f6f6;
}
#exception > ul {
	width: 100%;
}
ul#SecondLevCT > li,
#exception > ul > li {
	position: relative;
	border-bottom: 1px solid #d0d0d0;
}
ul#ThirdLevCT > li {
	position: relative;
	border-bottom: 1px dotted #d0d0d0;
}
ul#SecondLevCT > li:hover,
ul#ThirdLevCT > li:hover {
	background: #f6f6f6;
}
ul#SecondLevCT > li.noLink:hover ,
ul#ThirdLevCT > li.noLink:hover {
	background: none;
}
#exception > ul > li:hover {
	background: #eee;
}
ul#SecondLevCT > li::after,
ul#SecondLevCT > li > a::before,
ul#ThirdLevCT > li::after,
ul#ThirdLevCT > li > a::before,
ul#SecondLevCT > li.noLink::before,
ul#ThirdLevCT > li.noLink::before,
#exception > ul > li::after,
#exception > ul > li > a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}
ul#SecondLevCT > li::after,
ul#ThirdLevCT > li::after,
#exception > ul > li::after {
	content: '\f105';
	color: #187fc4;
	right: 0;
}
ul#SecondLevCT > li.noLink::after ,
ul#ThirdLevCT > li.noLink::after {
	display: none;
}
ul#SecondLevCT > li > a,
ul#ThirdLevCT > li > a,
#exception > ul > li > a,
ul#SecondLevCT > li.noLink ,
ul#ThirdLevCT > li.noLink {
	color: #222;
	display: block;
	padding: 1em 2em;
}
ul#SecondLevCT > li > a::before,
ul#ThirdLevCT > li > a::before,
#exception > ul > li > a::before {
	font-size: 110%;
	content: '\f15c';
	color: #66bade;
	left: 4px;
}
ul#SecondLevCT > li.noLink::before,
ul#ThirdLevCT > li.noLink::before {
	font-size: 100%;
	content: '\f192';
	color: #ccc;
	left: 4px;
}
ul#SecondLevCT > li.cate > a::before,
ul#ThirdLevCT > li.cate > a::before,
#exception > ul > li.cate > a::before {
	content: '\f07b';
	color: #187fc4;
}
ul#SecondLevCT > li.cate:hover > a::before,
ul#ThirdLevCT > li.cate:hover > a::before,
#exception > ul > li.cate:hover > a::before {
	content: '\f07c';
}

ul#SecondLevCT > li > a[href$=".pdf"]::before,
ul#ThirdLevCT > li > a[href$=".pdf"]::before {
	content: '\f1c1 ';
	color: #ff4859;
}
ul#SecondLevCT > li > a[href$=".xls"]::before,
ul#SecondLevCT > li > a[href$=".xlsx"]::before,
ul#ThirdLevCT > li > a[href$=".xls"]::before,
ul#ThirdLevCT > li > a[href$=".xlsx"]::before {
	content: '\f1c3 ';
	color: #009e96;
}
ul#SecondLevCT > li > a[href$=".doc"]::before,
ul#ThirdLevCT > li > a[href$=".doc"]::before,
ul#SecondLevCT > li > a[href$=".docx"]::before,
ul#ThirdLevCT > li > a[href$=".docx"]::before {
	content: '\f1c2 ';
	color: #084998;
}
ul#SecondLevCT > li.bl::after,
ul#ThirdLevCT > li.bl::after {
	content: '\f2d2 ';
	color: #187fc4!important;
	right: 0;
	padding: 0 .3em;
	font-weight: normal;
}


/* SLIDE
-------------------------------------------------------------------------------------------------*/
div.slide {
	position: relative;
}
div.swiper-container {
	padding: 24px 0;
}
li.swiper-slide > a {
	/*color: #222;*/
}
li.swiper-slide dl {
	width: 244px;
}
li.swiper-slide dl > dt {
	background: #ccc;
	position: relative;
	overflow: hidden;
	height: 176px!important;
}
li.swiper-slide dl > dt > img {
	width: 100%;
	height: auto;
}
li.swiper-slide > a > dl {
	moz-transition: -moz-transform 0.3s ease-out;
	-webkit-transition: -webkit-transform 0.3s ease-out;
	-o-transition: -o-transform 0.3s ease-out;
	-ms-transition: -ms-transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
}
li.swiper-slide > a:hover > dl {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}
li.swiper-slide dl > dt > span {
	display: block;
	position: absolute;
	top:0;
	left: 0;
	color: #fff;
	line-height: 1;
	padding: .4em;
	width: 8em;
	text-align: center;
}
li.swiper-slide dl > dt > span.icon01,
ul.NewsList > li > span.icon01,
p.news_date > span.icon01 {
	background: #3d3c84;
}
li.swiper-slide dl > dt > span.icon02,
ul.NewsList > li > span.icon02,
p.news_date > span.icon02 {
	background: #8c3200;
}
li.swiper-slide dl > dt > span.icon03,
ul.NewsList > li > span.icon03,
p.news_date > span.icon03 {
	background: #005F31;
}
li.swiper-slide dl > dt > span.icon04,
ul.NewsList > li > span.icon04,
p.news_date > span.icon04 {
	background: #0C4796;
}
li.swiper-slide dl > dt > span.icon05,
ul.NewsList > li > span.icon05,
p.news_date > span.icon05 {
	background: #630C96;
}
li.swiper-slide dl > dt > span.icon06,
ul.NewsList > li > span.icon06,
p.news_date > span.icon06  {
	background: #9C0A3E;
}
li.swiper-slide dl > dd {
	background: #fff;
	padding: 16px;
}
li.swiper-slide dl > dd > span {
	display: block;
	padding-bottom: .5em;
	color: #666;
}
div.swiper-pagination {
	bottom: 0px!important;
}
.swiper-pagination-bullet-active {
	background: #3d3c84!important;
}
.swiper-button-prev,
.swiper-button-next {
	background: none!important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 3em;
	color: #3d3c84;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 3em;
	text-align: center;
	height: 3em;
	line-height: 3em;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}
.swiper-button-prev::after {
	content: '\f137';
	right: 0;
}
.swiper-button-next::after {
	content: '\f138';
	left: 0;
}


/* NEWS
-------------------------------------------------------------------------------------------------*/
ul.NewsList {
	width: 1000px;
	margin: 24px auto;
}
ul.NewsList > li {
	padding: 1em 0;
	border-bottom: 1px solid #ccc;
}
ul.NewsList > li > span {
	display: inline-block;
}
ul.NewsList > li > span[class^="icon"] {
	color: #fff;
	line-height: 1;
	padding: .4em;
	margin-right: 1em;
	width: 8em;
	text-align: center;
}
ul.NewsList > li > a {
	display: block;
}
ul.paging {
	width: 1000px;
	margin: 24px auto 46px;
	display: table;
}
ul.paging > li {
	display: table-cell;
}
ul.paging > li:first-child {
	width: 8em;
	text-align: left;
}
ul.paging > li:last-child {
	width: 8em;
	text-align: right;
}
ul.paging > li:nth-child(2) {
	width: calc(100% - 16em);
	text-align: center;
}
ul.paging > li > a {
	display: inline-block;
	line-height: 1;
	color: #3b3c84;
	border: 1px solid #3b3c84;
	border-radius: 2em;
	padding: .4em .6em;
	margin-bottom: 4px;
}
ul.paging > li:nth-child(2) > a {
	padding: .4em 0;
	width: 2em;
	text-align: center;
}
ul.paging > li > a:hover,
ul.paging > li > a.active {
	background: #3b3c84;
	color: #fff;
}
p.news_date {
	color: #3d3c84;
	line-height: 1;
	margin-bottom: 1.5em;
}
p.news_date > span {
	padding: .4em;
	width: 8em;
	text-align: center;
	display: inline-block;
	color: #fff;
}


/* FAQ
-------------------------------------------------------------------------------------------------*/
.faq > h2.question {
	font-size: 140%;
	padding: 0 0 0 40px;
	position: relative;
}
.faq > h2.question::before {
	content: 'Q';
	position: absolute;
	top:.1em;
	left: 0;
	width: 32px;
	height: 32px;
	background: #eee;
	border-radius: 16px;
	line-height: 1.2;
	font-size: 24px;
	color: #3d3c84;
	text-align: center;
}
.faq > div.answer {
	padding: 0 0 2em 40px;
	margin: 24px 0 40px;
	border-bottom: 1px solid #ccc;
	position: relative;
}
.faq > div.answer::before {
	content: 'A';
	position: absolute;
	top:0;
	left: 0;
	width: 32px;
	height: 32px;
	background: #eee;
	border-radius: 16px;
	line-height: 1.2;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	color: #c50270;
}


/* SITEMAP
-------------------------------------------------------------------------------------------------*/
ul#sitemap,
ul#sitemap li {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
}
ul#sitemap li::before {
	display: none;
}
ul#sitemap li a {
	display: block;
	position: relative;
	padding: .5em 0 .5em 1.5em;
	border-bottom: 1px dotted #ccc;
	
}
ul#sitemap li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	left: 0;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
	content: '\f15c';
	color: #66bade;
}
ul#sitemap li.cate > a::before {
	content: '\f07b';
	color: #187fc4;
}
ul#sitemap li a[href$=".pdf"]::before {
	content: '\f1c1 ';
	color: #ff4859;
}
ul#sitemap li a[href$=".xls"]::before,
ul#sitemap li a[href$=".xlsx"]::before {
	content: '\f1c3 ';
	color: #009e96;
}
ul#sitemap li a[href$=".doc"]::before,
ul#sitemap li a[href$=".docx"]::before {
	content: '\f1c2 ';
	color: #084998;
}
ul#sitemap > li > a {
	font-size: 140%;
	margin: 1em 0;
	padding: .4em 0 .4em 1.5em;
	border-top: 1px solid #187fc4;
	background: #f6f6f6;
}
ul#sitemap > li.cate > ul > li.cate > a {
	font-size: 120%;
	margin: 1em 0;
	padding: .4em 0 .4em 1.5em;
	border-top: 1px solid #adacd8;
	border-bottom: 1px dotted #adacd8;
}
ul#sitemap > li.cate > ul > li.cate > ul > li.cate > a {
	font-size: 115%;
	margin: 1em 0;
	padding: .4em 0 .4em 1.5em;
}
ul#sitemap > li.cate > ul > li.cate > ul > li.cate > ul > li.cate > a {
	font-size: 105%;
	margin: 1em 0;
	padding: .4em 0 .4em 1.5em;
}


/* TABLE
-------------------------------------------------------------------------------------------------*/
table {
	border-collapse:collapse;
	font-size: 1em;
	border-spacing: 0;
}
th, td {
	border:1px solid #aaa;
	padding: .5em 1em;
	word-break:break-all;
}
caption {
	text-align:left;
	font-weight:bold;
	color: #3d3c84;
	font-size: 1.2em;
}
thead th {
	background:#3d3c84;
	color: #fff;
}
thead td {
	background:#b9b9de;
	color: #000;
	text-align:center;
}
tfoot th {
	background:#feffa4;
}
tfoot td {
	background:#ffffdd;
}
tbody th {
	background:#eee;
}


/* GOOGLE MAPS
-------------------------------------------------------------------------------------------------*/
.gmapFrame {
	height: 0;
	overflow: hidden;
	padding-bottom: 75%;
	position: relative;
}
.gmapFrame iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	border: none;
}


/* COMMON
-------------------------------------------------------------------------------------------------*/
a.button {
	display: inline-block;
	color: #3d3c84;
	background: #fff;
	padding: .4em 2em .4em 1em;
	border: 1px solid #3d3c84;
	border-radius: 2em;
	position: relative;
	line-height: 1.2;
}
a.button::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f105';
	color: #3d3c84;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	right: .2em;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
a.button,
a.button::after {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
a.button:hover {
	background: #3d3c84;
	color: #fff;
}
a.button:hover::after {
	color: #fff;
}
.Contents a.button[target="_blank"]::after {
	font-weight: normal;
}
.Contents a.button[target="_blank"]:hover::after,
.Contents a.button[href$=".pdf"]:hover::before,
.Contents a.button[href$=".xls"]:hover::before,
.Contents a.button[href$=".xlsx"]:hover::before,
.Contents a.button[href$=".doc"]:hover::before,
.Contents a.button[href$=".docx"]:hover::before{
	color: #fff!important;
}

/* TEXT */
.fs40 { font-size:2.8em; }
.fs32 { font-size:2.3em; }
.fs24 { font-size:1.7em; }
.fs20 { font-size:1.4em; }
.fs16 { font-size:1.15em; }
.fs12 { font-size:0.85em; }
.fs11 { font-size:0.78em; }
.fwB { font-weight:bold; }
.fwN { font-weight:normal; }
.col_red { color:#bb0000; }
.col_blue { color:#084998;}
.col_navy { color:#3d3c84;}
.col_bk { color:#000;}
.col_white { color:#fff;}
.col_gray { color: #616364; }
.col_yellow { color: #f2bc00;}
.txt_left { text-align:left !important; }
.txt_right { text-align:right !important; }
.txt_center { text-align:center !important; }

/* BACKGROUND */
.bg_gray { background:#616364; }
.bg_lightgray { background:#f6f6f6; }
.bg_yellow { background:#f2bc00; }
.bg_cream { background:#fff7c4; }
.bg_blue { background:#084998;}
.bg_lightblue { background:#bdd8ef;}
.bg_navy { background:#3d3c84;}
.bg_lightpurple { background:#d8d7f2;}
.bg_white { background:#fff;}
.waku { border:1px solid #ccc; }

/* COLUMN */
.column,
.column_leftL,
.column_rightL {
	width: 100%;
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin-bottom: 1em;
}
.column > div {
	flex-basis:100%;
	margin: 0 1%;
}
.column_leftL > div:first-child,
.column_rightL > div:last-child{
	flex-basis:66%;
	margin: 0 1%;
}
.column_leftL > div:last-child,
.column_rightL > div:first-child {
	flex-basis:33%;
	margin: 0 1%;
}


/* ANCHOR LINK */
ul.aLink {
	margin-left: 0!important;
	display:-webkit-box;
	display:flex;
	flex-wrap:wrap;
	margin-bottom: 2em;
	width: 100%;
}
ul.aLink > li {
	position: relative;
	background: #3d3c84;
	text-indent: 0!important;
	flex-basis:calc(100% / 4);
	padding-right: 1em;
	border-right:1px solid #fff; 
	border-bottom:1px solid #fff; 
}
/* IE11 */
_:-ms-fullscreen, :root ul.aLink > li {
	flex-basis:calc(93.6% / 4);
}
ul.aLink > li::before {
	display: none;
}
ul.aLink > li::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f0ab';
	color: #fff;
	display: inline-block;
	position: absolute;
	padding: 0;
	width: 1.5em;
	text-align: center;
	height: 1.5em;
	line-height: 1.5em;
	right: .5em;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%); 
}
ul.aLink > li > a {
	display: block;
	color: #fff;
	padding: .5em 1em;
}
ul.aLink > li:hover {
	background: #595899;
}


/* ICON */
.Contents ul {
	margin-left: 1.5em;
}
.Contents ul li {
	text-indent: -1em;
	position: relative;
}
.Contents ul li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.3em;
	content: '\f0da';
	color: #187fc4;
	padding-right: 2px;
	position: relative;
	top:.1em;
}
.Contents ul.maru > li::before {
	font-family: "Font Awesome 5 Free";
	font-size: 0.6em;
	content: '\f111';
	color: #f2bc00;
	padding-right: 2px;
	position: relative;
	top:-.2em;
}
.Contents ol {
	margin-left: 2em;
	padding-bottom: 1em;
}
.Contents a[href$=".pdf"]::before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	content: '\f1c1 ';
	color: #ff4859;
	padding: 0 .2em;
}
.Contents a[href$=".xls"]::before,
.Contents a[href$=".xlsx"]::before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	content: '\f1c3 ';
	color: #009e96;
	padding: 0 .2em;
}
.Contents a[href$=".doc"]::before,
.Contents a[href$=".docx"]::before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	content: '\f1c2 ';
	color: #084998;
	padding: 0 .2em;
}
.Contents a[target="_blank"]::after {
	font-family: "Font Awesome 5 Free";
	content: '\f2d2 ';
	/* padding: 0 4px 0 2px;*/
	font-size: 1em;
	color: #187fc4!important;
	padding: 0 .2em;
}
.no_icon::before,
.no_icon::after,
.no_icon li::before,
.no_icon li::after {
	display: none;
}

/* WIDTH */
.w100 { width:100%!important; }
.w95 { width:95%; }
.w90 { width:90%; }
.w85 { width:85%; }
.w80 { width:80%; }
.w75 { width:75%; }
.w70 { width:70%; }
.w65 { width:65%; }
.w60 { width:60%; }
.w55 { width:55%; }
.w50 { width:50%; }
.w45 { width:45%; }
.w40 { width:40%; }
.w35 { width:35%; }
.w33 { width:33.3%;}
.w30 { width:30%; }
.w25 { width:25%; }
.w20 { width:20%; }
.w15 { width:15%; }
.w10 { width:10%; }
.w5 { width:5%; }

/* MARGIN / PADDING */
.mar_l0{ margin-left:0px!important; }
.mar_l4{ margin-left:4px!important; }
.mar_l8{ margin-left:8px!important; }
.mar_l12{ margin-left:12px!important; }
.mar_l16{ margin-left:16px!important; }
.mar_l22{ margin-left:22px!important; }
.mar_l24{ margin-left:24px!important; }
.mar_l32{ margin-left:32px!important; }
.mar_l40{ margin-left:40px!important; }
.mar_l48{ margin-left:48px!important; }
.mar_l56{ margin-left:56px!important; }

.mar_r0{ margin-right:0px!important; }
.mar_r4{ margin-right:4px!important; }
.mar_r8{ margin-right:8px!important; }
.mar_r12{ margin-right:12px!important; }
.mar_r16{ margin-right:16px!important; }
.mar_r24{ margin-right:24px!important; }
.mar_r32{ margin-right:32px!important; }
.mar_r40{ margin-right:40px!important; }
.mar_r48{ margin-right:48px!important; }
.mar_r56{ margin-right:56px!important; }

.mar_t0{ margin-top:0!important; }
.mar_t4{ margin-top:4px!important; }
.mar_t8{ margin-top:8px!important; }
.mar_t12{ margin-top:12px!important; }
.mar_t16{ margin-top:16px!important; }
.mar_t24{ margin-top:24px!important; }
.mar_t32{ margin-top:32px!important; }
.mar_t40{ margin-top:40px!important; }
.mar_t48{ margin-top:48px!important; }
.mar_t56{ margin-top:56px!important; }

.mar_b0{ margin-bottom:0!important; }
.mar_b4{ margin-bottom:4px!important; }
.mar_b8{ margin-bottom:8px!important; }
.mar_b12{ margin-bottom:12px!important; }
.mar_b16{ margin-bottom:16px!important; }
.mar_b24{ margin-bottom:24px!important; }
.mar_b32{ margin-bottom:32px!important; }
.mar_b40{ margin-bottom:40px!important; }
.mar_b48{ margin-bottom:48px!important; }
.mar_b56{ margin-bottom:56px!important; }

.mar_tb0{ margin-top:0!important; margin-bottom:0!important; }
.mar_tb16{ margin-top:16px!important; margin-bottom:16px!important; }
.mar_tb24{ margin-top:24px!important; margin-bottom:24px!important; }
.mar_tb40{ margin-top:40px!important; margin-bottom:40px!important; }
.mar_tb48{ margin-top:48px!important; margin-bottom:48px!important; }
.mar_tb56{ margin-top:56px!important; margin-bottom:56px!important; }
.mar_tb64{ margin-top:64px!important; margin-bottom:64px!important; }

.mar_lrauto { margin-left:auto; margin-right:auto; }

.pad_l0{ padding-left:0px!important; }
.pad_l4{ padding-left:4px!important; }
.pad_l8{ padding-left:8px!important; }
.pad_l12{ padding-left:12px!important; }
.pad_l16{ padding-left:16px!important; }
.pad_l24{ padding-left:24px!important; }
.pad_l32{ padding-left:32px!important; }
.pad_l40{ padding-left:40px!important; }
.pad_l48{ padding-left:48px!important; }
.pad_l56{ padding-left:56px!important; }

.pad_r0{ padding-right:0px!important; }
.pad_r4{ padding-right:4px!important; }
.pad_r8{ padding-right:8px!important; }
.pad_r12{ padding-right:12px!important; }
.pad_r16{ padding-right:16px!important; }
.pad_r24{ padding-right:24px!important; }
.pad_r32{ padding-right:32px!important; }
.pad_r40{ padding-right:40px!important; }
.pad_r48{ padding-right:48px!important; }
.pad_r56{ padding-right:56px!important; }

.pad_t0{ padding-top:0px!important; }
.pad_t4{ padding-top:4px!important; }
.pad_t8{ padding-top:8px!important; }
.pad_t12{ padding-top:12px!important; }
.pad_t16{ padding-top:16px!important; }
.pad_t24{ padding-top:24px!important; }
.pad_t32{ padding-top:32px!important; }
.pad_t40{ padding-top:40px!important; }
.pad_t48{ padding-top:48px!important; }
.pad_t56{ padding-top:56px!important; }

.pad_b0{ padding-bottom:0px!important; }
.pad_b4{ padding-bottom:4px!important; }
.pad_b8{ padding-bottom:8px!important; }
.pad_b12{ padding-bottom:12px!important; }
.pad_b16{ padding-bottom:16px!important; }
.pad_b24{ padding-bottom:24px!important; }
.pad_b32{ padding-bottom:32px!important; }
.pad_b40{ padding-bottom:40px!important; }
.pad_b48{ padding-bottom:48px!important; }
.pad_b56{ padding-bottom:56px!important; }
.pad_b64{ padding-bottom:64px!important; }

.pad_tb8{ padding-top:8px!important; padding-bottom:8px!important; }
.pad_tb20{ padding-top:20px!important; padding-bottom:20px!important; }
.pad_tb40{ padding-top:40px!important; padding-bottom:40px!important; }
.pad_tb48{ padding-top:48px!important; padding-bottom:48px!important; }
.pad_tb56{ padding-top:56px!important; padding-bottom:56px!important; }
.pad_tb64{ padding-top:64px!important; padding-bottom:64px!important; }

.pad_al8 {padding:8px!important; }
.pad_al16 {padding:16px!important; }
