@charset "utf-8";



/* ==================================================================
//
// base
//
//================================================================== */
body{
	min-width:980px; 
	font-family: 'Noto Sans JP';
}
.textLeft{
	text-align: left;
}
.textCenter{
	text-align: center;
}
.textRight{
	text-align: right;
}
.marginBottom5em{
	margin-bottom:5em !important;
}

table{
	margin:0 0 30px 0;
	border-collapse: collapse;
}
table th,
table td{
	padding:15px 30px;
	border:1px #aaa solid;
}
table th{
	background:#DBE4EF;
}
table td{
}



/* ==================================================================
//
// header
//
//================================================================== */
header{
	min-width:980px; 
	margin-left:calc((100% - 980px)/2);
	margin-right:calc((100% - 980px)/2);
	padding:20px 0;
	display: flex;
	justify-content: space-between;
}
header h1{
	margin:0;
	padding:0;
}
header h1 img{
	display: inline-block;
}
header h1 img:nth-of-type(1){
	margin-right:20px;
	padding-right:20px;
}

header > a{
	display: block;
	margin:0;
	padding:10px 15px;
	color:#fff;
	font-size:18px;
	text-decoration: none;
	border-radius:5px;
	background:#d03b53;
	transition: 0.25s background;
}
header > a:before{
	content: "\f044";
	padding:0 5px 0 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
header > a:hover{
	background:#005cca;
}



/* ==================================================================
//
// nav
//
//================================================================== */
nav{
	background:rgba(0,0,0,0.2);
	position: relative;
	z-index: 510;
}
nav ul{
	min-width:980px; 
	margin-left:calc((100% - 980px)/2);
}
nav ul li{
	display: inline-block;
	min-width:120px;
	margin:5px 0 5px 5px;
	padding:0 1em;
	border-radius:5px;
	background:#59809d;
	transition: 0.25s background;
}
nav ul li.current{
	background:#004a82;
}
nav ul li a{
	display: block;
	padding:13px 0;
	color:#fff;
	font-size:14px;
	text-align: center;
	text-decoration: none;
	transition: 0.25s background;
}
nav ul li:hover{
	background:#005cca;
}
nav ul li:hover a{
	color:#fff;
}



/* ==================================================================
//
// kv
//
//================================================================== */
#kv{
	position: relative;
}
#kv section{
	margin-top:-50px;
}
#kv > div{
	margin-top:-50px;
}



/* ==================================================================
//
// ページトップ
//
//================================================================== */
body > a#pagetop{
	display: none;
	padding:10px 10px 10px 9px;
	color:#fff;
	text-decoration: none;
	border-radius: 10px;
	background:rgba(0,0,0,0.7);
	position: fixed;
	right:10px;
	bottom:10px;
	z-index: 10;
	transition: 0.25s background;
}
body > a#pagetop:before{
	content:"＞";
	display: inline-block;
	font-size:24px;
	font-weight:bold;
	transform:scale(1,0.6) rotate(-90deg);
}
body > a#pagetop:hover{
	background:rgba(0,91,202,1);
	cursor: pointer;
}
body > a#pagetop.onthefooter{
	bottom:50px;
}



/* ==================================================================
//
// footer
//
//================================================================== */
footer{
	padding:10px 0;
	color:#fff;
	font-size:12px;
	text-align: center;
	line-height:1.5;
	background:#004a82;
}



/* ==================================================================
//
// article
//
//================================================================== */
article{
	margin:0 0 100px 0;
}
article > section{
	margin:70px 0;
}
article > section:last-of-type{
	margin:70px 0 120px 0;
}
article section > div{
	width:980px;
	margin:0 auto;
}
article section > section{
	margin:70px 0;
}
article section > section:last-of-type{
	margin:70px 0 120px 0;
}
article section > section:nth-of-type(even){
/*	background:#eee;*/
}


/* headline
---------------------------------------------------------- */
article h3{
	margin:1em 0;
	color:#004a82;
	font-size:28px;
	font-weight:700;
}
article h3 + section{
	margin-top:40px;
}
article h3 + p{
	margin-bottom:4em;
}
article section > h3{
	width:980px;
	margin:1em auto 0 auto;
}
article h4{
	display: flex;
	margin:0 0 1em 0;
	font-size:24px;
	align-items: center;
}
article h4 em{
	display: block;
	width:80px;
	height:80px;
	margin-right:20px;
	padding:10px;
	color:#fff;
	font-size:14px;
	font-style: normal;
	font-weight: normal;
	background:#005cca;
	position: relative;
}
article h4 em span{
	display: block;
	font-size:58px;
	font-weight:400;
	position: absolute;
	right:7px;
	bottom:7px;
}

/* category */
article#top h4 em{
	background:#d03b53;
}

article h5{
	margin:0 0 1em 0;
	font-size:20px;
}

/* basic
---------------------------------------------------------- */
/* p */
article p{
	margin:1em 0;
	font-size:16px;
	line-height:1.75;
}

/* a */
article a{
	color:#005cca;
}
article a:hover{
	color:#d03b53;
}

/* figure */
figure{
	display: table;
	margin: 0 auto;
}
figure img{
	width:100%;
}
figcaption{
	margin:0.25em 0;
	FONT-SIZE:14PX;
	line-height: 1.5;
	text-align: center;
}
/* timeTable */
ul.timeTable{
	list-style: none;
}
ul.timeTable li{
	display: flex;
	margin-bottom:1em;
	padding-bottom:1em;
	border-bottom:1px #000 dotted;
	justify-content: space-between;
}
ul.timeTable li:first-child{
	padding-top:1em;
	border-top:1px #000 dotted;
}
ul.timeTable li time{
	display: block;
	width:90px;
	font-weight:bold;
	line-height:1.9;
}
ul.timeTable li p{
	width:870px;
	margin: 0;
	padding: 0;
}
ul.timeTable li p a[target]:after{
	content: "\f2d2";
	padding:0 0.75em 0 0.25em;
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	transform:none;
}
ul.timeTable li.new p:after{
	content: "NEW";
	margin:0 0 0 1em;
	padding:0.25em 0.5em;
	color:#fff;
	font-size:12px;
	vertical-align: 2px;
	border-radius: 5px;
	background:#d33;
}

/* btnArea */
div.btnArea{
	margin:30px auto 100px auto;
	text-align: center;
}
div.btnArea + div.btnArea{
	margin-top:2em;
}
div.btnArea a{
	display: inline-block;
	width:70%;
	padding:1em 0;
	color:#fff;
	font-size:24px;
	text-align: center;
	text-decoration: none;
	border-radius: 100px;
	background:#004a82;
	position: relative;
	transition: 0.25s background;
}
div.btnArea a:after{
	content: "＞";
	display: block;
	font-size:30px;
	position: absolute;
	top:calc(50% - 16px);
	right:0.4em;
	transform: translateX(-3px) scaleX(0.6);
}
div.btnArea a[target]:after{
	content: "\f2d2";
	display: inline;
	padding-left:1em;
	font-size:24px;
	font-family: "Font Awesome 5 Free";
	position: static;
	transform:none;
}
div.btnArea a:hover{
	background:#005cca;
}
div.btnArea a + a{
	margin-top:1em;
}

/* 分割　右30％ */
div.right30{
	display: flex;
	justify-content: space-between;
}
div.right30 img{
	width:100%;
}
div.right30 div:nth-of-type(1){
	width:65%;
}
div.right30 div:nth-of-type(1) *:first-child{
	margin-top:0;
}
div.right30 div:nth-of-type(2){
	width:30%;
}

div.right30 + div.right30{
	margin-top:30px;
}

/* 分割　50％ */
div.half50{
	display: flex;
	justify-content: space-between;
}
div.half50 img{
	width:100%;
}
div.half50 div:nth-of-type(1){
	width:49%;
}
div.half50 div:nth-of-type(1) *:first-child{
	margin-top:0;
}
div.half50 div:nth-of-type(2){
	width:49%;
}
div.right30 + div.half50{
	margin-top:30px;
}

/* 分割　左30％ */
div.left30{
	display: flex;
	justify-content: space-between;
}
div.left30 img{
	display: block;
	width:100%;
	margin-top:0.45em;
}
div.left30 div:nth-of-type(1){
	width:30%;
}
div.left30 div:nth-of-type(1) *:first-child{
	margin-top:0;
}
div.left30 div:nth-of-type(2){
	width:65%;
}

div.left30 + div.left30{
	margin-top:30px;
}



/* ==================================================================
//
// aside
//
//================================================================== */
div.linkarea{
	background:#d8eaf8;
}
div.linkarea ul{
	display: flex;
	width:980px;
	margin:0 auto;
	padding:100px 0;
	list-style:none;
	justify-content:space-between;
}
div.linkarea ul li{
	width:19%;
	color:#fff;
	background:#004a82;
	position: relative;
	transition:0.25s all;
}
div.linkarea ul li:last-child{
	background:#d03b53;
}
div.linkarea ul li:hover{
	background:#005cca;
}
div.linkarea ul li:before{
	content: " ";
	display: block;
	width:50px;
	height:50px;
	border:1px #fff solid;
	border-width: 1px 0 0 1px;
	position: absolute;
	top:10px;
	left:10px;
}
div.linkarea ul li:after{
	content: " ";
	display: block;
	width:50px;
	height:50px;
	border:1px #fff solid;
	border-width:0 1px 1px 0;
	position: absolute;
	right:10px;
	bottom:10px;
}
div.linkarea ul li a{
	display: block;
	padding:30px 25px;
	color:#fff;
	font-size:14px;
	line-height: 1.5;
	text-decoration: none;
	position: relative;
}
div.linkarea ul li a:after{
	content: "＞";
	display: block;
	font-size:30px;
	position: absolute;
	top:calc(50% - 22px);
	right:0.4em;
	transform: translateX(-3px) scaleX(0.6);
}
div.linkarea ul li:last-child a:after{
	content: "\f2d2";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	right:0.75em;
	transform:none;
}



/* ==================================================================
//
// aside
//
//================================================================== */
article aside > div{
	display: flex;
	width:980px;
	margin:70px auto;
	flex-wrap: wrap;
	justify-content: space-between;
}
article aside > div h2{
	width:100%;
	margin:1em 0;
	color:#004a82;
	font-size:38px;
	font-weight:700;
}
article aside > div section{
	width:450px;
	line-height:1.5;
}
article aside > div section h3{
	display: block !important;
	width:100% !important;
	color:#333;
	font-size:24px !important;
}
article aside > div section dl{
}
article aside > div section dl dt{
	margin:1em 0 0 0;
	font-size:18px;
}
article aside > div section dl dd{
	margin:0.5em 0 0 0;
	padding:0 0 0 22px;
	font-size:14px;
}
article aside > div section dl a{
	text-decoration: none;
}
article aside > div section dl a:before{
	content: "＞";
	display: inline-block;
	padding:0 4px 0 0;
	transform: translateX(-3px) scaleX(0.6);
}

/* _blank */
article aside > div section dl a[href*="//"]:after{
	content: "\f2d2";
	padding:0 0 0 10px;
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
}



/* ==================================================================
//
// etc
//
//================================================================== */
.lo_center{
	display: table;
	margin:30px auto;
}
