* {
	margin: 0;
	padding: 0;
}

#tech_wrap {
	width: 100%;
	padding-bottom: 100px;
	color: #FFF;
	background-color: #070E16;
	font-family:Arial, Helvetica, sans-serif;
	overflow: hidden;
}
#tech_wrap * {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font-weight: normal;
}
#tech_wrap img {
	vertical-align: middle;
}
#tech_wrap a {
	color: #FFF;
	text-decoration: none;
}
#tech_wrap a:hover {
	opacity: 0.8;
}
#tech_wrap strong {
	font-weight: bold;
}
#tech_wrap em {
	font-style: normal;
}
#tech_wrap sup {
	font-size: 70%;
	vertical-align: super;
}
#tech_wrap .clearfix:after {
	display : block;
	clear : both;
	height : 0;
	content : ".";
	overflow : hidden;
}
#tech_wrap .clearfix {
	overflow : hidden;
	zoom: 1;
}
#tech_wrap .for_sp {
	display: none;
}
#tech_wrap .animate__animated {
	opacity: 0;
}


#tech_wrap .cont_wrap {
	width: 976px;
	margin:  0 auto;
}


/* ----- TOP ----- */

/*メインエリア*/
#tech_wrap #main_wrap {
	position: relative;
	width: 100%;
	height: 710px;
	background: url(../img/main_bg.jpg) #070E16 no-repeat center top;
	opacity: 0;
}
#tech_wrap #main_wrap .cont_wrap {
	position: relative;
}
#tech_wrap #main_wrap h1 {
	position: absolute;
	font-size: 38px;
	font-weight: normal;
	text-shadow: 0px 0px 30px #000;
	left: 0px; /*+40*/
	top: 280px;
	line-height:1.2;
	opacity: 0;
	z-index: 6;
}
#tech_wrap #main_wrap h1 em {
	font-size: 50px;
	font-weight: bold;
}
#tech_wrap #main_wrap .cont_wrap div {
	position: absolute;
}
#tech_wrap #main_wrap #fan1_1,
#tech_wrap #main_wrap #fan1_2,
#tech_wrap #main_wrap #fan1_3,
#tech_wrap #main_wrap #fan1_4,
#tech_wrap #main_wrap #fan1_5 {
	mix-blend-mode: soft-light;
}
#tech_wrap #main_wrap #fan2_1,
#tech_wrap #main_wrap #fan2_7 {
	mix-blend-mode: screen;
	opacity: 0.8;
}
#tech_wrap #main_wrap #fan_shooting,
#tech_wrap #main_wrap #fan_composition {
	mix-blend-mode: screen;
}

#tech_wrap #main_wrap #fan1_1 {
	left: 439px;	/*実数値は-35*/
	top: 141px;		/*-40*/
	opacity: 0;
	z-index: 1;
}
#tech_wrap #main_wrap #fan1_2 {
	left: 588px;	/*+40*/
	top: 227px;		/*-10*/
	opacity: 0;
	z-index: 1;
}
#tech_wrap #main_wrap #fan1_3 {
	left: 580px;	/*+50*/
	top: 318px;		/*+20*/
	opacity: 0;
	z-index: 1;
}
#tech_wrap #main_wrap #fan1_4 {
	left: 576px;	/*+17*/
	top: 287px;		/*-50*/
	opacity: 0;
	z-index: 1;
}
#tech_wrap #main_wrap #fan1_5 {
	left: 405px;	/*-50*/
	top: 298px;		/*+40*/
	opacity: 0;
	z-index: 1;
}
#tech_wrap #main_wrap #fan2_1 {
	left: 565px;	/*実数値は+12*/
	top: 126px;		/*+50*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan2_2 {
	left: 580px;	/*+10*/
	top: 59px;		/*-50*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan2_3 {
	left: 568px;	/*-60*/
	top: 131px;		/*+25*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan2_4 {
	left: 568px;	/*+60*/
	top: 304px;		/*-34*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan2_5 {
	left: 559px;	/*+7*/
	top: 288px;		/*+50*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan2_6 {
	left: 447px;	/*-30*/
	top: 288px;		/*+50*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan2_7 {
	left: 405px;	/*-50*/
	top: 305px;		/*+30*/
	opacity: 0;
	z-index: 2;
}
#tech_wrap #main_wrap #fan_shooting {
	left: 574px;
	top: 36px;
	display: none;
	z-index: 3;
}
#tech_wrap #main_wrap #fan_composition {
	left: 395px;
	top: 343px;
	display: none;
	z-index: 3;
}
#tech_wrap #main_wrap #fan_shooting_txt {
	left: 867px;
	top: 107px;
	display: none;
	z-index: 4;
}
#tech_wrap #main_wrap #fan_composition_txt {
	left: 384px;
	top: 600px;
	display: none;
	z-index: 4;
}
#tech_wrap #main_wrap #fan_center {
	left: 549px;
	top: 261px;
	z-index: 5;
}
#tech_wrap #main_wrap #main_bg2 {
	top: 0;
	left: 278px;
	display: none;
	mix-blend-mode: soft-light;
}
#tech_wrap #main_wrap #scroll_anime {
	position: absolute;
	top: 546px;
	left: 0px;
	z-index: 10;
}
#tech_wrap #main_wrap #scroll_anime::after {
	content: '';
	display: block;
    position: relative;
	left: 11px;
    bottom: 0;
    width: 1px;
    height: 160px;
    background: #FFF;
	animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
	overflow: visible;
}

#tech_wrap #tech_cont {
	position: relative;
}

/*追随メニュー*/

#tech_wrap #tech_menu {
	position: absolute;
	left: 80px;
	top: 20px;
}
#tech_wrap #tech_menu ul {
	transform: rotate(90deg);
	transform-origin: left top;
	overflow: hidden;
}
#tech_wrap #tech_menu ul li {
	float: left;
}
#tech_wrap #tech_menu ul li a {
	display: table-cell;
	padding: 10px 25px;
	text-align: center;
	color: #FFF;
	font-size: 13px;
	vertical-align: middle;
	height: 60px;
}
#tech_wrap #tech_menu ul li.active a {
	background-image: url(../img/menu_bg_l.png), url(../img/menu_bg_r.png);
	background-repeat: no-repeat;
	background-position: left top, right top;
	color: #A6FFFF;
}

/*イントロ*/

#tech_wrap #intro {
	position: relative;
/*	background-color: rgba(204,204,204,0.15);*/
background: url(../img/intro_bg.jpg) no-repeat;
background-size: 100% 100%;
	padding: 70px 0 70px;
	opacity: 0;
	overflow: hidden;
}
#tech_wrap #intro h2 {
	font-size: 50px;
	margin-bottom: 30px;
	text-align: center;
}
#tech_wrap .intro_txt {
	float: left;
	width: 550px;
}
#tech_wrap .intro_img {
	float: right;
	width: 350px;
}
#tech_wrap #intro01,
#tech_wrap #intro02,
#tech_wrap #intro03 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	align-items: center;
}
#tech_wrap .intro_cap {
	font-size: 12px;
	line-height: 1.4;
}
#tech_wrap .intro_cap em {
	font-size: 30px;
}
#tech_wrap #intro01 img {
	width: 120px;
}
#tech_wrap #intro01 .intro_cap {
	margin: 0 20px 0 10px;
}
#tech_wrap #intro02 {
	margin-bottom: 20px;
}
#tech_wrap #intro02 img {
	width: 140px;
}
#tech_wrap #intro02 .intro_cap {
	margin: 0 10px 0 0;
}
#tech_wrap #intro03 img {
	width: 170px;
}
#tech_wrap #intro03 .intro_cap {
	margin: 0 0 0 10px;
}
#tech_wrap .intro_txt p {
	font-size: 17px;
	line-height: 2;
}
#tech_wrap h2.title01 {
	font-size: 50px;
	font-weight: bold;
	text-align: center;
	color: #9EDBFC;
	background: radial-gradient(circle, #39719E 0%, #63B0DE 20%, #4E89B6 43.5%, #A0DDFE 44%, #184B76 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin: 140px 0 30px;
}
#tech_wrap .about_prod {
	padding: 60px 0 80px;
	margin-bottom: 20px;
	background-color: #0C2D4D;
	background: linear-gradient(90deg, #040C12 0%, #0C2D4D 50%, #040C12 100%);
text-align: center;
}
#tech_wrap .about_prod h3 {
	position: relative;
	display: inline-block;
	font-size: 30px;
	line-height: 1;
	padding: 5px 30px;
}
#tech_wrap .about_prod h3::before {
	position: absolute;
	left: 0px;
	top: 0px;
	display: block;
	content: '';
	width: 7px;
	height: 100%;
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
	border-left: solid 1px #FFF;
}
#tech_wrap .about_prod h3::after {
	position: absolute;
	right: 0px;
	top: 0px;
	display: block;
	content: '';
	width: 7px;
	height: 100%;
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
	border-right: solid 1px #FFF;
}
#tech_wrap .about_prod ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 976px;
	margin: 60px auto 0;
}
#tech_wrap .about_prod ul a {
	display: block;
}
#tech_wrap .about_prod ul p span {
	opacity: 0.2;
	color: 
}
#tech_wrap .about_prod ul p img {
	filter: drop-shadow(0px 0px 25px rgba(204,255,255,0.2));
}
#tech_wrap .about_prod ul span {
	display: block;
	margin-top: 30px;
	padding-top: 30px;
	border-top: solid 1px #FFF;
}
#tech_wrap #bn_wrap {
	margin-top: 140px;
}
#tech_wrap #bn_wrap ul {
	list-style-type: none;
	padding: 0;
	margin: 0 auto;
}
#tech_wrap #bn_wrap ul li:not(:first-child){
	margin-top: 20px;
}


@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media only screen and (max-width:640px){
	#tech_wrap .for_sp {
		display: block !important;
	}
	#tech_wrap .for_pc {
		display: none !important;
	}
	#tech_wrap img {
		width: 100%;
	}

	
	#tech_wrap .cont_wrap {
		width: 92vw;
		margin:  0 auto;
	}
	
	
	/* ----- TOP ----- */
	
	/*メインエリア*/
	#tech_wrap #main_wrap {
		position: relative;
		width: 100%;
		height: auto;
		background: url(../img/main_bg_sp.jpg) #070E16 no-repeat center top;
		background-size: cover;
		opacity: 1;
	}
	#tech_wrap #main_wrap .cont_wrap {
		position: relative;
		width: 100vw;
		padding-bottom: 94.667vw;
	}
	#tech_wrap #main_wrap h1 {
		position: absolute;
		font-size: 5vw;
		font-weight: normal;
		text-shadow: 0px 0px 15px #000;
		left: 0; /*+5vw*/
		top: 30%;
		width: 45vw;
		opacity: 0;
		z-index: 6;
	}
	#tech_wrap #main_wrap h1 em {
		font-size: 7vw;
		font-weight: bold;
	}
	#tech_wrap #main_wrap .cont_wrap div {
		position: absolute;
	}
	#tech_wrap #main_wrap #fan1_1,
	#tech_wrap #main_wrap #fan1_2,
	#tech_wrap #main_wrap #fan1_3,
	#tech_wrap #main_wrap #fan1_4,
	#tech_wrap #main_wrap #fan1_5 {
		mix-blend-mode: soft-light;
	}
	#tech_wrap #main_wrap #fan2_1,
	#tech_wrap #main_wrap #fan2_7 {
		mix-blend-mode: screen;
		opacity: 0.8;
	}
	#tech_wrap #main_wrap #fan_shooting,
	#tech_wrap #main_wrap #fan_composition {
		mix-blend-mode: screen;
	}
	
	#tech_wrap #main_wrap #fan1_1 {
		width: 30.266vw;
		left: 28.466vw;	/*実数値は-4.6*/
		top: 19.166vw;		/*-5.3*/
		opacity: 0;
		z-index: 1;
	}
	#tech_wrap #main_wrap #fan1_2 {
		width: 45.733vw;
		left: 48.433vw;	/*+5.3*/
		top: 30.633vw;		/*-1.3*/
		opacity: 0;
		z-index: 1;
	}
	#tech_wrap #main_wrap #fan1_3 {
		width: 44.4vw;
		left: 47.4vw;	/*+6.6*/
		top: 42.866vw;		/*+2.6*/
		opacity: 0;
		z-index: 1;
	}
	#tech_wrap #main_wrap #fan1_4 {
		width: 31.866vw;
		left: 46.733vw;	/*+2.2*/
		top: 45.333vw;		/*-6.6*/
		opacity: 0;
		z-index: 1;
	}
	#tech_wrap #main_wrap #fan1_5 {
		width: 36.533vw;
		left: 23.8vw;	/*-6.6*/
		top: 40.166vw;		/*+5.3*/
		opacity: 0;
		z-index: 1;
	}
	#tech_wrap #main_wrap #fan2_1 {
		width: 10vw;
		left: 45.333vw;	/*実数値は-1.6*/
		top: 17.133vw;		/*-6.6*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan2_2 {
		width: 29.733vw;
		left: 47.366vw;	/*+1.3*/
		top: 7.2vw;		/*-6.6*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan2_3 {
		width: 39.333vw;
		left: 45.733vw;	/*+8*/
		top: 17.833vw;		/*-3.3*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan2_4 {
		width: 37.466vw;
		left: 45.733vw;	/*+8*/
		top: 50.533vw;		/*-4.5*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan2_5 {
		width: 28.133vw;
		left: 44.566vw;	/*+0.9*/
		top: 38.6vw;		/*+6.6*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan2_6 {
		width: 28.4vw;
		left: 29.6vw;	/*-4*/
		top: 38.733vw;		/*+6.6*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan2_7 {
		width: 36.533vw;
		left: 24.066vw;	/*-6.6*/
		top: 41.066vw;		/*+4*/
		opacity: 0;
		z-index: 2;
	}
	#tech_wrap #main_wrap #fan_shooting {
		width: 47.866vw;
		left: 46.533vw;
		top: 5.2vw;
		display: none;
		z-index: 3;
	}
	#tech_wrap #main_wrap #fan_composition {
		width: 49.733vw;
		left: 22.933vw;
		top: 45.933vw;
		display: none;
		z-index: 3;
	}
	#tech_wrap #main_wrap #fan_shooting_txt {
		width: 12vw;
		left: 84.5vw;
		top: 12vw;
		display: none;
		z-index: 4;
	}
	#tech_wrap #main_wrap #fan_composition_txt {
		width: 13.333vw;
		left: 21.2vw;
		top: 81.733vw;
		display: none;
		z-index: 4;
	}
	#tech_wrap #main_wrap #fan_center {
		width: 21.066vw;
		left: 43.333vw;
		top: 35.2vw;
		z-index: 5;
	}
	#tech_wrap #main_wrap #main_bg2 {
		width: 100vw;
		top: 0;
		left: 0;
		display: none;
		mix-blend-mode: soft-light;
	}
	#tech_wrap #main_wrap #main_bg2 img {
	}

	#tech_wrap #main_wrap #scroll_anime {
		position: absolute;
		width: 3.5vw;
		top: 70vw;
		left: 2vw;
	}
	#tech_wrap #main_wrap #scroll_anime::after {
		content: '';
		display: block;
		position: relative;
		left: 1.6vw;
		bottom: 0;
		width: 1px;
		height: 25vw;
		background: #FFF;
		animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
		overflow: visible;
	}
	
	#tech_wrap #tech_cont {
		position: relative;
	}
	#tech_wrap #tech_menu {
		position: absolute;
		left: 80px;
		top: 20px;
	}
	#tech_wrap #tech_menu ul {
		transform: rotate(90deg);
		transform-origin: left top;
		overflow: hidden;
	}
	#tech_wrap #tech_menu ul li {
		float: left;
	}
	#tech_wrap #tech_menu ul li a {
		display: table-cell;
		padding: 10px 25px;
		text-align: center;
		color: #FFF;
		font-size: 13px;
		vertical-align: middle;
		height: 60px;
	}
	#tech_wrap #tech_menu ul li.active a {
		background-image: url(../img/menu_bg_l.png), url(../img/menu_bg_r.png);
		background-repeat: no-repeat;
		background-position: left top, right top;
		color: #A6FFFF;
	}
	#tech_wrap #intro {
		padding: 30px 15px;
	}
	#tech_wrap #intro h2 {
		font-size: 6vw;
		line-height: 1.5;
		margin-bottom: 30px;
	}
	#tech_wrap .intro_txt {
		float: none;
		width: 100%;
		margin: 0 0 20px;
	}
	#tech_wrap .intro_img {
		float: none;
		width: 100%;
	}
	#tech_wrap #intro01,
	#tech_wrap #intro02,
	#tech_wrap #intro03 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		align-items: center;
	}
	#tech_wrap .intro_cap {
		font-size: 12px;
		line-height: 1.4;
	}
	#tech_wrap .intro_cap em {
		font-size: 30px;
	}
	#tech_wrap #intro01 p:first-child,
	#tech_wrap #intro02 p:nth-child(2),
	#tech_wrap #intro03 p:first-child {
		flex-shrink: 0;
	}
	#tech_wrap #intro01 img {
		width: 24vw;
	}
	#tech_wrap #intro01 .intro_cap {
		margin: 0 20px 0 10px;
	}
	#tech_wrap #intro02 {
		margin-top: 0;
	}
	#tech_wrap #intro02 img {
		width: 30vw;
	}
	#tech_wrap #intro02 .intro_cap {
		margin: 0 10px 0 0;
	}
	#tech_wrap #intro03 img {
		width: 30vw;
	}
	#tech_wrap #intro03 .intro_cap {
		margin: 0 0 0 10px;
	}
	#tech_wrap .intro_txt p {
		font-size: 4vw;
		line-height: 1.6;
	}
	#tech_wrap h2.title01 {
		font-size: 7vw;
		font-weight: bold;
		text-align: center;
		color: #9EDBFC;
		background: radial-gradient(circle, #39719E 0%, #63B0DE 20%, #4E89B6 43.5%, #A0DDFE 44%, #184B76 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		margin: 80px 0 30px;
	}
	#tech_wrap .about_prod {
		padding: 30px 15px 40px;
		margin-bottom: 20px;
		background-color: #0C2D4D;
		background: linear-gradient(90deg, #040C12 0%, #0C2D4D 50%, #040C12 100%);
	text-align: center;
	}
	#tech_wrap .about_prod h3 {
		position: relative;
		display: inline-block;
		font-size: 30px;
		line-height: 1;
		padding: 5px 30px;
	}
	#tech_wrap .about_prod h3::before {
		position: absolute;
		left: 0px;
		top: 0px;
		display: block;
		content: '';
		width: 7px;
		height: 100%;
		border-top: solid 1px #FFF;
		border-bottom: solid 1px #FFF;
		border-left: solid 1px #FFF;
	}
	#tech_wrap .about_prod h3::after {
		position: absolute;
		right: 0px;
		top: 0px;
		display: block;
		content: '';
		width: 7px;
		height: 100%;
		border-top: solid 1px #FFF;
		border-bottom: solid 1px #FFF;
		border-right: solid 1px #FFF;
	}
	#tech_wrap .about_prod ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 100%;
		margin: 0 auto;
		padding: 0 5vw;
	}
	#tech_wrap #shooting ul li {
		width: 40vw;
	}
	#tech_wrap #shooting ul li:nth-child(3),
	#tech_wrap #shooting ul li:nth-child(4),
	#tech_wrap #composition ul li:nth-child(2) {
		margin-top: 30px
	}
	#tech_wrap .about_prod ul a {
		display: block;
	}
	#tech_wrap .about_prod ul p span {
		opacity: 0.2;
	}
	#tech_wrap .about_prod ul p img {
		filter: drop-shadow(0px 0px 25px rgba(204,255,255,0.2));
	}
	#tech_wrap .about_prod ul span {
		display: block;
		margin-top: 15px;
		padding-top: 15px;
		border-top: solid 1px #FFF;
		font-size: 4vw;
	}
	#tech_wrap #bn_wrap {
		margin-top: 80px;
	}
	#tech_wrap #bn_wrap ul li:not(:first-child){
		margin-top: 12px;
	}
}