@charset "utf-8";

/* reset
---------------------------------------- */
/* html */
html {
	overflow-x: hidden;
	overflow-y: scroll;
}
@media screen and (max-width:1220px) {
html.is-open { overflow-y: hidden;}
}


/* body */
body {
	margin: 0;
	padding: 180px 0 0 0;
}
body.form { padding-top: 100px;}
@media screen and (max-width:1220px) {
body,
body.form { padding-top: 60px;}
}


/* tools
---------------------------------------- */
/* wrapper */
.wrapper {}

/* inner */
.inner {
	margin: 0 auto;
	padding: 0 10px;
	width: 1220px;
	text-align: justify;
	text-justify: inter-ideograph;
}
body.form .inner { width: 880px;}
@media screen and (max-width:1220px) {
.inner,
body.form .inner { width: auto;}
}


/* fixed
---------------------------------------- */
.fixed {
	position: fixed;
	z-index: 1000;
	top: 0;
	width: 100%;
}


/* overlay
---------------------------------------- */
.overlay-anchor {
	position: fixed;
	z-index: 100;
	width: 100%;
	height: 100%;
	background: #ffffff;
}


/* header
---------------------------------------- */
.header { background: #ffffff;}
	.header-in {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100px;
	}
@media screen and (max-width:1220px) {
	.header-in {
		height: 60px;
		padding-right: 60px;
	}
}

/* header-logo */
.header-logo { line-height: 1;}
@media screen and (max-width:1220px) {
.header-logo { width: 330px;}
}

/* header-utility */
.header-utility {
	display: flex;
	align-items: center;
	margin-top: 4px;
}
	.list-utility {
		list-style: none;
		display: flex;
		margin: 0 15px 0 0;
		padding: 0;
		font-size: 13px;
	}
		.item-utility:not(:last-child) { margin-right: 25px;}
			.link-utility { color: #000000;}
@media screen and (max-width:1220px) {
.header-utility { display: none;}
}


/* nav-global
---------------------------------------- */
.nav-global { background: #ffffff;}
	.nav-global-in { height: 80px;}
		.list-global {
			display: flex;
			list-style: none;
			margin: 0;
			padding: 0;
		}
			.item-global {
				border-left: 1px solid #c9c9c9;
				width: 100%;
			}
			.item-global:first-child,
			.item-global:last-child{ border-left: none;}
				.link-global {
					display: flex;
					justify-content: center;
					align-items: center;
					height: 40px;
					line-height: 1.6;
					font-weight: 700;
					text-align: center;
					color: #000000;
				}
				.link-global-contact {
					margin: -2px 0;
					border: 1px solid #2166bf;
					height: 44px;
					color: #ffffff;
					background: #2166bf;
				}
				.link-global-contact:hover {
					color: #2166bf;
					background: #ffffff;
					opacity: 1;
				}
@media screen and (max-width:1220px) {
.nav-global { display: none;}
}


/* hamburger
---------------------------------------- */
@media screen and (min-width:1221px) {
.hamburger { display: none !important;}
}
.hamburger {
	display: block;
	position: fixed;
	z-index: 10001;
	top: 5px;
	right: 0;
}
	.btn-hamburger {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border-radius: 0;
		border: 10px;
		padding: 30px 0 0 0;
		width: 50px;
		height: 50px;
		line-height: 1;
		font-size: 10px;
		text-align: center;
		color: #000000;
		background: none;
	}
	.is-open .btn-hamburger { color: #ffffff;}
		.line-hamburger {
			display: block;
			position: absolute;
			top: 10px;
			left: 10px;
			width: 30px;
			height: 2px;
			background: #000000;
			transition: all .5s;
		}
		.is-open .line-hamburger { background: #ffffff;}
		.line-hamburger-top {}
		.line-hamburger-middle { margin-top: 8px;}
		.line-hamburger-bottom { margin-top: 16px;}
		.is-open .line-hamburger-top { transform: translateY(6px) rotate(35deg);}
		.is-open .line-hamburger-middle { opacity: 0;}
		.is-open .line-hamburger-bottom { transform: translateY(-10px) rotate(-35deg);}


/* nav-global-sp
---------------------------------------- */
/* nav-global-sp */
@media screen and (min-width:1221px) {
.nav-global-sp { display: none !important;}
}
.nav-global-sp {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	padding: 75px 0 0 0;
	width: 100%;
	height: 100%;
	font-size: 13px;
	color: #ffffff;
	background: #2166bf;
}
	.nav-global-in-sp {
		padding: 0 30px;
		height: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

		.list-global-sp {
			list-style: none;
			margin: 0 0 15px 0;
			padding: 0;
		}
			.item-global-sp:not(:first-child) { border-top: dotted 1px #ffffff;}
				.link-global-sp {
					display: block;
					padding: 10px 0 10px 22px;
					color: #ffffff;
					background: url("../files/ico_arrow_white_right_01.svg") no-repeat left center;
				}

		.contact-global-sp {}
			.link-contact-global-sp {
				display: block;
				border: 1px solid #ffffff;
				line-height: 44px;
				font-weight: 700;
				text-align: center;
				color: #2166bf;
				background: #ffffff;
			}
			.link-contact-global-sp:hover {
				color: #ffffff;
				background: rgba(255, 255, 255, 0.3);
				opacity: 1;
			}

		.list-utility-sp {
			list-style: none;
			margin: 30px 0;
			padding: 0;
			text-align: center;
		}
			.item-utility-sp { margin: 10px 0;}
				.link-utility-sp { color: #ffffff;}
				.link-utility-sp[target="_blank"]::after { content: url("../files/ico_blank_white_01.svg") !important;}


/* main
---------------------------------------- */
.main {}


/* heading
---------------------------------------- */
.heading { background: #f0f6fc;}
	.heading-in {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 180px;
		line-height: 1.6;
		font-weight: 700;
	}
		.txt-heading-en {
			margin: 0;
			font-size: 18px;
		}
		.txt-heading {
			margin: 0;
			max-width: 100%;
			font-size: 36px;
			color: #004493;
		}
@media screen and (max-width:768px) {
	.heading-in { height: 120px;}
		.txt-heading-en { font-size: 15px;}
		.txt-heading { font-size: 24px;}
}


/* contents
---------------------------------------- */
.contents {}
	.contents-in {
		display: flex;
		justify-content: space-between;
		padding-top: 90px;
		padding-bottom: 90px;
	}
@media screen and (max-width:1220px) {
	.contents-in { flex-wrap: wrap;}
}
@media screen and (max-width:768px) {
	.contents-in {
		padding-top: 45px;
		padding-bottom: 45px;
	}
}

/* contents-main
---------------------------------------- */
.contents-main {
	order: 2;
	width: 100%;
}
	.contents-main > *:first-child { margin-top: 0;}
	.contents-main > *:last-child { margin-bottom: 0;}
@media screen and (max-width:1220px) {
.contents-main { order: 1;}
}

/* list-entry-01 */
.list-entry-01 {
	list-style: none;
	margin: 0;
	padding: 0;
}
	.item-entry-01 {
		display: flex;
		flex-wrap: wrap;
	}
	.item-entry-01:not(:last-child) { margin-bottom: 40px;}
		.date-entry-01 {
			margin: 0 20px 0 0;
			font-weight: bold;
		}
		.list-entry-cat-01 {
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			margin: -5px -10px;
			padding: 0;
		}
			.item-entry-cat-01 {
				border: solid 1px #d8d8d8;
				margin: 5px 10px;
				padding: 1px;
				width: 120px;
				font-size: 13px;
				font-weight: 700;
				text-align: center;
			}
			.item-entry-end-01 {
				border-color: #eaeaea;
				background: #eaeaea;
			}
			.item-entry-new-01 {
				border-color: #cb1a10;
				color: #cb1111;
			}
		.ttl-entry-01 {
			margin: 10px 0 0 0;
			width: 100%;
		}
			.link-entry-01 { color: #000000;}

/* meta-info */
.meta-info {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
.meta-info + * { margin-top: 0;}

/* nav-pagination */
.nav-pagination {
	margin: 90px 0;
	text-align: center;
}
@media screen and (max-width:768px) {
.nav-pagination { margin: 45px 0;}
}
	.list-pagination {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: -5px;
		padding: 0;
	}
		.item-pagination { margin: 5px;}
			.link-pagination {
				display: block;
				width: 44px;
				line-height: 44px;
				font-weight: 700;
				text-align: center;
				background: #f0f6fc no-repeat;
			}
			.link-pagination.is-current {
				color: #ffffff;
				background: #2166bf;
			}
			.link-pagination-prev {
				width: 90px;
				padding-left: 20px;
				background-image: url("../files/ico_arrow_blue_left_01.svg");
				background-position: 20px center;
			}
			.link-pagination-next {
				width: 90px;
				padding-right: 20px;
				background-image: url("../files/ico_arrow_blue_right_01.svg");
				background-position: right 20px center;
			}


/* contents-sub
---------------------------------------- */
.contents-sub {
	order: 1;
	flex-shrink: 0;
	margin-right: 80px;
	width: 260px;
}
@media screen and (max-width:1220px) {
.contents-sub { display: none;}
.news .contents-sub {
	display: block;
	margin: 90px 0 -30px 0;
	width: 100%;
}
}

/* nav-local */
.nav-local { border-top: solid 1px #d6d6d6;}
	.list-local {
		list-style: none;
		margin: 40px 0 0 0;
		padding: 0;
	}
		.list-local > li {
			margin: 20px 0;
			font-weight: 700;
		}
			.list-local > li > a { display: inline-block;}
			.list-local-anchor > li > a {
				padding-left: 20px;
				color: #000000;
				background: url("../files/ico_arrow_black_down_01.svg") no-repeat left 11px;
			}
			.list-local-arrow > li > a {
				padding-right: 20px;
				background: url("../files/ico_arrow_black_right_01.svg") no-repeat right center;
			}
			.list-local > li > a > span { font-weight: normal;}


/* cta
---------------------------------------- */
.cta { background: #f0f6fc;}
	.cta-in {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 90px;
		padding-bottom: 90px;
	}
		.ttl-cta {
			margin: 0;
			text-align: center;
			background-position: center bottom;
		}
		.txt-cta {
			margin: 30px 0 !important;
			max-width: 100%;
			font-weight: 700;
		}
		.nav-cta {
			max-width: 100%;
			text-align: center;
		}
@media screen and (max-width:768px) {
	.cta-in {
		padding-top: 45px;
		padding-bottom: 45px;
	}
}


/* note
---------------------------------------- */
.note {}
	.note-in {
		padding-top: 40px;
		padding-bottom: 40px;
	}
		.list-note {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 13px;
		}


/* footer
---------------------------------------- */
.footer {
	border-top: solid 1px #ebebeb;
	border-bottom: solid 1px #ebebeb;
}
	.footer-in {
		padding-top: 90px;
		padding-bottom: 90px;
		display: flex;
	}
		.footer-logo { width: 40%;}
		.nav-footer {
			flex-grow: 1;
			display: flex;
			justify-content: space-between;
		}
			.list-footer {
				list-style: none;
				margin: 0;
				padding: 0;
			}
				.item-footer {
					margin-top: 10px;
					margin-bottom: 10px;
					font-size: 13px;
					font-weight: 700;
				}
				.link-footer { color: #000000;}
@media screen and (max-width:1220px) {
	.footer-in { flex-direction: column;}
		.footer-logo {
			margin-bottom: 45px;
			width: 100%;
			text-align: center;
		}
		body.form .footer-logo { margin-bottom: 0;}
}
@media screen and (max-width:768px) {
	.footer-in {
		padding-top: 45px;
		padding-bottom: 45px;
	}
		.nav-footer { flex-direction: column;}
}


/* copyright
---------------------------------------- */
.copyright { background: #505050;}
	.copyright-in {
		padding-top: 35px;
		padding-bottom: 35px;
		text-align: center;
	}
		.txt-copyright {
			font-size: 13px;
			color: #ffffff;
		}
@media screen and (max-width:768px) {
	.copyright-in {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}
