@import url(swiper-bundle.min.css);
/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
html.remodal-is-locked {
  overflow: hidden;
  touch-action: none;
}

.remodal,
[data-remodal-id] {
  display: none;
}

.remodal-overlay {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
}

.remodal-wrapper {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: hidden;
  text-align: center;
}

.remodal-wrapper:after {
  content: "";
  width: 0.05em;
  margin-left: -0.05em;
  height: 100%;
  display: inline-block;
}

.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

.remodal-is-initialized {
  display: inline-block;
}

/* ==========================================================================
Remodal's default mobile first theme
========================================================================== */
.remodal-bg.remodal-is-opening, .remodal-bg.remodal-is-opened {
  filter: blur(3px);
}

.remodal-overlay.remodal-is-opening, .remodal-overlay.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}
.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes;
}
.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes;
}

.remodal {
  box-sizing: border-box;
  width: 100%;
}
.remodal.remodal-is-opening, .remodal.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}
.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes;
}
.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes;
}

.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* Keyframes
   ========================================================================== */
@keyframes remodal-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}
@keyframes remodal-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* ------------------------------------------------
 Theme
------------------------------------------------ */
.remodal.remodal-is-opening, .remodal.remodal-is-closing {
  animation-duration: 0.6s;
  animation-timing-function: ease;
}
.remodal-overlay {
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.remodal-wrapper {
  padding-top: 1.25em;
  padding-bottom: 3.75em;
  height: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: scroll;
}
.remodal-wrapper::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 767.9px) {
  .remodal-wrapper {
    padding-top: 1em;
    padding-bottom: 2.8666666667em;
  }
}
.remodal .btn_close {
  font-size: 1em;
  border-width: 0;
  background-color: transparent;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.4s ease;
}
.remodal .btn_close:focus-visible {
  opacity: 0.8;
}
@media screen and (any-hover: hover) {
  .remodal .btn_close:hover {
    opacity: 0.8;
  }
}
.remodal .btn_close img {
  display: block;
}
.remodal img {
  max-width: 100%;
}

/* ------------------------------------------------
 modal_bottles
------------------------------------------------ */
#modal_bottles {
  border-width: 0.625em 0.375em;
  border-style: solid;
  border-color: #000;
  border-radius: 0.375em;
  background-color: #f7d8e2;
  width: 36.875em;
  height: 43.25em;
  box-sizing: border-box;
  overflow: visible;
}
#modal_bottles .btn_close {
  background: url(../img/common/modal_btn_close.svg) 50% 50% no-repeat;
  background-size: contain;
  width: 1.75em;
  aspect-ratio: 1/1;
  position: absolute;
  right: 0.9375em;
  top: 0.9375em;
  z-index: 2;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#modal_bottles .bottle {
  padding-top: 2.625em;
  height: 42em;
  box-sizing: border-box;
}
#modal_bottles .bottle .name {
  margin: 0 auto;
  height: 3.375em;
}
#modal_bottles .bottle .name.cc {
  width: 19.625em;
}
#modal_bottles .bottle .name.pop {
  width: 23.25em;
}
#modal_bottles .bottle .name.natchan {
  width: 21.625em;
}
#modal_bottles .bottle .name.deka {
  width: 21.25em;
}
#modal_bottles .bottle .img {
  margin: 2.25em auto 0;
  height: 30.6875em;
}
#modal_bottles .bottle .img img {
  width: auto;
  height: 100%;
}
@media screen and (max-width: 767.9px) {
  #modal_bottles {
    border-width: 0.4em 0.2666666667em;
    border-radius: 0.2666666667em;
    width: 20em;
    height: 29.1666666667em;
  }
  #modal_bottles .btn_close {
    background-size: 0.9333333333em auto;
    padding: 0.6em;
    width: 2.1333333333em;
    right: 0;
    top: 0;
  }
  #modal_bottles .bottle {
    padding-top: 1.6em;
    height: 28.3666666667em;
  }
  #modal_bottles .bottle .name {
    height: 2em;
  }
  #modal_bottles .bottle .name.cc {
    width: 11.6333333333em;
  }
  #modal_bottles .bottle .name.pop {
    width: 13.8em;
  }
  #modal_bottles .bottle .name.natchan {
    width: 12.8333333333em;
  }
  #modal_bottles .bottle .name.deka {
    width: 12.5666666667em;
  }
  #modal_bottles .bottle .img {
    margin-top: 1.3333333333em;
    height: 21.6666666667em;
  }
}

/* ----------------------------
 .swiper-ctrl
------------------------------*/
.swiper-ctrl .swiper-button {
  background: url(../img/common/btn_swiper.svg) no-repeat;
  background-size: contain;
  width: 3.375em;
  aspect-ratio: 54/56;
  display: block;
  position: absolute;
  top: 20em;
  z-index: 10;
  cursor: pointer;
  transition: filter 0.4s ease;
}
.swiper-ctrl .swiper-button.prev {
  left: -2em;
  transform: scale(-1, 1);
}
.swiper-ctrl .swiper-button.next {
  right: -2em;
}
.swiper-ctrl .swiper-button:focus-visible {
  filter: brightness(0.7);
}
@media screen and (any-hover: hover) {
  .swiper-ctrl .swiper-button:hover {
    filter: brightness(0.7);
  }
}
.swiper-ctrl .swiper-pagination {
  top: calc(100% + 1.625em);
}
.swiper-ctrl .swiper-pagination-bullet {
  margin: 0 1px !important;
  border: 0.125em solid #000;
  background-color: #fff;
  width: 0.625em;
  height: 0.625em;
  opacity: 1;
  transition: background-color 0.4s ease;
}
.swiper-ctrl .swiper-pagination-bullet-active {
  background-color: #60c6f2;
}
@media screen and (max-width: 767.9px) {
  .swiper-ctrl .swiper-button {
    width: 2.5333333333em;
    top: 12.8666666667em;
  }
  .swiper-ctrl .swiper-button.prev {
    left: -1.3333333333em;
  }
  .swiper-ctrl .swiper-button.next {
    right: -1.3333333333em;
  }
  .swiper-ctrl .swiper-pagination {
    top: calc(100% + 1em);
  }
  .swiper-ctrl .swiper-pagination-bullet {
    margin: 0 2px !important;
    border-width: 0.1em;
    width: 0.4666666667em;
    height: 0.4666666667em;
  }
}

/* ------------------------------------------------
 modal_howto
------------------------------------------------ */
#modal_howto {
  width: 29.5em;
}
#modal_howto > .inner {
  position: relative;
}
#modal_howto .img {
  margin-top: 2.5em;
}
#modal_howto .btn_close {
  padding: 0.625em;
  width: 4.375em;
  position: absolute;
  top: 17.875em;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: content-box;
}
@media screen and (max-width: 767.9px) {
  #modal_howto {
    width: 19.6666666667em;
  }
  #modal_howto .btn_close {
    padding: 0.6666666667em;
    width: 3em;
    top: 11.6666666667em;
  }
}

/* ------------------------------------------------
 KV
------------------------------------------------ */
#kv .img {
  font-size: 1em;
}
/* ------------------------------------------------
 logo_collabo
------------------------------------------------ */
#suntory_contents #logo_collabo {
  background-color: transparent;
  position: relative;
  z-index: 20;
}
#suntory_contents #logo_collabo .logo {
  margin: 0 auto;
  width: 10.5em;
  position: absolute;
  left: 50%;
  top: -5.125em;
  transform: translateX(-50%);
}
@media screen and (max-width: 767.9px) {
  #suntory_contents #logo_collabo .logo {
    width: 6.3333333333em;
    top: -3.3333333333em;
  }
}

/* ------------------------------------------------
 bottles
------------------------------------------------ */
#bottles > .inner {
  padding-top: 1.875em;
}
#bottles .sheader > * {
  margin: 0 auto;
}
#bottles .sheader .title {
  width: 35em;
}
#bottles .sheader .soon {
  width: 22.875em;
}
#bottles .sbody {
  background: url(../img/top/bottles/bg.png) 50% 0 no-repeat;
  height: 80.5em;
  margin-top: -0.625em;
  position: relative;
  overflow: hidden;
}
#bottles .sbody > p {
  position: absolute;
  z-index: 2;
}
#bottles .sbody [class^=bottle] {
  width: -moz-fit-content;
  width: fit-content;
  height: 20.3125em;
  cursor: pointer;
}
#bottles .sbody [class^=bottle] img {
  width: auto;
  height: 100%;
}
#bottles .sbody [class^=bottle] .f1, #bottles .sbody [class^=bottle] .f2 {
  animation-duration: 7.8s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
#bottles .sbody [class^=bottle] .f1 {
  animation-name: crossfade_f1;
}
#bottles .sbody [class^=bottle] .f2 {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  animation-name: crossfade_f2;
}
#bottles .sbody .bottle_01 {
  left: 18.75em;
  top: 5em;
}
#bottles .sbody .bottle_02 {
  left: 28.75em;
  top: 3.4375em;
}
#bottles .sbody .bottle_03 {
  left: 38.25em;
  top: 5.875em;
}
#bottles .sbody .bottle_04 {
  height: 20.4375em;
  left: 48.625em;
  top: 4.5em;
}
#bottles .sbody .bottle_05 {
  left: 13.125em;
  top: 27.5625em;
}
#bottles .sbody .bottle_06 {
  left: 22.375em;
  top: 25.5em;
}
#bottles .sbody .bottle_07 {
  left: 31.25em;
  top: 27.625em;
}
#bottles .sbody .bottle_08 {
  left: 43.3125em;
  top: 27.9375em;
}
#bottles .sbody .bottle_09 {
  height: 20.75em;
  left: 54.375em;
  top: 26em;
}
#bottles .sbody .bottle_10 {
  height: 20.25em;
  left: 16.75em;
  top: 48.125em;
}
#bottles .sbody .bottle_11 {
  left: 27em;
  top: 52em;
}
#bottles .sbody .bottle_12 {
  left: 36.5em;
  top: 48.8125em;
}
#bottles .sbody .info {
  width: 16.6875em;
  left: 45.75em;
  top: 58.5em;
}
#bottles .sbody #opancyu_flying {
  width: 5.75em;
  top: 29.25em;
  top: 36.3354037267%;
  left: 100%;
  z-index: 1;
}
#bottles .sbody #opancyu_cycling {
  height: 12em;
  top: 43em;
  left: 51.25em;
}
#bottles .sbody #opancyu_cycling img {
  width: auto;
  height: 100%;
}
#bottles .sbody .npocham {
  height: 9.6875em;
  left: 34.375em;
  top: 36.625em;
  z-index: 1;
}
#bottles .sbody .npocham img {
  width: auto;
  height: 100%;
}
#bottles .sbody .kimimaro {
  height: 9.6875em;
  left: 12.5em;
  top: 60.25em;
  pointer-events: none;
}
#bottles .sbody .kimimaro img {
  width: auto;
  height: 100%;
}
#bottles .sbody .note {
  font-size: 0.625em;
  line-height: 1;
  top: 115.3em;
  left: 2.5em;
}
@media screen and (max-width: 767.9px) {
  #bottles > .inner {
    padding-top: 1em;
  }
  #bottles .sheader > * {
    margin: 0 auto;
  }
  #bottles .sheader .title {
    width: 21.8333333333em;
  }
  #bottles .sheader .soon {
    width: 14.1333333333em;
  }
  #bottles .sbody {
    background-image: url(../img/top/bottles/bg-sp.png);
    background-size: 100% auto;
    margin-top: 0.7333333333em;
    height: 80.2em;
  }
  #bottles .sbody [class^=bottle] {
    height: 15.4em;
  }
  #bottles .sbody .bottle_01 {
    left: 3em;
    top: 2.5333333333em;
  }
  #bottles .sbody .bottle_02 {
    height: 15.3333333333em;
    left: 9.6666666667em;
    top: 1.2em;
  }
  #bottles .sbody .bottle_03 {
    left: 16.2em;
    top: 2.6666666667em;
  }
  #bottles .sbody .bottle_04 {
    height: 15.4em;
    left: 2.9em;
    top: 19.2333333333em;
  }
  #bottles .sbody .bottle_05 {
    left: 9.7333333333em;
    top: 17.5333333333em;
  }
  #bottles .sbody .bottle_06 {
    left: 16.6em;
    top: 18.6em;
  }
  #bottles .sbody .bottle_07 {
    left: 2.2666666667em;
    top: 35.2333333333em;
  }
  #bottles .sbody .bottle_08 {
    left: 10.5666666667em;
    top: 33.9333333333em;
  }
  #bottles .sbody .bottle_09 {
    left: 18.1333333333em;
    top: 34.9333333333em;
  }
  #bottles .sbody .bottle_10 {
    height: 15.8333333333em;
    left: 3.3333333333em;
    top: 50.8333333333em;
  }
  #bottles .sbody .bottle_11 {
    left: 10em;
    top: 52.1666666667em;
  }
  #bottles .sbody .bottle_12 {
    left: 17.3333333333em;
    top: 50.8666666667em;
  }
  #bottles .sbody .info {
    width: 14.6666666667em;
    left: 3.5333333333em;
    top: 69.9333333333em;
  }
  #bottles .sbody #opancyu_flying {
    width: 4.4em;
    top: 26.600166251%;
    left: 100%;
    z-index: 1;
  }
  #bottles .sbody #opancyu_cycling {
    height: 9.2666666667em;
    top: 34.5em;
    left: 15.3333333333em;
    z-index: 0;
  }
  #bottles .sbody .npocham {
    height: 7.7em;
    left: 3.6666666667em;
    top: 41.5333333333em;
    z-index: 1;
  }
  #bottles .sbody .kimimaro {
    height: 7.3em;
    left: 0.6em;
    top: 60.4666666667em;
  }
  #bottles .sbody .note {
    font-size: 0.6em;
    top: 113.5555555556em;
    left: 29.6666666667em;
  }
}

@keyframes crossfade_f1 {
  0% {
    opacity: 1;
  }
  39% {
    opacity: 1;
  }
  41% {
    opacity: 0;
  }
  98% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes crossfade_f2 {
  0% {
    opacity: 0;
  }
  39% {
    opacity: 0;
  }
  41% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* ------------------------------------------------
present
------------------------------------------------ */
#present {
  padding-top: 1.875em !important;
}
#present > .inner {
  background: url(../img/common/bg_blue.png);
  background-size: 1.25em auto;
  padding-top: 5.25em;
  padding-bottom: 3.125em;
  position: relative;
}
#present > .inner::before, #present > .inner::after {
  content: "";
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 100%;
  position: absolute;
  left: 0;
  z-index: 0;
}
#present > .inner::before {
  background-image: url(../img/top/present_bg_top.png);
  height: 14.5em;
  top: 0;
}
#present > .inner::after {
  background-image: url(../img/top/present_bg_bottom.png);
  height: 0.3125em;
  bottom: 0;
}
#present .sheader {
  position: relative;
  z-index: 1;
}
#present .sheader .title span {
  margin: 0 auto;
  display: block;
}
#present .sheader .title .l1 {
  width: 29.5em;
}
#present .sheader .title .l2 {
  margin-top: 0.9375em;
  width: 28.3125em;
}
#present .goods {
  margin-top: -0.875em;
  position: relative;
}
#present .goods .bg {
  margin-left: 6.875em;
  width: 62em;
}
#present .goods .items {
  width: 41.875em;
  position: absolute;
  left: 16.25em;
  top: 4.25em;
}
#present .lineup {
  margin-top: 1.875em;
  margin-left: 9.25em;
  width: 55em;
}
#present .info {
  margin-top: 0.625em;
  margin-left: 15.625em;
  width: 46.6875em;
}
#present .chara {
  position: absolute;
}
#present .chara.star {
  width: 8.375em;
  left: 11.625em;
  top: 1.5625em;
}
#present .chara.balloon {
  width: 9.125em;
  left: 53.875em;
  top: -11.25em;
}
@media screen and (max-width: 767.9px) {
  #present {
    padding-top: 4.8666666667em !important;
  }
  #present > .inner {
    background-size: 0.6666666667em;
    padding-top: 4.3333333333em;
    padding-bottom: 1.6666666667em;
  }
  #present > .inner::before {
    background-image: url(../img/top/present_bg_top-sp.png);
    height: 3.6666666667em;
  }
  #present > .inner::after {
    background-image: url(../img/top/present_bg_bottom-sp.png);
    height: 0.1666666667em;
  }
  #present .sheader .title .l1 {
    width: 19.2em;
  }
  #present .sheader .title .l2 {
    margin-top: 0.8em;
    width: 21em;
  }
  #present .goods {
    margin-top: 1.2em;
    overflow: hidden;
  }
  #present .goods .bg {
    margin-left: 0;
    width: 100%;
  }
  #present .goods .items {
    width: 25.8666666667em;
    left: -0.5666666667em;
    top: 3.9333333333em;
  }
  #present .lineup {
    margin-top: -0.5333333333em;
    margin-left: 0;
    width: 100%;
  }
  #present .info {
    margin-top: 0.3333333333em;
    margin-left: 2em;
    width: 21.6em;
  }
  #present .chara.balloon {
    width: 7.4666666667em;
    left: 17.5333333333em;
    top: -14.6666666667em;
  }
}