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


/* kv */

.kv-sec {
	position: relative;
	color: #fff;
	height: 100vh;
}
.kv__company-name {
	position: absolute;
	left: 3%;
	top: 35%;
	z-index: 10;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 24px;
	font-weight: bold;
	font-family: 'Lato', sans-serif;
	font-style: italic;
	letter-spacing: 0.2em;
}
.kv-sec__inner {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 900px;
	z-index: 10;
}
.kv-sec__inner-contents {
	position: relative;
	width: 100%;
	height: 100%;
}
.kv__logo {
	position: absolute;
	top: 30%;
	left: 0;
}
.kv__message {
	position: absolute;
	top: 40%;
	right: 0;
	font-size: 30px;
}
.kv__message-text01 {
	display: block;
	border: solid 2px #fff;
	font-weight: bold;
	padding: 20px;
	margin-bottom: 20px;
}
.kv__message-text02 {
	display: block;
	border: solid 2px #fff;
	font-weight: bold;
	padding: 20px;
}
.main__swiper-container img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	font-family: 'object-fit: cover;'; 
	object-position: 50%;
}

.scroll {
  position: absolute;
  right: 0;
  bottom: 15%;
  left: 0;
  width: 100px;
  height: 20px;
  text-decoration: none;
  color: #fff;
  display: inline-block;
  margin: auto;
  z-index: 20;
}
.scroll span {
  font-size: 17px;
  color: #fff;
  text-align: center;
  display: inline-block;
  font-family: 'Lato', sans-serif;
  font-style: italic;
}
 
.arrow {
  position: absolute;
  top: 35px;
  left: 25px;
  animation: 2s arrow-animation infinite ease-in-out;
  width: 0;
  height: 50px;
  border: 0.5px solid #fff;
  z-index: 20;
}
.arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: -2px;
  width: 1px;
  height: 10px;
  border-top: 10px solid #fff;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
}
 
@keyframes arrow-animation {
  0% {
    height: 10px;
  }
  70% {
    height: 50px;
  }
}

/* intro */

.intro-sec {
	width: 100%;
}
.intro-sec__inner {
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
	background-color: #fff;
}
.intro-sec__text {
	font-size: 18px;
	font-weight: bold;
	line-height: 2em;
	padding: 50px 0;
}
.intro-sec__img-thumb {
	
}
.intro-sec__img {
	object-fit: cover;
	font-family: 'object-fit: cover;'; 
	width: 100%;
	height: 320px;
}
body, html, main {  
height: 100%; 
}
	
.cd-fixed-bg {
 height: 240px;
 padding:10% 0;
}

.cd-fixed-bg::before{
 background: url("../images/top-intro-img.png");
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 /*background-attachment: fixed;*/
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 padding: 10% 0;
 content: "";
 z-index: -1;
}	
.cd-scrolling-bg {     
min-height: 100%; 
} 
  
/*
.cd-fixed-bg {     
min-height: 100%; 
height: 280px;
background-size: cover;     
background-attachment: fixed;     
background-repeat: no-repeat;     
background-position: center center;
 }   
.cd-fixed-bg.cd-bg-1 {   
background-image: url("../images/top-intro-img.png"); 
}

*/

/* service */

.service-sec {
	width: 100%;
	background-color: #fff;
}
.service-sec__inner {
	max-width: 980px;
	margin: 0 auto;
	padding: 70px 0;
	text-align: center;
}
.service-sec__text {
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 30px;
}
.service-sec__conteiner {
	max-width: 1024px;
	justify-content: space-between;
}
.service-sec__item {
	width: 32%;
}
.service-sec__img-thumb {
	width: 100%;
}
.service-sec__img {
	max-width: 100%;
}

/* works */

.works-sec {
	width: 100%;
	background-color: #fff;
	padding-bottom: 30px;
}

.works-sec__inner {
	position: relative;
	width: 90%;
	margin: 0 auto;
	padding: 70px 0;
	background-color: #F0F1F2;
}
.works-sec__inner::before {
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	width: 145px;
	height: 145px;
	background-image: url("../images/top-works-object.png");
}
.works-sec__swiper-inner {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}
.service-sec__img {
	object-fit: cover;
	font-family: 'object-fit: cover;'; 
	width: 100%;
}
.works-sec__item-title {
	font-size: 16px;
	display: block;
	text-align: left;
}

/* bannerlinks */

.bannerlinks-sec {
	width: 100%;
	padding: 30px 0;
	background-color: #fff;
}
.bannerlinks-sec__inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 0px 4%;
}

.bannerlinks-sec__inner a:hover img {
	opacity: 0.7;
}
.bannerlinks__conteiner {
	max-width: 100%;
	height: 220px;
	margin-bottom: 30px;
	background-color: #002034;
}
.bannerlinks__company {
	display: block;
	width: 100%;
	position: relative;
}
.bannerlinks__company::before {
	position: absolute;
	content: '';
	display: inline-block;
	background-image: url("../images/top-banner-object.png");
    background-repeat: no-repeat;
	width: 100px;
	height: 100px;
	z-index: 30;
}
.bannerlinks__img {
	object-fit: cover;
	width: 100%;
	height: 220px;
	-webkit-transition: all .1s;
    transition: all 1s;
}
.bannerlinks__recruit {
	display: block;
	width: 100%;
	position: relative;
}
.bannerlinks__recruit::before {
	position: absolute;
	right: 0;
	content: '';
	display: inline-block;
	background-image: url("../images/top-banner-object.png");
    background-repeat: no-repeat;
	width: 100px;
	height: 100px;
	transform: rotate(90deg);
	-ms-transform:rotate(90deg);
	-webkit-transform:rotate(90deg);
	-moz-transform:rotate(90deg);
	z-index: 30;
}
.bannerlinks__title-box--company {
	position: absolute;
	top: 30%;
	left: 20%;
	text-align: center;
	width: 300px;
}
.bannerlinks__title-box--recruit {
	position: absolute;
	top: 30%;
	right: 20%;
	text-align: center;
	width: 300px;
}
.bannerlinks__title-company {
	position: relative;
}
.bannerlinks__title-company::before {
	position: absolute;
	left: 0;
	top: 20px;
	content: '';
	display: inline-block;
	background-image: url("../images/top-banner-arrow.png");
	width: 300px;
	height: 18px;
}
.bannerlinks__title-recruit {
	position: relative;
}
.bannerlinks__title-recruit::before {
	position: absolute;
	left: 0;
	top: 20px;
	content: '';
	display: inline-block;
	background-image: url("../images/top-banner-arrow.png");
	width: 300px;
	height: 18px;
	transform: scale(-1, 1);
    filter: FlipH;
    -ms-filter: "FlipH";
}
.bannerlinks__title-jp {
	display: block;
	padding-bottom: 10px;
	color: #fff;
	font-size: 18px;
}
.bannerlinks__title-en {
	display: block;
	padding-top: 18px;
	color: #fff;
	font-size: 40px;
	letter-spacing: 0.1em;
	font-family: 'Lato', sans-serif;
	font-style: italic;
}

/* movie */

.movie-sec {
	width: 100%;
	padding: 70px 0;
	height: auto;
	background-color: #002034;
	color: #fff;
}
.movie-sec__inner {
	max-width: 1024px;
	margin: 0 auto;
	text-align: center;
}
.movie-sec__content {
	position: relative;
	padding-bottom: 56.25%;
}
.movie-sec__content video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width:1100px){
	
	.service-sec__inner {
	width: 90%;
	margin: 0 auto;
}
	
	.works-sec__inner {
	width: 90%;
	margin: 0 auto;
}
	.movie-sec__inner {
	width: 90%;
	margin: 0 auto;
	}
}

@media screen and (max-width:768px){
	
	.kv__logo {
		width: 60%;
		top: 34%;
		left: 0;
		right: 0;
		margin: auto;
	}
	.scroll span {
  font-size: 0px;
}
	.kv__company-name {
	font-size: 16px;
}
	.kv__message {
		font-size: 18px;
		width: 280px;
		top: 100px;
		left: 30px;
	}
	.kv__message-text01 {
	border: solid 2px #fff;
	font-weight: bold;
	padding: 6px;
	margin-bottom: 10px;
}
	.kv__message-text02 {
	border: solid 2px #fff;
	font-weight: bold;
	padding: 6px;
}
	.scroll {
  position: absolute;
  right: 0;
  bottom: 20%;
  left: 0;
  width: 100px;
  height: 20px;
  text-decoration: none;
  color: #fff;
  display: inline-block;
  margin: auto;
  z-index: 20;
	}
.intro-sec__text {
	font-size: 15px;
}
.service-sec__text {
	font-size: 15px;
}
.service-sec__item {
		width: 100%;
		padding-bottom: 50px;
	}
	.works-sec__inner::before {
	width: 60px;
	height: 60px;
	background-position: 50%;
}
	.works-sec__item-title {
	padding-bottom: 30px;
}
	.bannerlinks__title-box--company {
	top: 30%;
	right: 0;
	left: 0;
	margin: auto;
	width: 300px;
}
	.bannerlinks__title-box--recruit {
	top: 30%;
	right: 0;
	left: 0;
	margin: auto;
}
	.bannerlinks__recruit::after {
	background-position: 30%;
}
	.bannerlinks__recruit::before {
	background-position: 50%;
	width: 50px;
	height: 50px;
}
	.bannerlinks__company::before {
	background-position: 50%;
	width: 50px;
	height: 50px;
}
}