@charset "utf-8";


/* Loading背景画面設定　*/

#splash {

/*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 99999;
	background:#ffffff;
	text-align:center;
	top:0;

}


/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:250px;
}

/* fadeUpをするアイコンの動き */
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


.slide-animation{
    animation: fadezoom 8s 0s forwards;
}
@keyframes fadezoom {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1.0);
  }
}

/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(-100px);
  }



  to {

    opacity: 1;

	transform: translateY(0);

  }

}



/* 左から */



.fadeLeft{

animation-name:fadeLeftAnime;

animation-duration:1.0s;

animation-fill-mode:forwards;

opacity:0;

}



@keyframes fadeLeftAnime{

  from {

    opacity: 0;

	transform: translateX(-200px);

  }



  to {

    opacity: 1;

	transform: translateX(0);

  }

}



/* 右から */



.fadeRight{

animation-name:fadeRightAnime;

animation-duration:1.0s;

animation-fill-mode:forwards;

opacity:0;

}



@keyframes fadeRightAnime{

  from {

    opacity: 0;

	transform: translateX(200px);

  }



  to {

    opacity: 1;

	transform: translateX(0);

  }

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

 

.fadeInTrigger,

.fadeUpTrigger,

.fadeDownTrigger,

.fadeLeftTrigger,

.fadeRightTrigger{

    opacity: 0;

}



/*==================================================

パタッ

===================================*/





/* 下へ */

.flipDown{

animation-name:flipDownAnime;

animation-duration:1s;

animation-fill-mode:forwards;

opacity:0;

}



@keyframes flipDownAnime{

  from {

    transform: perspective(2500px) rotateX(100deg);

 	opacity: 0;

  }



  to {

    transform: perspective(2500px) rotateX(0);

	opacity: 1;

  }

}





/* 左へ */

.flipLeft{

animation-name:flipLeftAnime;

animation-duration:1s;

animation-fill-mode:forwards;

perspective-origin:left center;

opacity:0;

}



@keyframes flipLeftAnime{

  from {

   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);

 	opacity: 0;

  }



  to {

  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);

  opacity: 1;

  }

}





/* 左上へ */

.flipLeftTop{

animation-name:flipLeftTopAnime;

animation-duration:1s;

animation-fill-mode:forwards;

opacity:0;

}



@keyframes flipLeftTopAnime{

  from {

   transform: translate(-20px,80px) rotate(-15deg);

 	opacity: 0;

  }



  to {

   transform: translate(0,0) rotate(0deg);

	opacity: 1;

  }

}



/* 右へ */

.flipRight{

animation-name:flipRightAnime;

animation-duration:1s;

animation-fill-mode:forwards;

perspective-origin:right center;

opacity:0;

}



@keyframes flipRightAnime{

  from {

   transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);

 	opacity: 0;

  }



  to {

  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);

  opacity: 1;

  }

}



/* 右上へ */

.flipRightTop{

animation-name:flipRightTopAnime;

animation-duration:1s;

animation-fill-mode:forwards;

opacity:0;

}



@keyframes flipRightTopAnime{

  from {

   transform: translate(-20px,80px) rotate(25deg);

   opacity: 0;

  }



  to {

   transform: translate(0,1) rotate(0deg);

	opacity: 1;

  }

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

 

.flipDownTrigger,

.flipLeftTrigger,

.flipLeftTopTrigger,

.flipRightTrigger,

.flipRightTopTrigger{

    opacity: 0;

}



/*==================================================

くるっ

===================================*/





/* X 軸（縦へ） */

.rotateX{

	animation-name:rotateXAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

}



@keyframes rotateXAnime{

	from{

		transform: rotateX(0);

		opacity: 0;

		}

	to{

		transform: rotateX(-360deg);

		opacity: 1;

		}

}



/*　Y軸（横へ） */

.rotateY{

	animation-name:rotateYAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

}



@keyframes rotateYAnime{

	from{

		transform: rotateY(0);

		opacity: 0;

		}

	to{

		transform: rotateY(-360deg);

		opacity: 1;

		}

}



/* Z 軸（左へ） */

.rotateLeftZ{

	animation-name:rotateLeftZAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

}



@keyframes rotateLeftZAnime{

	from{

		transform: rotateZ(0);

		opacity: 0;

		}

	to{

		transform: rotateZ(-360deg);

		opacity: 1;

		}

}



/*　Z 軸（右へ） */

.rotateRightZ{

	animation-name:rotateRightZAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

}



@keyframes rotateRightZAnime{

	from{

		transform: rotateZ(0);

		opacity: 0;

		}

	to{

		transform: rotateZ(360deg);

		opacity: 1;

		}

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

 

.rotateXTrigger,

.rotateYTrigger,

.rotateLeftZTrigger,

.rotateRightZTrigger{

    opacity: 0;

}



/*==================================================

ボンッ、ヒュッ

===================================*/



/* 拡大 */

.zoomIn{

	animation-name:zoomInAnime;

	animation-duration:0.5s;

	animation-fill-mode:forwards;

}



@keyframes zoomInAnime{

  from {

	transform: scale(0.6);

	opacity: 0;

  }



  to {

    transform: scale(1);

	opacity: 1;

  }

}



/* 縮小 */

.zoomOut{

	animation-name:zoomOutAnime;

	animation-duration:0.5s;

	animation-fill-mode:forwards;

}



@keyframes zoomOutAnime{

  from {

	transform: scale(1.2);

	opacity: 0;

  }



  to {

    transform:scale(1);

	opacity: 1;

  }

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

 

.zoomInTrigger,

.zoomOutTrigger{

    opacity: 0;

}



/*==================================================

じわっ

===================================*/



/* ぼかしから出現 */

.blur{

	animation-name:blurAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

}



@keyframes blurAnime{

  from {

	filter: blur(10px);

	transform: scale(1.02);

	opacity: 0;

  }



  to {

	filter: blur(0);

	transform: scale(1);

	opacity: 1;

  }

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

 

.blurTrigger{

    opacity: 0;

}



/*==================================================

にゅーん

===================================*/



/* 滑らかに変形して出現 */

.smooth{

	animation-name:smoothAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

  　transform-origin: left;

	opacity:0;

}



@keyframes smoothAnime{

  from {

  transform: translate3d(0, 100%, 0) skewY(12deg);

  opacity:0;

  }



  to {

  transform: translate3d(0, 0, 0) skewY(0);

  opacity:1;

  }

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

 

.smoothTrigger{

    opacity: 0;

}



/*==================================================

スーッ（枠線が伸びて出現）

===================================*/



/*枠線が伸びて出現*/



.lineTrigger{

  position: relative; /* 枠線が書かれる基点*/

  opacity:0;

}



.lineTrigger.lineanime{

	animation-name:lineAnimeBase;

	animation-duration:1s;

	animation-fill-mode:forwards;

}



@keyframes lineAnimeBase{

  from {

    opacity:0;

  }



  to {

    opacity:1;  

}

}



/*上下線*/

.lineTrigger::before,

.lineTrigger::after{

  position: absolute;

  content:"";

  width:0;

  height:1px;

  background:#333;/* 枠線の色*/

}



/*左右線*/

.line2::before,

.line2::after{

  position: absolute;

  content:"";

  width: 1px;

  height:0;

  background:#333;/* 枠線の色*/

}



/*上線*/

.lineTrigger::before {

	top:0;

	left:0;

}



.lineTrigger.lineanime::before {

	animation: lineAnime .5s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/

}



/*右線*/

.line2::before{ 

	top:0;

	right:0;

}



.lineTrigger.lineanime .line2::before {

	animation: lineAnime2 .5s linear .5s forwards;/*表示されて0.5秒後に右線が0.5秒かけて表示*/

}



/*下線*/

.lineTrigger::after { 

	bottom:0;

	right:0;

}



.lineTrigger.lineanime::after {

	animation: lineAnime .5s linear 1s forwards;/*表示されて1秒後に下線が0.5秒かけて表示*/

}



/*左線*/

.line2::after{ 

	bottom:0;

	left:0;

}



.lineTrigger.lineanime .line2::after {

	animation: lineAnime2 .5s linear 1.5s forwards;/*表示されて1.5秒後に左線が0.5秒かけて表示*/

}



@keyframes lineAnime {

	0% {width:0%;}

    100%{width:100%;}

}



@keyframes lineAnime2 {

	0% {height:0%;}

    100%{height:100%;}

}



/*枠線内側の要素*/



.lineTrigger.lineanime .lineinappear{

	animation: lineInnerAnime .5s linear 1.5s forwards;/*1.5秒後に中央のエリアが0.5秒かけて表示*/

	opacity: 0;/*初期値を透過0にする*/	

}



@keyframes lineInnerAnime{

	0% {opacity:0;}

    100% {opacity:1;}

}





/*==================================================

シャッ（背景色が伸びて出現）

===================================*/



/*背景色が伸びて出現（共通）*/

.bgextend{

	animation-name:bgextendAnimeBase;

	animation-duration:1s;

	animation-fill-mode:forwards;

	position: relative;

	overflow: hidden;/*　はみ出た色要素を隠す　*/

	opacity:0;

}



@keyframes bgextendAnimeBase{

  from {

    opacity:0;

  }



  to {

    opacity:1;  

}

}



/*中の要素*/

.bgappear{

	animation-name:bgextendAnimeSecond;

	animation-duration:1s;

	animation-delay: 0.6s;

	animation-fill-mode:forwards;

	opacity: 0;

}



@keyframes bgextendAnimeSecond{

	0% {

	opacity: 0;

	}

	100% {

	opacity: 1;

}

}



/*左から*/

.bgLRextend::before{

	animation-name:bgLRextendAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

    content: "";

    position: absolute;

    width: 100%;

    height: 100%;

    background-color: #666;/*伸びる背景色の設定*/

}

@keyframes bgLRextendAnime{

	0% {

		transform-origin:left;

		transform:scaleX(0);

	}

	50% {

		transform-origin:left;

		transform:scaleX(1);

	}

	50.001% {

		transform-origin:right;

	}

	100% {

		transform-origin:right;

		transform:scaleX(0);

	}

}



/*右から*/

.bgRLextend::before{

	animation-name:bgRLextendAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

    content: "";

    position: absolute;

    width: 100%;

    height: 100%;

    background-color: #666;/*伸びる背景色の設定*/

}

@keyframes bgRLextendAnime{

	0% {

		transform-origin:right;

		transform:scaleX(0);

	}

	50% {

		transform-origin:right;

		transform:scaleX(1);

	}

	50.001% {

		transform-origin:left;

	}

	100% {

		transform-origin:left;

		transform:scaleX(0);

	}

}



/*下から*/

.bgDUextend::before{

	animation-name:bgDUextendAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

    content: "";

    position: absolute;

    width: 100%;

    height: 100%;

    background-color: #666;/*伸びる背景色の設定*/

}

@keyframes bgDUextendAnime{

	0% {

		transform-origin:bottom;

		transform:scaleY(0);

	}

	50% {

		transform-origin:bottom;

		transform:scaleY(1);

	}

	50.001% {

		transform-origin:top;

	}

	100% {

		transform-origin:top;

		transform:scaleY(0);

	}

}



/*上から*/

.bgUDextend::before{

	animation-name:bgUDextendAnime;

	animation-duration:1s;

	animation-fill-mode:forwards;

    content: "";

    position: absolute;

    width: 100%;

    height: 100%;

    background-color: #666;/*伸びる背景色の設定*/

}

@keyframes bgUDextendAnime{

	0% {

		transform-origin:top;

		transform:scaleY(0);

	}

	50% {

		transform-origin:top;

		transform:scaleY(1);

	}

	50.001% {

		transform-origin:bottom;

	}

	100% {

		transform-origin:bottom;

		transform:scaleY(0);

	}

}



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.bgappearTrigger,

.bgUDextendTrigger,

.bgDUextendTrigger,

.bgRLextendTrigger,

.bgLRextendTrigger{

    opacity: 0;

}





/*========= レイアウトのためのCSS ===============*/



.wrapper{

	overflow: hidden;

}



.flex{

	display:flex;

	flex-wrap: wrap;

}



.box{

	width: 220px;

	padding: 20px;

    margin: 0 20px 20px 20px;

	background: #666;

	color: #fff;

	box-sizing:border-box;

}



.bgextend,

.lineTrigger{

	width: 220px;

	padding: 20px;

    margin: 0 20px 20px 20px;

	box-sizing:border-box;

}







/*==================================================

アニメーション設定

===================================*/



/* アニメーションの回数を決めるCSS*/



.count2{  

	animation-iteration-count: 2;/*この数字を必要回数分に変更*/

}



.countinfinite{  

	animation-iteration-count: infinite;/*無限ループ*/

}



/* アニメーションスタートの遅延時間を決めるCSS*/



.delay-time05{  

	animation-delay: 0.5s;

}



.delay-time1{  

	animation-delay: 1s;

}



.delay-time15{  

	animation-delay: 1.5s;

}



.delay-time2{  

	animation-delay: 2s;

}



.delay-time25{  

	animation-delay: 2.5s;

}



/* アニメーション自体が変化する時間を決めるCSS*/



.change-time05{  

	animation-duration: 0.5s;

}



.change-time1{  

	animation-duration: 1s;

}



.change-time15{  

	animation-duration: 1.5s;

}



.change-time2{  

	animation-duration: 2s;

}



.change-time25{  

	animation-duration: 2.5s;

}





/*==================================================*/

/*==================================================*/

/* Magnific Popup CSS  */

/*==================================================*/

/*==================================================*/

.mfp-bg {

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1042;

  overflow: hidden;

  position: fixed;

  background: #0b0b0b;

  opacity: 0.8; }



.mfp-wrap {

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1043;

  position: fixed;

  outline: none !important;

  -webkit-backface-visibility: hidden; }



.mfp-container {

  text-align: center;

  position: absolute;

  width: 100%;

  height: 100%;

  left: 0;

  top: 0;

  padding: 0 8px;

  box-sizing: border-box; }



.mfp-container:before {

  content: '';

  display: inline-block;

  height: 100%;

  vertical-align: middle; }



.mfp-align-top .mfp-container:before {

  display: none; }



.mfp-content {

  position: relative;

  display: inline-block;

  vertical-align: middle;

  margin: 0 auto;

  text-align: left;

  z-index: 1045; }



.mfp-inline-holder .mfp-content,

.mfp-ajax-holder .mfp-content {

  width: 100%;

  cursor: auto; }



.mfp-ajax-cur {

  cursor: progress; }



.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {

  cursor: -moz-zoom-out;

  cursor: -webkit-zoom-out;

  cursor: zoom-out; }



.mfp-zoom {

  cursor: pointer;

  cursor: -webkit-zoom-in;

  cursor: -moz-zoom-in;

  cursor: zoom-in; }



.mfp-auto-cursor .mfp-content {

	cursor: auto; 

	max-width:800px;

	width:100%;

}



.mfp-auto-cursor .mfp-content iframe {

	height:450px;

}





.mfp-close,

.mfp-arrow,

.mfp-preloader,

.mfp-counter {

  -webkit-user-select: none;

  -moz-user-select: none;

  user-select: none; }



.mfp-loading.mfp-figure {

  display: none; }



.mfp-hide {

  display: none !important; }



.mfp-preloader {

  color: #CCC;

  position: absolute;

  top: 50%;

  width: auto;

  text-align: center;

  margin-top: -0.8em;

  left: 8px;

  right: 8px;

  z-index: 1044; }

  .mfp-preloader a {

    color: #CCC; }

    .mfp-preloader a:hover {

      color: #FFF; }



.mfp-s-ready .mfp-preloader {

  display: none; }



.mfp-s-error .mfp-content {

  display: none; }



button.mfp-close,

button.mfp-arrow {

  overflow: visible;

  cursor: pointer;

  background: transparent;

  border: 0;

  -webkit-appearance: none;

  display: block;

  outline: none;

  padding: 0;

  z-index: 1046;

  box-shadow: none;

  touch-action: manipulation; }



button::-moz-focus-inner {

  padding: 0;

  border: 0; }



.mfp-close {

  width: 44px;

  height: 44px;

  line-height: 44px;

  position: absolute;

  right: 0;

  top: 0;

  text-decoration: none;

  text-align: center;

  opacity: 0.65;

  padding: 0 0 18px 10px;

  color: #FFF;

  font-style: normal;

  font-size: 28px;

  font-family: Arial, Baskerville, monospace; }

  .mfp-close:hover,

  .mfp-close:focus {

    opacity: 1; }

  .mfp-close:active {

    top: 1px; }



.mfp-close-btn-in .mfp-close {

  color: #333; }



.mfp-image-holder .mfp-close,

.mfp-iframe-holder .mfp-close {

  color: #FFF;

  right: -6px;

  text-align: right;

  padding-right: 6px;

  width: 100%; }



.mfp-counter {

  position: absolute;

  top: 0;

  right: 0;

  color: #CCC;

  font-size: 12px;

  line-height: 18px;

  white-space: nowrap; }



.mfp-arrow {

  position: absolute;

  opacity: 0.65;

  margin: 0;

  top: 50%;

  margin-top: -55px;

  padding: 0;

  width: 90px;

  height: 110px;

  -webkit-tap-highlight-color: transparent; }

  .mfp-arrow:active {

    margin-top: -54px; }

  .mfp-arrow:hover,

  .mfp-arrow:focus {

    opacity: 1; }

  .mfp-arrow:before,

  .mfp-arrow:after {

    content: '';

    display: block;

    width: 0;

    height: 0;

    position: absolute;

    left: 0;

    top: 0;

    margin-top: 35px;

    margin-left: 35px;

    border: medium inset transparent; }

  .mfp-arrow:after {

    border-top-width: 13px;

    border-bottom-width: 13px;

    top: 8px; }

  .mfp-arrow:before {

    border-top-width: 21px;

    border-bottom-width: 21px;

    opacity: 0.7; }



.mfp-arrow-left {

  left: 0; }

  .mfp-arrow-left:after {

    border-right: 17px solid #FFF;

    margin-left: 31px; }

  .mfp-arrow-left:before {

    margin-left: 25px;

    border-right: 27px solid #3F3F3F; }



.mfp-arrow-right {

  right: 0; }

  .mfp-arrow-right:after {

    border-left: 17px solid #FFF;

    margin-left: 39px; }

  .mfp-arrow-right:before {

    border-left: 27px solid #3F3F3F; }



.mfp-iframe-holder {

  padding-top: 40px;

  padding-bottom: 40px; }

  .mfp-iframe-holder .mfp-content {

    line-height: 0;

    width: 100%;

    max-width: 900px; }

  .mfp-iframe-holder .mfp-close {

    top: -40px; }



.mfp-iframe-scaler {

  width: 100%;

  height: 0;

  overflow: hidden;

  padding-top: 56.25%; }

  .mfp-iframe-scaler iframe {

    position: absolute;

    display: block;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);

    background: #000; }



/* Main image in popup */

img.mfp-img {

  width: auto;

  max-width: 100%;

  height: auto;

  display: block;

  line-height: 0;

  box-sizing: border-box;

  padding: 40px 0 40px;

  margin: 0 auto; }



/* The shadow behind the image */

.mfp-figure {

  line-height: 0; }

  .mfp-figure:after {

    content: '';

    position: absolute;

    left: 0;

    top: 40px;

    bottom: 40px;

    display: block;

    right: 0;

    width: auto;

    height: auto;

    z-index: -1;

    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);

    background: #444; }

  .mfp-figure small {

    color: #BDBDBD;

    display: block;

    font-size: 12px;

    line-height: 14px; }

  .mfp-figure figure {

    margin: 0; }



.mfp-bottom-bar {

  margin-top: -36px;

  position: absolute;

  top: 100%;

  left: 0;

  width: 100%;

  cursor: auto; }



.mfp-title {

  text-align: left;

  line-height: 18px;

  color: #F3F3F3;

  word-wrap: break-word;

  padding-right: 36px; }



.mfp-image-holder .mfp-content {

  max-width: 100%; }



.mfp-gallery .mfp-image-holder .mfp-figure {

  cursor: pointer; }



@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {

  /**

       * Remove all paddings around the image on small screen

       */

  .mfp-img-mobile .mfp-image-holder {

    padding-left: 0;

    padding-right: 0; }

  .mfp-img-mobile img.mfp-img {

    padding: 0; }

  .mfp-img-mobile .mfp-figure:after {

    top: 0;

    bottom: 0; }

  .mfp-img-mobile .mfp-figure small {

    display: inline;

    margin-left: 5px; }

  .mfp-img-mobile .mfp-bottom-bar {

    background: rgba(0, 0, 0, 0.6);

    bottom: 0;

    margin: 0;

    top: auto;

    padding: 3px 5px;

    position: fixed;

    box-sizing: border-box; }

    .mfp-img-mobile .mfp-bottom-bar:empty {

      padding: 0; }

  .mfp-img-mobile .mfp-counter {

    right: 5px;

    top: 3px; }

  .mfp-img-mobile .mfp-close {

    top: 0;

    right: 0;

    width: 35px;

    height: 35px;

    line-height: 35px;

    background: rgba(0, 0, 0, 0.6);

    position: fixed;

    text-align: center;

    padding: 0; } }



@media all and (max-width: 900px) {

  .mfp-arrow {

    -webkit-transform: scale(0.75);

    transform: scale(0.75); }

  .mfp-arrow-left {

    -webkit-transform-origin: 0;

    transform-origin: 0; }

  .mfp-arrow-right {

    -webkit-transform-origin: 100%;

    transform-origin: 100%; }

  .mfp-container {

    padding-left: 6px;

    padding-right: 6px; }

}









/*

    Colorbox Core Style:

    The following CSS is consistent between example themes and should not be altered.

*/

#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}

#cboxWrapper {max-width:none;}

#cboxOverlay{position:fixed; width:100%; height:100%;}

#cboxMiddleLeft, #cboxBottomLeft{clear:left;}

#cboxContent{position:relative;}

#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}

#cboxTitle{margin:0;}

#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}

.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}

.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}

#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}



/* 

    User Style:

    Change the following styles to modify the appearance of Colorbox.  They are

    ordered & tabbed in a way that represents the nesting of the generated HTML.

*/

#cboxOverlay{background:url(images/overlay.png) repeat 0 0; opacity: 0.9; filter: alpha(opacity = 90);}

#colorbox{outline:0;}

    #cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px 0;}

    #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;}

    #cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px -29px;}

    #cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px -29px;}

    #cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;}

    #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;}

    #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;}

    #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;}

    #cboxContent{background:#fff; overflow:hidden;}

        .cboxIframe{background:#fff;}

        #cboxError{padding:50px; border:1px solid #ccc;}

        #cboxLoadedContent{margin-bottom:28px;}

        #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}

        #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}

        #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}

        #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}



        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */

        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

        

        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */

        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}



        #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}

        #cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}

        #cboxPrevious:hover{background-position:-75px -25px;}

        #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}

        #cboxNext:hover{background-position:-50px -25px;}

        #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}

        #cboxClose:hover{background-position:-25px -25px;}



/*

  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill

  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.

  See: http://jacklmoore.com/notes/ie-transparency-problems/

*/

.cboxIE #cboxTopLeft,

.cboxIE #cboxTopCenter,

.cboxIE #cboxTopRight,

.cboxIE #cboxBottomLeft,

.cboxIE #cboxBottomCenter,

.cboxIE #cboxBottomRight,

.cboxIE #cboxMiddleLeft,

.cboxIE #cboxMiddleRight {

    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);

}




