@charset "UTF-8";
/* CSS Document */



/* FONT size
---------------------------------------------------------------------
[ px ]	[ % ]
10px 	72  %		19px 	136 %
11px 	79  %		20px 	143 %
12px 	86 %		21px 	150 %
13px 	93 %		22px 	158 %
14px 	100 %		23px 	165 %
15px 	108 %		24px 	172 %
16px 	115 %		25px 	179 %
17px 	122 %		26px 	186 %
18px 	129 %
---------------------------------------------------------------------*/
body {
	background-color: #000;
	display: block;
}

#loader-bg {
	background-color: #000;
	position: fixed;
	z-index: 99999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	height: 100vh;
	display: block;
	overflow: hidden;
}

#loading {
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -25px;
	margin-left: -25px;
	width: 50px;
	height: 50px;
	border: 5px solid #fff;
	border-right: 5px solid transparent;
	border-radius: 30px;
	animation: loading 1s linear infinite;
}

@keyframes loading {
	to {}

	from {
		transform: rotate(360deg);
		transform-origin: 50% 50%;
	}
}

#top_video {
	width: 100%;
	height: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;
}

#top_video video {
	left: 0;
	min-height: 100%;
	min-height: 100vh;
	min-width: 100%;
	min-width: 100vw;
	position: absolute;
}

.Android video {
	display: none;
}

#top_video div.no_video {
	background: url('../img/bg_video.jpg') no-repeat;
	background-position: center;
	background-size: cover;
	min-height: 100%;
	min-height: 100vh;
	min-width: 100%;
	min-width: 100vw;
	position: absolute;
	left: 0;
	top: 0;
}

.no_video {
	display: none;
}

.Android .no_video {
	display: block !important;
}

#top_video:after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: 0;
	top: 0;
	position: absolute;
	top: 0;
	z-index: 1;
	pointer-events: none;
}

#business .business_img .container{
	background-color: rgba(0, 96, 140, 0.7);
	width: 350px;
	height: 150px;
	margin: auto;
	align-content: center;
}

#business .business_img .container span {
	color:#fff;
	font-size: 20px;
	letter-spacing: 0.5em;
}

#facility,
#access {
	background-color: #fff;
}


#footer {
	background-color: #f9f9f9;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++    PC    ++++++++++++++++++++++++++++++++++++++++++++++  */
@media screen and (min-width: 801px),
print {
	#header_wrap .bar {
		width: 181px;
		left: 0;
	}

	#top_video img {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 2;
		margin-left: -320px;
		margin-top: -66px;
	}

	#header_wrap .logo {
		position: absolute;
		opacity: 0;
		height: 0;
		left: 50%;
		margin-left: -168px;
	}

	header.menu_fixed {
		position: fixed !important;
		z-index: 999;
		top: 0;
	}

	.menu_fixed .logo {
		display: block !important;
		opacity: 1 !important;
		transition: 1s !important;
		height: auto !important;
		padding: 30px 0;
	}

	.menu_fixed #header_wrap ul {
		padding-top: 100px;
		transition: 1s !important;
	}

	h2 {
		text-align: center;
		position: relative;
		padding-top: 96px;
	}

	h2:before {
		position: absolute;
		left: 50%;
		top: 0;
		margin-left: -1px;
		display: inline-block;
		content: "";
		width: 3px;
		height: 65px;
	}

	h2.blue:before {
		background-color: #00358c;
		border-bottom: 16px solid red;
	}

	h2.white:before {
		background-color: #fff;
		border-bottom: 16px solid red;
	}


	#corporate {
		padding-bottom: 320px;
		background-image: url(../img/bg1.jpg);
		background-color: rgba(255, 255, 255, 0.5);
		background-blend-mode: overlay;
		background-position: center;
		background-size: cover;
		position: relative;
	}

	#corporate p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
	}

	#corporate ul {
		text-align: center;
		letter-spacing: -0.4em;
		margin-left: -34px;
	}

	#corporate ul li {
		display: inline-block;
		margin-top: 139px;
		margin-left: 34px;
	}

	#business {
		position: relative;
		padding-bottom: 115px;
		background-image: url(../img/bg2.jpg);
		background-position: center;
		background-size: cover;
	}

	#business .txt_img {
		position: absolute;
		z-index: 800;
		top: 0;
		left: 50px;
		margin-top: -121px;
	}

	#business p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
		color: #fff;
	}

	#business .business_img {
		text-align: center;
		margin-top: 72px;
	}

	#business .business_btn {
		text-align: center;
		margin-top: 120px;
	}

	#business .btn_w {
		border-color: #fff !important;
		width: 400px;
	}

	#facility {
		padding-bottom: 140px;
	}

	#facility>p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
		color: #00358c;
	}

	#facility .s_5_5 {
		width: 952px;
		margin: auto;
		margin-top: 55px;
	}

	#facility .s_5_5>div:nth-of-type(1) {
		float: left;
		width: 50%;
	}

	#facility .s_5_5>div:nth-of-type(2) {
		width: 50%;
		float: right;
		padding-left: 100px;
		box-sizing: border-box;
		padding-top: 40px;
	}

	#facility .s_5_5>div:nth-of-type(2) p {
		text-align: left;
		font-size: 1.15em;
		line-height: 2em;
		letter-spacing: 0.2em;
		margin-bottom: 50px;
	}

	#recruit {
		background-image: url(../img/bg3.jpg);
		background-position: center;
		background-size: cover;
		padding-bottom: 140px;
	}

	#recruit>p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
	}

	#recruit .recruit_btn {
		text-align: center;
		width: 400px;
		margin: auto;
		margin-top: 320px;
	}

	#recruit .recruit_btn .btn_w {
		border-color: #fff !important;
	}

	#access {
		position: relative;
	}

	#access h2 {
		text-align: left;
		margin-bottom: 30px;
	}

	#access h2 img {
		vertical-align: bottom;
	}

	#access h2:before {
		display: none;
	}

	#access address {
		display: block;
	}

	#access_wrap {
		position: absolute;
		width: 550px;
		right: 0;
		top: 0;
		box-sizing: border-box;
		padding: 75px;
		height: 100%;
	}

	.access_btn {
		margin-top: 47px;
	}

	.access_btn a {
		min-width: 230px;
		width: 230px;
		text-align: left;
		letter-spacing: normal;
		padding: 10px 10px 10px 20px;
		box-sizing: border-box;
		font-size: 1.15em;
	}

	#map {
		width: 100％;
		height: 527px;
		;
		margin-right: 550px;
	}

}






/* ++++++++++++++++++++++++++++++++++++++++++++++    sp    ++++++++++++++++++++++++++++++++++++++++++++++  */
@media only screen and (max-width: 800px) {

	#header {
		display: none;
	}

	.hamburger__icon,
	.hamburger__icon:before,
	.hamburger__icon:after {
		background-color: #fff;
	}

	.hamburger__icon:before,
	.hamburger__icon:after {
		background-color: #fff;
	}

	.menu_col_b .hamburger__icon,
	.menu_col_b .hamburger__icon:before,
	.menu_col_b .hamburger__icon:after {
		background-color: #000;
	}

	.menu_col_b .hamburger__icon:before,
	.menu_col_b .hamburger__icon:after {
		background-color: #000;
	}

	#top_video img {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 2;
		width: 90%;
	}



	h2 {
		text-align: center;
		position: relative;
		padding-top: 96px;
	}

	h2 img {
		max-width: 100%;
	}

	h2:before {
		position: absolute;
		left: 50%;
		top: 0;
		margin-left: -1px;
		display: inline-block;
		content: "";
		width: 3px;
		height: 65px;
	}

	h2.blue:before {
		background-color: #00358c;
		border-bottom: 16px solid red;
	}

	h2.white:before {
		background-color: #fff;
		border-bottom: 16px solid red;
	}


	#corporate {
		background-image: url(../img/bg1.jpg);
		background-color: rgba(255, 255, 255, 0.5);
		background-blend-mode: overlay;
		background-position: center;
		background-size: cover;
		padding: 0 20px 320px;
	}

	#corporate p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
	}

	#corporate ul {
		text-align: center;
		letter-spacing: -0.4em;
		margin-top: 100px;
	}

	#corporate ul li {
		display: block;
		width: 100%;
		max-width: 350px;
		margin: auto;
		margin-top: 10px;
	}

	#corporate ul li a {
		max-width: 100%;
	}

	#business {
		padding-bottom: 115px;
		background-image: url(../img/bg2.jpg);
		background-position: center;
		background-size: cover;
		padding: 0 20px 115px;
		position: relative;
	}

	#business .txt_img {
		position: absolute;
		z-index: 800;
		top: 0;
		left: 10px;
		margin-top: -45px;
		width: 200px;
	}

	#business h2 {
		position: relative;
		z-index: 801;
	}

	#business p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
		color: #fff;
	}

	#business .business_img {
		text-align: center;
		margin-top: 72px;
	}

	#business .business_img img {
		width: 80%;
	}

	#business .business_btn {
		text-align: center;
		margin-top: 120px;
	}

	#business .business_btn a {
		max-width: 350px;
	}

	#business .btn_w {
		border-color: #fff !important;
	}

	#facility {
		padding: 0 20px 140px;
	}

	#facility>p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
		color: #00358c;
	}

	#facility .s_5_5 {
		margin: auto;
		margin-top: 55px;
	}

	#facility .s_5_5>div:nth-of-type(1) {
		width: 100%;
	}

	#facility .s_5_5>div:nth-of-type(1) img {
		width: 100%;
	}

	#facility .s_5_5>div:nth-of-type(2) {
		box-sizing: border-box;
		padding-top: 40px;
	}

	#facility .s_5_5>div:nth-of-type(2) p {
		font-size: 1.15em;
		line-height: 2em;
		letter-spacing: 0.2em;
		margin-bottom: 50px;
	}

	#facility .facility_btn {
		text-align: center;
	}

	#facility .facility_btn .btn_b {
		max-width: 350px;
	}

	#recruit {
		background-image: url(../img/bg3.jpg);
		background-position: center;
		background-size: cover;
		padding: 0 20px 140px;
	}

	#recruit>p {
		text-align: center;
		font-weight: bold;
		font-size: 1.15em;
		margin-top: 35px;
	}

	#recruit .recruit_btn {
		margin-top: 150px;
		text-align: center;
	}

	#recruit .recruit_btn .btn_w {
		border-color: #fff !important;
	}

	#recruit .recruit_btn a {
		max-width: 350px;
	}


	#access {
		position: relative;
	}

	#access h2 {
		text-align: left;
		padding-top: 0;
		margin-bottom: 30px;
	}

	#access h2 img {
		vertical-align: bottom;
	}

	#access h2:before {
		display: none;
	}

	#access address {
		display: block;
	}

	#access_wrap {
		padding: 20px;
		width: 100%;
		box-sizing: border-box;
		padding-bottom: 30px;
	}

	.access_btn {
		margin-top: 20px;
	}

	.access_btn a {
		min-width: 230px;
		width: 230px;
		text-align: left;
		letter-spacing: normal;
		padding: 10px 10px 10px 20px;
		box-sizing: border-box;
		font-size: 1.15em;
	}

	#map {
		width: 100％;
		height: 400px;
	}

}