@charset "utf-8";

/* CSS Document */


/*******************

LP style

********************/

html,
body{
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}


/* content
--------------------------------------------------*/

.lpbox,
#lpfooter {
  font-size: 14px;
  font-size: 3.7333vw;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Mayryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  color: #303030;
  line-height: 1.5em;
  overflow: hidden;
}

@media screen and (min-width:750px){
  .lpbox , #lpfooter {
    font-size: 28px;
    /* max-width: 750px; */
    margin: 0 auto;
    z-index: 99;
  }
}

.pcnav__right li a,
.lpbox a,
#lpfooter a {
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
}

.lpbox a:hover,
#lpfooter a:hover {
  text-decoration: underline;
}

.lpbox span,
#lpfooter span {
  font-size: inherit;
  font-weight: inherit;
}

.lpbox img,
#lpfooter img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  vertical-align: bottom;
}

.lpbox img.img-t,
#lpfooter img.img-t {
  vertical-align: top;
}


/* cart css reset */

.lpbox header,
.lpbox h1,
.lpbox h2,
.lpbox h3,
.lpbox p,
.lpbox dl,
.lpbox dt,
.lpbox dd,
.lpbox div,
.lpbox section,
.lpbox span {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
}

#lpfooter footer,
#lpfooter div,
#lpfooter p{
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
}

#lpfooter ul,
#lpfooter li,
.lpbox ul,
.lpbox li,
.pcnav__right li{
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

body{
  background: linear-gradient(226deg, #fce0f3, #ffb0d3, #fffcdc);
  background-attachment: fixed;
  background-size: 200% 200%;
  animation: Grad 10s ease-in-out infinite;
}


/* ----------------------------------------------- */


/*---------------------------*/
.lpbox #fixbtn {
  position: fixed;
  bottom: -100%;
  left: 0;
  z-index: 999;
  width: 100%;
  overflow: hidden;
  -webkit-transition: all .8s ease;
  -o-transition: all .8s ease;
  transition: all .8s ease;
}
.lpbox #fixbtn.fixbtn--visible {
  bottom: 0;
}
.lpbox #fixbtn .fixbtn__box {
  position: relative;
  bottom: 0;
  display: block;
  margin: 0 auto;
  position: relative;
  max-width: 450px;
  padding: 0 2px;
}


/* .trouble */
.lpbox .trouble__box {
  position: relative;
}
.lpbox .trouble__item-01 {
  position: absolute;
  animation: buru 0.2s infinite;
}
.lpbox .trouble__item-01.item-01 {
  bottom: 0;
  left: 4em;
  width: 21.33%;
}
.lpbox .trouble__item-01.item-02 {
  top: 0;
  right: 3em;
  width: 25.07%;
}
.lpbox .trouble__item-01.item-03 {
  bottom: 5.2em;
  left: 4em;
  width: 19.2%;
}
@keyframes buru {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-1px, 1px); }
  50%  { transform: translate(1px, -1px); }
  75%  { transform: translate(-1px, -1px); }
  100% { transform: translate(0, 0); }
}

.lpbox .trouble__item-02 {
  position: absolute;
}
.lpbox .trouble__item-02.item-01 {
  top: 7.3em;
  right: -1.5em;
  width: 22.93%;
  transition-delay: 0s;
}
.lpbox .trouble__item-02.item-02 {
  top: 12.1em;
  right: -1.7em;
  width: 27.07%;
  transition-delay: 0.15s;
}
.lpbox .trouble__item-02.item-03 {
  top: 18.9em;
  right: -1.6em;
  width: 21.6%;
  transition-delay: 0.3s;
}

.lpbox .trouble__box {
  position: relative;
}
.lpbox .trouble__item-01 {
  position: absolute;
  animation: buru 0.2s infinite;
}
.lpbox .trouble__item-01.item-01 {
  bottom: 0;
  left: 4em;
  width: 21.33%;
}
.lpbox .trouble__item-01.item-02 {
  top: 0;
  right: 3em;
  width: 25.07%;
}
.lpbox .trouble__item-01.item-03 {
  bottom: 5.2em;
  left: 4em;
  width: 19.2%;
}


/* .tarou */
.lpbox .tarou__box {
  position: relative;
}
.lpbox .tarou__item {
  position: absolute;
}
.lpbox .tarou__item.item-01 {
  top: 8.35em;
  left: 3.1em;
  width: 6.5%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0s;
}
.lpbox .tarou__item.item-02 {
  top: 7.4em;
  left: 2.4em;
  width: 4%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.3s;
}
@keyframes kirakira-scale {
  0%   { transform: scale(0.9); }
  50%  { transform: scale(1.24); }
  100% { transform: scale(0.9); }
}
.lpbox .tarou__item.item-03 {
  bottom: 3.5em;
  left: 0;
  right: 0;
  width: 73.73%;
  animation: yura-mix 2.5s ease-in-out infinite;
  transform-origin: center bottom;
}
@keyframes yura-mix {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-6px) rotate(-2deg);
  }
  50% {
    transform: translateY(0) rotate(0deg);
  }
  75% {
    transform: translateY(-6px) rotate(2deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}


/* .point */
.lpbox .point__box {
  position: relative;
}
.lpbox .point__item {
  position: absolute;
}
.lpbox .point__item.item-01 {
  top: 0;
  left: 3.33%;
  width: 93.87%;
}
.lpbox .point__item.item-02 {
  bottom: 0;
  right: 6em;
  width: 15.47%;
  animation: yura-mix 2s ease-in-out infinite;
  transform-origin: center bottom;
}
.lpbox .point__item.item-03 {
  top: 0;
  left: 3.73%;
  width: 93.07%;
}
.lpbox .point__item.item-04 {
  bottom: 0;
  left: 4.8em;
  width: 12.4%;
  animation: yura-mix 2s ease-in-out infinite;
  transform-origin: center bottom;
}
.lpbox .point__item.item-05 {
  top: 0;
  left: 3.33%;
  width: 90.4%;
}
.lpbox .point__item.item-06 {
  bottom: 0;
  right: 3.9em;
  width: 13.33%;
  animation: yura-mix 2s ease-in-out infinite;
  transform-origin: center bottom;
}

/* .concept */
.lpbox .concept__box {
  position: relative;
}
.lpbox .concept__item {
  position: absolute;
}
.lpbox .concept__item.item-01 {
  top: 6em;
  right: 0.6em;
  width: 12.13%;
  animation: jump-bounce 1.4s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}
.lpbox .concept__item.item-02 {
  top: 1.28em;
  left: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0;
}
.lpbox .concept__item.item-03 {
  bottom: .62em;
  right: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.4s;
}

.lpbox .concept__item.item-04 {
  top: 5.4em;
  left: 0.7em;
  width: 10.27%;
  animation: jump-bounce 1.2s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
  animation-delay: 0.3s;
}
.lpbox .concept__item.item-05 {
  top: 0.94em;
  left: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.2s;
}
.lpbox .concept__item.item-06 {
  bottom: .59em;
  right: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.4s;
}

.lpbox .concept__item.item-07 {
  top: 6em;
  right: 0.5em;
  width: 11.07%;
  animation: jump-bounce 1.3s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}
.lpbox .concept__item.item-08 {
  top: 0.94em;
  left: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.1s;
}
.lpbox .concept__item.item-09 {
  bottom: .95em;
  right: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.3s;
}

.lpbox .concept__item.item-10 {
  top: 5.2em;
  right: 0.8em;
  width: 10.27%;
  animation: jump-bounce 1.2s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}
.lpbox .concept__item.item-11 {
  top: 5.7em;
  left: 0.5em;
  width: 11.07%;
  animation: jump-bounce 1.3s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}
.lpbox .concept__item.item-12 {
  top: 5.6em;
  left: 2.8em;
  width: 12.13%;
  animation: jump-bounce 1.4s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}
.lpbox .concept__item.item-13 {
  top: 0.65em;
  left: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.4s;
}
.lpbox .concept__item.item-14 {
  bottom: 1.94em;
  right: 4em;
  width: 6%;
  animation: kirakira-scale 1.6s ease-in-out infinite;
  animation-delay: 0.1s;
}

@keyframes jump-bounce {
  0%   { transform: translateY(0) scaleY(1); }
  40%  { transform: translateY(-14px) scaleY(1); }
  55%  { transform: translateY(0) scaleY(0.95); }
  65%  { transform: translateY(-6px) scaleY(1); }
  100% { transform: translateY(0); }
}


/* .howtotake */
.lpbox .howtotake__box {
  position: relative;
}
.lpbox .howtotake__item.item-01 {
  position: absolute;
  top: 13.4em;
  right: 0;
  width: 52.2%;
}
.lpbox .howtotake__item.item-02 {
  position: absolute;
  bottom: 1.24em;
  right: 0;
  width: 93.33%;
}
.lpbox .howtotake__item.item-03 {
  position: absolute;
  top: 0;
  left: 0;
  width: 93.33%;
}
.lpbox .howtotake__item.item-04 {
  position: absolute;
  bottom: 3.4em;
  right: 0;
  width: 93.33%;
  transition-delay: 0.5s;
}

/* .voice */
.lpbox .voice__box {
  position: relative;
}
.lpbox .voice__item.item-01 {
  position: absolute;
  top: 1.9em;
  right: 1.9em;
  width: 30.67%;
  animation: purupuru 2.6s ease-in-out infinite;
  animation-delay: 0.4s;
}
.lpbox .voice__item.item-02 {
  position: absolute;
  top: 5.3em;
  right: 1.9em;
  width: 29.87%;
  animation: purupuru 2.6s ease-in-out infinite;
  animation-delay: 0.1s;
}
.lpbox .voice__item.item-03 {
  position: absolute;
  top: 5em;
  right: 1.8em;
  width: 32.4%;
  animation: purupuru 2.6s ease-in-out infinite;
  animation-delay: 0.5s;
}

@keyframes purupuru {
  0%   { transform: scale(1) translate(0, 0); }
  20%  { transform: scale(1, 1.06) translate(-4%, -3%) skew(2deg); }
  50%  { transform: scale(1, 0.94) translate(4%, 3%) skew(-3deg); }
  65%  { transform: scale(1, 1.03) translate(2%, -2%) skew(-2deg); }
  75%  { transform: scale(1, 0.98) translate(-1%, 1%) skew(1deg); }
  100% { transform: scale(1) translate(0, 0); }
}


/* .qa */
.lpbox .qa details{
  padding-bottom: 1em;
  background: #ececfa;
}
.lpbox .qa details:last-child{
  padding-bottom: 2em;
}
.lpbox .qa__btn {
  position: relative;
  display: block;
  margin: 0 auto;
  cursor: pointer;
  width: 100%;
}
.lpbox .qa__btn:before {
  content: "";
  background: url(../img/webp/minus.webp) no-repeat 50% 50%;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  display: block;
  position: absolute;
  height: 1em;
  width: 1em;
  top: calc(50% - 0.5em);
  right: 9%;
}
.lpbox .qa__btn:after{
  content: "";
  background: url(../img/webp/minus.webp) no-repeat 50% 50%;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  display: block;
  position: absolute;
  height: 1em;
  width: 1em;
  top: calc(50% - 0.5em);
  right: 9%;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  opacity: 1;
}
.lpbox details[open] .qa__btn:after{
  content: "";
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 0;
}
.lpbox .qa__text {
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition:
    max-height 0.45s ease,
    opacity 0.3s ease;
}
.lpbox .qa details[open] .qa__text {
  max-height: 2000px;
  opacity: 1;
}


/*---------------------------*/
.lpbox .cta{
  margin-top: 2.4em;
}
.lpbox .cta__box {
  position: relative;
}
.lpbox .cta__btn {
  position: absolute;
  bottom: 24%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 86.67%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lpbox .cta__box-single {
  position: relative;
}
.lpbox .cta__box-single .cta__btn {
  position: absolute;
  bottom: 1.4em;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 86.67%;
}

/* .emission */
.lpbox .emission .movie{
  position: relative;
}
.lpbox .emission .movie-box {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 0;
  width: 100%;
}
.lpbox .emission .movie-item {
  position: relative;
  width: 92%;
  margin: 0 auto;
  height: 0;
  padding-bottom: 84%;
  overflow: hidden;
}
.lpbox .emission .movie-item video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit:cover;
}

/* .long-time */
.lpbox .long-time .movie{
  position: relative;
}
.lpbox .long-time .movie-box {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 0;
  width: 100%;
}
.lpbox .long-time .movie-item {
  position: relative;
  width: 92%;
  margin: 0 auto;
  height: 0;
  padding-bottom: 61%;
  overflow: hidden;
}
.lpbox .long-time .movie-item video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit:cover;
}


/* pc */
.pcnav__left ,.pcnav__right ,.wave ,.fv-wave ,.fv-wave-kabuse{
  display: none;
}

@media screen and (min-width:750px){
  .wave {
    display: block;
    width: 100%;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    text-align: center;
    z-index: 999;
  }
  .lpbox .fv__cta:hover{
    opacity: 0.8;
  }
  .lpbox .end__cta:hover{
    opacity: 0.8;
  }
  .spitem {
    display: none;
  }
  .pcitem {
    display: block;
  }
  .lpbox , #lpfooter {
    font-size: 18px;
  }

  .pcdevice__cover {
    padding: 3em 0;

  }
  .pcdevice {
    display: block;
    height: 51.9em;
    position: relative;
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    margin: 0 auto;
    box-sizing: border-box;
    width: 100%;
    border: .3em solid #000;
  }
  .pccover {
    position: relative;
    background: transparent; /* ← 背景を外す */
    background-attachment: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-direction: row-reverse;
    overflow: hidden;
    isolation: isolate;
  }

  @keyframes Grad{
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  .fv-bg {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: 1;
  }
  .fv-bg-list {
    margin: 0 auto;
    transition: all 1s ease;
    height: 62px;
    display: block;
    background-image: url(../img/pc_bg_text.png);
    background-repeat: repeat-x;
    background-position: 0px 0px;
    -webkit-animation-name: bgloop;
    -o-animation-name: bgloop;
    animation-name: bgloop;
    -webkit-animation-duration: 60s;
    -o-animation-duration: 60s;
    animation-duration: 60s;
    -webkit-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    transition: opacity .3s ease, visibility .3s ease;
  }
  .fv-bg-list.is-hide{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  }
  @-webkit-keyframes bgloop {
    from , 0% {
      background-position: 0px 0px;
    }
    to , 100% {
      background-position: 2000px 0;
    }
  }
  @keyframes bgloop {
    from , 0% {
      background-position: 0px 0px;
    }
    to , 100% {
      background-position: 2000px 0;
    }
  }

  .pcbox {
    width: 500px;
    background-color: #fff;
    position: relative;
    z-index: 10;
  }
  .pcside {
    display: block;
    width: calc(100% - 500px);
    position: relative;
  }
  .pcnav__right {
    display: flex;
    gap: 40px 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    height: 100%;
    flex: 1;
    flex-shrink: 0;
    overflow: hidden;
    position: sticky;
    bottom: 7%;
    z-index: 9;
  }
  .pcnav__right .pcnav__right-box{
    position: fixed;
    padding-left: 7%;
    top: 12%;
    margin: 0;
  }
  .pcnav__right .pcnav__right-nav{
    position: relative;
    padding-left: 0;
    padding-bottom: 5%;
    top: 0;
    margin: 0;
  }
  .pcnav__right .pcnav__right-nav li{
    margin-bottom: 0.7em;
  }
  .pcnav__right .pcnav__right-nav li a{
    opacity: 0.4;
  }
  .pcnav__right .pcnav__right-nav li a:hover{
    opacity: 1;
  }
  .pcnav__right .pcnav__right-nav li.is-active a{
    opacity: 1;
  }

  .pcnav__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    flex-shrink: 0;
    overflow: hidden;
    position: sticky;
    top: 0;
    z-index: 9;
    height: 100vh;
  }
  .pcnav__left-box {
    position: fixed;
    width: clamp(180px, 20vw, 281px);
    box-sizing: border-box;
  }
  .pcnav__left .pcnav__left-box img{
    display: block;
    max-width: 100%;
    height: auto;
  }
  .pcnav__left-item.item-01 {
    position: absolute;
    bottom: 19%;
    left: 0;
    margin: 0 auto;
    width: 17.08%;
    animation: yura-mix 3s ease-in-out infinite;
    transform-origin: center bottom;
  }
  .pcnav__left-item.item-02 {
    position: absolute;
    bottom: 19%;
    right: 7%;
    margin: 0 auto;
    width: 18.15%;
    animation: yura-mix 3.2s ease-in-out infinite;
    transform-origin: center bottom;
  }
  .pcnav__left-item.item-03 {
    position: absolute;
    bottom: 12%;
    left: 12%;
    margin: 0 auto;
    width: 21.71%;
    animation: yura-mix 3.4s ease-in-out infinite;
    transform-origin: center bottom;
  }
  .pcnav__left-item.item-04 {
    position: absolute;
    top: 25%;
    left: 6%;
    margin: 0 auto;
    width: 11.39%;
    animation: kirakira-scale 1.6s ease-in-out infinite;
    animation-delay: 0.2s;
  }
  .pcnav__left-item.item-05 {
    position: absolute;
    top: 30%;
    left: -2%;
    margin: 0 auto;
    width: 6.05%;
    animation: kirakira-scale 1s ease-in-out infinite;
    animation-delay: 0.2s;
  }
  .pcnav__left-item.item-06 {
    position: absolute;
    bottom: 41%;
    right: -2%;
    margin: 0 auto;
    width: 11.39%;
    animation: kirakira-scale 1.4s ease-in-out infinite;
    animation-delay: 0.2s;
  }
  .pcnav__left-item.item-07 {
    position: absolute;
    bottom: 47%;
    right: -8%;
    margin: 0 auto;
    width: 6.05%;
    animation: kirakira-scale 1.2s ease-in-out infinite;
    animation-delay: 0.2s;
  }
  .main {
    max-width: 460px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    padding-bottom: 10%!important;
    border-radius: 0 0 1em 1em;
    background: #fff!important;
  }
  #lpfooter .footer__link {
  max-width: 460px;
  margin: 1.5em auto 3em;
  }
}

/* 共通 */
.pcnav__right-box,
.pcnav__left-box {
  transition: transform 0.6s ease, opacity 0.6s ease;
  will-change: transform, opacity;
}

/* 右ナビ：右へスライドして消える */
.pcnav__right-box.is-hide-slide {
  transform: translateX(120%);
  opacity: 0;
  pointer-events: none;
}

/* 左ナビ：左へスライドして消える */
.pcnav__left-box.is-hide-slide {
  transform: translateX(-120%);
  opacity: 0;
  pointer-events: none;
}


@media screen and (max-width: 749px){
  body{
  background:#fff
  }
  #lpfooter .footer__link {
  text-align: left;
  margin: 1.5em auto 3em;
  max-width: 750px;
  }
}

/*-------------------------------------------
form
-----------------------------------------------*/



/*-------------------------------------------
 footer
-----------------------------------------------*/
#lpfooter .footer__link li{
  font-size: 1em;
  margin-bottom: 1.2em;
  color: #202020;
  display: flex;
  align-items: center; /* 垂直中心 */
}
#lpfooter .footer__link li:before{
  border-top: 2px solid #da5680;
  content: "";
  width: 1.2em;
  margin-right: 0.6em;
}

#lpfooter #copy {
  text-align: center;
  font-size: .75em;
  color: #fff;
  background: #da5680;
  box-sizing: border-box;
  padding: .5em;
}


/*-------------------------------------------
animation
-----------------------------------------------*/
.lpbox .fadeinup {
  display: block;
  opacity: 1;
  -webkit-transform:translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  -webkit-filter: blur(0);
  -o-filter: blur(0);
  filter: blur(0);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
}
.lpbox .animhide .fadeinup {
  display: block;
  opacity: 0;
  -webkit-transform:translate3d(0,-50%,0);
  -ms-transform: translate3d(0,-50%,0);
  -o-transform: translate3d(0,-50%,0);
  transform: translate3d(0,-50%,0);
  -webkit-filter: blur(0.5em);
  -o-filter: blur(0.5em);
  filter: blur(0.5em);
}
.lpbox .fadein {
  display: block;
  opacity: 1;
  -webkit-transform:translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  -webkit-filter: blur(0);
  -o-filter: blur(0);
  filter: blur(0);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
}
.lpbox .animhide .fadein {
  display: block;
  opacity: 0;
  -webkit-transform:translate3d(0,50%,0);
  -ms-transform: translate3d(0,50%,0);
  -o-transform: translate3d(0,50%,0);
  transform: translate3d(0,50%,0);
  -webkit-filter: blur(0.5em);
  -o-filter: blur(0.5em);
  filter: blur(0.5em);
}

.lpbox .slideleft {
  display: block;
  -webkit-transform: translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
  opacity: 1;
}
.lpbox .animhide .slideleft {
  display: block;
  -webkit-transform: translate3d(-50%,0,0);
  -ms-transform: translate3d(-50%,0,0);
  -o-transform: translate3d(-50%,0,0);
  transform: translate3d(-50%,0,0);
  opacity: 0;
}

.lpbox .slideright {
  display: block;
  -webkit-transform: translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
  opacity: 1;
}
.lpbox .animhide .slideright {
  display: block;
  -webkit-transform: translate3d(50%,0,0);
  -ms-transform: translate3d(50%,0,0);
  -o-transform: translate3d(50%,0,0);
  transform: translate3d(50%,0,0);
  opacity: 0;
}

/* yurayura */
.yurayura {
  display: block;
  -webkit-animation-name: yurayura-move1;
  -moz-animation-name: yurayura-move1;
  -o-animation-name: yurayura-move1;
  animation-name: yurayura-move1;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  -o-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-transform-origin: 50% 90%;
  -moz-transform-origin: 50% 90%;
  -ms-transform-origin: 50% 90%;
  -o-transform-origin: 50% 90%;
  transform-origin: 50% 90%;
  transform: rotate3d(0,1,0,0deg) translate3d(0,0,0);
}
@keyframes yurayura-move1 {
  0%{
    transform: rotate3d(0,0,1,-5deg) translate3d(0,0,0);
  }
  50%{
    transform: rotate3d(0,0,1,5deg) translate3d(0,0,0);
  }
  100%{
    transform: rotate3d(0,0,1,-5deg) translate3d(0,0,0);
  }
}

/* shine */
.shine{
  position: relative;
  overflow: hidden;
}
.shine:before {
  content: "";
  width: 200%;
  height: 200%;
  background: -moz-linear-gradient(
    top,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 20%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,.5) 50%,
    rgba(255,255,255,.35) 55%,
    rgba(255,255,255,0) 80%,
    rgba(255,255,255,0) 100%
  );
  background: -webkit-linear-gradient(
    top,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 20%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,.5) 50%,
    rgba(255,255,255,.35) 55%,
    rgba(255,255,255,0) 80%,
    rgba(255,255,255,0) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 20%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,.5) 50%,
    rgba(255,255,255,.35) 55%,
    rgba(255,255,255,0) 80%,
    rgba(255,255,255,0) 100%
  );

  position: absolute;
  top: -50%;
  left: -50%;

  -webkit-animation-name: shine;
  -moz-animation-name: shine;
  -o-animation-name: shine;
  animation-name: shine;

  -webkit-animation-duration: 2s;
  -moz-animation-duration: 2s;
  -o-animation-duration: 2s;
  animation-duration: 2s;

  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
@-webkit-keyframes shine {
  from, 0% {
    -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( -100%, 0, 0) rotate(45deg);
    transform: translate3d( -100%, 0, 0) rotate(45deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( -100%, 0, 0) rotate(45deg);
    transform: translate3d( -100%, 0, 0) rotate(45deg);
    opacity: 1;
  }
  70% {
    -webkit-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( 100%, 0, 0) rotate(45deg);
    transform: translate3d( 100%, 0, 0) rotate(45deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( 100%, 0, 0) rotate(45deg);
    transform: translate3d( 100%, 0, 0) rotate(45deg);
    opacity: 0;
  }
  to, 100% {
    -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( -100%, 0, 0) rotate(45deg);
    transform: translate3d( -100%, 0, 0) rotate(45deg);
    opacity: 0;
  }
}
@keyframes shine {
  from, 0% {
    -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( -100%, 0, 0) rotate(45deg);
    transform: translate3d( -100%, 0, 0) rotate(45deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( -100%, 0, 0) rotate(45deg);
    transform: translate3d( -100%, 0, 0) rotate(45deg);
    opacity: 1;
  }
  70% {
    -webkit-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( 100%, 0, 0) rotate(45deg);
    transform: translate3d( 100%, 0, 0) rotate(45deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( 100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( 100%, 0, 0) rotate(45deg);
    transform: translate3d( 100%, 0, 0) rotate(45deg);
    opacity: 0;
  }
  to, 100% {
    -webkit-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -ms-transform: translate3d( -100%, 0, 0) rotate(45deg);
    -o-transform: translate3d( -100%, 0, 0) rotate(45deg);
    transform: translate3d( -100%, 0, 0) rotate(45deg);
    opacity: 0;
  }
}