/* ------------------------------------------------
 KV
------------------------------------------------ */
#kv {
  background-color: #ffec82;
  height: 43.125em;
  position: relative;
  overflow: hidden;
}
#kv > .inner {
  width: 100%;
  height: 100%;
}
#kv .cast {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  pointer-events: none;
}
#kv #kv_pokemon img {
  max-width: unset;
  width: 104em;
  position: absolute;
  left: -14.5em;
  top: -8.3125em;
}
#kv .btn_ctrl {
  font-size: 1em;
  border: none;
  background: transparent url(../img/top/kv/btn_ctrl.svg) 0 0 no-repeat;
  background-size: auto 100%;
  padding: 0;
  width: 3.25em;
  aspect-ratio: 1/1;
  position: absolute;
  right: 1.25em;
  bottom: 1.25em;
  z-index: 10;
  cursor: pointer;
}
#kv .btn_ctrl[data-state="1"] {
  background-position: 0 0;
}
#kv .btn_ctrl[data-state="0"] {
  background-position: 100% 0;
}
@media screen and (min-width: 768.1px) {
  #kv #kv_s2 .bg {
    width: 100%;
    height: 100%;
  }
  #kv #kv_s2 .bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767.9px) {
  #kv {
    height: 39.1333333333em;
  }
  #kv #kv_pokemon img {
    max-width: unset;
    width: 31.6666666667em;
    left: -3.3333333333em;
    top: -5.2333333333em;
  }
  #kv .note {
    font-size: 0.5333333333em;
    letter-spacing: normal;
    left: unset;
    right: 1.25em;
    bottom: 1.25em;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
  }
  #kv .btn_ctrl {
    width: 2.7333333333em;
    right: 1.6666666667em;
    bottom: 2.3333333333em;
  }
}

/* ----------------------------
 bottles
------------------------------*/
#kv_s2 .bottles {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#kv_s2 .bottle {
  width: 21em;
  position: absolute;
  left: calc(50% - 10.5em);
  top: 13.5em;
  opacity: 0;
}
@media screen and (min-width: 768.1px) {
  #kv_s2.fin .bottle {
    width: 13.75em;
    top: 19.6875em;
  }
  #kv_s2.fin .bottle.cc {
    left: 31.875em;
  }
  #kv_s2.fin .bottle.dvc {
    left: 5em;
  }
  #kv_s2.fin .bottle.melon {
    left: 18.375em;
  }
  #kv_s2.fin .bottle.orange {
    left: 45em;
  }
  #kv_s2.fin .bottle.ringo {
    left: 57.25em;
  }
}
@media screen and (max-width: 767.9px) {
  #kv_s2 .bottle {
    width: 16.8666666667em;
    left: 4.1333333333em;
    top: 11.7333333333em;
  }
}

#contents_wrapper {
  background: #ffc547 url(../img/top/bg_contents.png) 50% 43.125em repeat;
  background-position: 50% 690px;
  background-size: 43.375em auto;
}
@media screen and (max-width: 767.9px) {
  #contents_wrapper {
    background-image: url(../img/top/bg_contents-sp.png);
    background-position: 0 9.6666666667em;
    background-size: 100% auto;
  }
}

/* ------------------------------------------------
 cp_soon
------------------------------------------------ */
#cp_soon > .inner {
  padding-top: 6.25em;
}
#cp_soon .sbody {
  margin: 0 auto;
  width: 35.125em;
}
@media screen and (max-width: 767.9px) {
  #cp_soon > .inner {
    padding-top: 4.6666666667em;
  }
  #cp_soon .sbody {
    width: 22.6666666667em;
  }
}

/* ------------------------------------------------
 campaign
------------------------------------------------ */
#campaign1 .sheader .title, #campaign2 .sheader .title {
  margin: 0 auto;
}
#campaign1 .note, #campaign2 .note {
  color: #e60012;
  font-size: 0.75em;
  font-weight: bold;
  transform: rotateZ(0.03deg);
}
/* ----------------------------
 campaign1
------------------------------*/
#campaign1 > .inner {
  padding-top: 4em;
}
#campaign1 .sheader .title {
  width: 27.625em;
}
#campaign1 .sbody {
  margin: 2.25em auto 0;
}
@media screen and (min-width: 768.1px) {
  #campaign1 .sbody {
    width: 50em;
    display: grid;
    grid-template-columns: auto auto;
    justify-items: center;
  }
  #campaign1 .sbody .present {
    width: 26em;
  }
  #campaign1 .sbody .present:first-of-type {
    margin-left: -0.375em;
  }
  #campaign1 .sbody .present:last-of-type {
    margin-right: -0.375em;
  }
  #campaign1 .sbody .note {
    margin-left: 0.4166666667em;
    justify-self: start;
  }
}
@media screen and (max-width: 767.9px) {
  #campaign1 > .inner {
    padding-top: 3.1333333333em;
  }
  #campaign1 .sheader .title {
    width: 19.1333333333em;
  }
  #campaign1 .sbody {
    margin-top: 1.3333333333em;
  }
  #campaign1 .sbody .present:first-of-type {
    margin-left: 0.7em;
    width: 23.8333333333em;
  }
  #campaign1 .sbody .present:last-of-type {
    margin-top: 0.3333333333em;
    margin-left: 0.5em;
    width: 24.0333333333em;
  }
  #campaign1 .sbody .note {
    margin-left: 1.6363636364em;
  }
}

/* ----------------------------
 campaign2
------------------------------*/
#campaign2 > .inner {
  padding-top: 2.75em;
  padding-bottom: 6.25em;
}
#campaign2 .sheader .title {
  width: 20.25em;
}
#campaign2 .sbody {
  margin: 1.25em auto 0;
  width: 50em;
}
#campaign2 .sbody .item {
  margin-left: -0.6875em;
  margin-right: -1.5em;
}
@media screen and (max-width: 767.9px) {
  #campaign2 > .inner {
    padding-top: 2.5333333333em;
    padding-bottom: 4em;
  }
  #campaign2 .sheader .title {
    width: 17.2em;
  }
  #campaign2 .sbody {
    margin-top: 1.2em;
    margin-left: 0.5666666667em;
    width: 24.1333333333em;
  }
  #campaign2 .sbody .item {
    margin-left: 0;
    margin-right: 0;
  }
  #campaign2 .sbody .note {
    margin-left: 1.6363636364em;
  }
}

/* ------------------------------------------------
 contact
------------------------------------------------ */
@media screen and (min-width: 768.1px) {
  #contact .contact:nth-child(2) {
    grid-column: 2/span 1;
  }
}