#fv {
	position: relative;
	overflow: hidden;
}
#fv:before{
	content: "";
	padding-top: 66%;
	display: block;
}


.fv_mainPhoto {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}
.fv_mainPhoto img{
	width: 100%;
	height: 100%;
    
    position:absolute; 
    top:0; 
    left:0; 
    z-index:8;
}
.fv_mainPhoto img.active { z-index:10; }
.fv_mainPhoto img.last-active { z-index:9; }
#top-message{
    width: 100%;
    padding: 30px 0;
    margin: 3px 0;
    font-size: 1.5em;
	font-family: "Shippori Mincho", serif;
    font-weight: 700;
}
#top-message p{
    text-align: center;
}
@media screen and (max-width: 768px){

}
@media screen and (max-width: 599px) {
	.fv_mainCopy {
		font-size: 1.8em;
		padding-top: 2em;
	}
}

/*common parts
************************************************************************************/
/*title*/
.titleBox_eng,
.titleBox {
	padding-left: 9em;
	position: relative;
	margin-bottom: 3.5em;
}
.titleBox_eng:before,
.titleBox:before{
	position: absolute;
	top: -.1em;
	left: 0;
	font-size: 6.25em;
	line-height: 1;
	font-weight: 600;
	content: "";
}
.titleBox_eng_main,
.title_subEng {
	color: var(--color-point);
	position: relative;
	padding-bottom: 1.7em;
	margin-bottom: 1em;
	font-family: "Text Me One", sans-serif;
	font-weight: bold;
}

.titleBox_eng_subEng,
.title_main {
	font-size: 2.375em;
	font-weight: 800;
	margin: 0;
}

.titleBox_eng {
	padding: 0;
	text-align: center;
	position: static;
}

.titleBox_eng_subEng {
	font-family: "Text Me One", sans-serif;
	font-weight: bold;
	font-size: 3.75em;
}

.titleBox_eng_main {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1em;
	color: var(--color-baseText);
	padding-bottom: 0;
	margin-bottom: 0;
}
.titleBox_eng:before{
	top: 0;
	color: var(--color-baseText);
	opacity: 0.3;
	position: static;
}

/*menus*/
.menu_item {
	position: relative;
	overflow: hidden;
	box-shadow: 0px 0px 14px -5px #191919;
	background: #000;
}
.menu_item a{
	color: var(--color-lightText);
	text-decoration: none;
}
.menu_item:before{
	padding-top: 65%;
	content: "";
	display: block;
}

.menu_item_photo {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
}
.menu_item_photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .75;
}

.menu_item_title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 20;
	font-size: 1.313em;
	font-weight: 600;
	text-align: center;
}
@media screen and (min-width: 1024px){
	.menu_item_photo img{
		-webkit-transition: all 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	.menu_item:hover .menu_item_photo img{
		transform: scale(1.1);
	}
}
@media screen and (max-width: 768px){
	.menu_item_title{
		width: 95%;
		font-size: 1.143em;
	}
}

/*content
************************************************************************************/
#company {
	position: relative;
	padding: 100px 0;
}
#company .titleBox,
#company .title_subEng{
    color: #FFF;
}
#company .titleBox:before{
	content: "01";
    color: #FFF;
}
#company .bg{
	position: absolute;
	top: 0;
	right: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
#company .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#company .mask{
	position: absolute;
	top: 0;
	right: 0;
	background-color: rgba( 0, 0, 0, 0.3 );
	z-index: -1;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
}
.company_innerWrap {
}

.company_menus {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 30px;
	row-gap: 30px;
	align-items: stretch;
}

@media screen and (max-width: 768px){
	#company .titleBox .title_main{
		color: var(--color-lightText);
	}
	#company .bg{
		width: 100%;
	}
	#company .mask{
		width: 100%;
	}
	.company_menus {
		width: 90%;
		column-gap: 10px;
		row-gap: 10px;
	}
}
@media screen and (max-width: 599px) {
	.company_menus {
		grid-template-columns: 1fr;
		width: 80%;
		margin: auto;
	}
	.company_menus .menu_item{
	}
	#company .menu_item:before{
		padding-top: 35%;
		content: "";
		display: block;
	}
	#company .menu_item_title:after{
		content: " ≫";
	}
}

#work {
	position: relative;
	padding: 100px 0;
}
#work .titleBox,
#work .title_subEng{
    color: #737373;
}
#work .titleBox:before{
	content: "02";
    color: #737373;
}
#work .bg{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
#work .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: bottom center;
}
#work .mask{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba( 255, 255, 255, 0.5 );
	z-index: -1;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
}

.work_menus {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 30px;
	row-gap: 30px;
	align-items: stretch;
}
@media screen and (max-width: 768px){
	.work_menus {
		column-gap: 10px;
		row-gap: 10px;
	}
}
@media screen and (max-width: 599px) {
	.work_menus {
		grid-template-columns: 1fr;
		width: 80%;
		margin: auto;
	}
	.work_menus .menu_item{
	}
	#work .menu_item:before{
		padding-top: 35%;
		content: "";
		display: block;
	}
	#work .menu_item_title:after{
		content: " ≫";
	}
}

#interview {
	position: relative;
	padding: 100px 0;
}
#interview .titleBox,
#interview .title_subEng{
    color: #FFF;
}
#interview .titleBox:before{
	content: "03";
    color: #FFF;
}
#interview .bg{
	position: absolute;
	top: 0;
	right: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
#interview .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#interview .mask{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba( 0, 0, 0, 0.5 );
	z-index: -1;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
}
.titleBox_interview_main {
}

.interview_memberWrap {
}

.interview_member {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 30px;
	row-gap: 30px;
	align-items: stretch;
	width: 97%;
	margin: -30px auto 0;
}

.interview_member_item {
	position: relative;
}

.interview_member_item_photo{
	aspect-ratio: 3 / 4;
}

.interview_member_item_photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.interview_member_item_nameBox {
	background-color: rgba( 0, 0, 0, 0.5 );
	padding: 1em;
	width: 90%;
	box-sizing: border-box;
	text-align: center;
	position: absolute;
	bottom: -2em;
	left: 50%;
	transform: translateX(-50%);
	color: var(--color-lightText);
}

.interview_member_item_name {
	font-size: 1.5em;
	font-weight: 700;
}

@media screen and (max-width: 1024px){
	.interview_member {
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 30px;
		row-gap: 50px;
	}
}
@media screen and (max-width: 599px) {
	#interview {
		padding: 0px 0 100px 0;
	}
	.interview_header:before{
		padding-top: 75%;
	}
	.interview_member {
		grid-template-columns: 1fr 1fr;
		column-gap: 10px;
		row-gap: 50px;
	}
}


.detailsBox {
	position: relative;
	overflow: hidden;
	width: 90%;
	margin: auto;
	text-align: center;
}
.detailsBox:before{
	content: "";
	padding-top: 57%;
	display: block;
}
.detailsBox .bg{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.detailsBox img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.detailsBox .mask{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba( 0, 0, 0, 0.3 );
	z-index: 2;
	width: 100%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
}

.detailsBox_txt {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	z-index: 3;
	font-size: 1.313em;
	line-height: 1.905em;
	font-weight: 700;
	padding: 3em 2em 0;
	color: var(--color-lightText);
}
.detailsBox_txt .border_btn_white{
	padding-top: 3em;
}

.border_btn_white a{
	display: inline-block;
	min-width: 400px;
	max-width: 98%;
	box-sizing: border-box;
	text-align: left;
	padding: 1em 3.5em 1em 1.5em;
	text-decoration: none;
	border: 1px solid var(--color-lightText);
	color: var(--color-lightText);
	background: url("../img/ar_white.svg") no-repeat right 25px center;
}

@media screen and (min-width: 1024px){
	.border_btn_white a{
		-webkit-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
	}
	.border_btn_white a:hover{
		background: url("../img/ar_white.svg") no-repeat right 15px center;
	}
}

#systems .titleBox_eng:before{
	content: "05";
}

@media screen and (max-width: 768px){
	.detailsBox:before{
		padding-top: 75%;
	}
	.detailsBox_txt{
		font-size: 1.143em;
	}
}
@media screen and (max-width: 599px) {
	.detailsBox:before{
		padding-top: 125%;
	}
	.border_btn_white a{
		min-width: 100%;
	}
}


/*animation
************************************************************************************/
.anim{
	opacity: 0;
}
.anim-up{
	opacity: 0;
}
.anim-slide-left{
	opacity: 0;
}
.anim-slide-right{
	opacity: 0;
}
.delay-1s {
	-webkit-animation-delay: .1s;
	animation-delay: .1s;
	-webkit-animation-delay: calc(var(--animate-delay)*.1);
	animation-delay: calc(var(--animate-delay)*.1)
}
.delay-2s {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
	-webkit-animation-delay: calc(var(--animate-delay)*.2);
	animation-delay: calc(var(--animate-delay)*.2)
}
.delay-3s {
	-webkit-animation-delay: .3s;
	animation-delay: .3s;
	-webkit-animation-delay: calc(var(--animate-delay)*.3);
	animation-delay: calc(var(--animate-delay)*.3)
}
.delay-4s {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
	-webkit-animation-delay: calc(var(--animate-delay)*.4);
	animation-delay: calc(var(--animate-delay)*.4)
}
.delay-5s {
	-webkit-animation-delay: .5s;
	animation-delay: .5s;
	-webkit-animation-delay: calc(var(--animate-delay)*.5);
	animation-delay: calc(var(--animate-delay)*.5)
}
.delay-6s {
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
	-webkit-animation-delay: calc(var(--animate-delay)*.6);
	animation-delay: calc(var(--animate-delay)*.6)
}
.delay-7s {
	-webkit-animation-delay: .7s;
	animation-delay: .7s;
	-webkit-animation-delay: calc(var(--animate-delay)*.7);
	animation-delay: calc(var(--animate-delay)*.7)
}
.delay-8s {
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
	-webkit-animation-delay: calc(var(--animate-delay)*.8);
	animation-delay: calc(var(--animate-delay)*.8)
}
.delay-9s {
	-webkit-animation-delay: .9s;
	animation-delay: .9s;
	-webkit-animation-delay: calc(var(--animate-delay)*.9);
	animation-delay: calc(var(--animate-delay)*.9)
}
@media screen and (max-width: 1024px){
	.delay-1s,
	.delay-2s,
	.delay-3s,
	.delay-4s,
	.delay-5s,
	.delay-6s,
	.delay-7s,
	.delay-8s,
	.delay-9s{
		transition-delay: .1s;
	}
}
@media screen and (max-width: 768px){
	.delay-1s,
	.delay-2s,
	.delay-3s,
	.delay-4s,
	.delay-5s,
	.delay-6s,
	.delay-7s,
	.delay-8s,
	.delay-9s{
		transition-delay: 0;
	}
}

.passing-text,
.passing-photo figure{
	position: relative;
	display: inline-block;
	overflow: hidden;
}
.passing-text::before,
.passing-photo figure::before{
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 20;
	background: var(--anim-bg);
}
.passing-text.move-in::before,
.passing-photo.move-in figure::before{
	animation: barAnime forwards 1.5s 1 0.1s normal;
}
.passing-text *,
.passing-photo figure img{
	opacity: 0;
	transform: scale(1.1);
}
.passing-text.move-in *,
.passing-photo.move-in figure img{
	animation: photoAnime forwards 1.5s 1 0.5s normal;
}

@keyframes barAnime{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	68% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@keyframes photoAnime{
	0% {
    opacity: 0;
    transform: scale(1.1);
  }
	50% {
    opacity: 0;
    transform: scale(1.1);
  }
	100% {
    opacity: 1;
    transform: scale(1);
  }
}