@charset "UTF-8";
/* CSS Document */

body{
	/*background-color: #ccc;*/
}

#imgbox{
	overflow: hidden;
	position: relative;
	height: 0px;
}

#contents{
	overflow: hidden;
	padding-bottom: 0px;
}

#backline{
	position: fixed;
	width: 1000px;
	height: 100%;
	left: 50%;
	top: 0px;
	z-index: -1;
	border-left: #f5f5f5 solid 1px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}


#backline li{
	float: left;
	width: 25%;
	height: 100%;
	border-right: #f5f5f5 solid 1px;
}


#topbg{
	position: fixed;
	z-index: 9000;
	width: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
	pointer-events: none;
}

#topbg div{
	opacity: .05;
	position: absolute;
	pointer-events: none;
}

#topbg div::before{
	content: "";
	display: block;
	width: 100%;
	padding-top: 100%;
}

#topbg div.color_Red{
	background-color: firebrick;
}

#topbg div.color_Brown{
	background-color: brown;
}

#topbg div.color_Orange{
	background-color: orange;
}

#topbg div.color_Yellow{
	background-color: gold;
}

#topbg div.color_Green{
	background-color: green;
}

#topbg div.color_Blue{
	background-color: darkblue;
}

#topbg div.color_Purple{
	background-color: purple;
}

#topbg div.color_Pink{
	background-color: palevioletred;
}

#topbg div.color_Turquoise{
	background-color: turquoise;
}

#topbg div.color_emerald{
	background-color: lightgreen;
}

#topbg div.color_Black{
	background-color: gray;
}

#topbg div.color_Mediumpurple{
	background-color: mediumpurple;
}

#topbg div.color_Tan{
	background-color: tan;
}











/* main */


#contents main,
#contents main #alphablack{
	min-height: 600px;
}

#contents main #mainphoto div{
	position: absolute;
	top:0px;
	left: 0px;
	width: 100%;
	height: 100%;
	min-height: 500px;
	background-size: cover;
	background-position: center center;
	z-index: 1;
}

#contents main #mainphoto div,
#contents.check main #mainphoto div{
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
	
}

#contents.load main #mainphoto div{
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
	
	-webkit-animation: shrink 1.2s forwards cubic-bezier(.07,.68,.41,1) .8s;
	animation: shrink 1.2s forwards cubic-bezier(.07,.68,.41,1) .8s;
}



#contents main{
	position: relative;
	z-index: 9100;
}

#contents main.main_top{
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	overflow: hidden;
	display: block;
}

#contents main.main_top article{
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#contents #pesonvideo{
	display: none;
	z-index: 25;
}


body.pc .target_sp,
body.sp .target_pc{
	display: none;
}


.mainvideo {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 1;
}

.mainvideo.active{
	opacity: 1;
	-webkit-animation: alpha100 2s forwards 0s;
	animation: alpha100 2s forwards 0s;
}



.mainvideo video {
	position: absolute;
    width: auto;
    height: auto;
    top: 0%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -ms-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}


















#contents main article{
	color: #FFF;
	width: 90%;
	max-width: 1200px;
}


#contents main article{
	
	font-size: 16px;
	position: absolute;
	
	line-height: 1.6;
	font-weight: 600;
	z-index: 100;
	text-align: center;
	
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

#contents.load main article{
	top: 50%;
	left: 50%;
	transform: scale(1,1) translate(-50%,-50%);
	opacity: 1;
}


#contents main #maincopy h1{
	transition: all 800ms 1s ease;
	overflow: hidden;
	display: inline-block;
	transform: scale(1.2,1.2);
	opacity: 0;
}

#contents main #maincopy h1 span{
	display: inline-block;
	font-size: 150px;
	font-weight: 700;
	line-height: 1;
}


#contents.load main #maincopy h1{
	transform: scale(1,1);
	opacity: 1;
}






/* main */















/* continfo_area */




.continfo_area{
	position: relative;
}


.continfo_area article{
	position: relative;
	z-index: 100;
}


.continfo_area article h1 .chaffle_top{
	opacity: 0;
}

.continfo_area article h1 .chaffle_top.vewm{
	opacity: 1;
}

.continfo_b article h1{
	font-size: 100px;
}

.continfo_s article h1{
	font-size: 80px;
}

.continfo_area article h1{
	position: relative;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	z-index: 20;
}


.continfo_area.continfo_b article h2{
	transition: all .8s 1s ease;
	position: relative;
	background-color: #000;
/*	width: 480px;*/
	overflow: hidden;
	width: 0px;
}

.continfo_area.continfo_b.inview_anime_box_on article h2{
	width: 100%;
	max-width: 480px;
/*
	
	width: 47%;
*/
}

.continfo_area.continfo_b article h2 span{
	color: #FFF;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	padding: 30px 30px 10px 30px; 
	white-space: nowrap;
}

.continfo_area.continfo_b article h2::before{
	transition: all 1.5s 1.5s ease;
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 15;
	background-color: #000;
	top: 0;
	right: 0;
}

.continfo_area.continfo_b.inview_anime_box_on article h2::before{
	width: 0px;
}

.continfo_b .continfo_info{
	margin: -45px 0px 0px 0px;
}


.continfo_area p.continfo_txt{
	width: 100%;
/*	width: 42%;*/
/*	max-width: 400px;*/
	padding: 30px 30px 40px;
	line-height: 2;
	
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
}


.continfo_area.inview_anime_box_on p.continfo_txt{
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
	-webkit-animation: inview_animetion .7s forwards cubic-bezier(.07,.68,.41,1) 1.8s;
	animation: inview_animetion .7s forwards cubic-bezier(.07,.68,.41,1) 1.8s;
}

.continfo_area .btn_slidedown{
	position: relative;
	width: 260px;
	height: 50px;
	background-color: #00559a;
	cursor: pointer;
}

#otherarea.continfo_area .btn_slidedown{
	width: 220px;
	height: 40px;
}

.continfo_area .btn_slidedown aside::before,
.continfo_area .btn_slidedown aside::after{
	transition: all 500ms 0s ease;
	content: '';
	display: block;
	width: 2px;
	height: 12px;
	background-color: #fff;
	position: absolute;
	top: 50%;
}

.continfo_area .btn_slidedown aside::before {
	right: 24px;
    transform: rotate(45deg) translateY(-50%);
}


.continfo_area .btn_slidedown aside::after {
    right: 24px;
    transform: rotate(-45deg) translateY(-50%);
}

.continfo_area .btn_slidedown.active aside::before {
	right: 30px;
	height: 18px;
	top: 45%;
}

.continfo_area .btn_slidedown.active aside::after {
    right: 18px;
	height: 18px;
	top: 45%;
}



.continfo_area .btn_slidedown aside span{
	position: absolute;
	font-size: 26px;
	font-weight: 600;
	color: #FFF;
	letter-spacing: 1px;
	line-height: 1;
	padding-top: 3px;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	opacity: 0;
}

#otherarea.continfo_area .btn_slidedown aside span{
	font-size: 20px;
}

.continfo_area.inview_anime_box_on .btn_slidedown aside span,
.continfo_area .inview_anime_box_on .btn_slidedown aside span{
	-webkit-animation: alpha_100 .7s forwards cubic-bezier(.07,.68,.41,1) 2s;
	animation: alpha_100 .7s forwards cubic-bezier(.07,.68,.41,1) 2s;
}

#otherarea.continfo_area .inview_anime_box_on .btn_slidedown aside span{
	-webkit-animation: alpha_100 .7s forwards cubic-bezier(.07,.68,.41,1) 1.2s;
	animation: alpha_100 .7s forwards cubic-bezier(.07,.68,.41,1) 1.2s;
}


.continfo_area .btn_slidedown::before{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	right: 0;
	background-color: #FFF;
}

#otherarea.continfo_area .btn_slidedown::before{
	background-color: #f5f5f5;
}

.continfo_area.inview_anime_box_on .btn_slidedown::before{
	width: 100%;
	-webkit-animation: width_0 .7s forwards cubic-bezier(.07,.68,.41,1) 1.8s;
	animation: width_0 .7s forwards cubic-bezier(.07,.68,.41,1) 1.8s;
}

#otherarea.continfo_area .inview_anime_box_on .btn_slidedown::before{
	width: 100%;
	-webkit-animation: width_0 .7s forwards cubic-bezier(.07,.68,.41,1) 1s;
	animation: width_0 .7s forwards cubic-bezier(.07,.68,.41,1) 1s;
}

.top_menu{
	position: absolute;
	width: 260px;
	display: none;
}

#otherarea .top_menu{
	position: absolute;
	width: 220px;
	display: none;
}

.top_menu li{
	width: 100%;
	text-align: center;
	color: #FFF;
}

.top_menu li aside,
.top_menu li aside span,
.top_menu li p,
.top_menu li p span,
.top_menu li a,
.top_menu li a span{
	display: block;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.top_menu li p{
	background-color: #ccc;
	cursor: pointer;
}

.top_menu li p span{
	color: rgba(255,255,255,.6);
}



.top_menu li span{
	position: relative;
	padding: 10px;
	height: 100%;
}

.top_menu li span::before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background-color: rgba(255,255,255,.2);
	bottom: 0px;
	left: 0px;
}

.top_menu li p::after{
	content: "coming soon";
	display: none;
	color: rgba(255,255,255,.6);
}

.top_menu li p:hover span{
	display: none;
}

.top_menu li p:hover::after {
	display: block;
	padding: 10px;
}

.top_menu li a span strong{
	display: block;
}

.top_menu li aside,
.top_menu li a{
	transition: all 500ms 0s ease;
}

.top_menu li aside:hover,
.top_menu li a:hover{
	opacity: .7;
}



/* 右（business）　*/
.continfo_b.continfo_info_r{
	text-align: right;
}

.continfo_info_r article{
	text-align: right;
}

.continfo_area.continfo_info_r article h2{
	margin: -45px 0px 0px auto;
	text-align: right;
}

.continfo_area.continfo_info_r p.continfo_txt{
	margin: 0px 0 0px auto;
	
}

.continfo_area.continfo_info_r .btn_slidedown{
	margin: 0 0 0 auto;
}

.continfo_area.continfo_info_r .top_menu{
	right: 0;
}
/* 右（business）　*/




/* companyarea */

#companyarea{
	padding: 120px 0px 0px;
	margin-bottom: 200px;
}

#companyarea .imgbox{
	position: absolute;
	width: 55%;
	max-width: 1000px;
	min-width: 600px;
	top: 220px;
	left: calc(45% - 50px) ;
}

#companyarea .bt_movie{
	cursor: pointer;
}

#companyarea .bt_movie figure{
	overflow: hidden;
}

#companyarea .bt_movie figure img{
	transition: all 500ms 0s ease;
}

#companyarea .bt_movie figure::before{
	transition: all 500ms 0s ease;
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.2);
	z-index: 5;
	opacity: 0;
}

#companyarea.inview_anime_box_on .bt_movie figure::before{
	-webkit-animation: alpha_100 .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.4s;
	animation: alpha_100 .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.4s;
}

#companyarea .imgbox .bt_movie_area{
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
}

#companyarea .imgbox .bt_movie_area .bt_play{
	display: block;
	width: 62px;
	height: 62px;
	margin: 0 auto;
}


#companyarea .imgbox .bt_movie_area h3{
	font-size: 30px;
	color: #FFF;
	font-weight: 600;
	display: inline-block;
	white-space: nowrap;
	padding-top: 15px;
}

#companyarea .bt_movie:hover figure::before{
	background-color: rgba(0,0,0,0);
}

#companyarea .bt_movie:hover figure img{
	transform: scale(1.1);
}

#companyarea article{
	pointer-events: none;
}

#companyarea article > div{
	width: 480px;
	pointer-events: none;
}

#companyarea article > div div.continfo_info{
	pointer-events: auto;
	padding-left: 10px;
}




#companyarea .imgbox figure{
	display: block;
	height: 100%;
}

#companyarea .imgbox figure ul {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

#companyarea .imgbox figure ul li{
	position: absolute;
	height: 20%;
	width: 100%;
	overflow: hidden;
}

#companyarea .imgbox figure ul li span{
	position: absolute;
	width: 100%;
	height: 500%;
	background-image: url(../img/company_img.jpg);
	background-size: cover;
	background-repeat: no-repeat;
}

#companyarea .imgbox figure ul li:nth-child(1){
	top: 0%;
}

#companyarea .imgbox figure ul li:nth-child(2){
	top: 20%;
}

#companyarea .imgbox figure ul li:nth-child(3){
	top: 40%;
}

#companyarea .imgbox figure ul li:nth-child(4){
	top: 60%;
}

#companyarea .imgbox figure ul li:nth-child(5){
	top: 80%;
}

#companyarea .imgbox figure ul li:nth-child(1) span{
	left: 0px;
	opacity: 0;
	transform: translatex(100%);
}

#companyarea .imgbox figure ul li:nth-child(2) span{
	top: -100%;
	opacity: 0;
	transform: translatex(100%);
}

#companyarea .imgbox figure ul li:nth-child(3) span{
	top: -200%;
	opacity: 0;
	transform: translatex(100%);
}

#companyarea .imgbox figure ul li:nth-child(4) span{
	top: -300%;
	opacity: 0;
	transform: translatex(100%);
}

#companyarea .imgbox figure ul li:nth-child(5) span{
	top: -400%;
	opacity: 0;
	transform: translatex(100%);
}


#companyarea.inview_anime_box_on .imgbox figure ul li:nth-child(1) span{
	left: 0px;
	opacity: 0;
	transform: translatex(80%);
	-webkit-animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1s;
	animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1s;
}

#companyarea.inview_anime_box_on .imgbox figure ul li:nth-child(2) span{
	top: -100%;
	opacity: 0;
	transform: translatex(80%);
	-webkit-animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.1s;
	animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.1s;
}

#companyarea.inview_anime_box_on .imgbox figure ul li:nth-child(3) span{
	top: -200%;
	opacity: 0;
	transform: translatex(80%);
	-webkit-animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.2s;
	animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.2s;
}

#companyarea.inview_anime_box_on .imgbox figure ul li:nth-child(4) span{
	top: -300%;
	opacity: 0;
	transform: translatex(80%);
	-webkit-animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.3s;
	animation: slice_l .5s forwards cubic-bezier(.17,.67,.73,1.09) 1.3s;
}

#companyarea.inview_anime_box_on .imgbox figure ul li:nth-child(5) span{
	top: -400%;
	opacity: 0;
	transform: translatex(80%);
	-webkit-animation: slice_l .45s forwards cubic-bezier(.17,.67,.73,1.09) 1.4s;
	animation: slice_l .45s forwards cubic-bezier(.17,.67,.73,1.09) 1.4s;
}



@keyframes slice_l {
	0% {
		opacity: 0;
		transform: translatex(80%);
	}
	100% {
		transform: translatex(0);
		opacity: 1;
	}
}
/* companyarea */



/* business */


#businessarea{
	padding: 0px 0px 0px;
	margin-bottom: 200px;
}

#businessarea .imgbox{
	position: relative;
	width: 100%;
	max-width: 1700px;
	margin: 0 auto;
}

#businessarea .imgbox figure{
	position: relative;
	width: 50%;
	height: 600px;
	
	overflow: hidden;
}

#businessarea .imgbox figure span{
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../img/business_img.jpg);
	background-size: cover;
	background-position: center center;
	
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	transform: scale(1.1);
}

#businessarea .imgbox figure::before{
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	background-color: #FFF;
	width: 100%;
	height: 100%;
	right: 0;
}

#businessarea.inview_anime_box_on .imgbox figure::before{
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .3s;
}

#businessarea.inview_anime_box_on .imgbox figure span{
	animation: businessimages 2s forwards ease 1.6s;
}

@keyframes businessimages {
	0% {
		transform: scale(1.1);
		-ms-filter: grayscale(100%);
		filter: grayscale(100%);
	}
	100% {
		transform: scale(1);
		-ms-filter: grayscale(0%);
		filter: grayscale(0%);
	}
}

#businessarea article{
	position: absolute;
	left: calc(50% - 50px) ;
	top: 15%;
}

#businessarea article > div{
	width: 480px;
}

#businessarea article > div div.continfo_info{
	pointer-events: auto;
	padding-right: 10px;
}

#businessarea article  > div div.continfo_info p.continfo_txt{
	width: 380px;
}

#businessarea article > div div ul{
	margin-right: 10px;
}






/* business */









/* work */

#workarea{
	padding: 0px 0px 0px;
	margin-bottom: 200px;
}

#workarea .imgbox{
	position: relative;
	width: 100%;
	max-width: 1700px;
	height: 720px;
	margin: 0 auto;
}


#workarea .imgbox #work_img_1{
	position: absolute;
	width: 22.5%;
	height: 600px;
	left: 10px;
	top: 120px;
	overflow: hidden;
}

#workarea .imgbox figure::before{
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	background-color: #FFF;
	width: 100%;
	height: 100%;
	right: 0;
}

#workarea .imgbox #work_img_1 span{
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../img/work_img_1.jpg);
	background-size: cover;
	background-position: center center;
	
	-ms-filter: blur(6px);
  	filter: blur(6px);
}

#workarea .imgbox #work_img_2{
	position: absolute;
	width: 45%;
	height: 540px;
	right: 0px;
	overflow: hidden;
}

#workarea .imgbox #work_img_2 span{
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../img/work_img_2.jpg);
	background-size: cover;
	background-position: center center;
	
	-ms-filter: blur(6px);
  	filter: blur(6px);
}

#workarea.inview_anime_box_on .imgbox #work_img_1::before{
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .3s;
}

#workarea.inview_anime_box_on .imgbox #work_img_2::before{
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .6s;
}

#workarea.inview_anime_box_on .imgbox #work_img_1 span{
	animation: workimages 1.2s forwards ease 1.6s;
}

#workarea.inview_anime_box_on .imgbox #work_img_2 span{
	animation: workimages 1.2s forwards ease 1.9s;
}

@keyframes workimages {
	0% {
		-ms-filter: blur(6px);
		filter: blur(6px);
	}
	100% {
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
}

#workarea article{
	position: absolute;
	top: 290px;
	left: calc(50% - 330px) ;
}

#workarea article > div{
	width: 480px;
}

#workarea article > div div.continfo_info{
	pointer-events: auto;
	padding-left: 10px;
}

#workarea article  > div div.continfo_info p.continfo_txt{
	width: 380px;
}

/* work */







/* personarea */


#personarea{
	position: relative;
	padding: 50px 0px 350px;
	margin-bottom: 0px;
}

#personarea .imgbox{
	position: relative;
	width: 100%;
	max-width: 1680px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

}



#personarea .imgbox ul{
	position: relative;
	width: 50%;
	height: 600px;
}

#personarea .imgbox ul::before{
	content: "";
	background-color: #FFF;
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 20;
}

#personarea .imgbox ul li{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
}

#personarea .imgbox ul#person_l{
	transform: translateY(25px);
}

#personarea .imgbox ul#person_r{
	transform: translateY(-25px);
	
}

#personarea .imgbox ul#person_l li{
}

#personarea .imgbox ul#person_r li{
}


.continfo_area.inview_anime_box_on ul#person_l::before{
	-webkit-animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) 1s;
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) 1s;
}

.continfo_area.inview_anime_box_on ul#person_r::before{
	-webkit-animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) 1.2s;
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) 1.2s;
}

#personarea .imgbox ul li:nth-child(1){
	z-index: 10;
}

#personarea .imgbox ul li:nth-child(2){
	z-index: 9;
}

#personarea .imgbox ul li:nth-child(3){
	z-index: 8;
}

#personarea .imgbox ul li:nth-child(4){
	z-index: 7;
}

#personarea .imgbox ul li:nth-child(5){
	z-index: 6;
}

#personarea .imgbox ul li:nth-child(6){
	z-index: 5;
}

#personarea .imgbox ul li:nth-child(7){
	z-index: 4;
}

#personarea .imgbox ul li:nth-child(9){
	z-index: 3;
}
#personarea .imgbox ul li aside {
	display: block;
	width: 100%;
	height: 100%;
}
#personarea .imgbox ul li aside span{
	display: block;
	background-size: cover;
	width: 100%;
	height: 100%;
}

#personarea .imgbox ul#person_l li aside span{
	background-position: left top;
}

#personarea .imgbox ul#person_l li.img_1 aside span{
	background-image: url(../img/main_1_l.jpg);
}

#personarea .imgbox ul#person_l li.img_2 aside span{
	background-image: url(../img/main_2_l.jpg);
}

#personarea .imgbox ul#person_l li.img_3 aside span{
	background-image: url(../img/main_3_l.jpg);
}

#personarea .imgbox ul#person_l li.img_4 aside span{
	background-image: url(../img/main_4_l.jpg);
}

#personarea .imgbox ul#person_l li.img_5 aside span{
	background-image: url(../img/main_5_l.jpg);
}

#personarea .imgbox ul#person_l li.img_6 aside span{
	background-image: url(../img/main_6_l.jpg);
}

#personarea .imgbox ul#person_l li.img_7 aside span{
	background-image: url(../img/main_7_l.jpg);
}

#personarea .imgbox ul#person_l li.img_8 aside span{
	background-image: url(../img/main_8_l.jpg);
}



#personarea .imgbox ul#person_r li aside span{
	background-position: center top;
}

#personarea .imgbox ul#person_r li.img_1 aside span{
	background-image: url(../img/main_1_r.jpg);
}

#personarea .imgbox ul#person_r li.img_2 aside span{
	background-image: url(../img/main_2_r.jpg);
}

#personarea .imgbox ul#person_r li.img_3 aside span{
	background-image: url(../img/main_3_r.jpg);
}

#personarea .imgbox ul#person_r li.img_4 aside span{
	background-image: url(../img/main_4_r.jpg);
}

#personarea .imgbox ul#person_r li.img_5 aside span{
	background-image: url(../img/main_5_r.jpg);
}

#personarea .imgbox ul#person_r li.img_6 aside span{
	background-image: url(../img/main_6_r.jpg);
}

#personarea .imgbox ul#person_r li.img_7 aside span{
	background-image: url(../img/main_7_r.jpg);
}

#personarea .imgbox ul#person_r li.img_8 aside span{
	background-image: url(../img/main_8_r.jpg);
}

#personarea.active .imgbox ul#person_l li:nth-child(1){
	width: 100%;
	-webkit-animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .4s;
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .4s;
}

#personarea.active .imgbox ul#person_r li:nth-child(1){
	width: 100%;
	-webkit-animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .8s;
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .8s;
}

#personarea.active .imgbox ul#person_l li:nth-child(2) span{
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
	
	-webkit-animation: shrink 2s forwards cubic-bezier(.86,0,.07,1) 0s;
	animation: shrink 2s forwards cubic-bezier(.86,0,.07,1) 0s;
}

#personarea.active .imgbox ul#person_r li:nth-child(2) span{
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
	
	-webkit-animation: shrink 2s forwards cubic-bezier(.86,0,.07,1) .4s;
	animation: shrink 2s forwards cubic-bezier(.86,0,.07,1) .4s;
}

#personarea article{
	position: absolute;
	bottom: 300px;
	left: calc(50% - 135px) ;
}

#personarea article > div{
	width: 480px;
}

#personarea article > div div.continfo_info{
	pointer-events: auto;
	padding-left: 10px;
}

#personarea article > div div.continfo_info .continfo_txt{
	background-color: #FFF;
	margin: 10px 0px;
	width: 400px;
}



/* personarea */












/* otherarea */


#otherarea{
	background-color: #f5f5f5;
	padding: 150px 0px 250px;
}

#otherarea ul#otherarea_ul{
	max-width: 950px;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
}

#otherarea ul#otherarea_ul li.otherarea_li{
	width: 47%;
}


#otherarea figure{
	position: relative;
}

#otherarea .continfo_info{
	position: relative;
	margin: -35px 0px 0px 0px;
	padding-left: 10px;
}

.continfo_area.continfo_s h2{
	transition: all .8s 1s ease;
	position: relative;
	background-color: #000;
/*	width: 480px;*/
	overflow: hidden;
	width: 0px;
	margin-bottom: 15px;
}

.continfo_area.continfo_s .inview_anime_box_on h2{
	width: 100%;
}

.continfo_area.continfo_s h2 span{
	color: #FFF;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	padding: 25px 25px 10px 25px; 
	white-space: nowrap;
}

.continfo_area.continfo_s h2::before{
	transition: all 1.5s 1.5s ease;
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 15;
	background-color: #000;
	top: 0;
	right: 0;
}

.continfo_area.continfo_s .inview_anime_box_on h2::before{
	width: 0px;
}

#otherarea figure::before{
	content: "";
	background-color: #f5f5f5;
	width: 100%;
	height: 110%;
	position: absolute;
	top: -5%;
	right: 0;
	z-index: 5;
}

#otherarea .inview_anime_box_on figure::before{
	width: 100%;
	-webkit-animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .4s;
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .4s;
}

/*
#otherarea .inview_anime_box_on h2::before{
	width: 100%;
	-webkit-animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .8s;
	animation: width_0 1s forwards cubic-bezier(.86,0,.07,1) .8s;
}
*/

/* otherarea */



@media screen and (max-width: 1150px) {
	/* work */

	

	#workarea article{
		position: absolute;
		top: 290px;
		left: 21%;
	}
	
	#workarea .continfo_info::before{
		content: "";
		position: absolute;
		top: 78px;
		right: 78px;
		display: block;
		width: 50%;
		height: 100%;
		background-color: #FFF;
		z-index: -1;
	}

	
	/* work */

	
}



@media screen and (max-width: 1000px) {


	.continfo_b article h1{
		font-size: 90px;
	}

	.continfo_s article h1 {
		font-size: 70px;
	}
	
	.continfo_area.continfo_s h2 span{
		font-size: 18px;
	}

	/* companyarea */

	#companyarea{
		padding: 100px 0px 0px;
		margin-bottom: 200px;
	}

	#companyarea .imgbox{
		position: relative;
		width: 80%;
		max-width: 1000px;
		min-width: inherit;
		top: 0px;
		left: 15% ;
	}

	#companyarea article{
		margin-top: -100px;
		pointer-events: none;
	}

	#companyarea .imgbox .bt_movie_area h3{
		font-size: 4vw;
		color: #FFF;
		font-weight: 600;
		display: inline-block;
		white-space: nowrap;
		padding-top: 15px;
		letter-spacing: 1px;
	}
	
	/* companyarea */



}


@media screen and (max-width: 950px) {
	
	
	/* business */
	
	#businessarea article{
		position: absolute;
		left: auto;
		right: 5%;
		top: 15%;
	}
	
	/* business */

	
}



@media screen and (max-width: 768px) {
	
	
	
	.continfo_area.continfo_b article h2 span {
		padding: 20px 20px 10px 20px;
		white-space: nowrap;
	}

	.continfo_s article h1{
		font-size: 35px;
	}
	
	.continfo_b .continfo_info{
		margin: -30px 0px 0px 0px;
	}
	
	.continfo_area.continfo_info_r article h2{
		margin: -30px 0px 0px auto;
		text-align: right;
	}
	
	.continfo_area.continfo_b.inview_anime_box_on article h2{
		width: auto;
		width: 90%;
	}
	
	.continfo_area p.continfo_txt{
		width: 100%;
		max-width: inherit;
		padding: 30px 30px 40px;
		line-height: 2;
	}
	
	.continfo_b article h1{
		font-size: 80px;
	}

	.continfo_s article h1 {
		font-size: 50px;
	}
	
	
	
	/* company */
	
	#companyarea{
		padding: 80px 0px 0px;
		margin-bottom: 200px;
	}
	
	#companyarea article > div {
		width: 100%;
		pointer-events: none;
	}
	
	#companyarea article{
		margin-top: 0px;
		pointer-events: none;
	}
	
	
	.continfo_area p.continfo_txt {
		width: 100%;
		max-width: inherit;
		padding: 20px 20px 30px;
		line-height: 2;
	}
	
	#companyarea .imgbox .bt_movie_area .bt_play{
		display: block;
		width: 52px;
		height: 52px;
		margin: 0 auto;
	}
	
	/* company */
	
	
	
	
	
	
	
	
	/* business */


	#businessarea{
		padding: 0px 0px 0px;
		margin-bottom: 230px;
	}

	#businessarea .imgbox figure{
		position: relative;
		width: 80%;
		height: 400px;
		overflow: hidden;
	}

	#businessarea article{
		position: relative;
		width: 90%;
		margin: 0 auto;
		margin-top: 0px;
		left: auto;
		right: 0%;
	}

	#businessarea article > div{
		width: 100%;
	}

	#businessarea article > div div.continfo_info{
		pointer-events: auto;
		padding-right: 10px;
	}

	#businessarea article  > div div.continfo_info p.continfo_txt{
		width: 100%;
	}








	/* business */
	
	
	
	
	
	
	/* work */

	#workarea{
		padding: 0px 0px 0px;
		margin-bottom: 200px;
	}

	#workarea .imgbox{
		position: relative;
		width: 100%;
		max-width: 1700px;
		height: auto;
		margin: 0 auto;
		height: 300px;
	}


	#workarea .imgbox #work_img_1{
		position: absolute;
		width: 30%;
		height: 400px;
		left: 5%;
		top: -100px;
		overflow: hidden;
	}
	
	#workarea .imgbox #work_img_2{
		position: absolute;
		width: 60%;
		height: 400px;
		right: 0px;
		overflow: hidden;
	}


	#workarea article{
		position: relative;
		width: 90%;
		margin: 0 auto;
		margin-top: 0px;
		top: auto;
		left: auto;
		right: 0%;
	}

	#workarea article > div{
		width: 100%;
		padding-left: 15%;
	}

	#workarea article > div div.continfo_info{
		pointer-events: auto;
		padding-left: 10px;
	}

	#workarea article  > div div.continfo_info p.continfo_txt{
		width: 100%;
	}
	
	#workarea .continfo_info::before{
		display: none;
	}

	/* work */

	
	
	
	
	
	/* personarea */


	#personarea{
		position: relative;
		padding: 50px 0px 100px;
	}

	#personarea .imgbox{
		position: relative;
		width: 100%;
		max-width: 1680px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	#personarea .imgbox ul{
		position: relative;
		width: 50%;
		height: 400px;
	}

	
	#personarea .imgbox ul#person_l{
		transform: translateY(-25px);
	}

	#personarea .imgbox ul#person_r{
		transform: translateY(25px);
	}

	
	#personarea .imgbox ul li aside {
		display: block;
		width: 100%;
		height: 100%;
	}
	#personarea .imgbox ul li aside span{
		display: block;
		background-size: cover;
		width: 100%;
		height: 100%;
	}

	#personarea .imgbox ul#person_l li aside span{
		background-position: left top;
	}

	
	
	#personarea article{
		position: relative;
		width: 90%;
		margin: 0 auto;
		margin-top: 0px;
		left: auto;
		right: 0%;
		bottom: auto;
		margin-top: -180px;
	}

	#personarea article > div{
		width: 100%;
	}

	#personarea article > div div.continfo_info{
		padding-left: 10px;
	}

	#personarea article > div div.continfo_info .continfo_txt{
		background-color: #FFF;
		margin: 10px 0px;
		width: 100%;
	}
	
	#personarea .top_menu{
		position: relative;
	}
	

	/* personarea */

	
	
	
	
	
	
	
	
	
	
	/* culturearea */
	
	#culturearea{
		padding: 80px 0px 100px;
	}
	
	#culturearea .imgbox ul {
		position: relative;
		padding-top: 50%;
		height: auto;
	}
	
	#culturearea .imgbox ul li:nth-child(1){
		position: absolute;
		width: 100%;
		height: 100%;
		top:0;
		left: 0;
	}

	#culturearea .imgbox ul li:nth-child(2){
		display: none;
	}

	#culturearea .imgbox ul li:nth-child(3){
		display: none;
	}
	
	#culturearea article{
		position: relative;
		width: 80%;
		padding: 0px 25px;
		margin-top: -40px;
	}
	
	.continfo_area.continfo_s h2 span {
		font-size: 16px;
		color: #FFF;
		display: inline-block;
		font-weight: 700;
		line-height: 1.4;
		padding: 20px 15px 10px 15px;
		white-space: nowrap;
	}
	
	/* culturearea */
	
	
	
	/* otherarea */
	
	
	#otherarea {
		background-color: #f5f5f5;
		padding: 100px 0px 100px;
	}
	
	

	
	#otherarea ul#otherarea_ul{
		width: 100%;
		max-width: 400px;
		display: block;
		margin: 0 auto;
	}

	#otherarea ul#otherarea_ul li.otherarea_li{
		width: 100%;
		padding-bottom: 50px;
	}
	
	#otherarea .continfo_info {
		position: relative;
		margin: -25px 0px 0px 0px;
		padding-left: 10px;
	}

	#otherarea h2{
		position: relative;
		line-height: 1.6;
		font-weight: 600;
		font-size: 14px;
	}
	
	
	#otherarea .top_menu{
		position: relative;
	}

	
	/* otherarea */

	
}











@media screen and (max-width: 640px) {
	
	/* main */ 

	#contents main #maincopy h1 span{
		font-size: 22vw;
	}
	
	/* main */ 

	.continfo_b article h1{
		font-size: 70px;
	}
	
	.continfo_area.continfo_b article h2 span {
		font-size: 18px;
		font-weight: 700;
		line-height: 1.4;
		padding: 20px 20px 10px 20px;
		white-space: nowrap;
	}
	
	.continfo_area p.continfo_txt {
		width: 100%;
		max-width: inherit;
		padding: 20px 20px 30px;
		line-height: 2;
	}
	
	
}





@media screen and (max-width: 480px) {
	
	.continfo_b article h1{
		font-size: 60px;
	}
	
	.continfo_area.continfo_b article h2 span {
		font-size: 17px;
		font-weight: 700;
		line-height: 1.4;
		padding: 25px 20px 10px 20px;
		white-space: normal;
	}
	
	.continfo_area.continfo_b article h2 span i{
		display: inline-block;
		white-space: nowrap;
	}
	
	.continfo_area.continfo_b.inview_anime_box_on article h2{
		max-width: inherit;
		width: 100%;
	}
	
	.continfo_area .btn_slidedown{
		position: relative;
		width: 220px;
		height: 40px;
		background-color: #00559a;
		cursor: pointer;
	}
	
	.continfo_area p.continfo_txt {
		width: 100%;
		max-width: inherit;
		padding: 15px 20px 20px;
		line-height: 2;
	}
	
	
	.continfo_area .btn_slidedown aside span{
		position: absolute;
		font-size: 22px;
		font-weight: 600;
		color: #FFF;
		letter-spacing: 1px;
		line-height: 1;
		padding-top: 3px;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	
	
	.top_menu{
		position: absolute;
		width: 220px;
		display: none;
	}
	
	
	
	
	/* company */
	
	#companyarea{
		padding: 80px 0px 0px;
		margin-bottom: 150px;
	}
	
	#companyarea .imgbox{
		position: relative;
		width: 85%;
		max-width: 1000px;
		min-width: inherit;
		top: 0px;
		left: 0% ;
		margin: 0 auto;
	}
	
	#companyarea .imgbox .bt_movie_area .bt_play{
		display: block;
		width: 44px;
		height: 44px;
		margin: 0 auto;
	}
	
	/* company */
	
	
	
	/* business */


	#businessarea{
		padding: 0px 0px 0px;
		margin-bottom: 230px;
	}

	#businessarea .imgbox figure{
		position: relative;
		width: 80%;
		height: 300px;
		overflow: hidden;
	}

	#businessarea article{
		position: relative;
		width: 90%;
		margin: 0 auto;
		margin-top: 0px;
		left: auto;
		right: 0%;
	}

	#businessarea article > div{
		width: 100%;
	}

	#businessarea article > div div.continfo_info{
		pointer-events: auto;
		padding-right: 10px;
	}

	#businessarea article  > div div.continfo_info p.continfo_txt{
		width: 100%;
	}


	/* business */
	
	
	
	/* work */

	#workarea{
		padding: 0px 0px 0px;
		margin-bottom: 200px;
	}

	#workarea .imgbox{
		position: relative;
		width: 100%;
		max-width: 1700px;
		height: auto;
		margin: 0 auto;
		height: 230px;
	}


	#workarea .imgbox #work_img_1{
		position: absolute;
		width: 30%;
		height: 280px;
		left: 5%;
		top: -60px;
		overflow: hidden;
	}
	
	#workarea .imgbox #work_img_2{
		position: absolute;
		width: 60%;
		height: 300px;
		right: 0px;
		overflow: hidden;
	}


	#workarea article{
		position: relative;
		width: 90%;
		margin: 0 auto;
		margin-top: 0px;
		top: auto;
		left: auto;
		right: 0%;
	}

	#workarea article > div{
		width: 100%;
		padding-left: 0%;
	}

	#workarea article > div div.continfo_info{
		pointer-events: auto;
		padding-left: 10px;
	}

	#workarea article  > div div.continfo_info p.continfo_txt{
		width: 100%;
	}
	
	#workarea .continfo_info::before{
		display: none;
	}

	/* work */
	
	
	
	/* personarea */


	#personarea{
		position: relative;
		padding: 50px 0px 100px;
	}

	#personarea .imgbox{
		position: relative;
		width: 100%;
		max-width: 1680px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	#personarea .imgbox ul{
		position: relative;
		width: 50%;
		height: 300px;
	}

	
	#personarea .imgbox ul#person_l{
		transform: translateY(-25px);
	}

	#personarea .imgbox ul#person_r{
		transform: translateY(25px);
	}

	
	#personarea .imgbox ul li aside {
		display: block;
		width: 100%;
		height: 100%;
	}
	#personarea .imgbox ul li aside span{
		display: block;
		background-size: cover;
		width: 100%;
		height: 100%;
	}

	#personarea .imgbox ul#person_l li aside span{
		background-position: left top;
	}

	
	
	#personarea article{
		position: relative;
		width: 90%;
		margin: 0 auto;
		margin-top: 0px;
		left: auto;
		right: 0%;
		bottom: auto;
		margin-top: -30px;
	}

	#personarea article > div{
		width: 100%;
	}

	#personarea article > div div.continfo_info{
		padding-left: 10px;
	}

	#personarea article > div div.continfo_info .continfo_txt{
		background-color: #FFF;
		margin: 10px 0px;
		width: 100%;
	}
	
	#personarea .top_menu{
		position: relative;
	}
	

	/* personarea */
	
	
	
	
	
	
	#otherarea {
		background-color: #f5f5f5;
		padding: 80px 0px 80px;
	}

	
	
}








































