body {
  margin: 0;
  background: linear-gradient(to bottom,#eee 0%,#fff 50%,#ccc 100%);
  font-weight: 400;
  letter-spacing: 1px;
}
*{box-sizing: border-box;}


p{width: 100%; margin: 0;}
.center_txt{text-align: center; font-size: 12px; color: #666;}
ul{
  padding: 0;
  list-style: none;
}
.wrapper{
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  background: #fff;
}
header{
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  height: 100vh;
  position: relative;
  max-height: 860px;
}
.head_wrap{
  background-image: url("https://media.ad-lps.net/contents/template/tp_ALP_O/image/fv_bg.webp");
  background-size: cover;
  background-position: top right;  
}
.fv_image{height: 100%;}
img{max-width: 100%;}
div.fv_msg01{position: absolute; top: 20px; left: 10px}
div.fv_msg02{position: absolute; top: 0px; right: 0;}
div.fv_msg03{position: absolute; bottom: 60%; top: 40%; left: 0;}
div.fv_msg04{position: absolute; bottom: 0; left: 0;}
div.fv_msg05{position: absolute; bottom: 0; right: 0;}
div.fv_msg06{position: absolute; bottom: 10%; right:45%;}
main{width: 100%;}
h2{padding: 20px 0;}
h2 img{width: 100%; height: auto;}
.cta_btn{
  width: 100%;
  text-align: center;
  margin-top: -10px;
  position: relative;
  z-index: 10;
}
.cta_btn img{
  animation: fuwafuwa 2s infinite;
}
@keyframes fuwafuwa {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0px);
  }
}
section{
  width:100%;
  padding: 36px;
  margin: 0;
  background-size: cover;
}
#sec01{
  background-image: url("https://media.ad-lps.net/contents/template/tp_ALP_O/image/sec01_bg.webp");
  background-size: cover;
  background-position: top right;  
}
.wrap02_03bg{
  background-image: url("https://media.ad-lps.net/contents/template/tp_ALP_O/image/sec2_3_bg.webp");
  background-size: auto;
  background-position: center center;   
}
#sec04{
  background-image: url("https://media.ad-lps.net/contents/template/tp_ALP_O/image/sec2_3_bg.webp");
  background-size: auto;
  background-position: top right;  
}
#sec5{
  background-image: url("https://media.ad-lps.net/contents/template/tp_ALP_O/image/sec05_bg.webp");
  background-size: cover;
  background-position: top right;  
}
li{
  margin-bottom: 10px;
}
.bg_flame{
  padding: 20px;
  background: #bef1ee;
  border-radius: 20px;
}
.app_btn{
  margin-top: 10px;
  display: block;
  animation: blinks 1s linear infinite;
}
.mrb30{
  margin-bottom: 30px!important;
}
footer{
  padding: 1em;
}
@keyframes blinks {
  0% {
    opacity: 1;
  }
  25% {
    opacity: .8;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.app_btn img{
  width: 100%;
  height: auto;
}
.js-fadeup {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 600ms ease, transform 600ms ease;
  will-change: opacity, transform;
}

/* 表示状態 */
.js-fadeup.is-inview {
  opacity: 1;
  transform: translateY(0);
}

/* ユーザーがアニメーション軽減設定をしている場合は無効化 */
@media (prefers-reduced-motion: reduce) {
  .js-fadeup {
    transition: none;
    transform: none;
    opacity: 1;
  }
}
/* 初期状態：ほぼ見えない */
.js-pop {
  transform: scale(0.01);
  opacity: 0;
  transition:
    transform 450ms cubic-bezier(0.34, 1.56, 0.64, 1), /* ポン感 */
    opacity 200ms ease;
  will-change: transform, opacity;
}

/* 表示状態 */
.js-pop.is-inview {
  transform: scale(1);
  opacity: 1;
}

/* 動きを減らしたい人への配慮 */
@media (prefers-reduced-motion: reduce) {
  .js-pop {
    transform: scale(1);
    opacity: 1;
    transition: none;
  }
}

/* 初期状態：絶対に見えない */
.fv-pop {
  opacity: 0;
  transform: scale(0.01);
  visibility: hidden;
}

/* 再生中 */
.fv-pop.is-fv-pop {
  visibility: visible;
  animation: fv-pop 450ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* 再生後：最終状態を固定（ここが肝） */
.fv-pop.is-fv-done {
  visibility: visible;
  opacity: 1;
  transform: scale(1);
}

@keyframes fv-pop {
  0%   { transform: scale(0.01); opacity: 0; }
  70%  { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1);    opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .fv-pop {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width: 600px) {
section{padding: 16px;}
header{
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  height: 80vh;
  position: relative;
  max-height: 860px;
}
div.fv_msg01{width: 45%;}
div.fv_msg01 img{width: 100%; height: auto;}  
div.fv_msg02{width: 70%;}
div.fv_msg02 img{width: 100%; height: auto;} 
div.fv_msg03{width: 50%; top: 40%;}
div.fv_msg03 img{width: 100%; height: auto;} 
div.fv_msg04{width: 40%;}
div.fv_msg04 img{width: 100%; height: auto;} 
div.fv_msg05{width: 80%; right: 0;}
div.fv_msg05 img{width:100%; height: auto;} 
div.fv_msg06{width:30%;} 
div.fv_msg06 img{width: 100%; height: auto;} 
}
