/* ico_gacha_layer
---------- ---------- ---------- ---------- ---------- */
.ico_gacha_layer {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-image: url(../../images/gacha/layer/ico_gacha_layer.png);
  background-repeat: no-repeat;
  vertical-align: top;
}

.ico_gacha_layer_congratulation {
  width: 447px;
  height: 119px;
  background-position: 0 0;
}

.ico_gacha_layer_grabbit {
  width: 231px;
  height: 271px;
  background-position: -500px 0;
}

.ico_gacha_layer_ribbon {
  width: 491px;
  height: 86px;
  background-position: 0 -130px;
}

.ico_gacha_layer_confirm {
  width: 199px;
  height: 62px;
  background-position: 0 -220px;
}

/* img_gacha
---------- ---------- ---------- ---------- ---------- */
.img_gacha_circle {
  width: 444px;
  height: 444px;
  background: url(../../images/gacha/layer/img_gacha_circle.png) 0 0 no-repeat;
}

[class*='img_fanfare'] {
  width: 556px;
  height: 556px;
}

.img_gacha_fanfare1 {
  background: url(../../images/gacha/layer/img_gacha_fanfare1.png) 0 0 no-repeat;
}

.img_gacha_fanfare2 {
  background: url(../../images/gacha/layer/img_gacha_fanfare2.png) 0 0 no-repeat;
}

[class*='img_star_ring'] {
  width: 455px;
  height: 460px;
}

.img_gacha_star_ring1 {
  background: url(../../images/gacha/layer/img_gacha_star_ring1.png) 0 0 no-repeat;
}

.img_gacha_star_ring2 {
  background: url(../../images/gacha/layer/img_gacha_star_ring2.png) 0 0 no-repeat;
}

/* btn_gacha
---------- ---------- ---------- ---------- ---------- */
.btn_gacha {
  border: 0 none;
  background-color: transparent;
  vertical-align: middle;
  cursor: pointer;
}

/* outer_cell
---------- ---------- ---------- ---------- ---------- */
.outer_cell {
  display: table;
}

.inner_cell {
  display: table-cell;
  vertical-align: middle;
}

/* .layer_gacha_wrapper
---------- ---------- ---------- ---------- ---------- */
.layer_gacha_wrapper {
  display: none;
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.layer_gacha_wrapper .outer_cell {
  width: 100%;
  height: 100%;
}

.layer_gacha_wrapper .layer_gacha_dimmed {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-color: #000;
  opacity: 0.95;
}

.layer_gacha_wrapper.active {
  display: block;
  z-index: 10000;
}

.layer_gacha_wrapper .img_gacha_circle {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -222px 0 0 -222px;
}

.layer_gacha_wrapper [class*='img_fanfare'] {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -295px 0 0 -278px;

  -webkit-animation-play-state: running;
  -moz-animation-play-state: running;
  -o-animation-play-state: running;
  animation-play-state: running;
}

.layer_gacha_wrapper .img_gacha_fanfare1 {
  -webkit-animation: flicker2 1s linear infinite;
  -moz-animation: flicker2 1s linear infinite;
  -o-animation: flicker2 1s linear infinite;
  animation: flicker2 1s linear infinite;
}

.layer_gacha_wrapper .img_gacha_fanfare2 {
  -webkit-animation: flicker1 1s linear infinite;
  -moz-animation: flicker1 1s linear infinite;
  -o-animation: flicker1 1s linear infinite;
  animation: flicker1 1s linear infinite;
}

.layer_gacha_wrapper [class*='img_star_ring'] {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -251px 0 0 -225px;

  -webkit-animation-play-state: running;
  -moz-animation-play-state: running;
  -o-animation-play-state: running;
  animation-play-state: running;
}

.layer_gacha_wrapper .img_gacha_star_ring1 {
  -webkit-animation: flicker1 1s linear infinite;
  -moz-animation: flicker1 1s linear infinite;
  -o-animation: flicker1 1s linear infinite;
  animation: flicker1 1s linear infinite;
}

.layer_gacha_wrapper .img_gacha_star_ring2 {
  -webkit-animation: flicker2 1s linear infinite;
  -moz-animation: flicker2 1s linear infinite;
  -o-animation: flicker2 1s linear infinite;
  animation: flicker2 1s linear infinite;
}

.layer_gacha_wrapper .ico_gacha_layer_congratulation {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -223.5px;
}

.layer_gacha_wrapper .ico_gacha_layer_grabbit {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -159px 0 0 -113px;
}

.layer_gacha_wrapper .ico_gacha_layer_ribbon {
  position: absolute;
  bottom: 108px;
  left: 50%;
  margin-left: -243px;
  text-align: center;
}

.layer_gacha_wrapper .ico_gacha_layer_ribbon .outer_cell {
  width: 383px;
  height: 69px;
  margin: 0 auto;
}

.layer_gacha_wrapper .thumb_gacha_result {
  display: inline-block;
  width: 32px;
  height: 32px;
  vertical-align: middle;
}

.layer_gacha_wrapper .thumb_gacha_result + .emph_gacha_result {
  margin-left: 10px;
}

.layer_gacha_wrapper .img_gacha_result {
  max-width: 100%;
}

.layer_gacha_wrapper .emph_gacha_result {
  display: inline-block;
  max-width: 294px;
  font-style: normal;
  font-family: 'barlow-regular';
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  color: #fff;
  vertical-align: middle;
  letter-spacing: 0.2px;
}

.layer_gacha_wrapper .layer_gacha_wrapper_dimmed {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-color: #000;
  opacity: 0.95;
}

.layer_gacha_wrapper .foot_layer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
}

/* layer_gacha_area
---------- ---------- ---------- ---------- ---------- */
.layer_gacha_area {
  position: relative;
  z-index: 10;
  width: 491px;
  height: 646px;
  margin: 50px auto 50px;
}

/* @keyframes
---------- ---------- ---------- ---------- ---------- */
/* flicker1 */
@-webkit-keyframes flicker1 {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-moz-keyframes flicker1 {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-o-keyframes flicker1 {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes flicker1 {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* flicker2 */
@-webkit-keyframes flicker2 {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@-moz-keyframes flicker2 {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@-o-keyframes flicker2 {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes flicker2 {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
