@charset "UTF-8";
input[type=email], input[type=tel], input[type=text] {
	border: 1px solid #0c66b9;
	outline: 0;
	padding: 7.5px 15px;
	width: 100%
}
textarea {
	border: 1px solid #0c66b9;
	min-height: 200px;
	outline: 0;
	padding: 7.5px 15px;
	width: 100%
}
button {
	border: none;
	outline: 0;
	-webkit-transition: .2s;
	transition: .2s
}
.button {
	display: block;
	font-size: 20px;
	line-height: 1;
	margin: 7.5px;
	max-width: 400px;
	text-align: center;
	padding: 15px;
	width: 100%
}
.button:hover {
	opacity: .8;
	text-decoration: none
}
.button.button-small {
	font-size: 14px;
	padding: 13px
}
.button.button-cta-primary {
	background: #0c66b9;
	color: #fff
}
.button.button-cta-secondary {
	background: #9a9a9a;
	color: #fff
}
.button.with-icon {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.button.with-icon .icon {
	margin-right: 3px
}
.button.with-icon .icon img {
	display: block;
	width: 18px
}
html {
	scroll-behavior: smooth
}
body {
	color: #000;
	font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
	font-size: 18px;
	line-height: 1.618;
	overflow-x: hidden;
	scroll-padding-top: 165px;
	width: 100vw
}
@media screen and (max-width:767px) {
	body {
		font-size: 14px
	}
}
a {
	cursor: pointer;
	text-decoration: none;
	-webkit-transition: .2s;
	transition: .2s
}
a:hover {
	text-decoration: underline
}
h1 {
	font-size: 64px
}
h2 {
	font-weight: 900;
	margin: 120px 0 45px;
	text-align: center
}
h2 .main {
	display: block;
	font-size: 28px
}
h2 .sub {
	display: block;
	color: #0c66b9;
	font-size: 18px
}
@media screen and (max-width:1024px) {
	h2 {
		margin: 90px 0 30px
	}
}
@media screen and (max-width:767px) {
	h2 {
		margin: 45px 0 22.5px
	}
	h2 .main {
		font-size: 24px
	}
}
p {
	font-size: 18px;
	margin: 0 0 15px 0
}
@media screen and (max-width:767px) {
	p {
		font-size: 14px
	}
}
ul {
	list-style: none;
	margin: 0;
	padding: 0
}
ul li {
	list-style: none;
	margin: 0;
	padding: 0
}
img {
	display: block;
	height: auto;
	width: 100%
}
.forPC {
	display: block
}
@media screen and (max-width:767px) {
	.forPC {
		display: none
	}
}
.forSP {
	display: none
}
@media screen and (max-width:767px) {
	.forSP {
		display: block
	}
}
header {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	left: 0;
	padding: 0 15px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10
}
header .logo {
	height: 70px
}
header .logo img {
	height: 100%;
	width: auto
}
header menu {
	height: 120px;
	margin: 0;
	padding: 0
}
header menu ul {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%
}
header menu ul li {
	height: 100%;
	margin: 0 15px
}
header menu ul li a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 4px solid #fff;
	border-top: 4px solid #fff;
	color: #000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: 900;
	height: 100%
}
header menu ul li a:hover {
	border-bottom: 4px solid #0c66b9;
	text-decoration: none
}
header .buttons {
	width: 200px
}
@media screen and (max-width:1024px) {
	header .logo img {
		padding: 7.5px
	}
	header menu {
		display: none
	}
	header .buttons {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: auto
	}
	header .buttons .button {
		width: 200px
	}
}
@media screen and (max-width:767px) {
	header {
		padding: 0
	}
	header .logo {
		height: 60px
	}
	header .logo img {
		padding: 7.5px
	}
	header menu {
		display: none
	}
	header .buttons {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: auto
	}
	header .buttons .button {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		height: 60px;
		margin: 0;
		padding: 0;
		width: 90px
	}
	header .buttons .button .icon {
		margin: 0
	}
	header .buttons .button .icon img {
		margin: 0 auto 7.5px
	}
	header .buttons .button .text {
		font-size: 10px
	}
}
footer .container .row {
	display: block
}
footer .container .row .logo {
	margin: 60px auto 30px;
	width: 160px
}
footer .container .row .copy {
	margin: 30px auto;
	text-align: center
}
@media screen and (max-width:767px) {
	footer .container .row .logo {
		margin: 30px auto 15px;
		width: 120px
	}
	footer .container .row .copy {
		margin: 15px auto
	}
}
#hero {
	margin-top: 120px;
	position: relative
}
#hero video {
	display: block;
	width: 100%
}
#hero .container {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: rgba(12, 102, 185, .8);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	margin: 0;
	max-width: 100%;
	padding: 0;
	position: absolute;
	top: 0;
	z-index: 1
}
#hero .container .row {
	color: #fff;
	margin: 0 auto;
	max-width: 900px;
	padding: 0 5%;
	position: relative;
	text-align: center
}
#hero .container .row h1 {
	margin: 0 auto 30px
}
#hero .container .row .scroll {
	margin: 120px auto 0;
	position: absolute;
    right: 0;
    left: 0;
    bottom: -100%;
}
#hero .container .row .scroll .mousey {
	background: #fff;
	border-radius: 100%;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 54px;
	margin: 15px auto;
	padding: 0 15px;
	width: 24px;
}
#hero .container .row .scroll .mousey .scroller {
	-webkit-animation-duration: 2.2s;
	animation-duration: 2.2s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: scroll;
	animation-name: scroll;
	-webkit-animation-timing-function: cubic-bezier(.15, .41, .69, .94);
	animation-timing-function: cubic-bezier(.15, .41, .69, .94);
	height: 24px;
	width: 24px
}
@-webkit-keyframes scroll {
	0% {
		opacity: 0
	}
	10% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1
	}
	100% {
		-webkit-transform: translateY(28px);
		transform: translateY(28px);
		opacity: 0
	}
}
@keyframes scroll {
	0% {
		opacity: 0
	}
	10% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1
	}
	100% {
		-webkit-transform: translateY(28px);
		transform: translateY(28px);
		opacity: 0
	}
}
@media screen and (max-width:1024px) {
	#hero {
		margin-top: 70px
	}
	#hero .container .row h1 {
		font-size: 36px
	}
	#hero .container .row .scroll {
		margin: 30px auto 0;
		bottom: -130%;
	}
}
@media screen and (max-width:767px) {
	#hero {
		height: 500px;
		margin-top: 60px
	}
	#hero video {
		height: 100%;
		margin-left: -222px;
		width: auto
	}
	#hero .container .row h1 {
		margin: 0 auto 15px
	}
	#hero .container .row .scroll {
		margin: 15px auto 0;
		bottom: -120%;
	}
}
#message .container {
	max-width: 1120px;
	padding: 5% 5% 0;
}
#message .container h3 {
  text-align: center;
  color: #0c66b9;
  margin: 0 0 1%;
}
#message .container .explain {
  text-align: center;
  font-size: 22px;
}
#message .container .policy {
  border: 1px solid #0c66b9;
  padding: 3% 0 2%;
  margin: 5% 0 0;
}
#message .container .policy h4 {
  text-align: center;
  color: #0c66b9;
  margin: 0 0 1%;
}
#message .container .policy .explain {
  padding: 0 3%;
  text-align: left;
  font-size: 18px;
}
#message .container .policy h5 {
  background: #0c66b9;
  color: #fff;
  padding: 1.5% 3%;
}
#message .container .policy ul {
  padding: 0 3%;
}
#message .container .policy ul li {
  line-height: 2.4em;
}
#message .container .policy ul li:before {
  content: "✔︎";
  margin: 0 1% 0 0;
}
@media screen and (max-width:767px) {
  #message .container h3 {
    font-size: 5vw;
    margin: 0 0 3%;
  }
  #message .container .explain {
    font-size: 3vw;
  }
  #message .container .policy {
    padding: 5% 0;
  }
  #message .container .policy h4 {
    font-size: 4vw;
  }
  #message .container .policy .explain {
    font-size: 3.4vw;
    margin: 3% 0 5%;
  }
  #message .container .policy h5 {
    padding: 3% 5%;
    font-size: 4vw;
  }
  #message .container .policy ul li {
    font-size: 3.4vw;
  }
  #message .container .policy ul li:before {
    margin: 0 3% 0 0;
  }
}
#service .container {
	max-width: 1120px;
	padding: 0 5%
}
#service .container .row {
	margin: 0
}
#service .container .row .box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative
	
}
#service .container .row .box_special {
	display: block;
	position: relative
	
}
#service .container .row .box img {
	height: 100%
}
#service .container .row .box_special img {
	height: 100%
}
#service .container .row .box .text {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1
}
#service .container .row .box_special .text_special {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: block;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
	top: 37.5%;
}
@media screen and (max-width:767px) {
	#service .container .row .col-xs-6 {
		margin-bottom: 15px;
		width: 50%
	}
}
#fleet .container {
	max-width: 1120px;
	padding: 0 5%
}
#fleet .container .row {
	margin: 0
}
#fleet .container .row .box {
	display: block;
	position: relative;
	width: 33%
}
#fleet .container .row .box .box-container {
	padding: 7.5px
}
#fleet .container .row .box .box-container .hover {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #0c66b9;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 18px;
	height: calc(100% - 15px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	left: 7.5px;
	margin: 0;
	opacity: 0;
	position: absolute;
	text-align: center;
	top: 7.5px;
	-webkit-transition: .2s;
	transition: .2s;
	width: calc(100% - 15px)
}
#fleet .container .row .box .box-container .hover span {
	display: block;
	margin: 0 auto;
	width: 100%
}
#fleet .container .row .box .box-container:hover .hover {
	opacity: .8
}
@media screen and (max-width:1024px) {
	#fleet .container .row .box {
		width: 33%
	}
}
@media screen and (max-width:767px) {
	#fleet .container .row .box {
		width: 50%
	}
}
#company .container {
	max-width: 1120px;
	padding: 0 5%
}
#company .container .row {
	margin: 0;
	padding: 0 7.5px
}
#company .container .row ul {
	width: 100%
}
#company .container .row ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
#company .container .row ul li .title {
	background: #0c66b9;
	color: #fff;
	padding: 15px 30px;
	text-align: center;
	width: 250px
}
#company .container .row ul li .content {
	border-bottom: 1px solid #b7b7b7;
	padding: 15px 30px;
	width: calc(100% - 250px)
}
#company .container .row ul li:last-child .content {
	border: none
}
@media screen and (max-width:767px) {
	#company .container .row ul li {
		display: block
	}
	#company .container .row ul li .title {
		padding: 15px 0;
		text-align: center;
		width: 100%
	}
	#company .container .row ul li .content {
		border: none;
		padding: 15px 0;
		width: 100%
	}
}
#group .container {
	max-width: 1120px;
	padding: 0 5%
}
#group .container .row .text {
	background: #0c66b9;
	margin-top: 15px;
	width: 60%
}
#group .container .row .text .text-container {
	padding: 30px
}
#group .container .row .text .text-container img {
	margin-bottom: 15px;
	width: 30px
}
#group .container .row .text .text-container h4 {
	color: #fff;
	font-size: 18px;
	margin: 0 0 15px
}
#group .container .row .text .text-container p {
	color: #fff;
	font-size: 14px;
	margin: 0
}
#group .container .row .img {
	position: absolute;
	right: 0;
	top: 0;
	width: 60%;
	z-index: 1
}
@media screen and (max-width:1023px) {
	#group .container .row .text {
		margin-top: 0;
		width: 100%
	}
	#group .container .row .img {
		position: relative;
		width: 100%
	}
}
@media screen and (max-width:767px) {
	#group .container .row .text .text-container {
		padding: 15px
	}
	#group .container .row .img {
		margin-bottom: 15px
	}
}
#access .container {
	max-width: 1120px;
	padding: 0 5%
}
#access .container .row h3 {
	font-size: 20px;
	font-weight: 900;
	margin: 0 0 30px
}
#access .container .row hr {
	margin: 0;
	border-top: 4px solid #0c66b9;
	width: 45px
}
#access .container .row p {
	margin: 30px 0 0 0
}
#access .container .row iframe {
	height: 400px;
	width: 100%
}
@media screen and (max-width:767px) {
	#access .container .row h3 {
		margin: 0 0 15px
	}
	#access .container .row p {
		margin: 15px 0 0 0
	}
	#access .container .row iframe {
		height: 200px;
		margin-top: 15px
	}
}
#contact .container {
	max-width: 1120px;
	padding: 0 5%
}
#contact .container .row {
	margin: 0;
	display: block
}
#contact .container .row .flow {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
#contact .container .row .flow .step {
	background: #b4b4b4;
	color: #fff;
	height: 48px;
	line-height: 1;
	margin-right: 60px;
	padding: 15px;
	position: relative;
	text-align: center;
	width: 33%
}
#contact .container .row .flow .step:after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	border: 24px solid transparent;
	border-left: 24px solid #b4b4b4
}
#contact .container .row .flow .step.active {
	background: #0c66b9
}
#contact .container .row .flow .step.active:after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	border: 24px solid transparent;
	border-left: 24px solid #0c66b9
}
#contact .container .row .flow1 .consent {
	margin: 30px 0;
	text-align: center
}
#contact .container .row .flow1 .consent .checkbox {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto
}
#contact .container .row .flow1 .consent .checkbox p {
	margin: 0
}
#contact .container .row .flow1 ul {
	margin: 0 auto;
	max-width: 870px
}
#contact .container .row .flow1 ul li {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 10px;
	width: 100%
}
#contact .container .row .flow1 ul li .title {
	padding: 7.5px 0;
	width: 200px
}
#contact .container .row .flow1 ul li .input {
	width: calc(100% - 200px)
}
#contact .container .row .flow1 .cta {
	text-align: center
}
#contact .container .row .flow1 .cta button {
	margin: 30px auto
}
#contact .container .row .flow1 .cta p {
	margin: 0
}
#contact .container .row .flow1 .cta a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
#contact .container .row .flow1 .cta a .icon img {
	width: 40px
}
#contact .container .row .flow1 .cta a .text {
	color: #000;
	font-size: 36px
}
#contact .container .row .flow1 .cta a:hover {
	opacity: .8;
	text-decoration: none
}
#contact .container .row .flow2 {
/*	display: none */
}
#contact .container .row .flow2 ul {
	border-top: 1px solid #b7b7b7;
	margin: 30px auto;
	max-width: 870px
}
#contact .container .row .flow2 ul li {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	border-bottom: 1px solid #b7b7b7;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%
}
#contact .container .row .flow2 ul li .title {
	padding: 15px 0;
	width: 200px
}
#contact .container .row .flow2 ul li .input {
	padding: 15px 0;
	width: calc(100% - 200px)
}
#contact .container .row .flow2 .cta {
	text-align: center
}
#contact .container .row .flow2 .cta button {
	margin: 30px auto
}
#contact .container .row .flow3 {
/*	display: none;*/
	margin: 30px auto;
	text-align: center
}
@media screen and (max-width:767px) {
	#contact .container .row .flow .step {
		margin-right: 15px;
		padding: 15px;
		width: 33%
	}
	#contact .container .row .flow .step:after {
		border-left: 12px solid #b4b4b4
	}
	#contact .container .row .flow .step.active:after {
		border-left: 12px solid #0c66b9
	}
	#contact .container .row .flow1 .consent {
		margin: 22.5px 0
	}
	#contact .container .row .flow1 ul li {
		margin-bottom: 15px
	}
	#contact .container .row .flow1 ul li .title {
		width: 120px
	}
	#contact .container .row .flow1 ul li .input {
		width: calc(100% - 120px)
	}
	#contact .container .row .flow1 .cta button {
		margin: 22.5px auto
	}
	#contact .container .row .flow2 ul {
		margin: 22.5px auto
	}
	#contact .container .row .flow2 ul li .title {
		width: 120px
	}
	#contact .container .row .flow2 ul li .input {
		width: calc(100% - 120px)
	}
	#contact .container .row .flow2 .cta button {
		margin: 22.5px auto
	}
	#contact .container .row .flow3 {
		margin: 22.5px auto
	}
}
#recruit {
	background: url(../images/recruit-bg.png) no-repeat center center/cover;
	margin-top: 120px
}
#recruit .container {
	max-width: 1120px;
	padding: 0 5%;
	background: rgba(10, 10, 10, .5);
	max-width: 100%
}
#recruit .container h2 {
	color: #fff;
	margin: 0;
	padding: 75px 0
}
#recruit .container h2 .sub {
	color: #fff
}
#recruit .container .row {
	margin: 0;
	display: block
}
#recruit .container .row .cta {
	color: #fff;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 75px
}
#recruit .container .row .cta h3 {
	margin-bottom: 30px
}
#recruit .container .row .cta .button {
	margin: 75px auto 0
}
@media screen and (max-width:1024px) {
	#recruit {
		margin-top: 90px
	}
}
@media screen and (max-width:767px) {
	#recruit {
		margin-top: 45px
	}
	#recruit .container h2 {
		padding: 45px 0
	}
	#recruit .container .row .cta {
		padding-bottom: 45px
	}
	#recruit .container .row .cta h3 {
		margin-bottom: 22.5px
	}
	#recruit .container .row .cta .button {
		margin: 45px auto 0
	}
}
.align_c {
	margin: 0 auto;
	text-align: center;
}

#news .container {
    max-width: 1120px;
    padding: 5% 5% 0;
}

.news_inner {
  border: 1px solid #0c66b9;
  padding: 8% 5% 3%;
  text-align: center;
}

.news_inner figure img {
  max-width: 60%;
  margin: 0 auto;
}

.news_inner p {
  margin: 0 0 5%;
}

@media screen and (max-width:767px) {
  .news_inner {
    padding: 5% 5% 1%;
  }
  .news_inner figure img {
    max-width: 100%;
  }
  .news_inner p {
    margin: 0 0 8%;
  }
}