	@charset "UTF-8";

#factory {
	width: 980px;
	margin: 50px auto 120px;
}
#factory .top p {
	font-size: 16px;
	font-weight: bold;
	margin-top: 40px;
}
#factory h2 {
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
}
#factory .top h2 span {
	display: block;
	font-size: 12px;
	color: #fa193b;
	font-weight: normal;
	margin-top: 5px;
}
#factory .factory_map {
	margin-top: 40px;
}
#factory .factory_map {
	background: url(../../factory/img/map.png) no-repeat center;
	height: 640px;
}
#factory .pop {
	width: 100%;
	height: 100%;
	position: relative;
}
#factory .pop li {
	display: block;
	width: 46px;
	height: 51px;
	position: absolute;
}
#factory .pop li.active a > img {
	opacity: 0.6;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}
#factory .pop li a:hover {
	opacity: 1;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}
#factory .pop li span.on {
	display: none;
}
#factory .pop li.active_bounce {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: bounce;
	animation-name: bounce;
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
}
@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -20px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

#factory .link_area li .on {
	display: none;
}
#factory .link_area li.active_bounce .off {
	display: none;
}
#factory .link_area li.active_bounce .on {
	display: block;
}
#factory .link_area li.active_bounce span{
	color: #fa0024;
}
#factory .link_area li.active .off {
	display: none;
}
#factory .link_area li.active .on {
	display: block;
}
#factory .link_area li.active span{
	color: #fa0024;
}
/* リストのポジション*/
#factory .pop li:nth-child(1) {
	top: 100px;
	right: 150px;
}
#factory .pop li:nth-child(2) {
	top: 240px;
	right: 330px;
}
#factory .pop li:nth-child(3) {
	bottom: 215px;
	left: 203px;
}
#factory .pop li:nth-child(4) {
	top: 160px;
	right: 280px;
}
#factory .pop li:nth-child(5) {
	bottom: 290px;
	left: 280px;
}
#factory .pop li:nth-child(6) {
	top: 330px;
	left: 490px;
}
#factory .pop li:nth-child(7) {
	top: 47px;
	left: 51px;
}
#factory .pop li:nth-child(8) {
	bottom: 260px;
	right: 200px;
}
#factory .pop li:nth-child(9) {
	top: 110px;
	left: 500px;
}
#factory .pop li:nth-child(10) {
	bottom: 245px;
	left: 133px;
}
#factory .pop li:nth-child(11) {
	top: 230px;
	left: 450px;
}
#factory .link_area ul {
	margin-top: 40px;
}
#factory .link_area li {
	width: 25%;
	float: left;
	margin-bottom: 20px;
}
#factory .link_area li a {
	display: table;
	width: 100%;
	height: 100%;
}
#factory .link_area li a div+span{
	display: table-cell;
	vertical-align: middle;
	font-size: 13px;
	line-height: 120%;
	width: 100%;
}
#factory .link_area li a span {
	padding-left: 10px;
}
/* 
====== Zoom effect ======
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}
 