@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500,700&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700;900&display=swap');
/* CSS Document */

/*---リセット---*/
html{ color:#1a1a1a; background:#FFF; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, a { margin:0; padding:0;}
table { border-collapse:collapse; border-spacing:0;}
fieldset, img { border:0; }
address, caption, cite, code, dfn, em, th, var { font-style:normal; font-weight:normal; }
li { list-style:none; }
caption, th { text-align:left; }
h1, h2, h3, h4, h5, h6 { font-size:100%; font-weight:normal; }
q:before, q:after { content:''; }
abbr, acronym {border:0; font-variant:normal; }
sup { vertical-align:text-top; }
sub { vertical-align:text-bottom; }
input, textarea, select { font-family:inherit; font-size:inherit; font-weight:inherit; }
input, textarea, select { *font-size:100%; }
legend { color:#1a1a1a; }
a { text-decoration:none; color: #1a1a1a;}
/*--------------*/

.clearfix:after {
visibility:hidden;
height:0;
display: block;
font-size: 0;
content: " ";
clear: both;
}
* html .clearfix             { zoom: 1; }
*:first-child+html .clearfix { zoom: 1; }


/* base
--------------------------------------------------------------------------------*/

html {
	height: 100%;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	/*font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;*/
	width: 100%;
	min-height: 100%;
	padding: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}



/* header 
--------------------------------------------------------------------------------*/

header {
	
}

header h1 {
	margin: auto;
	max-width: 1000px;
	text-align: center;
	padding: 40px 0 30px 0;
}
header h1 img {
	height: 60px;
}

header ul.nav {
	margin: auto;
	display: table;
	font-size: 14px;
	margin-bottom: 30px;
	text-align: center;
}

header ul.nav li {
	display: table-cell;
	margin: auto;
	
	border-right: 2px solid #000;
	
	position: relative;
	z-index: 2;
	overflow: hidden;
	width: 25%;
}

header ul.nav li:last-child {
	border: none;
}

header ul.nav li a {
	display: block;
	padding: 0 1.5em;
}


header ul.nav li::before,
header ul.nav li::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
header ul.nav li,
header ul.nav li::before,
header ul.nav li::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}


header ul.nav li:hover {
	color: #fff;
}
header ul.nav li:hover a {
	color: #fcff6c;
}
header ul.nav li::after {
	top: -100%;
	left: 0;
	width: 100%;
	height: 100%;
}
header ul.nav li:hover::after {
	top: 0;
	left: 0;
	background-color: #333;
}




/* contents
--------------------------------------------------------------------------------*/

main {
	display: block;
	width: 100%;
}

/* section_base */
section {
	width: 100%;
}

section p.btn {
	vertical-align: middle;
	display: inline-block;
	position: relative;
	padding: 0 30px 0 45px;
	font-size: 17.5px;
}

section p.btn a {
	-webkit-transition: all .3s ease;
	transition:all .3s ease;
}

section p.btn a::before {
	content: url(../img/light.png);
	position: absolute;
	top: 50%;
	left: 5px;
	margin: -19px auto 0 auto;
	-webkit-transition: all .3s ease;
	transition:all .3s ease;
}

section p.btn a::after {
	content: url(../img/arrow.png);
	position: absolute;
	top: 50%;
	right: 5px;
	margin: -19px auto 0 auto;
	-webkit-transition: all .3s ease;
	transition:all .3s ease;
}

section p.btn {
	position: relative;
	z-index: 2;
	height: 43px;
	line-height: 43px;
	overflow: hidden;
}

section p.btn:hover a {
	color: #fcff6c;
}

section p.btn:hover a::before {
	content: url(../img/light_hover.png);
}

section p.btn:hover a::after {
	content: url(../img/arrow_hover.png);
}

section p.btn::before,
section p.btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
section p.btn,
section p.btn::before,
section p.btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

section p.btn::after {
	top: -100%;
	left: 0;
	width: 100%;
	height: 100%;
}

section p.btn:hover::after {
	top: 0;
	left: 0;
	background-color: #0071BC;
}


section div.about p.btn,
section#section02 p.btn {
	margin: 50px auto;
	display: table;
}

section p.read_text {
	color: #0071BC;
	font-weight: bold;
	letter-spacing: .15em;
	font-size: 25px;
	text-align: center;
	padding: 50px 0 40px 0;
	width: 85%;
	margin: auto;
	position: relative;
	z-index: 1;
}

section p.contents_text {
	text-align: center;
	line-height: 2em;
	font-size: 18px;
	width: 85%;
	margin: auto;
}


/* top_img */

section#top_img {
	margin-bottom: 75px;
}

section#top_img img {
	width: 100%;
	max-width: 1400px;
	display: block;
	vertical-align: bottom;
	margin: auto;
}

@media screen and (min-width:1400px) {
	section#top_img {
		margin-bottom: 75px;
		background: #004d9d;
		/*background: #efed77;*/
	}
}


/* section01 */

section div.recruit {
	max-width: 1000px;
	width: 90%;
	margin: auto;
	background: #E6E6E6;
	position: relative;
}

section div.recruit h2 {
	position: absolute;
	left: -22px;
	top: 29px;
}

section div.recruit div.recruit_img {
	float: left;
	max-width: 502px;
	width: 50.2%;
}

section div.recruit div.recruit_inner {
	margin-left: 50.2%;
	padding: 30px 0 0 43px;
}

section div.recruit div.recruit_inner p.em {
	color: #0071BC;
	font-size: 30px;
	letter-spacing: .2em;
	margin-bottom: 20px;
}


/* section02 */

section#section02 {
	background: #F2F2F2;
	padding: 0 0 5px 0;
	position: relative;
}

section#section02 ul.contents_list {
	overflow: hidden;
	margin: auto;
	max-width: 1056px;
	width: 90%;
	padding: 0 0 15px 0;
}

section#section02 ul.contents_list li {
	text-align: center;
	width: calc(25% - 2.6%);
	float: left;
	padding: 0 1.3%;
}

section#section02 ul.contents_list li p {
	font-size: 16px;
	margin-top: 1em;
}

section#section02 img.corner01 {
	position: absolute;
	top: 0;
	right: 0;
}

section#section02 img.corner02 {
	position: absolute;
	bottom: 0;
	left: 0;
}


/* section02 */

section#section03 {
	padding: 60px 0;
	max-width: 1000px;
	width: 90%;
	margin: auto;
	overflow: hidden;
}

section#section03 div.add {
	float: left;
	margin-right: 5%;
	text-align: right;
	width: 46%;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
}

section#section03 div.add p.add01 {
	font-size: 26px;
	line-height: 2em;
}

section#section03 div.add p.add02 {
	font-size: 19px;
	margin-top: 1em;
}

section#section03 div.map {
	float: right;
	width: 49%;
}

section#section03 div.map iframe {
	width: 100%;
	height: 300px;
}

footer {
	background: #004d9d;
	color: #fff;
	/*background: #fcff6c;
	color: #4d4d4d;*/
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
	text-align: center;
	padding: 25px 0;
}

footer p.f_title {
	font-size: 15px;
	margin-bottom: 15px
}

footer p.f_add {
	font-size: 13px;
	margin-bottom: 15px
}

footer p.copyright {
	font-size: 11px;
}


@media screen and (max-width: 1400px) {
	section#section02 img.corner01 {
		width: 21.1%;
	}
	section#section02 img.corner02 {
		width: 21.1%;
	}
}

@media screen and (max-width: 1100px) {
	/* section01 */
	
	section div.recruit {
		width: 72%;
	}

	section div.recruit h2 {
		position: absolute;
		left: 0;
		top: 29px;
		margin: auto;
	}

	section div.recruit div.recruit_img {
		float: none;
		max-width: 100%;
		width: 100%;
	}
	
	section div.recruit div.recruit_img img {
		width: 100%;
	}

	section div.recruit div.recruit_inner {
		margin-left: 0;
		padding: 30px 0;
		text-align: center;
	}

	section div.recruit div.recruit_inner p.em {
		font-size: 28px;
	}
}

@media screen and (max-width: 640px) {
	header ul.nav {
		margin: auto;
		display: table;
		font-size: 13px;
		margin-bottom: 30px;
		text-align: center;
	}
	header ul.nav li {
		display: table-cell;
		margin: auto;
		border-right: 1px solid #000;
		width: auto;
	}
	header ul.nav li a {
		padding: 0 .75em;
	}


	section#top_img {
		margin-bottom: 25px;
	}
	section div.recruit {
		width: 90%;
	}
	section div.recruit div.recruit_inner p.em {
		font-size: 21px;
		width: 90%;
		margin: 0 auto 1em auto;
	}
	section#section02 ul.contents_list li {
		width: 45%;
		padding: 0 2.5%;
	}
	section#section02 ul.contents_list li:first-child,
	section#section02 ul.contents_list li:nth-child(2) {
		margin-bottom: 25px;
	}
	
	section#section03 div.add {
		float: none;
		margin-right: 0;
		text-align: center;
		width: 100%;
		margin-bottom: 25px;
	}
	section#section03 div.add p.add01 {
		font-size: 22px;
		line-height: 2em;
	}
	section#section03 div.add p.add02 {
		font-size: 14px;
		margin-top: 1em;
	}
	section#section03 div.map {
		float: none;
		width: 100%;
	}
	section p.read_text {
		font-size: 23px;
	}
	section p.contents_text {
		font-size: 16px;
	}
	footer {
		padding-left: 5%;
		padding-right: 5%;
		width: 90%;
	}
	section#section02 img.corner01 {
		width: 38%;
	}
	section#section02 img.corner02 {
		width: 38%;
	}
	section div.recruit h2 {
		width: 100%;
	}
	section div.recruit h2 img {
		max-width: 50%;
	}
	section p.btn {
		font-size: 16px;
	}
	section#section02 ul.contents_list li p {
		font-size: 14px;
	}
}
