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: 0.3s;
    transition: 0.3s;
  }
  a:hover {
    opacity: 0.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 .link {
  display: block;
  position: absolute;
  bottom: 15.5vw;
  left: 28.5vw;
  width: 43vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta .link {
    bottom: 119.04px;
    left: 218.88px;
    width: 330.24px;
  }
}
.bals-body .bals-cta.num2 {
  margin-top: -6vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num2 {
    margin-top: -46.08px;
  }
}
.bals-body .bals-cta-wrap {
  width: 100%;
  background: transparent;
}
.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: 54vw;
  top: 0.9vw;
  left: 45vw;
}
@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: 47vw;
  top: 7.5vw;
  left: 52.3vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num2 .button {
    width: 360.96px;
    top: 57.6px;
    left: 401.664px;
  }
}
.bals-body .bals-cta.num3 {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num3 {
    margin-top: 0px;
  }
}
.bals-body .bals-cta.num3 .button {
  width: 82.2vw;
  top: 142vw;
  left: 8.7vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num3 .button {
    width: 631.296px;
    top: 1090.56px;
    left: 66.816px;
  }
}
.bals-body .bals-cta.num3 .button02 {
  display: block;
  position: absolute;
  width: 82.2vw;
  top: 407.5vw;
  left: 8.6vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num3 .button02 {
    width: 631.296px;
    top: 3129.6px;
    left: 66.816px;
  }
}
.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: 139.4vw;
  left: 7.8vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num5 .button {
    width: 650.496px;
    top: 1070.592px;
    left: 59.904px;
  }
}
.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: 82.2vw;
  top: 142.6vw;
  left: 8.6vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num6 .button {
    width: 631.296px;
    top: 1095.168px;
    left: 66.048px;
  }
}
.bals-body .bals-cta.num6 .button02 {
  display: block;
  position: absolute;
  width: 82.2vw;
  top: 408.3vw;
  left: 8.6vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-cta.num6 .button02 {
    width: 631.296px;
    top: 3135.744px;
    left: 66.048px;
  }
}
.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: 1vw 0 0;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-onlinecpn {
    padding: 0 0 0;
  }
}
.bals-body .bals-onlinecpn-cont:nth-child(1) {
  margin: 0 auto 0;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-onlinecpn-cont:nth-child(1) {
    margin: 0 auto 0;
  }
}
.bals-body .bals-onlinecpn-cont:nth-child(2) {
  margin: 0 auto 0;
}
.bals-body .bals-onlinecpn-cont:nth-child(3) {
  margin: -4.3vw auto 1.2vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-onlinecpn-cont:nth-child(3) {
    margin: -33.024px auto 9.216px;
  }
}
.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 .fake {
  position: relative;
}
.bals-body .fake .tr-link {
  position: absolute;
  top: 69vw;
  left: 43vw;
  width: 33vw;
  height: 7vw;
  z-index: 1;
  background: transparent;
  color: transparent;
}
@media screen and (min-width: 769px) {
  .bals-body .fake .tr-link {
    top: 529.92px;
    left: 330.24px;
    width: 253.44px;
    height: 53.76px;
  }
}
.bals-body .bals-voice {
  padding-bottom: 7.7vw;
}
@media screen and (min-width: 769px) {
  .bals-body .bals-voice {
    padding-bottom: 59.136px;
  }
}
.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: 0.3s;
  transition: 0.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;
  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 0.5px #fff;
  letter-spacing: 0.09em;
  line-height: 0.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: 0.9;
  }
}
.pane-footer .bals-footer-nav ul li:last-of-type a {
  border-right: none;
}

body.bals-modal-open {
  overflow: hidden;
}

.bals-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.bals-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.bals-modal {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 5vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.bals-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.bals-modal-content {
  position: relative;
  width: 89.3vw;
  max-width: 100%;
  height: 80vh;
  overflow-y: auto;
  pointer-events: auto;
}
@media screen and (min-width: 769px) {
  .bals-modal-content {
    width: 685.824px;
    height: 90vh;
  }
}
.bals-modal-content img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}
.bals-modal-content .button {
  display: block;
  position: absolute;
  top: 239vw;
  left: 4vw;
  width: 81.6vw;
  height: auto;
  background: transparent;
  color: transparent;
}
@media screen and (min-width: 769px) {
  .bals-modal-content .button {
    top: 1835.52px;
    left: 30.72px;
    width: 626.688px;
  }
}

.bals-modal-close {
  position: absolute;
  top: 2vw;
  right: 2vw;
  width: 10vw;
  height: 10vw;
  max-width: 48px;
  max-height: 48px;
  padding: 0;
  border: none;
  background: rgba(255, 255, 255, 0.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/50% no-repeat;
  border-radius: 50%;
  cursor: pointer;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .bals-modal-close {
    top: 12px;
    right: 12px;
    width: 48px;
    height: 48px;
  }
}