@charset "UTF-8";
#kv{
	margin: 0 auto 30px;
	position: relative;
	width: 100%;
	height: 50vh;
	overflow: hidden;
}
#kv_inner {
	position: absolute;
	width: 100%;
	height: 100%;
}
.kv_txt {
	position: absolute;
	top: 46%;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.0;
    text-align: center;
    color: #fff;
    font-weight: 700;
	width:100%;
}
.kv_txt img {
	width:300px;
	height:auto;
}
#background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  z-index: -1;
}




.future_area{
	margin: 0 auto 30px;
	padding: 20px 0 0 0;
	width: auto;
	position:relative;
	text-align:center;
}

.future_area h3.h3_future{
	margin: 0 auto 20px;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
font-size: 28px;
letter-spacing: 0.03em;
line-height: 28px;
text-align: center;
color: #444;
font-family: "Avenir","Lato", 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: 18px;
letter-spacing: 0.15em;
line-height: 1.5;
text-align: center;
color: #444;
font-family: 'Noto Sans JP', sans-serif;
font-weight:700;
}

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


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

.scroll-infinity{

	margin: 0 auto 50px;
	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: 180px;
}
.scroll-infinity__list li img.slide1 {
margin-top:0;
}
.scroll-infinity__list li img.slide2 {
margin-top:60px;
}
.scroll-infinity__list li img.slide3 {
margin-top:30px;
}
.scroll-infinity__item>img {
width: auto;
height:300px;
}









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

	background: linear-gradient(to bottom, #cdd8d8 0%, #cdd8d8 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: "Avenir","Lato", sans-serif;
font-weight: 900;
}

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: 20px 0 0 0;
	position:relative;
	text-align: center;
	background-color:#fff;
}

.info_block h3.h3_info{
	margin: 0 0 20px 30px;
	padding: 0 0 0;
	position:relative;
	font-size: 30px;
	letter-spacing: 0.05em;
	line-height: 1.3;
	text-align: left;
	color: #444;
	font-family: "Avenir","Lato", sans-serif;
	font-weight: 900;
}

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


.info_block p.txt_style1 {
	margin: 0 0 20px 30px ;
	padding: 0 30px 0 0;
	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%;
}





.news_area{
	margin: 0 0 0;
	padding: 50px 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: "Avenir","Lato", sans-serif;
font-weight: 900;
}
.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:auto;
}

div.insta_list .sbi_item {
	margin: 3px 3px;
	padding: 0 0;
	position:relative;
	text-align:left;
	display:inline-block !important;
	vertical-align:top !important;
	width:190px !important;
	letter-spacing:normal;
}

div.insta_list .sbi_item img{
	width:auto;
	height:auto;
	vertical-align:top;
	border-radius:10px;
}
div.insta_list .sbi_item img.works_new{
	position: absolute;
	top:5px;
	left:5px;
	width:40px;
	height:auto;
	z-index:10;
}

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

ul.insta_list li img{
	width:auto;
	height:auto;
	vertical-align:top;
	border-radius:10px;
}
ul.insta_list li img.works_new{
	position: absolute;
	top:5px;
	left:5px;
	
	width:40px;
	height:auto;
	z-index:10;
}







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

}

.company_main_img{
	margin: 0 30px 30px;
	padding: 0 0;
	position:relative;
	text-align:center;
}

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

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

.company_block h3.h3_company small{
	margin: 0 0 0;
	padding: 0 0 0 0;
	position:relative;
	display:block;
font-style: 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;
}


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

table.table_style{
	margin: 0 0 20px;
	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 15px 10px;
	position:relative;
	text-align: left;
font-weight: normal;
font-size: 13px;
line-height: 1.5;
color: #444;
width:70px;
box-sizing: border-box;
}

table.table_style td{
	margin: 0 0;
	padding: 0 0 15px 20px;
	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;
}

.company_map iframe{
	width:100%;
	height:200px;
}


/* Slick全体の幅と余白調整 */
  .slick-slide {
    width: 190px !important; /* 中央画像の幅を固定 */
    margin: 0 8px !important;; /* 左右にスペースを持たせてはみ出し表現 */
  }

  #sb_instagram.sbi_mob_col_10 #sbi_images {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap;
    overflow: visible;
  }

#sb_instagram.sbi_small .sbi_type_carousel .sbi_photo_wrap .fa-clone {
    right: 10px !important;
    top: 10px !important;
    font-size: 20px !important;
}
.center{
	text-align:center;
}

.pc_only{
	display:none;
}

.img_pc {
	display:none;
}



