@charset "UTF-8";
#wrap {
	margin-top:-110px;
}

#kv{
	margin: 0 auto;
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
#kv_inner {
	position: absolute;
	width: 100%;
	height: 100%;
}
.kv_txt {
	position: absolute;
	top: 22%;
	left:10%;
}
.kv_txt img{
filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.6));
}
#background-video {
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height: 100%;
  object-fit:cover;
  _transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
}



.future_area{
	min-width: 1170px;
	margin: 0 auto 80px;
	padding: 0 0;
	position:relative;
	text-align:center;
	height: 490px;
	overflow: hidden;
	background: #5e6767;

display: flex;
align-items:center;
justify-content:center;
}
.future_block{
	margin: 0 0 0 0;
	padding: 0 70px 0 0;
	position:relative;
text-align: left;
}
.future_block h3.h3_future{
	margin: 0 0 30px;
	padding: 0px 0 0 0;
	position:relative;
	text-align:left;
font-size: 24px;
letter-spacing: 0.03em;
line-height: 1.5;
color: #fff;
font-weight: 600;
}
.future_block p{
	margin: 0 0 0 ;
	padding: 0 0 0 0;
	position:relative;
font-weight: normal;
font-size: 14px;
line-height: 2.0;
text-align: left;
color: #fff;
}

.scroll-infinity{
	padding: 0 0;
	position:relative;
	text-align:center;
	height: 490px;
	overflow: hidden;
}

.scroll-infinity__wrapUp {
	display: flex;
	flex-direction: column;
	animation: scrollUp 35s linear infinite;
}
.scroll-infinity__wrapDown {
	display: flex;
	flex-direction: column;
	animation: scrollDown 35s linear infinite;
}
.scroll-infinity__list {

}
.scroll-infinity__list li {
width: auto;
}

.scroll-infinity__item>img {
width: auto;
height:auto;
}
@keyframes scrollUp {
	0% {
	transform: translateY(0);
	}
	100% {
	transform: translateY(-50%);
	}
}

@keyframes scrollDown {
	0% {
	transform: translateY(-50%);
	}
	100% {
	transform: translateY(0);
	}
}







.news_area{
	margin: 0 0 0;
	padding: 0 0 120px;
	position:relative;
	text-align:center;
}

.news_inner{
	width: 1170px;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;
}

.news_area h3.h3_news{
	margin: 0 auto 40px;
	padding: 0 0 0 0;
	position:relative;
font-size: 42px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: left;
color: #444;
font-family: "Source Sans 3", sans-serif;
font-weight: 600;
}
.news_area h3.h3_news small{
	margin: 0 0 0 30px;
	padding: 0 0 0 0;
	position:relative;
	display:inline-block;
font-style: normal;
font-size: 20px;
letter-spacing: 0.02em;
line-height: 1.5;
text-align: center;
color: #444;
font-family: 'Noto Sans JP', sans-serif;
font-weight:500;
}


ul.news_list{
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:left;
	width:900px;
	border-top:1px solid #ccc;
}

ul.news_list li{
	margin: 0 0 0;
	padding: 15px 0 15px 25px;
	position:relative;
	text-align:left;
	display: flex;
	align-items:stretch;
	justify-content:flex-start;
	border-bottom:1px solid #ccc;
}

ul.news_list li:before {
	width:3px;
	height: 12px;
	display: block;
	position: absolute;
	left: 15px;
	top: 25px;
	content: "";
	background: #56b09c;
}

ul.news_list li span{

font-weight: normal;
font-size: 16px;
line-height: 1.8;
text-align: left;
color: #383837;
}
ul.news_list li a{
margin-left:30px;
font-weight: normal;
font-size: 16px;
line-height: 1.8;
text-align: left;
color: #383837;
display:block;
}
ul.news_list li a:hover{
	color: #ed011d;
	text-decoration:none;
}





.insta_block{
	margin: 0 auto 120px;
	padding: 0 0 0 0;
	position:relative;
	text-align: center;
	width:1170px;
}

.insta_block h3.h3_insta{
	margin: 0 auto 30px;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
	display:block;
}

.insta_block h3.h3_insta small{
	margin: 0 0 0 ;
	padding: 40px 0 0 0;
	position:relative;
	display:block;

font-style: normal;
font-weight: normal;
font-size: 20px;
letter-spacing: 0.02em;
line-height: 1.5;
text-align: center;
color: #444;
font-family: 'Noto Sans JP', sans-serif;
font-weight:500;
}


.insta_list{
	margin: 0 auto !important;
	padding: 0 0;
	position:relative;
	text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}

.insta_list li{
	margin: 0 0;
	padding: 0 0;
	position:relative;
	text-align:left;
}

.insta_list li img{
	width:auto;
	height:auto;
	vertical-align:top;
	border-radius:10px;
}

.insta_list li img.works_new{
	position: absolute;
	top:10px;
	left:10px;
	
	width:auto;
	z-index:10;
}








.movie_area{
	margin: 0 0 0;
	padding: 90px 0 100px;
	position:relative;
	text-align:center;

	background: linear-gradient(to bottom, #cfd2d1 0%, #cfd2d1 380px, #fff 380px, #fff 100%);
}

.movie_inner{
	width: 1170px;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;

}

.movie_area h3.h3_movie{
	margin: 0 auto 20px;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
	display:inline-block;
font-size: 42px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: center;
color: #444;
font-family: "Source Sans 3", sans-serif;
font-weight: 600;
}

ul.movie_list{
	margin:0 auto;
	padding: 0 0 ;
	position: relative;
	text-align:center;
}

ul.movie_list li{
	margin: 0 auto ;
	padding: 0 0 ;
	position:relative;
	letter-spacing:normal;
	text-align:center;
	width:auto;
}

ul.movie_list li .video{
	margin:0 auto;
	display:block;
	width:800px;
	font-size:20px;
	font-weight: bold;
	height:450px;
	background-color: #000;
	color:#fff;
	border-radius: 20px;
}

ul.movie_list li iframe{
	border-radius: 20px;
}






a .info_block{
	margin: 0 auto;
	padding: 0 0 20px 0;
	position:relative;
	text-align: center;
	min-width:1170px;
	background-color:#fff;

}

a .info_block h3.h3_info{
	display:inline-block;
	width:1110px;
	margin: 0 0 40px 0px;
	padding: 38px 0 38px 60px;
	position:relative;
	font-size: 46px;
	letter-spacing: 0.05em;
	line-height: 1.1;
	text-align: left;
	color: #fff;
	font-family: "Source Sans 3", sans-serif;
	font-weight: 600;
	background-color:#7e8685;
	border-bottom:2px #7e8685 solid;
}
a:hover .info_block h3.h3_info{
	color: #7e8685;
	background-color:#fff;
	text-decoration:none;
}
.info_block h3.h3_info small{
	margin: 10px 0 0 ;
	padding: 0 0 0 0;
	position:relative;
	display:block;
	font-style: normal;
	font-size: 18px;
	letter-spacing: 0px;
	line-height: 1.5;
	text-align: left;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:600;
}
a:hover .info_block h3.h3_info small{
	color: #7e8685;
	text-decoration:none;
}
a .info_block p.txt_style1 {
	display: inline-block;
	width:100%;
	margin: 0 50px 40px ;
	padding: 0 0 0 0;
	position:relative;
	font-size: 14px;
	line-height: 2.0;
	text-align: left;
	color: #444;
	font-weight: 500;
}
a:hover .info_block p.txt_style1 {
	text-decoration:none;
}
.info_block .info_img{
	position:absolute;
	top:30px;
	right:50px;
}




.company_block{
	margin: 0 auto;
	padding: 80px 0 70px 0;
	position:relative;
	text-align: center;
	min-width:1170px;
	background:#cfd2d1;

}

.company_main_img{
	margin: 60px 0 70px -50px;
	padding: 0 0;
	position:relative;
	text-align:center;
	z-index:1;
	width:auto;
}

.company_main_img img{
	border-radius:0;
	width:100%;
	height:auto;
}

.company_block h3.h3_company{
	margin: 0 0 10px 60px;
	padding: 0 0 0 0;
	position:relative;
font-size: 46px;
letter-spacing: 0.02em;
line-height: 1.5;
text-align: left;
color: #444;
font-family: "Source Sans 3", sans-serif;
font-weight: 600;
}

.company_block h3.h3_company small{
	margin: 0 0 0 30px;
	padding: 0 0 0 0;
	position:relative;
	display:inline-block;
font-style: normal;
font-size: 18px;
letter-spacing: 0.02em;
line-height: 1.5;
text-align: center;
color: #444;
font-family: 'Noto Sans JP', sans-serif;
font-weight:500;
}


.company_column{
	margin: 0 auto;
	padding: 0 0 0 0;
	position:relative;
	min-width:1170px;
display: flex;
align-items:flex-start;
justify-content:center;
}

.company_info{
	margin: 0 0 70px;
	padding: 40px 0 50px 0;
	position:relative;
	min-width:560px;
	background-color:#fff;
	order:-1;
	z-index:2;
}

table.table_style{
	margin: 0 0;
	padding: 30px 0 20px;
	position:relative;
	text-align: left;
	display:inline-block;

	width:440px;
	border-top:1px solid #5d7c87;
	border-bottom:1px solid #5d7c87;
}

table.table_style th{
	margin: 0 0;
	padding: 0 0 20px 20px;
	position:relative;
	text-align: left;
font-weight: normal;
font-size: 14px;
line-height: 1.5;
color: #444;
width:90px;
box-sizing: border-box;
}

table.table_style td{
	margin: 0 0;
	padding: 0 0 20px 20px;
	position:relative;
	text-align: left;
font-weight: normal;
font-size: 14px;
line-height: 1.5;
color: #444;
}

.company_map{
	margin: 0 0;
	padding: 0 0 0 0;
	position:relative;
}


p.txt_style1 {
	margin: 0 0 40px;
    padding: 0 0 0 0;
    position: relative;
    font-weight: normal;
    font-size: 16px;
    line-height: 2.4;
    text-align: center;
    color: #000;
}

.center{
	text-align:center;
}

.sp_only{
	display:none;
}

.img_sp {
	display:none;
}
