#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #4db232;
	z-index: 99999 !important;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
}
/*************************************************************************************/
.fv_wrap{
	width: 100%;
	height: 95vh;
    overflow: hidden;
	position: relative;
}

.fv_wrap:before{
	padding-top: 66%;
	content: "";
	display: block;
}
.swiper-wrapper{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
    height: 100%;
}
.fv_slider{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}
.fv_slider img{
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: center bottom;
    
    position:absolute; 
    bottom:0; 
    left:0; 
    z-index:8;
}
.fv_slider img.active { z-index:10; }
.fv_slider img.last-active { z-index:9; }
.fv_wrap .main_copy{
	/*background-color: rgba( 0, 0, 0, 0.55 );*/
	color: var(--color-lightText);
	font-size: clamp(1.5rem, 4.5vw, 3.75rem);
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	width: 65%;
	padding: 1em 0;
	text-align: center;
	z-index: 30;
	letter-spacing: .15em;
    text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8), 0px 0px 50px rgba(0, 0, 0, 0.5);
}

.fv_text {
	/*background-color: rgba( 0, 0, 0, 0.55 );*/
	color: var(--color-lightText);
	font-size: clamp(0.8rem, 2vw, 2rem);
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	position: absolute;
	bottom: 0;
	right: 0;

	width: 45%;
	padding: 1em 0;
	text-align: center;
	z-index: 30;
	letter-spacing: .15em;
    text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8), 0px 0px 50px rgba(0, 0, 0, 0.5);
}

#top-message{
    width: 100%;
    padding: 30px 0;
    margin: 3px 0;
    font-size: 1.5em;
	font-family: "Shippori Mincho", serif;
    font-weight: 700;
}
#top-message .wrapper{
    max-width: 47em;
    margin: 0 auto;
}
#top-message p{
    text-align: left;
}
@media screen and (max-width: 768px){
	#top-message{
		font-size: 1.2em;
	}
    #top-message p br{
        display: none;
    }
}

@media screen and (max-width: 768px){
	.fv_wrap{
		width: 100%;
		margin-bottom: 0px;
		height: 70vh;
	}
	.fv_slider img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.fv_wrap .main_copy{
		transform: none;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		box-sizing: border-box;
		width: 100%;
        text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8), 0px 0px 50px rgba(0, 0, 0, 0.5);

	}
	.fv_text {
		width: 65%;
        text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8), 0px 0px 50px rgba(0, 0, 0, 0.5);
	}
}
@media screen and (max-width: 415px){
}
h2{
	font-size: 2.25em;
}
h2 span{
	font-size: 0.444em;
	display: block;
	margin-bottom: .0em;
	padding-left: .2em;
}
h2 i{
	font-style: normal;
	color: var(--color-point);
}
h2:before{
    display: none !important;
}

/*btn
----------------------------------------------------------------------*/
.btn_green a,
.btn_red a{
	display: inline-block;
	flex: 1 1 auto;
	padding: 1.2em 6em 1.2em 2em;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	color: var(--color-lightText);
	text-decoration: none;
	
	text-transform: uppercase;
	position: relative;
	overflow:hidden;
	transition: .3s;
	z-index: 100;
}
.btn_green a:before,
.btn_red a:before{
	content: "";
	display: block;
	position: absolute;
	right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10;
	width: 50px;
	height: 30px;
}

.btn_green a{
	background: var(--color-point);
}
.btn_green a:before{
	background: url("../img/ar_white.svg") no-repeat right 25px center;
	background-size: 15px 15px;
}
.btn_red a{
	background: var(--color-important);
}
.btn_red a:before{
	background: url("../img/ar_circle.svg") no-repeat right 25px center;
	background-size: 20px 20px;
}

@media screen and (min-width: 1024px){
	.btn_green a:after,
	.btn_red a:after{
		position: absolute;
		transition: .3s;
		content: '';
		width: 0;
		left: 50%;
		bottom: 0;
		height: 3px;
	}
	.btn_green a:after{
		background: #4e4e4e;
	}
	.btn_red a:after{
		background: #4e4e4e;
	}
	.btn_green a:after,
	.btn_red a:after{
		height: 120%;
		left: -10%;
		transform: skewX(15deg);
		z-index: -1;
	}
	.btn_green a:hover,
	.btn_red a:hover{
		cursor: pointer;
	}
	.btn_green a:hover:after,
	.btn_red a:hover:after{
		width: 100%;
		left: 0;
	}
	.btn_green a:hover:after,
	.btn_red a:hover:after{
		left: -10%;
		width: 120%;
	}
	.btn_green a:before,
	.btn_red a:before{
		transition: .3s;
	}
	.btn_green a:hover:before{
		content: "";
		background: url("../img/ar_white.svg") no-repeat right 15px center;
		background-size: 15px 15px;
	}
	.btn_red a:hover:before{
		content: "";
		background: url("../img/ar_circle.svg") no-repeat right 15px center;
		background-size: 20px 20px;
	}
}

/*************************************************************************************/
#business {
	background: url("../img/our_business_bg.jpg") no-repeat center;
	background-size: cover;
	padding: 70px 0 70px;
}

#business .wrapper ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 20px;
	row-gap: 20px;
	align-items: stretch;
}
#business .wrapper ul li a{
    position: relative;
    display: block;
    color: #FFF;
    overflow: hidden;
}
#business .wrapper ul li a:before{
    padding-top: 60%;
    display: block;
    content: "";
}
#business .wrapper ul li .photo{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background: #000;
}
#business .wrapper ul li .photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .7;
    transition: all 0.3s ease-in-out;
}
#business .wrapper ul li .titleBox{
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 20;
    color: #FFF;
    text-align: center;
}
#business .wrapper ul li .titleBox .title{
    font-size: 1.5em;
	font-family: "Shippori Mincho", serif;
	font-weight: 700;
}
@media screen and (min-width: 1024px){
	#business .wrapper ul li:hover .photo img{
		transform: scale(1.1);
	}
}
#business .wrapper ul li .titleBox .title_en{
    padding-top: .7em;
    font-size: .8123em;
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
}

@media screen and (max-width: 768px){
	#business {
		padding: 70px 0 70px;
	}
	#business .business_mask{
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		background-color: transparent;
		z-index: 5;
	}
}
@media screen and (max-width: 599px) {
    #business .wrapper ul{
        grid-template-columns: 1fr;
        width: 80%;
        margin: auto;
    }
    #business .wrapper ul li a:before{
        padding-top: 35%;
    }
}

#intro {
}

.intro_titleWrap{
	width: 50%;
	padding: 2em 0;
	text-align: center;
	position: relative;
	z-index: 20;
}
.intro_titleWrap h2{
	display: inline-block;
	text-align: left;
	color: #FFF;
}
#intro .intro_wrap{
	padding: 50px 0;
	position: relative;
	z-index: 10;
	overflow: hidden;
}
#intro .intro_wrap::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	background: url("../img/intro_bg.jpg") no-repeat center;
	background-size: cover;
	filter: grayscale(100%) brightness(1.2);
}
#intro .intro_wrap::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8;
	background-color: rgba(0, 0, 0, 0.25);
}

.intro_detailsWrap {
	padding-top: 50px;
    position: relative;
    z-index: 20;
}


/*上書き*/
.slick-slide{
	height: auto !important;
}
.slick-prev,
.slick-prev:hover,
.slick-prev:focus{
	background: url("../img/ar_prev.svg") no-repeat;
	background-size: 35px 35px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	border: 0;
	left: -50px;
	display: block !important;
}
.slick-next,
.slick-next:hover,
.slick-next:focus{
	background: url("../img/ar_next.svg") no-repeat;
	background-size: 35px 35px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	border: 0;
	right: -50px;
	display: block !important;
}
.slick-prev:before,
.slick-prev:after,
.slick-next:before,
.slick-next:after{
	display: none;
}

.slider_item_photo img{
	width: 100%;
	height: 250px;
	object-fit: cover;
}

.slider_item {
	margin: 0 15px;
	background: var(--color-lightText);
}
.slider_item a{
	text-decoration: none;
}

.slider_item_photo {
}

.slider_item_details {
	padding: 1.5em 1.5em 2.5em;
}

.slider_item_details_title {
	font-size: 1.313em;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	margin-bottom: .8em;
	height: 3em;
}

.slider_item_details_btn{
	background: url("../img/ar_black.svg") no-repeat right 8px top .55em;
	display: inline-block;
	position: relative;
	padding: 0 35px 10px 0;
}
.slider_item_details_btn:before{
	content: "";
	background: #C5C5C5;
	height: 1px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
}
.slider_item_details_btn:after{
	content: "";
	background: var(--color-point);
	height: 1px;
	width: 30px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 20;
}
@media screen and (min-width: 1024px){
	.slider_item:hover .slider_item_details_btn{
		background: url("../img/ar_black.svg") no-repeat right 3px top .55em;
		color: var(--color-point);
	}
}
@media screen and (max-width: 599px) {
	.intro_titleWrap{
		width: 90%;
		text-align: left;
	}
	.intro_titleWrap h2{
		text-align: left;
	}
}



#news {
	background: url("../img/news-bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 50px 0;
}
#news h2{
	display: inline-block;
	text-align: left;
	color: var(--color-baseText);
	min-height: 70px;
}

.news_list {
	margin: 50px 0 50px 0;
	border-top: 1px solid var(--color-sub);
}

.news_list_item {
	width: 100%;
	display: table;
	padding: 1.5em 0;
	border-bottom: 1px solid var(--color-sub);
}
.news_list_item p{
	margin: 0;
	display: table-cell;
	vertical-align: top;
}

.news_list_item .date {
	width: 8em;
}

.news_list_item .category {
	width: 10em;
}
.news_list_item .category span{
	background: var(--color-sub);
	display: block;
	color: var(--color-lightText);
	font-size: 0.813em;
	text-align: center;
	margin-right: 2em;
}

.news_list_item .title {
}

#news .btn_green{
	text-align: center;
}
@media screen and (max-width: 599px) {
	.news_list_item {
		display: block;
	}
	.news_list_item p{
		display: inline-block;
	}
	.news_list_item .title {
		display: block;
		margin-top: .7em;
	}
}

#movies-recruit{
	background: #FFF;
	padding-bottom: 50px;
}
.movies_recruit_wrap{
	display: flex;
	align-items: stretch;
	gap: 30px;
}
.movies_recruit_wrap #movies{
	flex: 1;
}
#movies .movie_wrap{
	width: 100%;
	margin: 0 auto;
}
.movies_recruit_wrap #recruit{
	width: 300px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
}

#recruit {
	margin: 0;
}
.recruit_inner {
    padding: 20px;
    text-align: center;
}
.recruit_inner h2{
	display: inline-block;
	text-align: left;
	margin-right: 20px;
}
.recruit_inner .photo{
	margin: 15px 0;
}
.recruit_inner .photo img{
	max-width: 100%;
	height: auto;
}
.recruit_inner .btn_red {
	margin-left: auto;
}
@media screen and (max-width: 768px){
	.movies_recruit_wrap{
		flex-direction: column;
		gap: 0;
	}
	.movies_recruit_wrap #recruit{
		width: 100%;
        justify-content: center;
	}
	.recruit_inner{
		text-align: center;
	}
	.recruit_inner h2{
		margin: 0 auto;
		color: var(--color-baseText);
	}
	.recruit_inner .btn_red {
		margin: 20px auto 0;
	}
	/* スマホ：ボタンサイズを採用サイトと同じに */
	#business .wrapper ul li .titleBox .title{
		font-size: 1.143em;
	}
	#business .wrapper ul li .titleBox .title_en{
		font-size: .7em;
	}
	/* スマホ：事例紹介の現場名の文字を小さく */
	.slider_item_details_title {
		font-size: 1em;
	}
}