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

#kv{
	margin: 110px auto 120px;
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
#kv_inner {
	position: absolute;
	width: 100%;
	height: 100%;
}
.kv_txt {
	position: absolute;
	top: 52%;
    font-size: 56px;
    letter-spacing: 10px;
    line-height: 1.2;
    text-align: center;
    color: #fff;
    font-weight: 900;
	width:100%;
}
#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{
	margin: 0 auto 80px;
	padding: 0 0 0 0;
	width: 1170px;
	position:relative;
	text-align:center;
}

.future_area h3.h3_future{
	margin: 0 auto 50px;
	padding: 0px 0 0 0;
	position:relative;
	text-align:center;
	display:inline-block;
font-size: 52px;
letter-spacing: 0.03em;
line-height: 1.5;
text-align: center;
color: #383837;
font-family: "Avenir", sans-serif;
font-weight: 900;
}

.future_area h3.h3_future span{
color:#5d7c87;
}
.future_area h3.h3_future small{
	margin: 10px 0 0 ;
	padding: 0 0 0 0;
	position:relative;
	display:block;

font-style: normal;
font-size: 32px;
letter-spacing: 5px;
line-height: 1.5;
text-align: center;
color: #000;
font-family: 'Noto Sans JP', sans-serif;
font-weight:600;
}

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;
}






@keyframes infinity-scroll-left {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
}

.scroll-infinity{
	min-width: 1170px;
	margin: 0 auto 100px;
	padding: 0 0;
	position:relative;
	text-align:center;

}

.scroll-infinity__wrap {
display: flex;
overflow: hidden;
}
.scroll-infinity__list {
display: flex;
list-style: none;
padding: 0
}
.scroll-infinity__list--left {
animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__list li {
width: 250px;
}
.scroll-infinity__list li img.slide1 {
margin-top:0;
}
.scroll-infinity__list li img.slide2 {
margin-top:120px;
}
.scroll-infinity__list li img.slide3 {
margin-top:60px;
}
.scroll-infinity__item>img {
width: auto;
height:420px;
}















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

	background: linear-gradient(to bottom, #cdd8d8 0%, #cdd8d8 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.02em;
line-height: 1.5;
text-align: center;
color: #444;
font-family: "Avenir","Lato", sans-serif;
font-weight: 900;
}

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 0 0;
	position:relative;
	text-align: center;
	width:1060px;
	background-color:#fff;
	display: flex;
	align-items:center;
	justify-content:space-between;
}
a:hover .info_block{
	background-color: #5d7c87;
}
a .info_block h3.h3_info{
	margin: 0 0 20px 40px;
	padding: 0 0 0;
	position:relative;
	font-size: 42px;
	letter-spacing: 0.05em;
	line-height: 1.3;
	text-align: left;
	color: #444;
	font-family: "Avenir","Lato", sans-serif;
	font-weight: 900;
}

a .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: #444;
font-family: 'Noto Sans JP', sans-serif;
font-weight:600;
}


a .info_block p.txt_style1 {
	margin: 0 0 0 40px ;
	padding: 0 0 0 0;
	position:relative;
font-size: 14px;
line-height: 1.8;
text-align: left;
color: #444;
font-weight: 500;
}

a:hover .info_block h3.h3_info,
a:hover .info_block h3.h3_info small,
a:hover .info_block p.txt_style1 {
	color: #fff;
	text-decoration:none !important;
}


.news_area{
	margin: 0 0 0;
	padding: 100px 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.02em;
line-height: 1.5;
text-align: left;
color: #444;
font-family: "Avenir","Lato", sans-serif;
font-weight: 900;
}
.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: #5d7c87;
}

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;
}




.company_block{
	margin: 0 auto;
	padding: 0 0 70px 0;
	position:relative;
	text-align: center;
	min-width:1170px;
	background: linear-gradient(to bottom, #fff 0%, #fff 307px, #dde6e7 307px, #dde6e7 100%);

}

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

.company_main_img img{
	border-radius:15px;
	max-width:100%;
	height:auto;
}

.company_block h3.h3_company{
	margin: 0 auto 40px;
	padding: 0 0 0 0;
	position:relative;
font-size: 44px;
letter-spacing: 0.02em;
line-height: 1.5;
text-align: left;
color: #444;
font-family: "Avenir","Lato", sans-serif;
font-weight: 900;
width:1170px;
}

.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: 20px;
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;
	width:1170px;
display: flex;
align-items:flex-start;
justify-content:space-between;
}

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

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

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

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

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










.center{
	text-align:center;
}

.sp_only{
	display:none;
}

.img_sp {
	display:none;
}



