.s60-modal {
  isolation: isolate;
  position: fixed;
  inset: 0;
}

.s60-modal img {
  display: block;
  max-width: 100%;
}

.s60-modal__bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}


.s60-modal__content-wrapper {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
}

.s60-modal__content {
  position: relative;
  width: 57%;
  max-width: 900px;
  min-width: 600px;
  background: #ffffff;
  margin-block: auto;
  padding-top: 61px;
  padding-bottom: 82px;
  border-radius: 18px;
}

.s60-modal__close {
  position: absolute;
  top: 24px;
  right: 24px;
}

.s60-modal__close-button {
  z-index: 1;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  display: block;
  width: 100%;
  cursor: pointer;
  position: relative;
  width: 39px;
  padding-top: 39px;
}

.s60-modal__close-button::before,
.s60-modal__close-button::after {
  pointer-events: none;
  position: absolute;
  top: 50%;
  bottom: calc(50% - 2px);
  left: 0;
  right: 0;
  content: '';
  background: #000000;
}

.s60-modal__close-button::before {
  transform: rotate(45deg);
}

.s60-modal__close-button::after {
  transform: rotate(-45deg);
}


.s60-modal__inner::before,
.s60-modal__inner::after {
  pointer-events: none;
  position: absolute;
  inset: 20px;
  content: '';
}

.s60-modal__inner::before {
  background: url('../img/sweet60/deco_top.png') scroll no-repeat left top / 14%;
}

.s60-modal__inner::after {
  background: url('../img/sweet60/deco_btm.png') scroll no-repeat right bottom / 15.6%;
}

.s60-modal__fv {
  width: 66%;
  margin-inline: auto;
}

.s60-modal__count {
  position: relative;
  margin-top: 10%;
  width: 56.3%;
  margin-inline: auto;
}

.s60-modal__count-counter {
  position: absolute;
  bottom: -2px;
  left: 24%;
  display: flex;
  width: 60%;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 3%;
}

.s60-modal__count-number {
  border: 2px solid #000000;
  width: 30%;
  padding-top: 35%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

[data-num="0"] {
  background-image: url(../img/sweet60/0.png);
}

[data-num="1"] {
  background-image: url(../img/sweet60/1.png);
}

[data-num="2"] {
  background-image: url(../img/sweet60/2.png);
}

[data-num="3"] {
  background-image: url(../img/sweet60/3.png);
}

[data-num="4"] {
  background-image: url(../img/sweet60/4.png);
}

[data-num="5"] {
  background-image: url(../img/sweet60/5.png);
}

[data-num="6"] {
  background-image: url(../img/sweet60/6.png);
}

[data-num="7"] {
  background-image: url(../img/sweet60/7.png);
}

[data-num="8"] {
  background-image: url(../img/sweet60/8.png);
}

[data-num="9"] {
  background-image: url(../img/sweet60/9.png);
}


@media (max-width: 1000px) {
  .s60-modal__content {
    width: 90%;
    min-width: revert;
  }
}

@media (max-width: 550px) {
  .s60-modal__content {
    width: 92%;
    min-width: revert;
    padding-top: 86px;
    padding-bottom: 105px;
  }

  .s60-modal__close {
    top: 25px;
    right: 25px;
  }

  .s60-modal__close-button {
    width: 50px;
    padding-top: 50px;
  }

  .s60-modal__inner::before,
  .s60-modal__inner::after {
    pointer-events: none;
    inset: 17px;
  }

  .s60-modal__inner::before {
    background-size: 16%;
  }

  .s60-modal__inner::after {
    background-size: 18.5%;
  }

  .s60-modal__fv {
    width: 88.7%;
  }

  .s60-modal__count {
    margin-top: 76px;
    width: 75%;
  }
}

/* animation */
.s60-modal {
  pointer-events: none;
}

.s60-modal__bg {
  opacity: 0;
  transition: opacity 0.8s ease-out;
}

.s60-modal__content {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 1s, opacity 0.8s;
  transition-timing-function: ease-out;
}

.is-modal-on .s60-modal {
  pointer-events: all;
}

.is-modal-on .s60-modal__bg {
  opacity: 1;
}

.is-modal-on .s60-modal__content {
  transform: none;
  opacity: 1;
  transition-delay: 0.2s;
}

@media (hover:hover) {

  .s60-modal__close-button::before,
  .s60-modal__close-button::after {
    transition: transform 0.3s ease-out;
  }

  .s60-modal__close-button:hover::after {
    transform: rotate(-35deg);
  }

  .s60-modal__close-button:hover::before {
    transform: rotate(35deg);
  }
}