.login-modal {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  height: -webkit-fill-available;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  font-weight: 500;
}

.login-modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: -webkit-fill-available;
  position: absolute;
  width: 100%;
}

.login-modal__inner {
  left: 50%;
  position: fixed;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  padding: 3em;
  max-height: 100vh;
  overflow-y: auto;
  font-size: 10px;
}

/* 「横幅が狭い(375px以下)」かつ「高さが低い(620px以下)」
  スタンプカードの縦が隠れるのを回避
*/
@media screen and (max-width: 375px) and (max-height: 620px) {
  .login-modal__inner {
    padding: 12vw;
  }
}

@media screen and (max-width: 780px) {
  .login-modal__inner {
    font-size: 1.2820512821vw;
  }
}

.login-modal__content {
  max-width: 690px;
  margin: 2em;
  padding: 2em 3.1em;
  color: #FFFFFF;
  background: -webkit-gradient(linear, left bottom, left top, from(#00000E), to(#2C568D));
  background: linear-gradient(to top, #00000E 0%, #2C568D 100%);
  height: 100%;
  position: relative;
}

.login-modal-txt {
  font-size: 2em;
  margin-top: 14px;
}

.login-modal__box {
  padding-top: 3em;
}

.login-modal a {
  color: inherit;
  text-decoration: none;
}

.login-modal .link-under {
  text-decoration: underline;
}

.login-modal .c-area-cmn {
  margin: auto;
}

.login-modal .c-basic__button {
  font-size: 2em;
  margin-top: 1em;
  padding: 0.75em;
  background-color: #A2896A;
}

.stampcard {
  margin: 13em 0 8em;
  background: url(../images/loginbonus/bg_frame_line.png) top center/100% repeat-y;
  position: relative;
}

@media only screen and (max-width: 375px) {
  .stampcard {
    margin: 15.1vw 0 11vw;
  }
}

.stampcard::before,
.stampcard::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
}

.stampcard::before {
  left: 0;
  top: -13em;
  height: 13em;
  background: url(../images/loginbonus/bg_frame_top_202605.png) top center/100% no-repeat;
}

@media only screen and (max-width: 375px) {
  .stampcard::before {
    top: -14.4vw;
    height: 17.1vw;
  }
}

.stampcard::after {
  left: 0;
  bottom: -8em;
  height: 8em;
  background: url(../images/loginbonus/bg_frame_bottom.png) bottom center/100% no-repeat;
}

@media only screen and (max-width: 375px) {
  .stampcard::after {
    bottom: -10vw;
    height: 10vw;
  }
}

.stampcard__head {
  margin-bottom: 1em;
}

.stampcard__head__txt {
  font-size: 2em;
  letter-spacing: 0.1em;
}

.stampcard__cp {
  width: 45.7em;
  margin: 0 auto 1em;
}

.stampcard__box {
  margin-top: 1em;
}

.stampcard__bottom {
  padding: 0 7em;
  background: url(../images/loginbonus/bg_bottom_corner.png) bottom center/100% no-repeat;
  min-height: 6em;
}

.stampcard__list-wrap {
  padding: 0 5.97%;
  margin-top: 2em;
  margin-bottom: 1em;
}

.stampcard__bg {
  position: relative;
}

.stampcard__list {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.stampcard__list li {
  width: 13.38%;
  height: 7.182em;
  height: 11.18%;
  position: absolute;
}

.stampcard__list li:nth-child(5n) {
  width: 24.5%;
  height: 20.5%;
}

.stampcard__list li:nth-child(1) {
  top: 6%;
  left: 5.3%;
}

.stampcard__list li:nth-child(2) {
  top: 0.9%;
  left: 23.2%;
}

.stampcard__list li:nth-child(3) {
  top: 6.3%;
  left: 41.5%;
}

.stampcard__list li:nth-child(4) {
  top: 0.9%;
  left: 59.3%;
}

.stampcard__list li:nth-child(5) {
  top: 1%;
  left: 75.3%;
}

.stampcard__list li:nth-child(6) {
  top: 26.2%;
  left: 80.7%;
}

.stampcard__list li:nth-child(7) {
  top: 20.4%;
  left: 64.4%;
}

.stampcard__list li:nth-child(8) {
  top: 25.3%;
  left: 46%;
}

.stampcard__list li:nth-child(9) {
  top: 20.8%;
  left: 27.7%;
}

.stampcard__list li:nth-child(10) {
  top: 19.5%;
  left: 0%;
}

.stampcard__list li:nth-child(11) {
  top: 43.8%;
  left: 5.3%;
}

.stampcard__list li:nth-child(12) {
  top: 38.8%;
  left: 23.1%;
}

.stampcard__list li:nth-child(13) {
  top: 44.3%;
  left: 41.4%;
}

.stampcard__list li:nth-child(14) {
  top: 38.8%;
  left: 59.3%;
}

.stampcard__list li:nth-child(15) {
  top: 40%;
  left: 75.7%;
}

.stampcard__list li:nth-child(16) {
  top: 64.8%;
  left: 80.7%;
}

.stampcard__list li:nth-child(17) {
  top: 58.4%;
  left: 64.3%;
}

.stampcard__list li:nth-child(18) {
  top: 63.2%;
  left: 44.9%;
}

.stampcard__list li:nth-child(19) {
  top: 57.6%;
  left: 27%;
}

.stampcard__list li:nth-child(20) {
  top: 58%;
  left: 0%;
}

.stampcard__list li:nth-child(21) {
  top: 84.4%;
  left: 5.3%;
}

.stampcard__list li:nth-child(22) {
  top: 79.3%;
  left: 23.2%;
}

.stampcard__list li:nth-child(23) {
  top: 84.8%;
  left: 41.5%;
}

.stampcard__list li:nth-child(24) {
  top: 79.3%;
  left: 59.3%;
}

.stampcard__list li:nth-child(25) {
  top: 79.6%;
  left: 75.6%;
}

.stampcard__list img[src*=nocount-icon] {
  border-radius: 50%;
}

.stampcard__list img[src*=nocount-icon] {
  -webkit-animation: none;
  animation: none;
}

.stampcard__list .today-bonus img {
  -webkit-animation: LoginStamp 1.5s cubic-bezier(0.3, 0, 1, 0.5) 0s 1;
  animation: LoginStamp 1.5s cubic-bezier(0.3, 0, 1, 0.5) 0s 1;
  z-index: 99;
}

.stampcard__list.myroom-stamp.today-bonus img {
  -webkit-animation: none;
  animation: none;
}

.stampcard__txt {
  font-size: 2.7em;
  line-height: 1.6;
  display: inline-block;
  position: relative;
}

.stampcard__txt::before,
.stampcard__txt::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.9em;
  width: 0.6em;
  height: 0.6em;
  background: url(../images/loginbonus/deco_txt.png) top center/100% no-repeat;
}

.stampcard__txt::before {
  left: -0.9em;
}

.stampcard__txt::after {
  right: -0.9em;
}

.stampcard .num {
  font-size: 150%;
  line-height: 1.2;
}

.stampcard .date {
  font-size: 80%;
}

.color-red {
  color: #B83F00;
}

.color-purple {
  color: #BCBAFF;
}

.f-ss {
  font-size: 1.4em;
}

.f-s {
  font-size: 1.8em;
}

.f-m {
  font-size: 2em;
}

.f-l {
  font-size: 2.4em;
}

.f-bold {
  font-weight: 600;
}

.login-modal__content .login-modal__close,
.login-modal__content .js-modal-close-1 {
  display: block;
  /*position: absolute;*/
  position: fixed;
  width: 3.8em;
  height: 3.8em;
  /*top: 2.4em;*/
  top: 0em !important;
  right: 5em;
  z-index: 1;
}

/* 「横幅が狭い(375px以下)」かつ「高さが低い(670px以下)」
*/
@media screen and (max-width: 375px) and (max-height: 620px) {

  .login-modal__content .login-modal__close,
  .login-modal__content .js-modal-close-1 {
    display: block;
    /*position: absolute;*/
    position: fixed;
    width: 3.8em;
    height: 3.8em;
    /*top: 2.4em;*/
    top: 14em !important;
    right: 3em;
    z-index: 1;
  }
}

@media only screen and (max-width: 320px) {

  .login-modal__content .login-modal__close,
  .login-modal__content .js-modal-close-1 {
    display: block;
    /*position: absolute;*/
    position: fixed;
    width: 3.8em;
    height: 3.8em;
    /*top: 2.4em;*/
    /*top: 14em !important;*/
    top: 0em !important;
    right: 5em;
    z-index: 1;
  }
}

.login-modal__content .login-modal__close::before,
.login-modal__content .js-modal-close-1::before {
  content: "";
  position: absolute;
  width: 115%;
  height: 0;
  border-bottom: 0.2em solid
    /*#B19552*/
    #fff;
  top: 50%;
  left: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.login-modal__content .login-modal__close::after,
.login-modal__content .js-modal-close-1::after {
  content: "";
  position: absolute;
  width: 115%;
  height: 0;
  border-bottom: 0.2em solid
    /*#B19552*/
    #fff;
  top: 50%;
  left: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.lottery-modal {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000; 
}

.lottery-modal__bg {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    width: 100%;
    height: 100%;
}

.lottery-modal__inner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1001;
    width: 90%;
    max-width: 620px;
}

.lottery-modal__content {
    background: url(../images/loginbonus/bg_overlay.png) top center/100%;
    color: #000;
    padding: 1em;
    text-align: center;
    position: relative;
}

.lottery-modal__line {
    border: solid 0.2em #122241;
    padding: 5em 3em 4em;
}

.lottery-modal__close-btn {
    position: absolute;
    bottom: -8em;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    color: #122241;
    text-decoration: none;
    border-radius: 3em;
    padding: 1.5em 3em;
}

.lottery-modal__close-btn span {
    font-size: 2.6em;
    font-weight: bold;
}

.lottery-modal__ttl{
  padding: 2.5em;
}

  .lottery-bnr{
  }

  .lottery-bnr li{
    margin-top: 3.5em;
    position: relative;
  }

  .lottery-bnr li:nth-child(1)::after,
  .lottery-bnr li:nth-child(2)::after{
    content: "";
    display: block;
    position: absolute;
    top: -2.5em;
    left: -2em;
    width: 6.5em;
    height: 6.5em;
  }

  .lottery-bnr li:nth-child(1)::after{
    background: url(../images/loginbonus/num_lottery_01.png) center / contain no-repeat;
  }

  .lottery-bnr li:nth-child(2)::after{
    background: url(../images/loginbonus/num_lottery_02.png) center / contain no-repeat;
  }

  .lottery-bnr__info{
    margin-top: 3.5em;
  }

  .lottery-bnr__info p{
    font-size: 2.8em;
    font-weight: bold;
  }

  .lottery-bnr__info p .c-red{
    color: #d90804;
  }

  .lottery-bnr__info a{
    display: block;
    width: 47em;
    margin: 1.5em auto 0;
  }

@-webkit-keyframes LoginStamp {
  0% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
  }

  20% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
  }

  75% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
  }

  95% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
  }
}

@keyframes LoginStamp {
  0% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
  }

  20% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
  }

  75% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0.5));
  }

  95% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 0, 0));
  }
}

#mypage .stampcard__head{
  height: 0.1em;
}

/*# sourceMappingURL=login_bonus.css.map */
