@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Prompt:wght@400&display=swap";
.section--login .block--firstlogin {
  padding: 15px;
  color: #c00;
  background: #ffeff4;
  border: 1px solid #c00;
  border-radius: 3px;
}
.section--login .block--firstlogin .tit {
  display: block;
  padding: 17px;
  margin: -15px -16px 20px;
  color: #fff;
  text-align: center;
  background: #c00;
  border-radius: 3px 3px 0 0;
}
.section--login .block--firstlogin .btn .btn--main {
  background: #c00;
}

@media (width <= 960px) {
  .section--login {
    width: 100%;
  }
}
/* バースデー動画用CSS 2026-02-18追加 */
.page--secure .birthday .video {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.page--secure .birthday .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (width <= 493px) {
  .wrap .block--card {
    padding: 5%;
  }
}
.wrap .block--card .card {
  width: 493px;
  height: 310px;
  aspect-ratio: 493/310;
}
@media screen and (width <= 493px) {
  .wrap .block--card .card {
    width: 100%;
    height: auto;
  }
}
.wrap .block--card .card .basic-card {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 6%;
  overflow: hidden;
  background: #357baf;
  border-radius: 10px;
}
.wrap .block--card .card .basic-card .logo-img {
  position: absolute;
  top: 50%;
  right: -5%;
  height: 95%;
  opacity: 0;
  fill: rgba(255, 255, 255, 0.15);
  transform: translateY(-50%);
}
.wrap .block--card .card .basic-card .logo-img.is-active {
  animation: revealChar 1s ease-in-out forwards;
}
.wrap .block--card .card .basic-card .title-area {
  display: flex;
  justify-content: space-between;
}
.wrap .block--card .card .basic-card .title-area__motif, .wrap .block--card .card .basic-card .title-area__heading {
  flex-shrink: 0;
}
.wrap .block--card .card .basic-card .title-area__motif {
  position: relative;
  width: 12.27%;
  opacity: 0;
}
.wrap .block--card .card .basic-card .title-area__motif.is-active {
  animation: revealInstant 0.2s linear forwards;
}
.wrap .block--card .card .basic-card .title-area__teeth {
  display: block;
  width: 75.98%;
}
.wrap .block--card .card .basic-card .title-area__tail {
  position: absolute;
  right: 0;
  bottom: 14.08%;
  display: block;
  width: 37.42%;
  transform-origin: left center;
  animation: tail 0.5s steps(3) infinite alternate;
}
.wrap .block--card .card .basic-card .title-area__heading {
  width: 85.77%;
}
.wrap .block--card .card .basic-card .title-area__heading svg {
  display: block;
  width: 100%;
  height: auto;
}
.wrap .block--card .card .basic-card .title-area__heading svg path,
.wrap .block--card .card .basic-card .title-area__heading svg polygon {
  opacity: 0;
}
.wrap .block--card .card .basic-card .title-area__heading.is-active svg path,
.wrap .block--card .card .basic-card .title-area__heading.is-active svg polygon {
  animation: revealInstant 0.2s linear forwards;
}
.wrap .block--card .card .status {
  bottom: 9.24%;
  left: 6%;
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0;
}
@media screen and (width <= 493px) {
  .wrap .block--card .card .status {
    gap: 0.4em;
  }
}
.wrap .block--card .card .status > div {
  display: flex;
  gap: 1em;
  align-items: center;
  margin: 0;
  font-family: "Prompt", sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  color: #f2eab6;
  text-shadow: none;
  opacity: 0;
}
@media screen and (width <= 493px) {
  .wrap .block--card .card .status > div {
    font-size: 8px;
  }
}
.wrap .block--card .card .status > div.is-active {
  animation: revealInstant 0.2s linear forwards;
}
.wrap .block--card .card .status > div span {
  flex-shrink: 0;
  width: 9em;
  margin: 0;
  font-size: 1em;
  text-align: left;
  opacity: 1;
  transform: none;
}
.wrap .block--card .card .status > div span:first-child {
  text-transform: uppercase;
}
@media screen and (width <= 493px) {
  .wrap .block--card .card .status > div span {
    width: 10em;
  }
}
.wrap .block--card .card .status > div.member-id {
  display: none;
}
.wrap .block--card .card .close {
  top: -25%;
  right: 0;
}

.card-show {
  overflow: hidden;
}

@keyframes revealChar {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes revealInstant {
  0% {
    opacity: 0;
  }
  49.9% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tail {
  0% {
    transform: rotate(-20deg);
  }
  100% {
    transform: rotate(20deg);
  }
}
