@charset "utf-8";

/* reset
---------------------------------------- */
/* html */
html {
	overflow-x: hidden;
	overflow-y: scroll;
}

/* body */
body {
	margin: 0;
	padding: 175px 0 0 0;
}
@media screen and (max-width:1220px) {
body { padding-top: 60px;}
}


/* tools
---------------------------------------- */
/* wrapper */
.wrapper {
	width: 100%;
	min-width: 1220px;
}
@media screen and (max-width:1220px) {
.wrapper { min-width: auto;}
}

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


/* fixed
---------------------------------------- */
.fixed {
	position: fixed;
	z-index: 1000;
	top: 0;
	width: 100%;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
}

/* header
---------------------------------------- */
.header {
	border-bottom: solid 1px #e5e5e5;
	background: #ffffff;
}
	.header-in {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 79px;
	}
@media screen and (max-width:1220px) {
	.header-in { height: 59px;}
}

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

/* header-utility */
.header-utility {
	display: flex;
	align-items: center;
}
	.list-utility {
		list-style: none;
		margin: 0 20px 0 0;
		padding: 0;
	}
		.link-utility {
			color: #000000;
		}
	.header-contact {}
		.link-header-contact {
			display: block;
			width: 240px;
			line-height: 79px;
			font-size: 17px;
			text-align: center;
			color: #ffffff;
			background: #ea4335;
		}
		.link-header-contact::before {
			content: url("../files/ico_mail_white_01.svg");
			display: inline-block;
			margin-right: 17px;
			width: 17px;
			height: 17px;
			line-height: 1;
			vertical-align: middle;
		}
@media screen and (max-width:1220px) {
.header-utility { display: none;}
}


/* nav-global
---------------------------------------- */
.nav-global {
	border-bottom: solid 1px #e5e5e5;
	background: #ffffff;
	box-shadow: inset 0px 10px 10px -10px rgba(0, 0, 0, 0.07);
}
	.list-global {
		display: flex;
		list-style: none;
	}
		.item-global {
			position: relative;
			margin-right: 1px;
			width: 100%;
		}
		.item-global:first-child { margin-left: 1px;}
		.item-global:first-child::before,
		.item-global::after {
			content: "";
			position: absolute;
			top: 35px;
			width: 1px;
			height: 24px;
			background: #e5e5e5;
		}
		.item-global:first-child::before { left: -1px;}
		.item-global::after { right: -1px;}
			.link-global {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 94px;
				line-height: 1.6;
				text-align: center;
				color: #000000;
			}
			.link-global.is-current { box-shadow: inset 0 0 25px 0 rgba(0, 0, 100, 0.07);}
			.link-global.is-current::after {
				content: "";
				position: absolute;
				bottom: 0;
				left: 0;
				width: 100%;
				height: 3px;
				background: #3574db;
			}
@media screen and (max-width:1220px) {
.nav-global { display: none;}
}


/* hamburger
---------------------------------------- */
.hamburger { display: none;}
@media screen and (max-width:1220px) {
.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;}
}
@media screen and (max-width:1220px) {
.nav-global-sp {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	box-sizing: border-box;
	padding: 75px 30px 30px 30px;
	width: 100%;
	height: 100%;
	font-size: 13px;
	color: #ffffff;
	background: #3574db;
}
	.list-global-sp {
		list-style: none;
		margin: 0 0 30px 0;
		padding: 0;
	}
		.item-global-sp { border-bottom: 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 {
			width: 100%;
			line-height: 50px;
		}
	.utility-global-sp {
		margin: 30px;
		text-align: center;
	}
		.utility-global-sp { color: #ffffff;}
}


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


/* heading
---------------------------------------- */
.heading {
	background: #f2f2f6 url("../files/bg_heading_01_2x.png") no-repeat left center;
	background-size: contain;
}
	.heading-in {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 250px;
		font-size: 33px;
	}
@media screen and (max-width:1220px) {
	.heading-in {
		text-shadow:0px 3px 1px #f2f2f6,0px 2px 1px #f2f2f6,1px 2px 1px #f2f2f6,2px 2px 1px #f2f2f6,2px 1px 1px #f2f2f6,2px 0px 1px #f2f2f6,3px 0px 1px #f2f2f6,2px -1px 1px #f2f2f6,2px -2px 1px #f2f2f6,2px -3px 1px #f2f2f6,1px -3px 1px #f2f2f6,0px -3px 1px #f2f2f6,-1px -3px 1px #f2f2f6,-2px -3px 1px #f2f2f6,-3px -3px 1px #f2f2f6,-3px -2px 1px #f2f2f6,-3px -1px 1px #f2f2f6,-3px 0px 1px #f2f2f6,-3px 1px 1px #f2f2f6,-3px 2px 1px #f2f2f6,-2px 2px 1px #f2f2f6,-1px 2px 1px #f2f2f6;
	}
}
@media screen and (max-width:768px) {
	.heading-in {
		height: 125px;
		font-size: 25px;
		line-height: 1.5;
	}
}
@media screen and (max-width:480px) {
.heading { background-position-x: -90px;}
}


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

/* 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;
		border: solid 1px #e5e5e5;
		padding: 15px 30px;
	}
	.item-entry-01:not(:first-child) { border-top: none;}
		.date-entry-01 { margin: 0 30px 0 0;}
		.list-entry-cat-01 {
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			margin: -5px;
			padding: 0;
		}
			.item-entry-cat-01 {
				margin: 5px;
				border: solid 1px #e5e5e5;
				border-radius: 14px;
				width: 140px;
				font-size: 13px;
				text-align: center;
			}
			.item-entry-end-01 { background: #e5e5e5;}
			.item-entry-new-01 {
				border-color: #ea4335;
				color: #ea4335;
			}
		.ttl-entry-01 {
			margin: 10px 0 0 0;
			width: 100%;
		}
			.link-entry-01 { color: #000000;}

/* sec-info */
.sec-info {
	border: solid 1px #e5e5e5;
	padding: 30px;
}
	.meta-info {
		display: flex;
		flex-wrap: wrap;
		margin: -15px 0;
	}
	.ttl-info {
		margin: 30px -30px;
		padding: 30px;
		font-size: 17px;
		font-weight: inherit;
		color: #ffffff;
		background: #3574db;
	}
@media screen and (max-width:480px) {
.sec-info {
	border: none;
	padding: 0;
}
	.ttl-info {
		margin-right: 0;
		margin-left: 0;
		padding: 15px 10px;
	}
}

/* nav-pagination */
.nav-pagination { margin: 30px 0 -30px 0 !important;}
	.list-pagination {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		margin: -2.5px;
	}
	.list-pagination-archive { justify-content: center;}
		.item-pagination { margin: 2.5px;}
			.link-pagination {
				display: block;
				border: solid 1px #e5e5e5;
				padding: 6px;
				min-width: 40px;
				font-size: 13px;
				text-align: center;
				color: #000000;
			}
			.link-pagination.is-current {
				border-color: #3574db;
				color: #ffffff;
				background: #3574db;
			}
			.link-pagination-prev {
				padding-right: 10px;
				padding-left: 29px;
				background: url("../files/ico_arrow_aqua_left_01.svg") no-repeat 6px center;
			}
			.link-pagination-next {
				padding-right: 29px;
				padding-left: 10px;
				background: url("../files/ico_arrow_aqua_right_01.svg") no-repeat right 6px center;
			}
@media screen and (max-width:480px) {
.nav-pagination { margin-top: 60px !important;}
}


/* contents-sub
---------------------------------------- */
.contents-sub {
	order: 1;
	margin-right: 70px;
	width: 320px;
	flex-shrink: 0;
}
@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 {}
	.list-local {
		border-top: solid 7px #3574db;
		list-style: none;
		margin: 0;
		padding: 0;
	}
		.item-local {
			border: solid 1px #e5e5e5;
			border-top: none;
		}
			.link-local {
				display: block;
				padding: 15px 15px 15px calc(15px + 1.5em);
				background: url("../files/ico_arrow_aqua_right_01.svg") no-repeat 15px 23.5px;
				color: #000000;
			}


/* cta
---------------------------------------- */
.cta { background: #fbbc05;}
	.cta-in {
		padding-top: 50px;
		padding-bottom: 50px;
	}
		.box-cta {
			height: 230px;
			text-align: right;
			padding: 77.5px;
			background: #ffffff url("../files/bg_cta_01_2x.png") no-repeat left center;
			background-size: contain;
		}
			.link-cta {
				display: inline-block;
				border: none;
				border-radius: 5px;
				padding: 22.5px;
				width: 390px;
				max-width: 100%;
				font-size: 17px;
				text-align: center;
				color: #ffffff;
				background: #ea4335;
			}
			.link-cta::before {
				content: url("../files/ico_mail_white_01.svg");
				display: inline-block;
				margin-right: 17px;
				width: 17px;
				height: 17px;
				line-height: 1;
				vertical-align: middle;
			}
@media screen and (max-width:768px) {
		.box-cta {
			padding-right: 10px;
			padding-left: 10px;
			text-align: center;
			background-size: cover;
		}
}


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


/* footer
---------------------------------------- */
.footer { border-bottom: solid 1px #e5e5e5;}
	.footer-in {
		padding-top: 60px;
		padding-bottom: 60px;
		display: flex;
	}
	.footer-logo { width: 300px;}
	.nav-footer {
		flex-grow: 1;
		display: flex;
		justify-content: space-between;
	}
		.list-footer {
			margin: 0;
			border-left: solid 1px #e5e5e5;
			padding-left: 30px;
		}
			.item-footer {
				margin-top: 10px;
				margin-bottom: 10px;
			}
				.link-footer { color: #000000;}
@media screen and (max-width:1220px) {
	.footer-logo {
		margin-bottom: 30px;
		width: 100%;
		text-align: center;
	}
	.footer-in { flex-direction: column;}
		.list-footer { margin-right: 30px;}
		.list-footer:first-child {
			flex-shrink: 0;
			border-left: none;
			padding-left: 0;
		}
		.list-footer:last-child {
			flex-shrink: 0;
			margin-right: 0;
		}
}
@media screen and (max-width:768px) {
	.nav-footer { flex-direction: column;}
		.list-footer {
			margin-bottom: -10px;
			border-left: none;
			padding: 0;
		}
}


/* copyright
---------------------------------------- */
.copyright {}
	.copyright-in {
		padding-top: 40px;
		padding-bottom: 40px;
		text-align: center;
	}
		.txt-copyright { font-size: 13px;}
@media screen and (max-width:480px) {
	.copyright-in {
		display: flex;
		align-items: center;
		padding: 0 110px 0 10px;
		height: 110px;
	}
}


/* pagetop
---------------------------------------- */
.pagetop {}
	.link-pagetop {
		position: fixed;
		right: 26px;
		bottom: 26px;
	}

