html,
body {
	margin: 0;
	font-size: 10px;
	font-size: 62.5%;
	
}
body {
	font-family: Arial, Meiryo, sans-serif;
	color: #606060;
}

* {
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p {
	margin: 0;
}

.container {
	width: 100%;
	height: 100%;
	min-height: 100%;
}

/* Header */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 136px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
	background-color: #fff;
	z-index: 2;
}
header .inner {
	position: relative;
	width: 1280px;
	height: 100%;
	margin: 0 auto;
}
header h1 {
	position: absolute;
	top: 28px;
	left: 50%;
	width: auto;
	height: 32px;
	transform: translateX(-50%);
}
header h1 a {
	width: 100%;
	height: 100%;
	display: block;
}
header h1 img {
	width: auto;
	height: 100%;
}

header .telBox {
	position: absolute;
	top: 28px;
	right: 0;
	display: flex;
}
header .telBox p {
	position: relative;
	height: 32px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1;
	margin: 0;
	margin-right: 24px;
	padding: 5px 0 5px 40px;
}
header .telBox p:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 32px ;
	height: 32px;
	background-image: url("../img/header_tel_icn.png");
	background-size: 100%;
	transform: translateY(-50%);
	content: "";
}
header .telBox a {
	position: relative;
	width: 160px;
	height: 32px;
	color: #fff;
	font-size: 1.3rem;
	text-align: center;
	line-height: 1;
	text-decoration: none;
	background-color: #2f40af;
	border-radius: 16px;
	padding: 10px 0 10px 24px;
	transition: .3s;
	display: block;
}
header .telBox a:before {
	position: absolute;
	top: 50%;
	left: 32px;
	width: 16px;
	height: 16px;
	background-image: url("../img/button_mail_icn.png");
	background-size: 100%;
	transform: translateY(-50%);
	content: "";
}
header .telBox a:hover {
	color: #fff;
	background-color: #608fff;
}

/* Navi */
#spNaviBtn,
#spNaviMenu,
#spNavi {
	display: none;
}
#pcNavi {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
}
#pcNavi > ul {
	width: 100%;
	background-image: url("../img/nav_back.gif");
	background-repeat: no-repeat;
	background-size: 1278px 100%;
	background-position: center;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
}
#pcNavi > ul > li {
	width: 213px;
	height: 48px;
}
#pcNavi > ul > li > a {
	position: relative;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: auto 16px;
	background-position: center 4px;
	line-height: 0;
	text-align: center;
	padding: 0;
	cursor: pointer;
	display: block;
	outline: none;
}
#pcNavi > ul > li > a:before,
#pcNavi > ul > li:last-of-type > a:after {
	position: absolute;
	top: 0;
	width: 1px;
	height: 24px;
	background-color: #afafaf;
	content: "";
}
#pcNavi > ul > li > a:before {
	left: 0;
}
#pcNavi > ul > li:last-of-type > a:after {
	right: 0;
}
#pcNavi > ul > li > a > img {
	height: 100%;
	transition: .3s;
}
#pcNavi > ul > li > a > span {
	position: absolute;
	left: 50%;
	bottom: 14px;
	width: 6px;
	height: 6px;
	border-left: solid 1px #2f40af;
	border-bottom: solid 1px #2f40af; 
	transform: translateX(-50%) rotate(-45deg);
	transition: .3s;
}
#pcNavi > ul > li > a:hover > img {
	opacity: 0;
}
#pcNavi > ul > li > a:hover > span {
	bottom: 8px;
}

/* Mega Navi */
.megaNavBox {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: rgba(24, 32, 104, .9);
	padding: 0;
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease;
}
.megaNavBox.active {
	visibility: visible;
	opacity: 1;
	z-index: 1;
}
.megaNavBox .inner {
	position: relative;
	width: 1280px;
	margin: 0 auto;
	padding: 24px 0 32px;
}
.megaNavBox p {
	position: relative;
	width: 100%;
	font-size: 1.6rem;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	border-bottom: solid 1px #fff;
	margin: 0;
	padding: 4px 0 14px 36px;
	display: block;
}
.megaNavBox p:after {
	position: absolute;
	top: 2px;
	left: 8px;
	width: 20px;
	height: 20px;
	background-image: url("../img/meganav_title_icn.png");
	background-size: 20px 20px;
	content: "";
}
.megaNavBox .childBoxes {
	width: 100%;
	height: 100%;
	padding: 16px 0 0;
	display: flex;
}
.megaNavBox .childBoxes .childBox {
	padding: 0 0 0 24px;
}
.megaNavBox .childBoxes .childBox:first-of-type {
	padding: 0;
}
.megaNavBox .childBoxes .childBox.child_1  {
	width: 100%;
}
.megaNavBox .childBoxes .childBox.child_2  {
	width: 50%
}
.megaNavBox .childBoxes .childBox.child_3  {
	width: calc(100% / 3);
}
.megaNavBox .childBoxes .childBox ul {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}
.megaNavBox .childBoxes .childBox ul:first-of-type {
	margin: 0;
}
.megaNavBox .childBoxes .childBox ul:after {
	content: "";
	display: block;
	clear: both;
}
.megaNavBox .childBoxes .childBox ul span {
	height: 32px;
	color: rgba(255, 255, 255, .4);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	margin: 0 0 6px;
	padding: 8px;
	border-bottom: solid 1px rgba(255, 255, 255, .3);
	display: block;
}
.megaNavBox .childBoxes .childBox ul li {
	float: left;
}
.megaNavBox .childBoxes .childBox ul.col_1 li {
	width: 100%;
}
.megaNavBox .childBoxes .childBox ul.col_2 li {
	width: 50%;
}
.megaNavBox .childBoxes .childBox ul.col_3 li {
	width: calc(100% / 3);
}
.megaNavBox .childBoxes .childBox ul.col_4 li {
	width: 25%;
}
.megaNavBox .childBoxes .childBox ul li a {
	position: relative;
	height: 32px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	text-decoration: none;
	padding: 8px;
	padding-left: 24px;
	display: inline-block;
	outline: none;
}
.megaNavBox .childBoxes .childBox ul li a:before {
	position: absolute;
	top: 50%;
	left: 8px;
	width: 6px;
	height: 6px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	display: inline-block;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}
.megaNavBox .childBoxes .childBox ul li a:after {
	position: absolute;
	bottom: 4px;
	left: 8px;
	width: 0;
	border-bottom: solid 1px #fff;
	content: "";
	transition: .3s;
}
.megaNavBox .childBoxes .childBox ul li a:hover:after {
	width: calc(100% - 8px);
}

/* Eyecatch */
.eyecatch {
	position: fixed;
	top: 136px;
	left: 0;
	width: 100%;
	height: calc(100vh - 136px);
	z-index: -1;
	overflow: hidden;
}
.eyecatch .fadeImage {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0;
	animation: crossFade 25s linear infinite;
	filter:brightness(0.9);
}
.eyecatch .fadeImage:nth-child(1) {
	background-image: url("../img/eyecatch_01.jpg");
	animation-delay: 0s;
}
.eyecatch .fadeImage:nth-child(2) {
	background-image: url("../img/eyecatch_02.jpg");
	animation-delay: 5s;
}
.eyecatch .fadeImage:nth-child(3) {
	background-image: url("../img/eyecatch_03.jpg");
	animation-delay: 10s;
}
.eyecatch .fadeImage:nth-child(4) {
	background-image: url("../img/eyecatch_04.jpg");
	animation-delay: 15s;
}
.eyecatch .fadeImage:nth-child(5) {
	background-image: url("../img/eyecatch_05.jpg");
	animation-delay: 20s;
}
@keyframes crossFade {
	0% {
		opacity: 0;
		transform: scale(1);
	}
	8% {
		opacity: 1;
	}
	20% {
		opacity: 1;
	}
	28% {
		opacity: 0;
		transform: scale(1.1);
	}
	100% {
		opacity: 0;
	}
}
.eyecatch img.title {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 32%;
	transform: translate(-50%, -50%);
	animation-name: titleFade;
	animation-duration: 4.0s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes titleFade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Scroll Line */
a.scrollLine {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 17px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1;
	padding: 0 0 48px;
	overflow: hidden;
	text-decoration: none;
	writing-mode: vertical-rl;
	z-index: 1;
}
a.scrollLine:before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 96px;
	content: "";
	background-color: rgba(255, 255, 255, .3);
}
a.scrollLine:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 96px;
	background-color: #fff;
	content: "";
	animation: sdl 1.8s cubic-bezier(1, 0, 0, 1) infinite;
	transform: translateX(-50%);
}
@keyframes sdl {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}

/* Contents */
.contents {
	position: relative;
	background-color: #fff;
	margin: 100vh 0 0;
	padding: 0;
	z-index: 1;
}

/* News */
#newsBox {
	position: relative;
	width: 100%;
	padding: 80px 0;
	z-index: 1;
}
#newsBox .inner {
	position: relative;
	width: 1280px;
	margin: 0 auto;
	display: flex;
}
#newsBox .leftBox {
	position: relative;
	width: 400px;
	height: auto;
}
#newsBox .leftBox h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#newsBox .leftBox h2 img {
	width: auto;
	height: 64px;
	display: block;
}
#newsBox .leftBox h2 a {
	position: relative;
	width: 100%;
	height: 32px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: lighter;
	text-align: center;
	line-height: 1;
	text-decoration: none;
	background-color: #2f40af;
	border-radius: 16px;
	margin: 24px auto 0;
	padding: 9px 0;
	display: block;
	cursor: pointer;
	transition: .3s;
}
#newsBox .leftBox h2 a:hover {
	color: #fff;
	background-color: #608fff;
}
#newsBox .rightBox {
	width: calc(100% - 400px);
	height: 100%;
}
#newsBox .rightBox .attentionBox p {
	position: relative;
	color: #f00;
	font-size: 1.4rem;
	line-height: 160%;
	border: solid 1px #f00;
	border-radius: 8px;
	margin: 0 0 08px;
	padding: 9px 8px 8px 40px;
}
#newsBox .rightBox .attentionBox p a {
	color: #f00;
}
#newsBox .rightBox .attentionBox p a:hover {
	text-decoration: none;
}
#newsBox .rightBox .attentionBox p:last-of-type {
	margin: 0 0 24px;
}
#newsBox .rightBox .attentionBox p span {
	position: absolute;
	top: 50%;
	left: 8px;
	width: 24px;
	height: 24px;
	line-height: 1;
	text-align: center;
	border: solid 1px #f00;
	border-radius: 12px;
	padding: 4px 0;
	transform: translateY(-50%);
	display: block;
}
#newsBox .rightBox ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}
#newsBox .rightBox ul li {
	width: 240px;
	height: 40px;
	margin-right: 8px;
}
#newsBox .rightBox ul li:first-of-type {
	width: 120px;
}
#newsBox .rightBox ul li a {
	position: relative;
	width: 100%;
	height: 32px;
	color: #a0a0a0;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
	background-color: #eaeaea;
	border-radius: 4px;
	margin: 0;
	padding: 9px 0;
	display: block;
	cursor: pointer;
}	
#newsBox .rightBox ul li a:hover {
	color: #fff;
	background-color: #608fff;
}
#newsBox .rightBox ul li a.current {
	color: #fff;
	font-weight: bold;
	background-color: #2f40af;
	cursor: auto;
}
#newsBox .rightBox ul li a.current:after {
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #2f40af;
	transform: translateX(-50%);
	content: "";
	display: block;
}
#newsBox .rightBox .newsListBox p {
	color: #f00;
	font-size: 1.4rem;
	margin: 16px 0;
}
#newsBox .rightBox table {
	width: 100%;
	margin: 8px 0 0;
	border-collapse: collapse;
	table-layout: fixed;
}
#newsBox .rightBox table tr {
	border-bottom: solid 1px #cfcfcf;
}
#newsBox .rightBox table th,
#newsBox .rightBox table td {
	height: 56px;
}
#newsBox .rightBox table th {
	width: 240px;
	font-size: 1.4rem;
	font-weight: lighter;
	text-align: left;
	padding: 0 8px;
}
#newsBox .rightBox table th span {
	width: 120px;
	height: 24px;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1;
	border-radius: 12px;
	margin: 0 0 0 16px;
	padding: 5px 0;
	display: inline-block;
}
#newsBox .rightBox table th span.info {
	color: #608fff;
	border: solid 1px #608fff;
}
#newsBox .rightBox table th span.event {
	color: #00af00;
	border: solid 1px #00af00;
}
#newsBox .rightBox table th span.recruit {
	color: #ff6f00;
	border: solid 1px #ff6f00;
}
#newsBox .rightBox table td {
	font-size: 1.4rem;
	line-height: 168%;
	padding: 8px 0;
}
#newsBox .rightBox table td a {
	color: #404040;
}
#newsBox .rightBox table td a:hover {
	color: #4a6fff;
	text-decoration: none;
}

/* PickUp */
#pickupBox {
	position: relative;
	width: 100%;
	background-color: rgba(74, 111, 255, .1);
	padding: 64px 0 80px;
	overflow: hidden;
	z-index: 1;
}
#pickupBox .inner {
	position: relative;
	width: 1280px;
	margin: 0 auto;
}
#pickupBox h2 {
	text-align: center;
	line-height: 0;
}
#pickupBox h2 img {
	height: 64px;
}
#pickupBox ul {
	list-style: none;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
#pickupBox ul {
	margin: 48px 0 0;
}
#pickupBox ul li {
	height: auto;
	opacity: 0;
}
#pickupBox ul li {
	width: 232px;
	height: 160px;
}
#pickupBox ul li:first-of-type {
	transform: translate(0, 16%);
}
#pickupBox ul li:nth-of-type(2) {
	transform: translate(0, 40%);
}
#pickupBox ul li:nth-of-type(3) {
	transform: translate(0, 64%);
}
#pickupBox ul li:nth-of-type(4) {
	transform: translate(0, 88%);
}
#pickupBox ul li:last-of-type {
	transform: translate(0, 112%);
}
#pickupBox ul li.isShow {
	transform: translate(0, 0);
	transition: 2.0s;
	opacity: 1;
}
#pickupBox ul li a {
	position: relative;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: 8px;
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	display: block;
}
#pickupBox ul li a img {
	position: absolute;
	top: 32px;
	left: 50%;
	width: 64px;
	height: 64px;
	transform: translateX(-50%);
	display: block;
	transition: .4s;
}
#pickupBox ul li a:hover img {
	transform: translateX(-50%) scale(1.2);
}
#pickupBox ul li a h3 {
	position: absolute;
	bottom: 24px;
	width: 100%;
	color: #606060;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
	transition: .4s;
}
#pickupBox ul li a:hover h3 {
	color: #608fff;
}

/* Future */
#futureBoxes {
	margin: 80px 0 0;
}
#futureBoxes .futureBox {
	position: relative;
	display: flex;
}
#futureBoxes .futureBox:first-of-type:after,
#futureBoxes .futureBox:nth-of-type(2):after,
#futureBoxes .futureBox:nth-of-type(3):after {
	position: absolute;
	background-color: rgba(74, 111, 255, .1);
	content: "";
	z-index: -1;
}
#futureBoxes .futureBox .photoBox,
#futureBoxes .futureBox .introBox {
	opacity: 0;
}
#futureBoxes .futureBox .photoBox img {
	width: 520px;
	height: 320px;
	border-radius: 8px;
	margin: 0;
	padding: 0;
	object-fit: cover;
}
#futureBoxes .futureBox .introBox {
	position: relative;
	width: calc(100% - 520px);
	margin: 0;
	padding: 0;
}
#futureBoxes .futureBox .introBox .innerBox {
	position: absolute;
	width: 72%;
}
#futureBoxes .futureBox .introBox .innerBox h3 {
	width: auto;
	height: 40px;
}
#futureBoxes .futureBox .introBox .innerBox h3 img {
	width: auto;
	height: 100%;
}
#futureBoxes .futureBox .introBox .innerBox p {
	font-size: 1.4rem;
	line-height: 200%;
	margin: 16px 0 0;
	word-break: break-all;
}
#futureBoxes .futureBox .introBox .innerBox a {
	position: relative;
	width: 200px;
	height: 32px;
	color: #fff;
	font-size: 1.4rem;
	text-decoration: none;
	line-height: 1;
	text-align: center;
	background-color: #2f40af;
	border-radius: 16px;
	margin: 24px auto 0;
	padding: 9px 0;
	display: block;
	transition: .4s;
}
#futureBoxes .futureBox .introBox .innerBox a:after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 16px;
	height: 16px;
	background-image: url("../img/more_icn.png");
	background-size: 100%;
	transform: translateY(-50%);
	transition: .4s;
	content: "";
}
#futureBoxes .futureBox .introBox .innerBox a:hover {
	color: #fff;
	background-color: #608fff;
}
#futureBoxes .futureBox .introBox .innerBox a:hover:after {
	right: 6px;
}
/* Future_1 */
#futureBoxes .futureBox:first-of-type:after {
	right: calc(0px - ((100vw - 1280px) / 2));
	width: 24%;
	height: 144%;
}
#futureBoxes .futureBox:first-of-type .photoBox {
	padding: 48px 0 80px;
	transform: translate(-16%, 0);
}
#futureBoxes .futureBox:first-of-type .introBox {
	transform: translate(8%, 0);
}
#futureBoxes .futureBox:first-of-type .introBox .innerBox {
	left: 32px;
	bottom: 80px;
}
/* Future_2 */
#futureBoxes .futureBox:nth-of-type(2):after {
	top: -128px;
	left: calc(0px - ((100vw - 1280px) / 2));
	width: 56%;
	height: 88%;
}
#futureBoxes .futureBox:nth-of-type(2) .introBox {
	transform: translate(-8%, 0);
}
#futureBoxes .futureBox:nth-of-type(2) .introBox .innerBox h3 {
	text-align: right;
}
#futureBoxes .futureBox:nth-of-type(2) .introBox .innerBox {
	right: 32px;
	bottom: 80px;
}
#futureBoxes .futureBox:nth-of-type(2) .photoBox {
	padding: 0 0 80px;
	transform: translate(16%, 0);
}
/* Future_3 */
#futureBoxes .futureBox:nth-of-type(3):after {
	bottom: -200px;
	right: calc(0px - ((100vw - 1280px) / 2));
	width: 72%;
	height: 128%;
}
#futureBoxes .futureBox:nth-of-type(3) .photoBox {
	padding: 0 0 80px;
	transform: translate(-16%, 0);
}
#futureBoxes .futureBox:nth-of-type(3) .introBox {
	transform: translate(8%, 0);
}
#futureBoxes .futureBox:nth-of-type(3) .introBox .innerBox {
	left: 32px;
	bottom: 80px;
}
/* Future_4 */
#futureBoxes .futureBox:nth-of-type(4) .introBox {
	transform: translate(-8%, 0);
}
#futureBoxes .futureBox:nth-of-type(4) .introBox .innerBox h3 {
	text-align: right;
}
#futureBoxes .futureBox:nth-of-type(4) .introBox .innerBox {
	right: 32px;
	bottom: 0;
}
#futureBoxes .futureBox:nth-of-type(4) .photoBox {
	padding: 0;
	transform: translate(16%, 0);
}
/* Future Show */
#futureBoxes .futureBox .photoBox.isShow,
#futureBoxes .futureBox .introBox.isShow {
	transform: translate(0, 0);
	transition: 2.0s;
	opacity: 1;
}

/* Access */
#accessBox {
	position: relative;
	width: 100%;
	background-color: #fff;
	padding: 64px 0 80px;
	z-index: 1;
}
#accessBox .inner {
	position: relative;
	width: 1280px;
	margin: 0 auto;
}
#accessBox h2 {
	text-align: center;
	line-height: 0;
}
#accessBox h2 img {
	height: 64px;
}
#accessBox .mapBox {
	position: relative;
	width: 100%;
	height: 480px;
	border: solid 1px #afafaf;
	border-radius: 8px;
	margin: 48px 0 0;
	overflow: hidden;
	transform: translate(0, 32%);
	opacity: 0;
}
#accessBox .mapBox iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 150px + 150px);
	border: none;
	border-radius: 8px;
}
#accessBox .mapBox a {
	position: absolute;
	top: 16px;
	left: 16px;
	width: 128px;
	height: 32px;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	background-color: #2f40af;
	border-radius: 16px;
	padding: 10px 0;
	transition: .3s;
	display: block;
}
#accessBox .mapBox a:hover {
	color: #fff;
	background-color: #608fff;
}
#accessBox .methodBoxes {
	height: 200px;
	display: flex;
	margin: 32px 0 0;
	justify-content: space-between;
	transform: translate(0, 32%);
	opacity: 0;
}
#accessBox .methodBox {
	width: 304px;
	padding: 32px 0 0;
}
#accessBox .methodBox:first-of-type {
	padding: 0;
}
#accessBox .methodBox:first-of-type img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: cover;
}
#accessBox .methodBox .trafficBox {
	position: relative;
	height: 100%;
	border: solid 1px #2f40af;
	border-radius: 8px;
	padding: 64px 24px 0;
}
#accessBox .methodBox .trafficBox p {
	font-size: 1.4rem;
	line-height: 168%;
}
#accessBox .methodBox .trafficBox p img {
	width: 24px;
	vertical-align: -3px;
	margin-right: 6px;
}
#accessBox .methodBox .trafficBox .iconBox {
	position: absolute;
	top: -32px;
	left: 50%;
	width: 64px;
	height: 88px;
	text-align: center;
	transform: translateX(-50%);
}
#accessBox .methodBox .trafficBox .iconBox img {
	width: 64px;
	margin-bottom: 4px;
}
#accessBox .methodBox .trafficBox .iconBox span {
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
	color: #2f40af;
}
#accessBox .mapBox.isShow,
#accessBox .methodBoxes.isShow {
	transform: translate(0, 0);
	transition: 2.0s;
	opacity: 1;
}

/* Banner */
#bannerBox {
	position: relative;
	width: 100%;
	background-color: rgba(0, 0, 0, .06);
	padding: 80px 0;
	overflow: hidden;
	z-index: 1;
}
#bannerBox .inner {
	width: 1280px;
	margin: 0 auto;
}
#bannerBox ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
#bannerBox ul li a {
	width: 264px;
	height: 80px;
	display: block;
}
#bannerBox ul li a img {
	width: 100%;
	border-radius: 8px;
	transition: .3s;
}
#bannerBox ul li a:hover img {
	opacity: .7;
}

/* Footer */
footer {
	position: relative;
	width: 100%;
	background-color: #0f2060;
	padding: 0;
}
footer .inner {
	position: relative;
	width: 1280px;
	margin: 0 auto;
	padding: 48px 0;
}
footer .footerBoxes {
	display: flex;
}
footer .footerBox {
	position: relative;
	width: calc((100% - 40%) / 3);
}
footer .footerBox:first-of-type {
	width: 40%;
	border-right: solid 1px rgba(255, 255, 255, .3);
}
footer .logoBox {
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	transform: translate(-50%, -50%);
}
footer .logoBox img {
	height: 40px;
}
footer .logoBox p {
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	margin: 4px 0 0;
	white-space: nowrap;
}
footer .logoBox p:last-of-type {
	margin: 16px 0 0;
}
footer .footerBox:nth-of-type(2) {
	padding-left: 24px;
}
footer .footerBox:nth-of-type(2) nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer .footerBox:nth-of-type(2) nav ul li {
	height: 28px;
	padding: 0;
}
footer .footerBox:nth-of-type(2) nav ul li a {
	position: relative;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	padding-left: 16px;
	text-decoration: none;
}
footer .footerBox:nth-of-type(2) nav ul li a:before {
	position: absolute;
	top: 50%;
	left: 2px;
	width: 4px;
	height: 4px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	display: inline-block;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}
footer .footerBox:nth-of-type(2) nav ul li a:after {
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 0;
	border-bottom: solid 1px #fff;
	content: "";
	transition: .3s;
}
footer .footerBox:nth-of-type(2) nav ul li a:hover:after {
	width: 100%;
}
footer .footerBox:nth-of-type(3) p {
	position: relative;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	padding: 0 0 16px 32px;
}
footer .footerBox:nth-of-type(3) p:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	background-size: 100%;
	content: "";
}
footer .footerBox:nth-of-type(3) p:first-of-type:before {
	background-image: url("../img/footer_tel_icn.png");
}
footer .footerBox:nth-of-type(3) p:last-of-type:before {
	background-image: url("../img/footer_fax_icn.png");
}
footer .footerBox:nth-of-type(3) a {
	position: relative;
	width: 168px;
	height: 32px;
	color: #fff;
	font-size: 1.3rem;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	border: solid 1px #fff;
	border-radius: 16px;
	margin: 0;
	padding: 9px 0 9px 24px;
	display: block;
	transition: .3s;
}
footer .footerBox:nth-of-type(3) a:before {
	position: absolute;
	top: 50%;
	left: 32px;
	width: 16px;
	height: 16px;
	background-image: url(../img/button_mail_icn.png);
	background-size: 100%;
	transform: translateY(-50%);
	content: "";
}
footer .footerBox:nth-of-type(3) a:hover {
	background-color: #608fff;	
}
footer .footerBox:nth-of-type(4) .receptionBox {
	background-color: rgba(0, 0, 0, .2);
	border-radius: 8px;
	padding: 16px 16px 16px;
}
footer .footerBox:nth-of-type(4) .receptionBox strong {
	color: #fff;
	font-size: 1.3rem;
	line-height: 1;
	text-align: center;
	padding: 0;
	align-items: center;
	display: flex;
}
footer .footerBox:nth-of-type(4) .receptionBox strong:before,
footer .footerBox:nth-of-type(4) .receptionBox strong:after {
	height: 1px;
	flex-grow: 1;
	background-color: rgba(255, 255, 255, .3);
	content: "";
}
footer .footerBox:nth-of-type(4) .receptionBox strong:before {
	margin-right: 8px;
}
footer .footerBox:nth-of-type(4) .receptionBox strong:after {
	margin-left: 8px;
}
footer .footerBox:nth-of-type(4) .receptionBox ul {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}
footer .footerBox:nth-of-type(4) .receptionBox ul li {
	height: 32px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
}
footer .footerBox:nth-of-type(4) .receptionBox ul li:last-of-type {
	font-size: 1.3rem;
}
footer .footerBox:nth-of-type(4) .receptionBox ul li span {
	width: 80px;
	height: 24px;
	font-size: 1.2rem;
	background-color: rgba(255, 255, 255, .16);
	border-radius: 4px;
	text-align: center;
	margin-right: 8px;
	padding: 6px 0;
	display: inline-block;
}

@media screen and (max-width: 520px) {
	/* Header*/
	header {
		height: 64px;
	}
	header .inner {
		width: 90%;
	}
	header h1 {
		top: 20px;
		height: 24px;
	}
	header h1 img {
		height: 24px;
	}
	header .telBox {
		display: none;
	}
	
	/* Navi Button */
	#pcNavi {
		display: none;
	}
	
	#spNaviBtn {
		position: fixed;
		top: 22px;
		right: calc((100% - 90%) / 2);
		width: 24px;
		height: 20px;
		z-index: 4;
		display: block;
	}
	.spNaviBtn span {
		position: absolute;
		top: 0;
		display: block;
		width: 24px;
		height: 1px;
		background-color: #2f40af;
		border-radius: 1px;
		transition: all .3s;
	}
	.spNaviBtn span:nth-of-type(2) {
		top: 50%;
		opacity: 1;
		transition: all .3s;
		transform: translateY(-50%);
	}
	.spNaviBtn span:last-of-type {
		top: 19px;
	}
	.spNaviBtn_on span:first-of-type {
		top: 8px;
		right: -1px;
		width: 24px;
		background-color: #fff;
		transform: rotate(-45deg);
	}
	.spNaviBtn_on span:nth-of-type(2) {
		transform: translateX(0);
		opacity: 0;
	}
	.spNaviBtn_on span:last-of-type {
		top: 8px;
		right: -1px;
		width: 24px;
		background-color: #fff;
		transform: rotate(45deg);
	}
	
	/* Navi */
	#spNaviMenu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(24, 32, 104, .9);
		padding: 64px 0;
		overflow-y: scroll;
		display: none;
		z-index: 3;
	}
		
	#spNavi {
		list-style: none;
		margin: 0;
		padding: 0 24px;
		display: block;
	}
	#spNavi .telBox {
		position: relative;
		width: 100%;
		border-radius: 8px;
		margin: 32px 0 0;
		display: flex;
	}
	#spNavi .telBox p {
		position: relative;
		width: calc(100% - 144px);
		height: 32px;
		color: #fff;
		font-size: 2.2rem;
		font-weight: bold;
		line-height: 1;
		padding: 6px 0 6px 32px;
	}
	#spNavi .telBox p:before {
		position: absolute;
		top: 4px;
		left: 0;
		width: 24px;
		height: 24px;
		background-image: url("../img/footer_tel_icn.png");
		background-size: 100%;
		content: "";
	}
	#spNavi .telBox a {
		position: relative;
		width: 144px;
		height: 32px;
		color: #fff;
		font-size: 1.3rem;
		text-decoration: none;
		text-align: center;
		line-height: 1;
		border: solid 1px #fff;
		border-radius: 16px;
		padding: 9px 0 9px 24px;
		display: block;
	}
	#spNavi .telBox a:before {
		position: absolute;
		top: 50%;
		left: 20px;
		width: 16px;
		height: 16px;
		background-image: url(../img/button_mail_icn.png);
		background-size: 100%;
		transform: translateY(-50%);
		content: "";
	}
	#spNavi .childBoxes .childBox {
		margin: 0;
	}
	#spNavi .childBoxes .childBox > p,
	#spNavi .childBoxes .childBox > a {
		position: relative;
		height: 48px;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1;
		padding: 17px 8px 0;
		border-bottom: solid 1px #fff;
	}
	#spNavi .childBoxes .childBox > a {
		text-decoration: none;
		display: block;
	}
	#spNavi .childBoxes .childBox > p img {
		position: absolute;
		top: 14px;
		right: 8px;
		width: 20px;
		height: 20px;
		transition: .3s;
	}
	#spNavi .childBoxes .childBox > p.selected img {
		transform: rotate(180deg);
	}
	#spNavi .childBoxes .childBox > ul {
		list-style: none;
		margin: 0;
		padding: 8px 0;
		display: none;
	}
	#spNavi .childBoxes .childBox > ul > li > a {
		position: relative;
		height: 32px;
		color: #fff;
		font-size: 1.3rem;
		line-height: 1;
		text-decoration: none;
		padding: 11px 8px 11px 24px;
		display: block;
		outline: none;
	}
	#spNavi .childBoxes .childBox > ul > li > a:before {
		position: absolute;
		top: 50%;
		left: 8px;
		width: 6px;
		height: 6px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		display: inline-block;
		content: "";
		transform: translateY(-50%) rotate(45deg);
	}
	#spNavi .childBoxes .childBox .grandChildBoxes {
		margin: 0 0 8px;
		display: none;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes p {
		position: relative;
		width: 100%;
		height: 40px;
		color: rgba(255, 255, 255, .5);
		font-size: 1.3rem;
		font-weight: 900;
		line-height: 1;
		margin: 0;
		padding: 15px 8px 0;
		border-bottom: solid 1px rgba(255, 255, 255, .4);
	}
	#spNavi .childBoxes .childBox .grandChildBoxes p span {
		position: absolute;
		top: 15px;
		right: 13px;
		width: 10px;
		height: 10px;
		transform: rotate(0deg);
		transition: .3s;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes p span:before {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1px;
		height: 10px;
		background-color: #fff;
		transform: translateY(-50%) rotate(0deg);
		display: block;
		content: "";
	}
	#spNavi .childBoxes .childBox .grandChildBoxes p span:after {
		position: absolute;
		top: 50%;
		left: 0;
		width: 10px;
		height: 1px;
		background-color: #fff;
		transform: translateY(-50%) rotate(0deg);
		display: block;
		content: "";
	}
	#spNavi .childBoxes .childBox .grandChildBoxes p.selected span {
		transform: rotate(90deg);
	}
	#spNavi .childBoxes .childBox .grandChildBoxes p.selected span:after {
		opacity: 0;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul {
		list-style: none;
		margin: 0;
		padding: 4px 0 8px 8px;
		display: none;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul:after {
		content: "";
		display: block;
		clear: both;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul li {
		position: relative;
		height: 32px;
		float: left;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul.col_1 li {
		width: 100%;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul.col_2 li {
		width: 50%;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul li a {
		height: 100%;
		color: #fff;
		font-size: 1.3rem;
		line-height: 1;
		padding: 11px 8px 0 16px;
		display: block;
		text-decoration: none;
	}
	#spNavi .childBoxes .childBox .grandChildBoxes ul li a:before {
		position: absolute;
		top: 50%;
		left: 0;
		width: 6px;
		height: 6px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		display: inline-block;
		content: "";
		transform: translateY(-50%) rotate(45deg);
	}
	
	/* Eyecatch */
	.eyecatch {
		top: 64px;
		height: 64vh;
		z-index: -1;
	}
	.eyecatch img.title {
		width: 80%;
	}
	/* Scroll Line */
	a.scrollLine {
		font-size: 1.0rem;
		padding: 0 0 40px;
	}
	a.scrollLine:before {
		height: 88px;
	}
	a.scrollLine:after {
		height: 88px;
	}
	
	/* Contents */
	.contents {
		height: auto;
		background-color: #fff;
		margin-top: calc(64vh + 64px);
		z-index: 1;
	}
	
	/* News */
	#newsBox {
		padding: 8px 0 32px;
	}
	#newsBox .inner {
		width: 90%;
		display: block;
	}
	#newsBox .leftBox {
		width: 100%;
		height: 168px;
	}
	#newsBox .leftBox h2 img {
		height: 56px;
	}
	#newsBox .leftBox h2 a {
		width: 100%;
		height: 24px;
		font-size: 1.2rem;
		border-radius: 12px;
		margin: 16px 0 0;
		padding: 6px 0;
		transition: none;
	}
	#newsBox .leftBox h2 a:hover {
		color: #fff;
		background-color: #2f40af;
	}
	#newsBox .rightBox {
		width: 100%;
		padding: 16px 0;
	}
	#newsBox .rightBox p {
		line-height: 144%;
	}
	#newsBox .rightBox ul li {
		width: calc((100% - 64px) / 2);
		height: 32px;
		margin-right: 4px;
	}
	#newsBox .rightBox ul li:last-of-type {
		margin: 0;
	}
	#newsBox .rightBox ul li:first-of-type {
		width: 64px;
	}
	#newsBox .rightBox ul li a {
		font-size: 1.3rem;
	}	
	#newsBox .rightBox ul li a:hover {
		color: #a0a0a0;
		background-color: #eaeaea;
	}
	#newsBox .rightBox ul li a.current {
		color: #fff;
		background-color: #2f40af;
		cursor: auto;
	}

	#newsBox .rightBox table th,
	#newsBox .rightBox table td {
		width: 100%;
		height: auto;
		display: block;
	}
	#newsBox .rightBox table th {
		height: 44px;
		padding: 0;
		padding: 16px 0 4px;
	}
	#newsBox .rightBox table th span {
		width: 104px;
		height: 20px;
		font-size: 1.1rem;
		padding: 4px 0;
		vertical-align: 2px;
	}
	#newsBox .rightBox table td {
		padding: 0 0 16px;
		line-height: 168%;
	}
	#newsBox .rightBox table td a:hover {
		color: #606060;
		text-decoration: underline;
	}
	
	/* PickUp */
	#pickupBox {
		padding: 48px 0 56px;
	}
	#pickupBox .inner {
		width: 90%;
	}
	#pickupBox h2 img {
		height: 56px;
	}
	#pickupBox ul {
		display: block;
		justify-content: normal;
	}
	#pickupBox ul li {
		width: 100%;
		height: 72px;
		margin: 0 0 8px;
		opacity: 0;
	}
	#pickupBox ul li a {
		box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
	}
	#pickupBox ul li a img {
		top: 50%;
		left: 16px;
		width: 40px;
		height: 40px;
		transform: translateY(-50%);
		transition: none;
	}
	#pickupBox ul li a:hover img {
		transform: translateY(-50%) scale(1);
	}
	#pickupBox ul li a h3 {
		top: 50%;
		bottom: auto;
		left: 72px;
		width: auto;
		text-align: left;
		transform: translateY(-50%);
		transition: none;
	}
	#pickupBox ul li a:hover h3 {
		color: #606060;
	}
	
	/* Future */
	#futureBoxes {
		margin: 64px 0 0;
	}
	#futureBoxes .futureBox {
		position: relative;
		display: block;
	}
	#futureBoxes .futureBox .photoBox {
		width: 88%;
		height: 200px;
	}
	#futureBoxes .futureBox .photoBox img {
		width: 100%;
		height: 100%;
	}
	#futureBoxes .futureBox .introBox {
		width: 80%;
		padding: 16px 0 48px;
	}
	#futureBoxes .futureBox .introBox .innerBox {
		position: relative;
		width: 100%;
	}
	#futureBoxes .futureBox .introBox .innerBox h3 {
		height: 32px;
	}
	#futureBoxes .futureBox .introBox .innerBox p {
		line-height: 168%;
	}
	#futureBoxes .futureBox .introBox .innerBox a {
		width: 168px;
		margin: 16px auto 0;
		transition: none;
	}
	/* Future_1 */
	#futureBoxes .futureBox:first-of-type:after {
		top: -32px;
		right: calc(0px - ((100vw - 100%) / 2));
		width: 48%;
		height: 120%;
	}
	#futureBoxes .futureBox:first-of-type .photoBox {
		padding: 0;
	}
	#futureBoxes .futureBox:first-of-type .introBox {
		margin: 0 0 0 auto;
	}
	#futureBoxes .futureBox:first-of-type .introBox .innerBox {
		left: auto;
		bottom: auto;
	}
	/* Future_2 */
	#futureBoxes .futureBox:nth-of-type(2):after {
		top: 288px;
		left: calc(0px - ((100vw - 100%) / 2));
		width: 80%;
		height: 72%;
	}
	#futureBoxes .futureBox:nth-of-type(2) .introBox {
		margin: 0;
		padding-top: calc(200px + 16px);
	}
	#futureBoxes .futureBox:nth-of-type(2) .introBox .innerBox {
		right: auto;
		bottom: auto;
	}
	#futureBoxes .futureBox:nth-of-type(2) .photoBox {
		position: absolute;
		top: 0;
		right: 0;
		padding: 0;
	}
	/* Future_3 */
	#futureBoxes .futureBox:nth-of-type(3):after {
		top: 320px;
		bottom: auto;
		right: calc(0px - ((100vw - 100%) / 2));
		width: 56%;
		height: 100%;
	}
	#futureBoxes .futureBox:nth-of-type(3) .photoBox {
		padding: 0;
	}
	#futureBoxes .futureBox:nth-of-type(3) .introBox {
		margin: 0 0 0 auto;
	}
	#futureBoxes .futureBox:nth-of-type(3) .introBox .innerBox {
		left: auto;
		bottom: auto;
	}
	/* Future_4 */
	#futureBoxes .futureBox:nth-of-type(4) .introBox {
		margin: 0;
		padding-top: calc(200px + 16px);
		padding-bottom: 0;
	}
	#futureBoxes .futureBox:nth-of-type(4) .introBox .innerBox {
		right: auto;
		bottom: auto;
	}
	#futureBoxes .futureBox:nth-of-type(4) .photoBox {
		position: absolute;
		top: 0;
		right: 0;
		padding: 0;
	}
	/* Future Show */
	#futureBoxes .futureBox .photoBox.isShow,
	#futureBoxes .futureBox .introBox.isShow {
		transform: translate(0, 0);
	}
	
	/* Access */
	#accessBox {
		padding: 48px 0 56px;
	}
	#accessBox .inner {
		width: 90%;
	}
	#accessBox h2 img {
		height: 56px;
	}
	#accessBox .mapBox {
		height: 400px;
		transform: translate(0, 24%);
	}
	#accessBox .mapBox a {
		top: 8px;
		left: 8px;
		width: 120px;
		height: 24px;
		border-radius: 12px;
		padding: 7px 0;
		transition: none;
	}
	#accessBox .mapBox a:hover {
		color: #fff;
		background-color: #2f40af;
	}
	#accessBox .methodBoxes {
		height: auto;
		display: block;
		margin: 16px 0 0;
		transform: translate(0, 16%);
	}
	#accessBox .methodBox {
		width: 100%;
		margin: 8px 0 0;
		padding: 24px 0 0;
	}
	#accessBox .methodBox:first-of-type {
		margin: 0;
	}
	#accessBox .methodBox:nth-of-type(2) {
		margin: 16px 0 0;
	}
	#accessBox .methodBox .trafficBox {
		padding: 48px 24px 16px;
	}
	#accessBox .methodBox .trafficBox .iconBox {
		top: -24px;
		height: auto;
	}
	#accessBox .methodBox .trafficBox .iconBox img {
		width: 48px;
		display: block;
		margin: 0 auto 4px;
	}
	#accessBox .methodBox .trafficBox .iconBox span {
		font-size: 1.2rem;
	}
	
	/* Banner */
	#bannerBox {
		padding: 48px 0;
	}
	#bannerBox .inner {
		width: 90%;
	}
	#bannerBox ul {
		flex-wrap: wrap;
	}
	#bannerBox ul li {
		width: 50%;
		padding: 0 0 8px;
	}
	#bannerBox ul li:nth-of-type(odd) {
		padding-right: 4px;
	}
	#bannerBox ul li:nth-of-type(even) {
		padding-left: 4px;
	}
	#bannerBox ul li a {
		width: 100%;
		height: auto;
	}
	#bannerBox ul li:nth-of-type(3),
	#bannerBox ul li:last-of-type {
		padding-bottom: 0;
	}
	#bannerBox ul li a img {
		transition: none;
	}
	#bannerBox ul li a:hover img {
		opacity: 1;
	}
	
	/* Footer */
	footer .inner {
		width: 90%;
		padding: 0 0 48px;
	}
	footer .footerBoxes {
		display: block;
	}
	footer .footerBox {
		width: 100%;
	}
	footer .footerBox:first-of-type {
		width: 100%;
		height: 168px;
		border-right: none;
		border-bottom:  solid 1px rgba(255, 255, 255, .3);
	}
	footer .footerBox:nth-of-type(2) {
		padding-left: 0;
	}
	footer .logoBox img {
		height: 32px;
	}
	footer .logoBox p {
		font-size: 1.1rem;
	}
	footer .logoBox p:last-of-type {
		font-size: 1.0rem;
		margin: 16px 0 0;
	}
	footer .footerBox:nth-of-type(2) nav ul {
		margin: 24px 0 0;
		display: flex;
		flex-wrap: wrap;
	}
	footer .footerBox:nth-of-type(2) nav ul li {
		width: 50%;
	}
	footer .footerBox:nth-of-type(2) nav ul li a:hover:after {
		width: 0;
	}
	footer .footerBox:nth-of-type(3) {
		margin: 16px 0 0;
	}
	footer .footerBox:nth-of-type(3) p {
		width: 168px;
		font-size: 2.0rem;
		margin: 0 auto;
		padding: 3px 0 16px 32px;
	}
	footer .footerBox:nth-of-type(3) a {
		margin: 0 auto;
		transition: none;
	}
	footer .footerBox:nth-of-type(3) a:hover {
		background: none;
	}
	footer .footerBox:nth-of-type(4) .receptionBox {
		margin: 32px 0 0;
		padding: 24px 24px 16px;
	}
	footer .footerBox:nth-of-type(4) .receptionBox ul li span {
		background-color: rgba(255, 255, 255, .1);
	}
}

@media screen and (min-width:1600px) {
	#futureBoxes .futureBox:first-of-type:after {
		width: 40%;
	}
	#futureBoxes .futureBox:nth-of-type(2):after {
		width: 72%;
	}
	#futureBoxes .futureBox:nth-of-type(3):after {
		width: 88%;
	}
}