body {
  background: #fff;
}

.l-main {
  height: 100%;
}
@media (min-width: 1024px) {
  .l-main {
    min-height: 1080px;
  }
}

@media (min-width: 1024px) {
  .l-content {
    padding: 0;
  }
}

.nengajo__cont {
  height: 100vh;
  position: relative;
  width: 100vw;
}
@media (min-width: 1024px) {
  .nengajo__cont {
    height: 100%;
  }
}

.nengajo__bg {
  position: fixed;
  top: 0;
  left: 0;
  background: url(/assets/img/page/special/nengajo/bg_wide.jpg) no-repeat center/cover;
  height: 100%;
  width: 100%;
}

.nengajo__bg__filter__item {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.nengajo__bg__filter__item.-light1 {
  -webkit-animation: lightBright 2s 0s infinite;
          animation: lightBright 2s 0s infinite;
  background: url(../../../assets/img/page/special/nengajo/filter_light_1.png) no-repeat center/cover;
}
.nengajo__bg__filter__item.-light2 {
  -webkit-animation: lightBright 2s 1s infinite;
          animation: lightBright 2s 1s infinite;
  background: url(../../../assets/img/page/special/nengajo/filter_light_2.png) no-repeat center/cover;
}

@-webkit-keyframes lightBright {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}

@keyframes lightBright {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
.nengajo__bg__light {
  background: url(../../../assets/img/page/special/nengajo/deco_light.png) no-repeat center/cover;
}
@media (max-width: 1023px) {
  .nengajo__bg__light {
    height: 13.0208333333vw;
    width: 13.0208333333vw;
  }
}
@media (min-width: 1024px) {
  .nengajo__bg__light {
    height: 115px;
    width: 115px;
  }
}
.nengajo__bg__light.-light1 {
  position: absolute;
  top: 10%;
  left: 30%;
  -webkit-animation: lightItemMove 2.5s 0s infinite;
          animation: lightItemMove 2.5s 0s infinite;
}
.nengajo__bg__light.-light2 {
  position: absolute;
  top: 20%;
  left: 40%;
  -webkit-animation: lightItemMove 2.5s -0.5s infinite;
          animation: lightItemMove 2.5s -0.5s infinite;
}
.nengajo__bg__light.-light3 {
  position: absolute;
  top: 30%;
  left: 60%;
  -webkit-animation: lightItemMove 2.5s -0.8s infinite;
          animation: lightItemMove 2.5s -0.8s infinite;
}
.nengajo__bg__light.-light4 {
  position: absolute;
  top: 50%;
  left: 80%;
  -webkit-animation: lightItemMove 2.5s 0.8s infinite;
          animation: lightItemMove 2.5s 0.8s infinite;
}
.nengajo__bg__light.-light5 {
  position: absolute;
  top: 70%;
  left: 20%;
  -webkit-animation: lightItemMove 2.5s -1s infinite;
          animation: lightItemMove 2.5s -1s infinite;
}
.nengajo__bg__light.-light6 {
  position: absolute;
  top: 90%;
  left: 10%;
  -webkit-animation: lightItemMove 2.5s 1.3s infinite;
          animation: lightItemMove 2.5s 1.3s infinite;
}

@-webkit-keyframes lightItemMove {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(0.3);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes lightItemMove {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(0.3);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.nengajo__bg__txt {
  color: rgba(255, 255, 255, 0.6);
}
@media (max-width: 1023px) {
  .nengajo__bg__txt {
    position: absolute;
    top: -3.90625vw;
    left: -3.90625vw;
    font-size: 32.5520833333vw;
    line-height: 0.75;
  }
}
@media (min-width: 1024px) {
  .nengajo__bg__txt {
    position: absolute;
    top: -1.5625vw;
    left: -1.5625vw;
    font-size: 14.0625vw;
    line-height: 0.75;
  }
}
.nengajo__bg__txt span {
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
}
.-load .nengajo__bg__txt span {
  -webkit-animation: itemBgTextIn 0.5s 0.5s forwards;
          animation: itemBgTextIn 0.5s 0.5s forwards;
}
.nengajo__bg__txt span:nth-of-type(1) {
  -webkit-animation-delay: calc(1 * 0.05s);
          animation-delay: calc(1 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(2) {
  -webkit-animation-delay: calc(2 * 0.05s);
          animation-delay: calc(2 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(3) {
  -webkit-animation-delay: calc(3 * 0.05s);
          animation-delay: calc(3 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(4) {
  -webkit-animation-delay: calc(4 * 0.05s);
          animation-delay: calc(4 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(5) {
  -webkit-animation-delay: calc(5 * 0.05s);
          animation-delay: calc(5 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(6) {
  -webkit-animation-delay: calc(6 * 0.05s);
          animation-delay: calc(6 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(7) {
  -webkit-animation-delay: calc(7 * 0.05s);
          animation-delay: calc(7 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(8) {
  -webkit-animation-delay: calc(8 * 0.05s);
          animation-delay: calc(8 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(9) {
  -webkit-animation-delay: calc(9 * 0.05s);
          animation-delay: calc(9 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(10) {
  -webkit-animation-delay: calc(10 * 0.05s);
          animation-delay: calc(10 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(11) {
  -webkit-animation-delay: calc(11 * 0.05s);
          animation-delay: calc(11 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(12) {
  -webkit-animation-delay: calc(12 * 0.05s);
          animation-delay: calc(12 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(13) {
  -webkit-animation-delay: calc(13 * 0.05s);
          animation-delay: calc(13 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(14) {
  -webkit-animation-delay: calc(14 * 0.05s);
          animation-delay: calc(14 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(15) {
  -webkit-animation-delay: calc(15 * 0.05s);
          animation-delay: calc(15 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(16) {
  -webkit-animation-delay: calc(16 * 0.05s);
          animation-delay: calc(16 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(17) {
  -webkit-animation-delay: calc(17 * 0.05s);
          animation-delay: calc(17 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(18) {
  -webkit-animation-delay: calc(18 * 0.05s);
          animation-delay: calc(18 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(19) {
  -webkit-animation-delay: calc(19 * 0.05s);
          animation-delay: calc(19 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(20) {
  -webkit-animation-delay: calc(20 * 0.05s);
          animation-delay: calc(20 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(21) {
  -webkit-animation-delay: calc(21 * 0.05s);
          animation-delay: calc(21 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(22) {
  -webkit-animation-delay: calc(22 * 0.05s);
          animation-delay: calc(22 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(23) {
  -webkit-animation-delay: calc(23 * 0.05s);
          animation-delay: calc(23 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(24) {
  -webkit-animation-delay: calc(24 * 0.05s);
          animation-delay: calc(24 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(25) {
  -webkit-animation-delay: calc(25 * 0.05s);
          animation-delay: calc(25 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(26) {
  -webkit-animation-delay: calc(26 * 0.05s);
          animation-delay: calc(26 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(27) {
  -webkit-animation-delay: calc(27 * 0.05s);
          animation-delay: calc(27 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(28) {
  -webkit-animation-delay: calc(28 * 0.05s);
          animation-delay: calc(28 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(29) {
  -webkit-animation-delay: calc(29 * 0.05s);
          animation-delay: calc(29 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(30) {
  -webkit-animation-delay: calc(30 * 0.05s);
          animation-delay: calc(30 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(31) {
  -webkit-animation-delay: calc(31 * 0.05s);
          animation-delay: calc(31 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(32) {
  -webkit-animation-delay: calc(32 * 0.05s);
          animation-delay: calc(32 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(33) {
  -webkit-animation-delay: calc(33 * 0.05s);
          animation-delay: calc(33 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(34) {
  -webkit-animation-delay: calc(34 * 0.05s);
          animation-delay: calc(34 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(35) {
  -webkit-animation-delay: calc(35 * 0.05s);
          animation-delay: calc(35 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(36) {
  -webkit-animation-delay: calc(36 * 0.05s);
          animation-delay: calc(36 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(37) {
  -webkit-animation-delay: calc(37 * 0.05s);
          animation-delay: calc(37 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(38) {
  -webkit-animation-delay: calc(38 * 0.05s);
          animation-delay: calc(38 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(39) {
  -webkit-animation-delay: calc(39 * 0.05s);
          animation-delay: calc(39 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(40) {
  -webkit-animation-delay: calc(40 * 0.05s);
          animation-delay: calc(40 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(41) {
  -webkit-animation-delay: calc(41 * 0.05s);
          animation-delay: calc(41 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(42) {
  -webkit-animation-delay: calc(42 * 0.05s);
          animation-delay: calc(42 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(43) {
  -webkit-animation-delay: calc(43 * 0.05s);
          animation-delay: calc(43 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(44) {
  -webkit-animation-delay: calc(44 * 0.05s);
          animation-delay: calc(44 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(45) {
  -webkit-animation-delay: calc(45 * 0.05s);
          animation-delay: calc(45 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(46) {
  -webkit-animation-delay: calc(46 * 0.05s);
          animation-delay: calc(46 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(47) {
  -webkit-animation-delay: calc(47 * 0.05s);
          animation-delay: calc(47 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(48) {
  -webkit-animation-delay: calc(48 * 0.05s);
          animation-delay: calc(48 * 0.05s);
}
.nengajo__bg__txt span:nth-of-type(49) {
  -webkit-animation-delay: calc(49 * 0.05s);
          animation-delay: calc(49 * 0.05s);
}

@-webkit-keyframes itemBgTextIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes itemBgTextIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.nengajo__postcard {
  filter: drop-shadow(0 0 5px #fff);
  max-width: 90vw;
  width: 50vw;
}
@media (max-width: 1023px) {
  .nengajo__postcard {
    position: fixed;
    top: 50%;
    left: 50%;
    height: 132.8125vw;
    transform: translate(-50%, -50%);
    width: 89.84375vw;
  }
}
@media (min-width: 1024px) {
  .nengajo__postcard {
    margin: 10vh auto;
    max-width: 600px;
  }
}

.nengajo__postcard__inner {
  height: 100%;
  opacity: 0;
  transform: translateY(10px);
  position: relative;
  width: 100%;
}
.-load .nengajo__postcard__inner {
  -webkit-animation: postcardIn 0.5s 1s forwards;
          animation: postcardIn 0.5s 1s forwards;
}

@-webkit-keyframes postcardIn {
  0% {
    opacity: 0;
    transform: translateY(10px) rotateY(-45deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotateY(0);
  }
}

@keyframes postcardIn {
  0% {
    opacity: 0;
    transform: translateY(10px) rotateY(-45deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotateY(0);
  }
}
.nengajo__postcard__item {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@media (min-width: 1024px) {
  .nengajo__postcard__item {
    cursor: pointer;
    height: auto;
  }
}
.nengajo__postcard__item img {
  height: auto;
  width: 100%;
}
[data-card=ura] .nengajo__postcard__item[data-card=ura] {
  -webkit-animation: cardMoveIn 0.5s 0.5s forwards;
          animation: cardMoveIn 0.5s 0.5s forwards;
  transform: rotateY(-90deg);
}
[data-card=omote] .nengajo__postcard__item[data-card=ura] {
  -webkit-animation: cardMoveOut 0.5s 0s forwards;
          animation: cardMoveOut 0.5s 0s forwards;
}
[data-card=omote] .nengajo__postcard__item[data-card=omote] {
  -webkit-animation: cardMoveIn 0.5s 0.5s forwards;
          animation: cardMoveIn 0.5s 0.5s forwards;
  transform: rotateY(-90deg);
}
[data-card=ura] .nengajo__postcard__item[data-card=omote] {
  -webkit-animation: cardMoveOut 0.5s 0s forwards;
          animation: cardMoveOut 0.5s 0s forwards;
}

@-webkit-keyframes cardMoveIn {
  0% {
    transform: rotateY(-90deg);
  }
  100% {
    transform: rotateY(0);
  }
}

@keyframes cardMoveIn {
  0% {
    transform: rotateY(-90deg);
  }
  100% {
    transform: rotateY(0);
  }
}
@-webkit-keyframes cardMoveOut {
  0% {
    transform: rotateY(0);
  }
  100% {
    transform: rotateY(90deg);
  }
}
@keyframes cardMoveOut {
  0% {
    transform: rotateY(0);
  }
  100% {
    transform: rotateY(90deg);
  }
}
.nengajo__postcard__number {
  position: absolute;
  left: 50%;
  align-items: center;
  display: flex;
  justify-content: center;
  font-weight: 500;
  height: min(9vh, 12.7%);
  line-height: 1;
  transform: translateX(-50%);
  text-align: center;
  top: max(70.6%, 50% + 22vh);
  width: 100%;
}
@media (max-width: 1023px) {
  .nengajo__postcard__number {
    font-size: 9.1145833333vw;
    height: 12.7%;
    top: 70.7%;
  }
}
@media (min-width: 1024px) {
  .nengajo__postcard__number {
    font-size: 55px;
    height: 12.7%;
    top: 70.7%;
  }
}