@charset "utf-8";

#top {
	background: url(../images/gstar_bg_top.png) repeat-y top center;
	margin-top: 72px;
	background-size: 100% auto;
}

#top .over_img:hover {
	opacity: 1;
	-webkit-animation: flash 1s;
	animation: flash 1s;
}

@-webkit-keyframes flash {
	0% {
		opacity: .4;
	}

	100% {
		opacity: 3;
	}
}

@keyframes flash {
	0% {
		opacity: .4;
	}

	100% {
		opacity: 3;
	}
}

#bgTop {
	background: url(../images/gstar_bg_bottom.png) no-repeat bottom center;
	margin-bottom: -100px;
}

.topBgStar {
	width: 100%;
	background: url('../../common/images/bg_star.png') bottom center;
	background-size: 100% auto;
}

.world {
	background: url('../images/top.png') no-repeat;
	background-position: center;
	width: 100%;
	height: 843px;
	position: absolute;
	transition-property: margin-top;
	transition-duration: 5s;
	-webkit-transition-property: margin-top;
	/* Safari */
	-webkit-transition-duration: 5s;
	/* Safari */
	margin-top: -843px;
}

div.active {
	margin-top: -20px;
}

#top h3.top_tit {
	text-align: center;
	padding: 75px 0 30px 0;
	position: relative;
	z-index: 2;
}

#top .satellite {
	position: absolute;
	top: 250px;
	left: 20px;
	z-index: 3;
}

#top .bnr-slider {
	position: relative;
	z-index: 1;
}

#top .bnr-slider a {
	transition: .2s;
}

#top .bnr-slider a:hover {
	opacity: 0.8;
}

.scroll {
	margin-top: -50px;
	color: #FFFFFF;
}

@-moz-keyframes scroll {
	from {
		left: 100%;
	}

	to {
		left: -89%;
	}
}

@-webkit-keyframes scroll {
	from {
		left: 100%;
	}

	to {
		left: -89%;
	}
}

@-o-keyframes scroll {
	from {
		left: 100%;
	}

	to {
		left: -89%;
	}
}

@keyframes scroll {
	from {
		left: 100%;
	}

	to {
		left: -89%;
	}
}

#top .satellite .frame {
	background: #000000;
	width: 200px;
	box-shadow: inset 0 2px 3px -3px #212121;
	margin: 0 auto;
	overflow-x: hidden;
	position: absolute;
	left: 189px;
	top: 211px;
	z-index: 100;
}

#top .satellite .scroll-p {
	color: #FFFFFF;
	position: relative;
	-webkit-animation: scroll 6s linear infinite;
	-moz-animation: scroll 6s linear infinite;
	-ms-animation: scroll 6s linear infinite;
	animation: scroll 6s linear infinite;
	width: 300px;
	margin: 0;
	padding: 0.3em;
}

#top .satellite:after {
	content: '';
	width: 244px;
	height: 78px;
	position: absolute;
	display: inline-block;
	background: url('../images/st_txt.png') no-repeat;
	z-index: 99;
	top: 170px;
	left: 170px;
}


.spinner {
	-webkit-animation: spin 8s linear infinite;
	-moz-animation: spin 8s linear infinite;
	animation: spin 8s linear infinite;
	margin: 80px 0 0 35px;
}

@-moz-keyframes spin {
	100% {
		-moz-transform: rotate(360deg);
	}
}

@-webkit-keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

#top .inner {
	width: 1000px;
}


#top #float {

	position: absolute;
	-webkit-transition: -webkit-transform .8s ease-in-out;
	-ms-transition: -ms-transform .8s ease-in-out;
	transition: transform .8s ease-in-out;
}

#top #float:hover {
	-moz-transform: scaleX(-1);
	-o-transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
	filter: FlipH;
	-ms-filter: "FlipH";
}

#top #float .planInner img {
	padding-left: 45px;
}

/*---- float ----*/

/*---- attention ----*/
#top .company_detail .profile {
	margin-right: 0;
}

#top .attention_title {
	font-size: 24px;
	text-align: center;
	line-height: 2rem;
	padding-bottom: 15px;
}

#top .attention_txt {
	font-size: 16px;
	line-height: 2rem;
}

#top .attention_right {
	font-size: 16px;
	text-align: right;
	line-height: 2rem;
}


/*---- plan ----*/
#top .plan {
	position: relative;
	margin-bottom: 140px;
}

#top .plan .float01 {
	top: 50px;
	right: 15px;
	width: 235px;
}

/*---- plan ----*/

/*---- service ----*/
#top .service {
	position: relative;
	padding-bottom: 100px;
}

#top .service .float02 {
	width: 160px;
	top: 0;
	right: 15px;
}

#top .service .service_sec {
	position: relative;
}

#top .service .service_img {
	position: relative;
	margin-bottom: 30px;
}

#top .service .serviceInner a {
	position: absolute;
	display: table;
	top: 0;
	margin: auto;
}

#top .service .btn_01 {
	/* bottom: 465px; */
	top: 90px !important;
	left: 150px;
}

#top .service .btn_02 {
	/* bottom: 465px; */
	left: 600px;
	top: 90px !important;
}

#top .service .btn_03 {
	/* bottom: -180px; */
	left: 80px;
	top: 513px !important;
}

#top .service .btn_04 {
	/* bottom: -180px; */
	left: 680px;
	top: 513px !important;
}

#top .service .btn_05 {
	/* bottom: -550px; */
	left: 365px;
	top: 700px !important;
}

#top .service .float03 {
	width: 196px;
	left: 0;
	top: 800px;
}

#top .service .float11 {
	width: 162px;
	top: 1100px;
	right: 15px;
	z-index: 9;
}

/*---- service ----*/

/*---- product ----*/
#top .product {
	position: relative;
}

#top .product ul {
	width: 100%;
	display: block;
}

#top .product ul li {
	display: inline-block;
	margin-left: 40px;
}

#top .product ul li:first-child {
	margin-left: 0;
}

#top .product .float04 {
	right: 0;
	top: -150px;
	width: 218px;
}

#top .product .float12 {
	left: 0;
	top: 620px;
	width: 220px;
}

/*---- product ----*/


/*---- oem ----*/
#top .oem {
	position: relative;
}

#top .oem p {
	text-align: center;
	color: #FFFFFF;
	font-size: 25px;
	padding: 30px 0;
	display: block;
}

#top .oem .float05 {
	left: 0;
	top: -30px;
}

#top .oem .float06 {
	width: 140px;
	right: 20px;
	top: 150px;
}

/*---- oem ----*/



/*---- company ----*/
#top .company {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
}

#top .company .float07 {
	left: 0;
	top: 0;
}

#top .company .maparea {
	padding-top: 100px;
}

#top .company dl.profile dt {
	float: left;
	clear: left;
	width: 97px;
	color: #FFFFFF;
	font-size: 14px;
	padding: 5px 0 0 0;
}

#top .company dl.profile dd {
	color: #FFFFFF;
	font-size: 14px;
	width: 800px;
	margin: 0 0 20px 100px;
	line-height: 2;
}

.entry {
	color: #000000;
}

#top .company dl.entryList {
	width: 45%;
	margin-top: 25px;
}

#top .company dl.entryList dt {
	float: left;
	clear: left;
	width: 130px;
	padding: 5px 0;
	margin: 0;
	color: #FFFFFF;
	font-size: 15px;
}

#top .company dl.entryList dd {
	padding: 2px 0 0 0;
	margin: 0 0 10px 20px;
	color: #FFFFFF;
	font-size: 15px;
	line-height: 1.5;
}

#top .company dl.entryList2 {
	width: 45%;
	margin-top: 5px;
}

#top .company dl.entryList2 dt {
	float: left;
	clear: left;
	width: 130px;
	padding: 5px 0;
	margin: 0;
	color: #000;
	font-size: 15px;
}

#top .company dl.entryList2 dd {
	padding: 2px 0 0 0;
	margin: 0 0 10px 20px;
	color: #000;
	font-size: 15px;
	line-height: 1.5;
}


#top .company .entryBtn {
	width: 45%;
	margin: 0 0 0 95px;
	position: relative;
	top: -20px;
}

/*---- company ----*/


/*---- contact ----*/
#top .contact {
	position: relative;
	margin-top: 920px;
	bottom: 847px;
}

#top .contact .contactBtn {
	width: 100%;
	display: block;
	text-align: center;
	margin: 40px 0;
}

#top .contact .contactBtn li {
	display: inline-block;
}

#top .contact .contactBtn li:first-child {
	margin-right: 20px;
}

#top .contact .float08 {
	width: 246px;
	bottom: 190px;
	left: 0;
}

#top .contact .float09 {
	width: 161px;
	top: 350px;
	right: 40px;
}

#top .contact .float10 {
	width: 205px;
	top: 0;
	right: 130px;
}

/*---- contact ----*/

#top .facebook {
	position: relative;
	bottom: 200px;
}

/*---- facebook ----*/

/* ふわふわさせたいものに fuwafuwaクラスを付与 */
.fuwafuwa {
	-webkit-animation-name: fuwafuwa;
	/* fuwafuwaっていうアニメーションをしてね！ */
	-webkit-animation-duration: 2s;
	-webkit-animation-iteration-count: infinite;
	/*-webkit-animation-direction:alternate;*/
	-webkit-animation-timing-function: ease;
	-moz-animation-name: fuwafuwa;
	-moz-animation-duration: 2s;
	-moz-animation-iteration-count: infinite;
	/*-moz-animation-direction:alternate;*/
	-moz-animation-timing-function: ease;
}

/* fuwafuwaっていうアニメーションはこんなふうだよ！ */
@-webkit-keyframes fuwafuwa {
	0% {
		-webkit-transform: translate(0, 0);
	}

	50% {
		-webkit-transform: translate(0, -10px);
	}

	100% {
		-webkit-transform: translate(0, 0);
	}
}

@-moz-keyframes fuwafuwa {
	0% {
		-moz-transform: translate(0, 0);
	}

	50% {
		-moz-transform: translate(0, -10px);
	}

	100% {
		-moz-transform: translate(0, 0);
	}
}

.anime01 {
	-moz-animation: anime01 3s infinite alternate linear;
	-webkit-animation: anime01 3s infinite alternate linear;
	animation: anime01 3s infinite alternate linear;
}

@-webkit-keyframes anime01 {
	0% {}

	100% {
		-webkit-transform: skewY(-15deg);
	}
}

@keyframes anime01 {
	0% {}

	100% {
		transform: skewY(-15deg);
	}
}

.anime01a {
	-webkit-animation: anime01a 8s infinite alternate;
	animation: anime01a 8s infinite alternate;
}

@-webkit-keyframes anime01a {
	0% {}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes anime01a {
	0% {}

	100% {
		transform: rotate(360deg);
	}
}


#top .map01 {
	border: 1px solid #FF0025;
}

#top .map02 {
	border: 1px solid #1DD1EF;
}

.scroll-wrap {
	position: fixed;
	top: 20%;
	right: 0;
	z-index: 999;
}

.side01 {
	margin-top: 10px;
}

#topScroll {
	display: none;
}

#topScroll01 {
	display: none;
}

#top .slider-pro {
	margin: 100px auto 0 !important;
}