@charset "UTF-8";
/**
  MVアニメーション
 **/
.mv__otoku {
  transform-origin: calc((280 / 750) * 100vw) calc((520 / 750) * 100vw);
  animation-name: moment-scale, zoom-in-out;
  animation-duration: 0.8s, 1.5s;
  animation-timing-function: ease;
  animation-delay: 1s, 3.5s;
  animation-iteration-count: 1, infinite; }
  @media screen and (min-width: 569px) {
    .mv__otoku {
      transform-origin: 420px 320px; } }

.mv__benri {
  transform-origin: calc((470 / 750) * 100vw) calc((730 / 750) * 100vw);
  animation-name: moment-scale, zoom-in-out;
  animation-duration: 0.8s, 1.5s;
  animation-timing-function: ease;
  animation-delay: 1s, 4.25s;
  animation-iteration-count: 1, infinite; }
  @media screen and (min-width: 569px) {
    .mv__benri {
      transform-origin: 600px 250px; } }

.mv__link-otoku img, .mv__link-benri img {
  opacity: 0; }

.mv__link-otoku.is-animated img, .mv__link-benri.is-animated img {
  opacity: 1;
  transition: opacity 0.5s;
  transition-delay: 3.5s; }

.mv__ban img {
  opacity: 0; }

.mv__ban.is-animated img {
  animation-name: bon;
  animation-duration: 0.5s;
  animation-timing-function: ease; }

.mv__ban--01.is-animated img {
  opacity: 1;
  transition-delay: 2.3s;
  transition-property: opacity;
  animation-delay: 2.3s; }

.mv__ban--02.is-animated img {
  opacity: 1;
  transition-delay: 2s;
  transition-property: opacity;
  animation-delay: 2s; }

.mv__ban--03.is-animated img {
  opacity: 1;
  transition-delay: 2.9s;
  transition-property: opacity;
  animation-delay: 2.9s; }

.mv__ban--04.is-animated img {
  opacity: 1;
  transition-delay: 3.2s;
  transition-property: opacity;
  animation-delay: 3.2s; }

.mv__ban--stamp-card.is-animated img {
  opacity: 1;
  transition-delay: 2.6s;
  transition-property: opacity;
  animation-delay: 2.6s; }

@keyframes moment-scale {
  0% {
    transform: scale(1); }
  30% {
    transform: scale(1.15); }
  100% {
    transform: scale(1); } }

@keyframes zoom-in-out {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

@keyframes zoom-in-out-re {
  0% {
    transform: scale(1.1); }
  50% {
    transform: scale(1); }
  100% {
    transform: scale(1.1); } }

@keyframes bon {
  0% {
    transform: scale(0); }
  30% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

/**
  summary area アニメーション
 **/
.summary__otoku .summary__otokusan img,
.summary__otoku .summary__otoku-text img,
.summary__otoku .summary__ban-inner {
  opacity: 0; }

.summary__otoku.is-animated .summary__otokusan img {
  opacity: 1;
  animation-name: zoom-in, sway;
  animation-duration: 0.2s, 1.5s;
  animation-timing-function: ease, linear;
  animation-delay: 0s, 2s;
  animation-iteration-count: 1, infinite; }

.summary__otoku.is-animated .summary__otokusan img {
  transform-origin: 50% 80%; }

.summary__otoku.is-animated .summary__otoku-text img {
  opacity: 1;
  transition-delay: 0.3s;
  animation-name: zoom-in;
  animation-duration: 0.2s;
  animation-timing-function: ease;
  animation-delay: 0.3s; }

.summary__benri .summary__benrisan img,
.summary__benri .summary__benri-text img,
.summary__benri .summary__ban-inner {
  opacity: 0; }

.summary__benri.is-animated .summary__benrisan img {
  opacity: 1;
  animation-name: zoom-in, sway;
  animation-duration: 0.2s, 1.5s;
  animation-timing-function: ease, linear;
  animation-delay: 0s, 2s;
  animation-iteration-count: 1, infinite; }

.summary__benri.is-animated .summary__benrisan img {
  transform-origin: 40% 80%; }

.summary__benri.is-animated .summary__benri-text img {
  opacity: 1;
  transition-delay: 0.3s;
  animation-name: zoom-in;
  animation-duration: 0.2s;
  animation-timing-function: ease;
  animation-delay: 0.3s; }

.summary__otoku.is-animated .summary__ban-inner, .summary__benri.is-animated .summary__ban-inner {
  opacity: 1;
  animation-name: zoom-in;
  animation-duration: 0.3s;
  animation-timing-function: ease; }
  .summary__otoku.is-animated .summary__ban-inner--01, .summary__otoku.is-animated .summary__ban-inner--03, .summary__benri.is-animated .summary__ban-inner--01, .summary__benri.is-animated .summary__ban-inner--03 {
    transition-delay: 0.6s;
    animation-delay: 0.6s; }
  .summary__otoku.is-animated .summary__ban-inner--02, .summary__otoku.is-animated .summary__ban-inner--04, .summary__benri.is-animated .summary__ban-inner--02, .summary__benri.is-animated .summary__ban-inner--04 {
    transition-delay: 0.8s;
    animation-delay: 0.8s; }
  .summary__otoku.is-animated .summary__ban-inner--05, .summary__otoku.is-animated .summary__ban-inner--coupon, .summary__benri.is-animated .summary__ban-inner--05, .summary__benri.is-animated .summary__ban-inner--coupon {
    transition-delay: 1s;
    animation-delay: 1s; }
  .summary__otoku.is-animated .summary__ban-inner--06, .summary__benri.is-animated .summary__ban-inner--06 {
    transition-delay: 1.2s;
    animation-delay: 1.2s; }

@keyframes zoom-in {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(1); } }

/**
  スクロール位置で表示アニメーション
 **/
.animation-up {
  display: block;
  opacity: 0;
  transform: translateY(30px); }
  @media screen and (min-width: 569px) {
    .animation-up {
      transform: translateY(50px); } }
  .animation-up.is-animated {
    opacity: 1;
    transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1), transform 0.8s cubic-bezier(0.5, 0, 0, 1);
    transform: translateY(0); }

.animation-right-img img {
  display: block;
  opacity: 0;
  transform: translateX(-50%); }

.animation-right-img.is-animated img {
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1), transform 0.8s cubic-bezier(0.5, 0, 0, 1);
  transform: translateX(0); }

.animation-left-img img {
  display: block;
  opacity: 0;
  transform: translateX(50%); }

.animation-left-img.is-animated img {
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1), transform 0.8s cubic-bezier(0.5, 0, 0, 1);
  transform: translateX(0); }

/**
  首振りアニメーション
 **/
.sway {
  transition: linear;
  animation-name: sway;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-delay: 2s;
  animation-iteration-count: infinite;
  animation-fill-mode: both; }
  .sway--otokusan {
    transform-origin: 50% 80%; }
  .sway--benrisan {
    transform-origin: 40% 80%; }
  .sway--reverse {
    animation-name: sway-reverse; }

@keyframes sway {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(10deg); }
  50% {
    transform: rotate(0deg); }
  75% {
    transform: rotate(-10deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes sway-reverse {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(-10deg); }
  50% {
    transform: rotate(0deg); }
  75% {
    transform: rotate(10deg); }
  100% {
    transform: rotate(0deg); } }
