@charset "UTF-8";
/* ==========================================================================
   challenge
========================================================================== */
body{
  min-height: 100%;
  background: #facd00;
}
@media screen and (min-width: 1280px){
  .wrapper {
    width: 100%;
    height: calc(100vh - 40px);
    min-height: 1681px;
  }
}
@media screen and (min-width: 1280px){
  .gheader{
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
    box-shadow:none;
  }
}
@media screen and (min-width: 1280px){
.gheader_body {
   min-height: 1681px;
  }
}
.content{
  min-height: 1681px;
}
@media screen and (min-width: 1280px){
  .content:before{
    content: "";
    display: inline-block;
    width: 4px;
    height: 100%;
    background: rgba(0,0,0,0.25);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100;
  }
}
.contentprimary{
  width: 100%;
  height: 665px;
  padding-top: 80px;
  background: url(../img/common/bg_dot_emerald.png) 0 0;
}
.contentprimary_title{
  width: 840px;
  margin: 0 auto; 
}
.primary_slide{
  width: 100%;
  height: 406px;
  position: relative;
  overflow: hidden;
}
.primary_slide_body{
  width: 2000px;
  height: 406px;
  background: url(../img/play/challenge_slide_bg.png) 0 0 no-repeat;
  position: absolute;
  left: 50%;
  margin-left: -460px;
  top: 0;
   opacity: 0;
          transform: translate3d(680px, 0, 0);
  -webkit-transform: translate3d(680px, 0, 0);
}
.primary_slide_body.show {
  opacity: 1;
          transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
          transition:         transform 900ms ease-out, opacity 400ms ease-in;
  -webkit-transition: -webkit-transform 900ms ease-out, opacity 400ms ease-in;
}
.primary_slide_balloon01{
  position: absolute;
  left: 150px;
  top: 75px;
}
.primary_slide_balloon02{
  position: absolute;
  left: 320px;
  top: 210px;
}
.primary_slide_balloon03{
  position: absolute;
  left: 490px;
  top: 75px;
}
.primary_slide_balloon04{
  position: absolute;
  left: 660px;
  top: 210px;
}

.primary_slide_balloon01,
.primary_slide_balloon02,
.primary_slide_balloon03,
.primary_slide_balloon04 {
  opacity: 0;
          transform: scale(0.01);
  -webkit-transform: scale(0.01);
          transition:         transform 500ms cubic-bezier(.16,.67,.5,1.21), opacity 300ms ease-in;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(.16,.67,.5,1.21), opacity 300ms ease-in;
}

.primary_slide_balloon01.show,
.primary_slide_balloon02.show,
.primary_slide_balloon03.show,
.primary_slide_balloon04.show {
  opacity: 1;
          transform: scale(1.0);
  -webkit-transform: scale(1.0);
}

.primary_slide_balloon01,
.primary_slide_balloon03 {
          transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
}

.primary_slide_balloon02,
.primary_slide_balloon04 {
          transform-origin: 50% 0%;
  -webkit-transform-origin: 50% 0%;
}

.contentsecondary{
  width: 100%;
  padding: 20px 0 0 0;
  margin: -40px 0 0 0;
  position: relative;
  z-index: 2;
}
.contentsecondary:before{
  content: "";
  display: block;
  width: 100%;
  height: 20px;
  background: url(../img/play/challenge_bg_dark_top.png) 0 0 repeat-x;
}
.contentsecondary_inner{
  background: url(../img/common/bg_dot_emerald_dark.png) 0 0;
  height: 852px;
  padding-top: 28px;
}
.secondary_title{
  width: 960px;
  text-align: center;
  margin: 0 auto 28px auto;
}
.secondary_text{
  width: 960px;
  text-align: center;
  margin: 0 auto 55px auto;
}
.secondary_theme{
  width: 942px;
  margin: 0 auto;
}
.secondary_theme:after{
  content: "";
  display: block;
  clear: both;
}
.secondary_theme li{
  width: 284px;
  float: left;
  margin: 0 15px 30px 15px;
}
.contentfooter{
  width: 100%;
  height: 56px;
  background: #692800;
  position: relative;
  z-index: 3;
}


.playpage_localnav_body{
  width: 630px;
  margin: 0 auto;
}
.playpage_localnav_body ul{
  padding: 8px 0 0 0;
}
.playpage_localnav_item{
  display: inline-block;
  font-size: 0;
  line-height: 0;
  margin: -2px 4px 0 0;
  vertical-align: bottom;
}
.pagelocalnav_next{
  margin: 0;
}
.playpage_localnav_item span{ 
  display: block;
  width: 178px;
  height: 42px;
  background-image: url(../img/play/play_localnav.png);
  background-repeat: no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}
.pagelocalnav_prev span,
.pagelocalnav_next span{
  width: 40px;
  height: 42px;
}
.pagelocalnav_prev span{background-position: 0 0;}
.pagelocalnav_top span{background-position: -40px 0;}
.pagelocalnav_challenge span{background-position: -218px 0;}
.pagelocalnav_world span{background-position: -396px 0;}
.pagelocalnav_next span{background-position: -574px -0;}

.no-touchevents .pagelocalnav_prev a:hover span{background-position: 0 -42px;}
.no-touchevents .pagelocalnav_top a:hover span{background-position: -40px -42px;}
.no-touchevents .pagelocalnav_challenge a:hover span{background-position: -218px -42px;}
.no-touchevents .pagelocalnav_world a:hover span{background-position: -396px -42px;}
.no-touchevents .pagelocalnav_next a:hover span{background-position: -574px -42px;}

.pagelocalnav_challenge.is-current span{background-position: -218px -84px;}
.pagelocalnav_world.is-current span{background-position: -396px -84px;}

.pagetopbtn{
  width: 98px;
  height: 177px;
  position: absolute;
  right: 10px;
  bottom: 0;
}
.pagetopbtn a{
  display: block;
  width: 98px;
  height: 88px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.pagetopbtn a span{
  display: block;
  width: 98px;
  height: 88px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url(../img/common/btn_pagetop.png);
  background-position: 0 100%;
  background-repeat: no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

.pagetopbtn a:hover{
  height: 177px;
}
.pagetopbtn a:hover span{
  height: 177px;
  background-position: -98px 100%;
}

.modal{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  min-height: 750px;
}

.modal .modalbg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 890px;
  background: rgba(0,10,10,0.9);
}

.modal .modalcontent {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 640px;
  height: 360px;
  margin: -180px 0 0 -320px;
  background: url(../img/play/challenge_modal.png) 0 0 no-repeat;
}

.modal .modalvideo{
  position: absolute;
  left: 118px;
  top: 51px;
  width: 400px;
  height: 240px;
  overflow: hidden;
}

.modal .modalclose{
  width: 80px;
  height: 94px;
  position: absolute;
  right: 40px;
  top: 30px;
  z-index: 1001;
}
.modal .modalclose a{
  display: block;
}
.modal .modalclose span{
  width: 80px;
  height: 94px;
  display: block;
  background-image: url(../img/exchange/modal_close.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}


.modal {
  left: -100%;
          transition: left 0ms linear 450ms;
  -webkit-transition: left 0ms linear 450ms;
}
.modal .modalbg {
  opacity: 0;
          transition: opacity 450ms ease-out;
  -webkit-transition: opacity 450ms ease-out;
}
.modal .modalcontent {
  opacity: 0;
          transition: opacity 300ms ease-out;
  -webkit-transition: opacity 300ms ease-out;
}
.modal .modalclose {
  top: -94px;
          transition: top 300ms ease-in 0ms;
  -webkit-transition: top 300ms ease-in 0ms;
}


.open-modal {
  position: relative;
  overflow-y: scroll;
  overflow-x: auto;
}

.open-modal body {
  position: relative;
  overflow-x: hidden;
  overflow-y: hidden;
}

.show-modal .modal {
  left: 0;
          transition: left 0ms linear 0ms;
  -webkit-transition: left 0ms linear 0ms;
}
.show-modal .modal .modalbg {
  opacity: 1;
          transition: opacity 300ms ease-in;
  -webkit-transition: opacity 300ms ease-in;
}
.show-modal .modal .modalcontent {
  opacity: 1;
          transition: opacity 350ms ease-in 320ms;
  -webkit-transition: opacity 350ms ease-in 320ms;
}
.show-modal .modal .modalclose {
  top: 30px;
          transition: top 320ms ease-out 320ms;
  -webkit-transition: top 320ms ease-out 320ms;
}



