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

.loading{
	background-color: #fff;
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 4100;
  transition: opacity 0.5s ease; /* アニメーションを適用 */
}
.loading.fade-out {
  opacity:0;
  pointer-events:none;
}
.load-bg{
	background-image: url(../img/top/load-bg-pc.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100vw;
	height: 100vh;
}
.loading .load-txt{
	position: absolute;
	left:50%;
	top:45%;
	transform: translate(-50%,-50%);
}
.fadein {
  opacity: 0;
  animation: fadein 1s 0.5s forwards;
}

@keyframes fadein {
  	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.hidden {
  display: none;
}
@media (scripting: none) {
  .loading {
    display: none;
  }
.hidden {
display: block;
}
}
.sp-none{
	display: block;
}
.pc-none{
	display: none;
}
.clear {
	clear: both;
}
.clearfix {
	zoom: 1;
	}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

#top_mv{
	width: 100%;
	
}
#top_mv video{
	width: 100%;
	height: auto;
}
#top_mv .moviearea {
	width: 70%;
	margin-left: auto;
	border-top-left-radius: 36px;
	border-bottom-left-radius: 40px;
	overflow: hidden;
	position: relative;
}
#top_mv .copyarea{
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	
}
.newsarea{
	margin: 40px auto;
}
.newsarea .newsinner{
	max-width: 1200px;
	margin: 100px auto;
}
.news-titlebox{
	width: 14.58%;
	display: inline-block;
	vertical-align: top;
}
.news-titlebox .htxt03{
	font-size:16px;
}
.news-titlebox .news-btn{
	width: 27px;
	margin: 40px 0 20px 5px; 
}
.date_list{
	display: inline-block;
	vertical-align: top;
	width: 84%;
}
.date_list li{
	margin-bottom: 40px;
}
.top-concept .bg-img01{
	width: 87.5%;
	margin: 0 auto;
	
}
.top-concept .bg-img01-sp{
	display: none;
}
.top-concept .bg-img02{
	position: absolute;
	top:30%;
	width: 100%;
	margin: 0 auto;
	
}
.top-concept{
	position: relative;
}
.top-concept .txtbox{
	color:#fff;
	text-align: center;
	position: absolute;
	top:10.416vw;
	left:50%;
	transform: translateX(-50%);
	
	
}
.top-concept .txtbox .title{
	font-size:22px;
	margin-bottom: 4.16vw;
	position: relative;
	font-weight: bold;

}
_top-concept .txtbox .title:after{
	content: "";
	border-top:1px solid #fff;
	width: 4.16vw;
	position: absolute;
	height: 1px;
	top:1.925vw;
	right:3.125vw;
	
}
.top-concept .txtbox p{
	font-size:20px;
	line-height: 3vw;
}
.top-concept .loopslider{
	width: 100%;
	overflow: hidden;
	position: absolute;
	bottom:100px;
}
.top-concept .loopslider ul{
	width: 118.75vw;
	margin-left: -10.416vw;
}
.top-concept .loopslider li {
	width: 18.75vw;
	height: auto;
	float: left;
	margin-right: 1.0416vw;
}
.top-about{
	margin-top: 100px;
	padding-top: 200px;
	background-image: url(../img/top/sec-about-title-bg01.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 1225px auto;
}
.inner1200{
	max-width: 1200px;
	width: 96%;
	margin: 0 auto;
}
.inner1686{
	max-width: 1686px;
	width: 96%;
	margin: 0 auto;
}
.inner1484{
	max-width: 1484px;
	width: 96%;
	margin: 0 auto;
}
.top-midashi{
	font-size:40px;
	font-weight: bold;
	color:#0052DE;
	margin-bottom: 40px;
}
.full-btn {
	margin-top: 70px;
	position: relative;
	border-radius: 34px;
	height: 27.6vw;
	padding: 0;
	overflow: hidden;
}
.full-btn .img{
	transition: 0.2s;
	transform: scale(1);
}
.full-btn .img img{
	width: 100%;
	height: auto;
}
.full-btn:hover .img{
	transform: scale(1.05);
}

.cel2-btn {
	margin-top: 40px;
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	float: left;
	vertical-align: top;
	width: 48%;
	padding: 0;
	height: 20.833vw;
}
.cel2-btn:last-child {
	float: right;
}
.cel2-btn .img{
	transition: 0.2s;
	transform: scale(1);
}
.cel2-btn:hover .img{
	transform: scale(1.05);
}
.btn-cover{
	position: absolute;
	left: 0;
	bottom: -1px;
	background-image: url(../img/top/sec-about-btn-bg.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 312px auto;
	width: 315px;
	height: 135px;
	font-size:20px;
	padding-top: 70px;
}
.btn-cover:after{
	content: "";
	position: absolute;
	top: 60px;
	right: 60px;
	width: 50px;
	height: 50px;
	background-image: url(../img/top/btn-icon.png);
	background-repeat: no-repeat;
	background-size: 50px auto;
}
.btn-cover2{
	position: absolute;
	right: -2px;
	bottom: -1px;
	background-image: url("../img/top/sec-interview-btn-bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 514px auto;
	width: 514px;
	height: 256px;
	font-size:20px;
	padding-top: 60px;
	padding-left: 80px;
}
.btn-cover3{
	position: absolute;
	left: -1px;
	bottom: -1px;
	background-image: url("../img/top/sec-job-btn-bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 534px auto;
	width: 534px;
	height: 601px;
	font-size:20px;
	padding-top: 60px;
	padding-left: 80px;
}
.btn-cover4{
	position: absolute;
	right: -1px;
	bottom: -1px;
	background-image: url("../img/top/sec-faq-btn-bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 312px auto;
	width: 312px;
	height: 135px;
	font-size:20px;
	padding-top: 70px;
	padding-left: 80px;
}
.btn-cover4:after{
	content: "";
	position: absolute;
	top: 60px;
	right: 20px;
	width: 50px;
	height: 50px;
	background-image: url(../img/top/btn-icon.png);
	background-repeat: no-repeat;
	background-size: 50px auto;
}
.bg-bk {
	background-color: #424653;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	margin-top: 100px;
}
.bg-bk2 {
	background-color: #282B33;
}
.interview{
	background-image: url(../img/top/sec-Interview-title-bg.png);
	background-repeat: no-repeat;
	background-position: left 50px;
	background-size: 304px auto;
	padding-top: 140px;
	padding-bottom: 140px;
	color:#fff;
	font-size:18px;
	line-height: 40px;
}


.interviewarea{
	margin-top: 0px;
	position: relative;
}
.slickarea li{
	max-width: 1484px;
	margin: 0 20px;
}
.slickarea .slickbox{
	position: relative;
	overflow: hidden;
	border-radius: 34px;
}
.slickarea .slickbox img{
	width: 100%;
	height: auto;
}
.slide-ttl{
	font-size:20px;
	margin-bottom: 10px;
}
.slickarea a{
	color:#fff;
}

.works{
	background: #fff;
	background-image: url(../img/top/sec-work-title-bg.png);
	background-repeat: no-repeat;
	background-position: right 50px;
	background-size: 1170px auto;
	padding-top: 140px;
	padding-bottom: 0px;
	color:#fff;
	font-size:18px;
	line-height: 40px;
}
.works .photo{
	max-width: 1000px;
	width: 50%;
	float: left;
	padding-top: 100px;
	
}
.works .txt{
	width: 40%;
	margin-left:10%;
	float: right;
	color:#000;
	padding-top: 200px;
	font-size:18px;
}
.txt26{
	font-size:26px;
	margin-bottom: 20px;
	font-weight: 500;
}
.linkbtn{
	width: 50px;
	height: 50px;
	margin-top: 40px;
	transition: 0.2s;
}
.linkbtn:hover{
	transform: translateX(5px);
}
.job{
	background: #fff;
	padding-top: 40px;
	padding-bottom: 140px;
	color:#fff;
	font-size:18px;
	line-height: 40px;
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
}
.job .full-btn {
	margin-top: 70px;
	position: relative;
	border-radius: 34px;
	height: 800px;
	padding: 0;
	overflow: hidden;
}
.job .full-btn .img{
	transition: 0.2s;
	transform: scale(1);
}
.job .full-btn:hover .img{
	transform: scale(1.05);
}
.faq .full-btn {
	margin-top: 70px;
	position: relative;
	border-radius: 34px;
	height: 300px;
	padding: 0;
	overflow: hidden;
}

.faq{
	background: #282B33;
	padding-top: 200px;
	padding-bottom: 200px;
	font-size:18px;
	line-height: 40px;
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
	overflow: hidden;
	
}
.faq .loop-txt{
	width: auto;
	height: 220px;
}
.faq .loop-txt div{
	display: inline-block;;
}
.faq .loop-txt div img{
	width: 2383px;
	height: auto;
}
.faq a{
	color:#fff;
}
.faq .full-btn{
	height: 15.8333vw;
}
.faq .full-btn .img{
	transition: 0.2s;
	transform: scale(1);
}
.faq .full-btn:hover .img{
	transform: scale(1.05);
}



.slick-dots{
	bottom:-50px;
	
}

.slick-dots li{
	width: 200px;
	height: 2px;
	padding: 0;
}
.slick-dots li button{
	width: 200px;
	height: 2px;
	padding: 0;
	background: #fff;
}
.slick-dots li button:before{
	width: 200px;
	height: 2px;
	padding: 0;
	font-size:0;
	line-height: 0;
}
.slick-dots li.slick-active button{
	background: #0052DE;
}
.slick-dots li.slick-active button:before{
	background: #0052DE;
}
.slickarea .slick-prev {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top:-5%;
	left:auto;
	right:60px;
	display: block;
	width: 50px;
	height: 50px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	z-index: 2000;
}
.slickarea .slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top:-5%;
	right:0px;
	display: block;
	width: 50px;
	height: 50px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	z-index: 2000;
}
.slickarea .slick-prev:before {
	content: '';
	display: block;
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-image: url(../img/top/btn-prev.png);
	background-size: 50px 50px;
	cursor: pointer;
	background-position: center top;
}
.slickarea .slick-next:before {
	content: '';
	display: block;
	width: 50px;
	height: 850px;
	background-repeat: no-repeat;
	background-image: url(../img/top/btn-next.png);
	background-size: 50px 50px;
	cursor: pointer;
	background-position: left top;
}
.interview-more{
	position: absolute;
	top:-7.5%;
	right:180px;
	width: 25px;
}
.huwahuwa{
	animation-name: imgro;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}
@keyframes imgro {
    0% {
        transform: translate(0,0px);
    }

    100% {
        transform: translate(0,-20px)
    }
}
.intership-banner{
	width: 300px;
	height: auto;
	position: fixed;
	right:0;
	bottom:0;
	z-index: 3000;
}
footer .footer_link{
	position: relative;
	z-index: 4000;
}
.footer_copyright{
		position: relative;
	z-index: 4000;
}