@charset "UTF-8";
#kv{
	margin: 0 auto 0px;
	position: relative;
	width: 100%;
	height: 50vh;
	overflow: hidden;
}
#kv_inner {
	position: absolute;
	width: 100%;
	height: 100%;
}
.kv_txt {
	position: absolute;
	top: 15%;
	left:10%;
}
.kv_txt img{
	width:215px;
	height:auto;
filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.6));
}

#background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  z-index: -1;
}




.future_area{
	margin: 0 auto 50px;
	padding: 40px 0 0 0;
	width: auto;
	position:relative;
	text-align:center;
	background: #5e6767;
}

.future_area h3.h3_future{
	margin: 0 auto 20px;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 28px;
text-align: left;
color: #fff;
font-family: "Source Sans 3", sans-serif;
font-weight: 600;
width: 290px;
}

.future_block p{
	margin: 0 auto 30px ;
	padding: 0 0 0 0;
	position:relative;
font-weight: normal;
font-size: 13px;
line-height: 1.8;
text-align: left;
color: #fff;
width: 290px;
}




.scroll-infinity{
	margin: 0 auto 0;
	padding: 0 0;
	position:relative;
	text-align:center;
}

.scroll-infinity__wrapRight {
	display: flex;
	animation: scrollRight 35s linear infinite;
}
.scroll-infinity__wrapLeft {
	display: flex;
	animation: scrollLeft 35s linear infinite;
}
.scroll-infinity__list {
display: flex;
list-style: none;
}
.scroll-infinity__list li {
width: 178px;
}

.scroll-infinity__item>img {
width: 178px;
height:auto;
}

@keyframes scrollLeft {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
}
@keyframes scrollRight {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}




.news_area{
	margin: 0 0 0;
	padding: 0 0 50px;
	position:relative;
	text-align:center;
	background-color:;
}
.news_inner{
	width: auto;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;
}

.news_area h3.h3_news{
	margin: 0 auto 10px;
	padding: 0 0 0 0;
	position:relative;
font-size: 30px;
letter-spacing: 0.05em;
line-height: 30px;
text-align: center;
color: #444;
font-family: "Source Sans 3", sans-serif;
font-weight: 600;
}
.news_area h3.h3_news small{
	margin: 0 0 0;
	padding: 0 0 0 0;
	position:relative;
	display: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;
}

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

ul.news_list li{
	margin: 0 0 0 0;
	padding: 12px 0 12px 20px;
	position:relative;
	text-align:left;

	border-bottom:1px solid #ccc;
}

ul.news_list li:before {
	width:2px;
	height: 12px;
	display: block;
	position: absolute;
	left: 10px;
	top: 21px;
	content: "";
	background: #5d7c87;
}

ul.news_list li span{
width:80px;
font-weight: normal;
font-size: 12px;
line-height: 1.6;
text-align: left;
color: #444;
}
ul.news_list li a{
font-weight: normal;
font-size: 12px;
line-height: 1.6;
text-align: left;
color: #444;
display:block;
}



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

.insta_block h3.h3_insta{
	margin: 0 auto 20px;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
	display:block;
}
.insta_block h3.h3_insta img{
	width:70px;
	height:auto;
}
.insta_block h3.h3_insta small{
	margin: 0 0 0 ;
	padding: 20px 0 0 0;
	position:relative;
	display:block;

font-style: normal;
font-weight: normal;
font-size: 16px;
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;
	padding: 0 0;
	position:relative;
	text-align:center;
	letter-spacing:-.4em;
	width:94%;
}

.insta_list li{
	margin: 3px 3px;
	padding: 0 0;
	position:relative;
	text-align:left;
	display:inline-block;
	vertical-align:top;
	width:45%;

	letter-spacing:normal;
}

.insta_list li img{
	width:auto;
	height:auto;
	vertical-align:top;
	border-radius:10px;
}
.insta_list li img.works_new{
	position: absolute;
	top:5px;
	left:5px;
	
	width:40px;
	height:auto;
	z-index:10;
}
#sb_instagram .sbi_photo img {
    width: 100%;
    aspect-ratio: 3 / 4;
}




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

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

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

}

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

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

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

ul.movie_list li .video{
	margin:0 auto;
	display:block;
	/*width:96%;*/
	/*height:120px;*/
	font-size:16px;
	font-weight: bold;
	/*padding-top:100px;*/
	background-color: #000;
	color:#fff;
	border-radius: 15px;

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

.video {
  position: relative;
  width:100%; /* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
  height:0; /* 高さは0にしておく(padding-topで高さを指定するため) */
  padding-top: 56.25%; /* 高さを指定(16:9) */
}

/* YouTube埋め込み用のiframe */
.video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}





.info_block{
	margin: 0 30px;
	padding: 0 0 0 0;
	position:relative;
	text-align: center;
	background-color:#fff;
}

.info_block h3.h3_info{
	margin: 0 0 20px 0;
	padding: 20px 20px 20px;
	position:relative;
	font-size: 30px;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-align: left;
	color: #fff;
	font-family: "Source Sans 3", sans-serif;
	font-weight: 600;
	background-color:#7e8685;
}

.info_block h3.h3_info small{
	margin: 5px 0 0 ;
	padding: 0 0 0 0;
	position:relative;
	display:block;

font-style: normal;
font-size: 15px;
letter-spacing: 0px;
line-height: 1.5;
text-align: left;
color: #fff;
font-family: 'Noto Sans JP', sans-serif;
font-weight:600;
}


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

.info_img{
	margin: 0 auto;
	padding: 0 0 0 0;
	position:relative;
	text-align: center;
	min-width:auto;
}
.info_img img{
	max-width:100%;
}










.company_block{
	margin: 0 auto;
	padding: 0 0 0 0;
	position:relative;
	text-align: center;
	background: linear-gradient(to bottom, #fff 0%, #fff 40px, #dde6e7 40px, #dde6e7 100%);
	background:#cfd2d1;
}

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

.company_main_img{
	margin: 0 0 0;
	padding: 0 0;
	position:relative;
	text-align:center;
	z-index:1;
}

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

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

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

.company_info{
	margin: -30px 20px 30px;
	padding: 20px 0 20px 0;
	position:relative;
	background-color:#fff;
	order:-1;
	z-index:2;
}


table.table_style{
	margin: 0 0 0px;
	padding: 15px 0 0;
	position:relative;
	text-align: left;
	display:inline-block;
	border-top:1px solid #5d7c87;
	border-bottom:1px solid #5d7c87;
}

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

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

.company_map{
	margin: 0 auto;
	padding: 0 0 0 0;
	position:relative;
	vertical-align:top;
}

.company_map iframe{
	width:100%;
	height:200px;
	vertical-align:top;
}


p.txt_style1 {
	margin: 0 0 30px;
    padding: 0 0 0 0;
    position: relative;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.8;
    text-align: center;
    color: #383837;
}




.center{
	text-align:center;
}

.pc_only{
	display:none;
}

.img_pc {
	display:none;
}



