@charset "UTF-8";
/* CSS Document */
.main_vg{
    position: relative;
    z-index: -1;
    overflow: hidden;
    top: -72px;
}
.main_vg .js-scroll {
	position: absolute;
    z-index: 12;
	top: 50%;
    right: 0;
    -webkit-transform: translate(-10%,-50%);
    -moz-transform: translate(-10%,-50%);
    -ms-transform: translate(-10%,-50%);
    -o-transform: translate(-10%,-50%);
    transform: translate(-10%,-50%);
	mix-blend-mode: color-dodge;
}
.main_catch_01{
    font-family: Oswald;
	color: #e40606;
	font-size: 9em;
	font-weight: 700;
    line-height: 1.2;
}
.main_catch_02{
	animation: fadeIn .8s ease 2.5s 1 normal forwards;
    -webkit-animation: fadeIn .8s ease 2.5s 1 normal forwards;
	opacity: 0;
    position: absolute;
    z-index: 13;
    top: 50%;
    right: -2%;
    -webkit-transform: translate(-10%,-50%);
    -moz-transform: translate(-10%,-50%);
    -ms-transform: translate(-10%,-50%);
    -o-transform: translate(-10%,-50%);
    transform: translate(-10%,-50%);
}
.main_catch_02 img {
	width: 570px!important;
	margin-left: auto;
	display: block;
}
.main_imgBox {
    height: 90vh;
    overflow: hidden;
    position: relative; 
}
.main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height: 100vh;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite; 
}
.main_img:nth-of-type(2) {
  -webkit-animation-delay: 6s;
  animation-delay: 6s; 
}
.main_img:nth-of-type(3) {
  -webkit-animation-delay: 12s;
  animation-delay: 12s; 
}
.main_img:nth-of-type(4) {
  -webkit-animation-delay: 18s;
  animation-delay: 18s; 
}
.main_img:nth-of-type(5) {
  -webkit-animation-delay: 24s;
  animation-delay: 24s; 
}
.main_img:nth-of-type(6) {
  -webkit-animation-delay: 30s;
  animation-delay: 30s; 
}
  .main_imgM {
    opacity: 0;
    width:100%;
    height:100%;
    object-fit: cover;
	font-family: 'object-fit: cover;';
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite; 
}
.main_imgM:nth-of-type(2) {
    -webkit-animation-delay: 6s;
    animation-delay: 6s; 
}
.main_imgM:nth-of-type(3) {
    -webkit-animation-delay: 12s;
    animation-delay: 12s; 
}
.main_imgM:nth-of-type(4) {
    -webkit-animation-delay: 18s;
    animation-delay: 18s; 
}
.main_imgM:nth-of-type(5) {
    -webkit-animation-delay: 24s;
    animation-delay: 24s; 
}
.main_imgM:nth-of-type(6) {
    -webkit-animation-delay: 30s;
    animation-delay: 30s;
}
@keyframes anime {
    0% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
         transform: scale(1.2);
                    z-index:9;
    }
    100% { opacity: 0 }
}

@-webkit-keyframes anime {
    0% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
         -webkit-transform: scale(1.2);
            z-index:9;
    }
    100% { opacity: 0 }
}
.down_brn {
    position: absolute;
    bottom: 35px;
    left: 50%;
    z-index: 12;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    opacity: 0.7;
}
.down_brn span {
  position: absolute;
  bottom: -40px;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  box-sizing: border-box;
}
.down_brn span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 1px;
  height: 50px;
  margin-left: -3px;
  background-color: #fff;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.message{
    text-align: center;
    margin-bottom: 9%;
	position: relative;
}
.line_w {
	width: 80%;
}
.scratch.border_w .ttl_02:after,
.job.border_w .ttl_02::before,
.workenv.border_w .ttl_02::before{
	width: 150vw;
    max-width: 1140px;
}
.big_line {
	content: '';
    position: absolute;
    height: 500px;
    background: rgba(50, 138, 190, 0.3);
    -webkit-transition: width .2s;
    -o-transition: width .2s ;
    transition: width .2s ;
	z-index: -1;
}
.message .big_line {
	top: 135px;
    right: 0;
    width: 0;
    -webkit-transform: rotate(-35deg) skew(55deg);
    -ms-transform: rotate(-35deg) skew(55deg);
    transform: rotate(-35deg) skew(55deg);
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
}
.message .greybox{
    width: 85%;
    right: 0;
}
.message dl{
    padding: 0 15% 5%;
	width: 50%;
	margin:0 auto;
}
.message .text_01{
    padding: 5% 0;
}
.message dd:nth-child(2) {
	width: 70%;
    margin: 0 auto;
}
.message .font_l{
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.message .text_box img{
    padding: 6% 0 2%;
    max-width: 720px;
}
.scratch{
    position: relative;
    margin-bottom: 15%;
}
.scratch .fl{
    width: 50%;
    padding: 7% 5% 5%;
}
.scratch .ttl_02{
    position: relative;
    display: inline-block;
}
.scratch .ttl_02:after{
    content: '';
    position: absolute;
    left: 105%;
    top: 50%;
    display: inline-block;
    width: 1vh;
    height: 3px;
    background-color: #e30606;
}
.scratch .ttl_02:after{
    right: 0;
}
.scratch dl{
    text-align: center;
    background-color: rgba(238, 238, 238, 0.6);
    position: relative;
    z-index: 3
}
.scratch dl dd{
    padding: 5% 0;
}
.scratch .greybox{
    width: 85%;
    left: 0;
}
.scratch .font_l{
    top: -60px;
    left: -10px;
    z-index: 5;
}
.scratch .scratch_img{
    position: absolute;
    top: 28%;
    right: 0;
    z-index: 2;
    text-align: right;
    width: auto;
}
.scratch .scratch_img img{
    object-fit: cover;
}
.job{
    margin: 18% 0 15%;
}
.job .fr{
    width: 50%;
    text-align: center;
}
.job .font_l {
    top: -60px;
    right: -10px;
    z-index: 5;
    text-align: right;
    overflow: hidden
}
.job .greybox {
	width: 100%;
}
.job dl {
    text-align: center;
    background-color: rgba(238, 238, 238, 0.6);
    position: relative;
    padding: 7% 5% 5%;
    z-index: 4;
}
.job dl dd {
    padding: 5% 0;
}
.job .job_img {
    position: absolute;;
    top: -12%;
    left: 0;
    z-index: 2;
    width: 50%;
    height: 630px;
    object-fit: cover;
}
.job .job_img img{
    width: 100%;
    object-fit: cover;
    height: 530px;
}
.job .ttl_02{
    position: relative;
    display: block;
}
.job .ttl_02::before,
.workenv .ttl_02::before{
    content: '';
    position: absolute;
    left: -187%;
    top: 50%;
    display: inline-block;
    width: 1vh;
    height: 3px;
    background-color: #e30606;
}
.interview {
	margin-top: 17%;
}
.interview .text_box{
    padding-top: 3%!important;
}
.interview .btnarea {
    margin: 5% auto;
}
.interview .font_l {
	position: absolute;
	text-align: center;
	top: -10%;
}
.interview .line_red {
    position: absolute;
    right: 0;
}
.interview .greybox {
	width: 85%;
    left: 50%;
	-webkit-transform: translate(-50%,0%);
    -moz-transform: translate(-50%,0%);
    -ms-transform: translate(-50%,0%);
    -o-transform: translate(-50%,0%);
    transform: translate(-50%,0%);
    padding-bottom: 4%;
}
.interview .slider {
	height: auto;
}
.interview .slick-slide {
	transition: .5s ease;
  	transform: scale(0.9);
	margin: 0!important;
}
.interview .slick-current {
	transform: scale(1);
}
.interview .slick-current li {
	box-shadow: none!important; 
}
.interview .slider .slick-dots, .interview .slider button,
.top_entry .slider .slick-dots, .top_entry .slider button{
	display: block!important;
	margin: 10px auto;
}
.workenv {
	margin: 5% 0 10%;
	position: relative;
}
.workenv .big_line {
	top: -185px;
    left: 0;
    width: 0;
    -webkit-transform: rotate(45deg) skew(-45deg);
    -ms-transform: rotate(45deg) skew(-45deg);
    transform: rotate(45deg) skew(-45deg);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
}
.workenv .font_l {
	top: 30px;
    right: -10px;
    z-index: 5;
    text-align: right;
    overflow: hidden;
}
.workenv_img {
	position: absolute;
    top: 15%;
    left: 0;
    z-index: 2;
    width: 100%;
}
.workenv_img img {
	width: 100%;
    height: 450px;
    object-fit: cover;
}
.workenv fr {
	width: 50%;
	text-align: center;
}
.workenv dl {
	text-align: center;
	background-color: transparent;
	width: 50%;
	padding: 17% 5% 5%;
	position: relative;
    z-index: 4;
}
.workenv .greybox {
	width: 56%;
    right: 0;
    z-index: 3;
}
.workenv dl dd {
    padding: 5% 0 10%;
}
.workenv .ttl_02{
    position: relative;
    display: block;
}
.top_entry {
	position: relative;
	margin-top: 13%;
}
.top_entry .font_l {
	position: absolute;
	text-align: center;
	top: -6%;
}
.top_entry .ttl_02 {
	padding: 8% 0 3%!important;
}
.top_entry .line_red {
    position: absolute;
    right: 0;
}
.top_entry .greybox {
	width: 85%;
    left: 0;
}
.top_entry .btnarea {
	padding: 50px;
}
.movie {
	margin: 10% 0 5%;
}
.movie .font_l {
	text-align: center;
	top: -12%;
}
.movie .greybox {
	width: 85%;
	right: 0;
	top: -7%;
}
.movie .text_01 {
	width: 40%;
    margin: 30px auto;
}
.movie .line_red {
	left: 0;
	position: absolute;
}
@media screen and (max-height:650px) {
	.main_vg .js-scroll {
		top: 55%;
		right: 5%;
	}
	.main_catch_01{
		font-size: 6em;
	}
	.main_vg .js-scroll.show .motion-txt:nth-child(1) {
		height: 120px;
	}
	.main_catch_02 img {
		width: 480px!important;
	}
}
@media screen and (max-width:1024px) {
    .job .job_img img {
        height: 510px;
    }
    .workenv_img img {
        height: 390px;
    }
	.main_catch_01 {
		font-size: 7em;
	}
	.main_vg .js-scroll {
		right: 6%;
	}
	.main_vg .js-scroll.show .motion-txt:nth-child(1) {
		height: 141px;
	}
    .workenv_img img {
        height: 390px;
    }
    .interview .text_box {
        padding-top: 0%!important;
    }
	.main_catch_02 img {
		width: 470px!important;
	}
	.message .text_box img {
		width: 60%!important;
	}
	.scratch {
		margin: 10% 0;
	}
	.scratch .font_l {
		top: -40px; 
	}
	.scratch .fl {
		padding: 8% 5% 5%;
	}
	.scratch .scratch_img {
		width: 80%;
	}
	.job {
		margin: 24% 0 15%;
	}
	.scratch.border_w .ttl_02:after, .job.border_w .ttl_02::before, .workenv.border_w .ttl_02::before {
		width: 106vw;
	}
	.interview {
		margin-top: 20%;
	}
	.interview .font_l {
		top: -12%;
	}
	.interview .ttl_02 {
		padding: 6% 0 3%!important;
	}
	.workenv {
    	margin: 4% 0 8%;
	}
	.workenv .font_l {
		right: -3px; 
	}
	.top_entry .btnarea {
		padding-bottom: 30px;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 0px!important;
	}
	.movie iframe {
		width: 820px;
    	height: 460px;
    	margin: 0 auto;
    	display: block;
	}
}
@media screen and (max-width:900px) {
	.main_vg {
		top: -58px;
	}
	.job .font_l {
		right: -5px;
	}
	.movie iframe {
    	width: 660px;
		height: 360px;
	}
}
@media screen and (max-width:768px) {
	.main_vg .js-scroll {
        right: 0%;
    }
		.main_catch_02 img {
		width: 440px!important;
	}
    .scratch {
        margin: 9% 0;
    }
    .scratch .font_l {
        top: -16px;
    }
	.scratch .fl {
		padding: 6% 5% 4%;
        width: 70%;
	}
    .scratch .scratch_img {
        width: 85%;
    }
    .scratch .scratch_img {
        top: 48%;
    }
    .workenv {
        margin: 9% 0 8%;
    }
    .workenv_img img {
        height: 290px;
    }
	.job {
		margin: 33% 0 18%;
	}
	.job dl {
		padding: 6% 5% 4%;
	}
	.job .font_l {
		top: -34px;
	}
    .job .job_img img {
        height: 445px;
    }
	.interview {
		margin-top: 27%;
	}
	.interview .font_l {
		top: -8%;
	}
	.workenv .font_l {
		top: 14px;
	}
	.workenv dl {
		padding: 14% 5% 4%;
	}
	.interview ul li dl dd {
		font-size: 12px!important;
	}
    
}
@media screen and (max-width:500px) { 
	 .scratch .ttl_02:after {
        height: 2px;
    }
	.main_vg {
        top: -55px;
    }
	.message .text_box img {
		width: 55%!important;
	}
    .movie iframe {
        width: 85%;
        height: 200px;
    }    
	.main_catch_01 {
		font-size: 4em;
	}
	.main_catch_02{
        right: -5%;
    }
    .main_catch_02 img {
        width: 290px!important;
    }
	.main_vg .js-scroll.show .motion-txt:nth-child(1) {
		height: 80px;
	}
	.main_imgBox {
		height: 84vh;
	}
    .down_brn {
        left: 47%;
        font-size: 10px;
        bottom: 33px;
    }
    .message .greybox {
        width: 90%;
    }
    .message dl {
        padding: 0 15% 5%;
        width: 80%;
    }
    .scratch .fl {
        width: 86%;
        padding: 6% 3% 4%;
    }
    .scratch .scratch_img {
        height: 250px;
    }
    .scratch {
        margin-bottom: 210px;
    }
    .scratch .greybox {
        width: 90%;
    }
    .job {
        margin: 24% 0 19%;
    }
    .job .font_l {
        top: -17px;
    }
    .job .job_img {
        width: 80%;
        height: 425px;
    }
    .job .job_img img {
        height: 425px;
    }
    .job .ttl_02::before,
    .workenv .ttl_02::before {
        width: 1vh;
        height: 2px;
        left: -193%;
    }
	.interview {
		margin-top: 180px;
	}
    .interview .font_l {
        top: -3%;
    }
    .interview .text_box {
        margin-bottom: 5%;
    }
    .interview .slider {
        padding: 6% 0 3%;
    }
    .interview .ttl_02 {
        padding: 8% 0 4%!important;
    }
    .interview .greybox {
        width: 90%;
        padding-bottom: 1%;
    }
    .workenv dl {
        padding: 14% 0 4%;
    }
    .workenv_img img {
        height: 245px;
    }
	.top_entry {
		margin-top: 18%;
	}
    .top_entry .font_l {
        top: -2.5%;
    }
    .top_entry .slick-list {
        margin-top: 5%;
    }
    .top_entry ul {
        margin: 1% 0 0;
    }
    .top_entry .greybox {
        width: 90%; 
    }
    #recruit_area .slick-dots{
       display: none!important;
    }
    .slider li {
        margin: 0;
        padding: 0;
    }
    .top_entry .btnarea {
        padding-bottom: 30px;
    }
    .movie {
        margin: 20% 0 9%;
    }
    .movie .greybox {
        width: 90%;
    }
    .movie .text_01 {
        width: 75%;
    }
}
@media screen and (max-width:360px) {
    .main_catch_02 img {
        width: 270px!important;
    }
}
@media all and (-ms-high-contrast: none){
	.main_catch_01 {
		opacity: .6;
	}
}
@supports (-ms-ime-align: auto){
	.main_catch_01 {
		opacity: .6;
	}
}