body {
  margin: 0;
  position: relative !important;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.bals-header-container {
  max-width: 100vw;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  background-color: #fff;
}

@media screen and (min-width: 789px) {
  .bals-header-container {
    max-width: 768px;
  }
}

.wrapper {
  overflow-x: hidden;
}

@media screen and (min-width: 789px) {
  .wrapper {
    overflow-x: unset;
  }
}

.c-header {
  z-index: 100;
}

@media screen and (min-width: 789px) {
  .c-header {
    max-width: 768px;
    margin: 0 auto;
  }
}

.c-header a {
  line-height: 1;
}

@media screen and (min-width: 769px) {
  a {
    -webkit-transition: .3s;
    transition: .3s;
  }
  a:hover {
    opacity: .7;
  }
}

.bals-body {
  max-width: 100vw;
  margin: 0 auto;
  background-color: #fff;
  font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

@media screen and (min-width: 789px) {
  .bals-body {
    max-width: 768px;
  }
}

.bals-body div::after,
.bals-body section::after,
.bals-body ul::after {
  display: none;
  color: inherit;
}

.bals-body img {
  display: block;
  width: 100%;
}

.bals-body a {
  color: inherit;
  text-decoration: none;
}

.bals-body .select_wrap {
  display: none;
}

.bals-body .bals-head {
  background: #e9e9e9;
  width: 100%;
  height: 8vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-head {
    height: 61.44px;
  }
}

.bals-body .bals-head h2 {
  color: #333333;
  font-size: 3.23vw;
  line-height: 8vw;
  letter-spacing: 0.15em;
  width: 100%;
  margin: 0;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-head h2 {
    font-size: 24.2px;
    line-height: 61.44px;
  }
}

.bals-body .bals-mv {
  width: 100%;
  overflow-x: hidden;
}

.bals-body .bals-mv img {
  width: 100%;
  height: auto;
}

.bals-body .bals-cta {
  position: relative;
}

.bals-body .bals-cta h2 {
  margin: 0 !important;
}

.bals-body .bals-cta-wrap {
  width: 100%;
  background: #fff;
}

.bals-body .bals-cta-image {
  position: relative;
}

.bals-body .bals-cta.single .button {
  top: 62.6vw;
  width: 85.3vw;
  left: 7.5vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.single .button {
    top: 480.768px;
    width: 655.104px;
    left: 57.6px;
  }
}

.bals-body .bals-cta.num1 {
  margin-top: 3vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num1 {
    margin-top: 23.04px;
  }
}

.bals-body .bals-cta.num1 .button {
  width: 54.0vw;
  top: 0.9vw;
  left: 45.0vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num1 .button {
    width: 414.72px;
    top: 6.912px;
    left: 345.6px;
  }
}

.bals-body .bals-cta.normal .button {
  top: 94.6vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.normal .button {
    top: 726.528px;
  }
}

.bals-body .bals-cta.num2 .button {
  width: 94vw;
  top: 25.9vw;
  left: 3vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num2 .button {
    width: 721.92px;
    top: 198.912px;
    left: 23.04px;
  }
}

.bals-body .bals-cta.num3 {
  margin-top: 2.7vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num3 {
    margin-top: 20.736px;
  }
}

.bals-body .bals-cta.num3 .button {
  width: 82.6vw;
  top: 64vw;
  left: 8.7vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num3 .button {
    width: 634.368px;
    top: 491.52px;
    left: 66.816px;
  }
}

.bals-body .bals-cta.num3 .button02 {
  display: block;
  position: absolute;
  width: 87.2vw;
  top: 387.1vw;
  left: 6.6vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num3 .button02 {
    width: 669.696px;
    top: 2972.928px;
    left: 50.688px;
  }
}

.bals-body .bals-cta.num3 .bals-cta-wrap {
  background: rgba(235, 113, 129, 0.1);
}

.bals-body .bals-cta.num4 .button {
  width: 85.7vw;
  top: 57.8vw;
  left: 7.1vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num4 .button {
    width: 658.176px;
    top: 443.904px;
    left: 54.528px;
  }
}

.bals-body .bals-cta.num5 .button {
  width: 84.7vw;
  top: 63.1vw;
  left: 7.5vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num5 .button {
    width: 650.496px;
    top: 484.608px;
    left: 57.6px;
  }
}

.bals-body .bals-cta.num5 .bals-cta-wrap {
  background: rgba(235, 113, 129, 0.1);
}

.bals-body .bals-cta.num6 {
  margin-top: 2.4vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num6 {
    margin-top: 18.432px;
  }
}

.bals-body .bals-cta.num6 .button {
  width: 83.2vw;
  top: 64.2vw;
  left: 8.2vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num6 .button {
    width: 638.976px;
    top: 493.056px;
    left: 62.976px;
  }
}

.bals-body .bals-cta.num6 .button02 {
  display: block;
  position: absolute;
  width: 87.2vw;
  top: 387.3vw;
  left: 6.6vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num6 .button02 {
    width: 669.696px;
    top: 2974.464px;
    left: 50.688px;
  }
}

.bals-body .bals-cta.num6 .bals-cta-wrap {
  background: rgba(235, 113, 129, 0.1);
}

.bals-body .bals-cta.num7 .button {
  width: 85vw;
  top: 57.8vw;
  left: 7.5vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num7 .button {
    width: 652.8px;
    top: 443.904px;
    left: 57.6px;
  }
}

.bals-body .bals-cta.long {
  position: relative;
}

.bals-body .bals-cta.long .button {
  width: 86.5vw;
  top: 125.6vw;
  left: 6.6vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.long .button {
    width: 664.32px;
    top: 964.608px;
    left: 50.688px;
  }
}

.bals-body .bals-cta.long .button.second {
  top: 412.6vw;
  width: 86.3vw;
  left: 6.6vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta.long .button.second {
    width: 662.784px;
    top: 3168.768px;
    left: 50.688px;
  }
}

.bals-body .bals-cta .button {
  display: block;
  color: transparent;
  width: 96.7vw;
  position: absolute;
  top: 24.5vw;
  left: 2vw;
  background: transparent;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-cta .button {
    width: 742.656px;
    top: 188.16px;
    left: 15.36px;
  }
}

.bals-body .bals-onlinecpn {
  background: #F0F0F0;
  padding: 0vw 0 6.6vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-onlinecpn {
    padding: 0px 0 50.688px;
  }
}

.bals-body .bals-onlinecpn-cont:nth-child(1) {
  margin: 0 auto 1.2vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-onlinecpn-cont:nth-child(1) {
    margin: 0 auto 9.216px;
  }
}

.bals-body .bals-onlinecpn-cont:nth-child(2) {
  margin: 0 auto 0;
}

.bals-body .bals-onlinecpn-cont:nth-child(3) {
  margin: -1.3vw auto 1.2vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-onlinecpn-cont:nth-child(3) {
    margin: -9.984px auto 9.216px;
  }
}

.bals-body .attention {
  margin: 4.5vw 0 4vw !important;
}

@media screen and (min-width: 769px) {
  .bals-body .attention {
    margin: 34.56px 0 28.72px !important;
  }
}

.bals-body .bals-prize {
  margin-top: -0.2vw;
  margin-bottom: 0;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-prize {
    margin-top: -1.536px;
  }
}

.bals-body .bals-voice {
  padding-bottom: 5.4vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-voice {
    padding-bottom: 41.472px;
  }
}

.bals-body .bals-voice-button {
  width: 55.1vw;
  margin: -1.2vw auto 0;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-voice-button {
    width: 423.168px;
    margin: -9.216px auto 0;
  }
}

.bals-body .bals-feature {
  position: relative;
}

.bals-body .bals-banners {
  padding-top: 0;
  margin-top: -0.3vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-banners {
    margin-top: -2.304px;
  }
}

.bals-body .bals-banners .campaign {
  width: 99vw;
  margin: 0 auto 3vw;
  position: relative;
  left: -2.3vw;
  display: block;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-banners .campaign {
    width: 760.32px;
    margin: 0 auto 23.04px;
    left: -17.664px;
  }
}

.bals-body .bals-banners .uv {
  width: 89.7vw;
  margin: 11.2vw auto 5.3vw;
  position: relative;
  left: 0;
  display: block;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-banners .uv {
    width: 688.896px;
    margin: 86.016px auto 40.704px;
  }
}

.bals-body .bals-banners .hari {
  width: 91vw;
  padding-top: 3vw;
  margin: 0 auto 0;
  position: relative;
  left: 0;
  display: block;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-banners .hari {
    width: 698.88px;
    margin: 0 auto 0;
    padding-top: 23.04px;
  }
}

.bals-body .bals-banners .special {
  width: 89.7vw;
  margin: 0 auto 0.6vw;
  position: relative;
  left: 0;
  display: block;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-banners .special {
    width: 688.896px;
    margin: 0 auto 4.608px;
  }
}

.bals-body .bals-onlinestore {
  width: 90vw;
  margin: 0 auto;
  padding: 4.4vw 0 10.8vw;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-onlinestore {
    width: 691.2px;
    padding: 33.792px 0 82.944px;
  }
}

.bals-body .bals-floating-cta {
  position: fixed;
  left: 0;
  width: 100%;
  height: 20vw;
  z-index: 20;
  bottom: -20vw;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-floating-cta {
    width: 768px;
    margin: auto;
    left: 0;
    right: 0;
    bottom: -153.6px;
    top: auto;
    height: 153.6px;
    display: none;
  }
}

.bals-body .bals-floating-cta.show {
  bottom: 0;
  background: none;
}

.bals-body .bals-floating-cta .button {
  display: block;
  width: 100vw;
  height: 20vw;
  background-size: 100% 100% !important;
  color: transparent;
}

@media screen and (min-width: 769px) {
  .bals-body .bals-floating-cta .button {
    width: 100%;
    height: 153.6px;
  }
}

.pane-footer {
  max-width: 768px;
  margin: 0 auto;
}

.pane-footer .bals-footer-nav {
  background: #000;
  padding-top: 6.5vw;
  margin-bottom: 0;
  position: relative;
  z-index: 3;
}

@media screen and (min-width: 769px) {
  .pane-footer .bals-footer-nav {
    padding: 42px 0 0;
    margin: 0 auto;
    width: 100%;
  }
}

.pane-footer .bals-footer-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.pane-footer .bals-footer-nav ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 2.93vw;
  display: block;
  padding: 0 2.66vw;
  border-right: solid .5px #fff;
  letter-spacing: .09em;
  line-height: .8;
}

@media screen and (min-width: 769px) {
  .pane-footer .bals-footer-nav ul li a {
    font-size: 12px;
    padding: 0 10px;
    border-right: solid 1px #fff;
    line-height: .9;
  }
}

.pane-footer .bals-footer-nav ul li:last-of-type a {
  border-right: none;
}
