@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;
}

@media screen and (min-width:780px) {
  .lpbox, #lpfooter {
    font-size: 28px;
    max-width: 780px;
    margin: 0 auto;
  }
}

.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 {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

/*-------------------------------------------
メインコンテンツ
-----------------------------------------------*/

/*-------------------------------------------
FV
-----------------------------------------------*/
.lpbox .fv__box {
  position: relative;
  overflow: hidden;
}

.lpbox .fv__anim01 {
  width: 60%;
  position: absolute;
  top: 1%;
  left: 0;
  right: 0;
}

.lpbox .fv__anim02 {
  position: absolute;
  width: 16%;
  top: 12%;
  right: 5%;
}

.lpbox .fv__anim03 {
  position: absolute;
  width: 16%;
  top: 12%;
  right: 24%;
}

.lpbox .fv__anim04 {
  position: absolute;
  width: 100%;
  bottom: 0%;
  right: 0;
  left: 0;
}

/*-------------------------------------------
cta
-----------------------------------------------*/

.lpbox .cta__box {
  position: relative;
}

.lpbox .cta__box__btn {
  position: absolute;
  bottom: 8%;
  left: 0;
  right: 0;
  margin: auto;
  width: 80%;
  overflow: hidden;
}

.lpbox #cta02,
.lpbox #cta03{
  margin-top: 4em;
}

/* expand */
.expand {
  -webkit-animation-name: expand;
  -moz-animation-name: expand;
  -o-animation-name: expand;
  animation-name: expand;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  -o-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -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-keyframes expand {
  from, 0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    -o-transform: scale(1.06;
    transform: scale(1.06);
  }
  to, 100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes expand {
  from, 0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    -o-transform: scale(1.06);
    transform: scale(1.06;
  }
  to, 100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}

/* 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,1) 45%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 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,1) 45%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 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,1) 45%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 55%,rgba(255,255,255,0) 80%,rgba(255,255,255,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=0 );
  position: absolute;
  top: -50%;
  left: -50%;
  -webkit-animation-name: shine;
  -moz-animation-name: shine;
  -o-animation-name: shine;
  animation-name: shine;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  -o-animation-duration: 1.2s;
  animation-duration: 1.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;
  }
}

/*-------------------------------------------
FIX BTN
-----------------------------------------------*/

.lpbox #fixbtn {
  position: fixed;
  bottom: -100%;
  left: 0;
  z-index: 999;
  width: 100%;
  overflow: hidden;
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
}

.lpbox #fixbtn.fixbtn--visible {
  bottom: 2%;
}

.lpbox #fixbtn .fixbtn__box {
  position: relative;
  bottom: 4%;
  display: block;
  margin: 0 auto;
  position: relative;
  max-width: 690px;
  padding-top: 4%;
}

.lpbox .fixbtn__item a {
  box-sizing: border-box;
  padding: 0 8%;
  display: block;
  width: 100%;
}

/*-------------------------------------------
SNS
-----------------------------------------------*/
.lpbox .sns__box {
  position: relative;
  overflow: hidden;
}

.lpbox .sns__anim01 {
  width: 96%;
  position: absolute;
  top: 0%;
  left: 0;
  right: 0;
}

.lpbox .sns__anim02 {
  width: 96%;
  position: absolute;
  top: 22%;
  left: 0;
  right: 0;
}

.lpbox .sns__anim03 {
  width: 96%;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}

.lpbox .sns__anim04 {
  width: 96%;
  position: absolute;
  top: 74%;
  left: 0;
  right: 0;
}

.lpbox .sns__slider {
  position: relative;
  overflow: hidden;
}

.lpbox .sns-sl01{
  display: block;
  position: absolute;
  top: 4%;
  left: 0;
  height: 0;
  padding-bottom: 35.3333%;
  z-index: 2;
  -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;
}

.lpbox .sns-sl02{
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  height: 0;
  padding-bottom: 35.3333%;
  z-index: 2;
  -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;
}

.lpbox .sns-sl-item-01 {
  width: 290%;
  background: url(../img/sns_slider_01.png) repeat-x;
  background-position: 0 0;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  -webkit-animation-name: bgloop-rev;
  -moz-animation-name: bgloop-rev;
  -o-animation-name:bgloop-rev;
  animation-name: bgloop-rev;
  -webkit-animation-duration: 16s;
  -moz-animation-duration: 16s;
  -o-animation-duration: 16s;
  animation-duration: 16s;
}

.lpbox .sns-sl-item-02 {
  width: 260%;
  background: url(../img/sns_slider_02.png) repeat-x;
  background-position: 0 0;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  -webkit-animation-name: bgloop;
  -moz-animation-name: bgloop;
  -o-animation-name: bgloop;
  animation-name: bgloop;
  -webkit-animation-duration: 16s;
  -moz-animation-duration: 16s;
  -o-animation-duration: 16s;
  animation-duration: 16s;
}

@-webkit-keyframes bgloop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: 166.67% 0;
    }
}
@keyframes bgloop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 166.67% 0;
    }
}
@-webkit-keyframes bgloop-rev {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -200% 0;
    }
}
@keyframes bgloop-rev {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -200% 0;
    }
}


/*-------------------------------------------
voice
-----------------------------------------------*/
.lpbox .voice {
}
.lpbox .voice__btn {
  position: relative;
  cursor: pointer;
  display: block;
  margin: 0 auto;
}
.lpbox .voice__btn:after {
  content: "";
  display: block;
  background: url("../img/acd_plus.png") no-repeat 50% 50%;
  background-size:100% auto;
  width: 1.4em;
  height: 100%;
  position: absolute;
  top: -15%;
  right: 9.4%;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.lpbox .voice__btn.acd__btn--open:after {
  content: "";
  display: block;
  background: url("../img/acd_minus.png") no-repeat 50% 50%;
  background-size:100% auto;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

/*-------------------------------------------
スライド
-----------------------------------------------*/
#lpbox .ba__box {
  position: relative;
}
#lpbox .ba__slide {
  position: absolute;
  top: 28%;
  left: 0;
  right: 0;
  width: 80%;
  height: 60%;
  z-index: 3;
  overflow: hidden;
  border: 8px solid #fff;
}
/* cocoen*/
.cocoen {
  box-sizing: border-box;
  cursor: pointer;
  line-height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.cocoen * {
  box-sizing: inherit
}

.cocoen ::after, .cocoen ::before {
  box-sizing: inherit
}

.cocoen img, .cocoen picture>img {
  max-width: none
}

.cocoen>img, .cocoen>picture>img {
  display: block;
  width: 100%
}

.cocoen>div:first-child, picture .cocoen>div {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 50%
}

.cocoen-drag {
  background: #fff;
  bottom: 0;
  cursor: ew-resize;
  left: 50%;
  margin-left: -1px;
  position: absolute;
  top: 0;
  width: 2px
}

.cocoen-drag::before {
  background-image: url("../img/foam_bar.png");
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  box-sizing: border-box;
  content: '';
  height: 100%;
  left: 50%;
  margin-left: -1.4em;
  margin-top: 0;
  position: absolute;
  top: 0;
  width:0;
  padding-left: 2.8em;
}

/*-------------------------------------------
point
-----------------------------------------------*/
.lpbox .point__box01,
.lpbox .point__box02 {
  position: relative;
  overflow: hidden;
}

.lpbox .point__anim01 {
  width: 10%;
  position: absolute;
  top: 19%;
  right: 9%;
}

.lpbox .point__anim02 {
  width: 10%;
  position: absolute;
  top: 18%;
  left: 30%;
}
