/* 共通 */
body {
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  background-image: url(https://dev-media.ad-lps.net/contents/template/tp_yyc/img/bg.webp);
  background-size: contain;
  background-repeat: repeat;
  font-family: 'Zen Maru Gothic', serif;
  color: #555;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
input, button, textarea, select {
  -webkit-appearance: none;
  appearance: none;
}
.m0auto{
  margin: 0 auto;
}
.tac{
  text-align: center;
}
.flex{
  display: flex;
}

  .star5_rating:before, .star5_rating:after{
    content: '★★★★★';
  }

  video{
    width: 100%;
  }

  img{
    width: 100%;
  }

  /* header */
  header{
    width: 30%;
    margin: 0 auto;
    padding: 3% 0;
  }

  /* intro */
  .section__title{
    text-align: center;
    margin: 0 auto;
    padding: 10% 0 7%;
    max-width: 90%;
  }

  .intro__detail{
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .intro__left{
    width: 40%;
    margin-right: 3%;
  }

  .intro__right{
    font-size: min(3.75vw,18px);
    line-height: 2;
    font-weight: 500;
  }

  .action__btn{
    width: 84%;
    margin: 0 auto;
    padding-bottom: 3%;
    animation: move-y .5s infinite alternate ease-in-out;
  }

  @keyframes move-y {
    from {
      transform: translateY(0);
    }
    to {
      transform: translateY(10px);
    }
  }

  /* how */
  .how .section__title{
    width: 80%;
  }
  
  .how__detail-box{
    display: flex;
    align-items: center;
    margin: 0 0 12% 10%;
    width: 90%;
  }

  .how__detail-box:last-of-type{
    margin-bottom: 5%;
  }

  .how__number{
    width: 20%;
    margin-right: 5%;
  }

  .how__description{
    font-size: min(5vw,24px);
    line-height: 1.5;
  }

  /* sns */
  .sns__box{
    width: 92%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    margin-bottom: 8%;
  }

  .sns__box img,
  .sns__box-under img{
    width: 94%;
  }

  .sns__box-under{
    display: flex;
    width: 90%;
    margin: 0 auto 5%;
  }

  .sns__box-under .sns__left{
    margin-right: 0;
  }

  .sns__box:first-child{
    margin-top: 5%;
  }

  .sns__left{
    margin-right: 5%;
  }

  /* campaign */
  .campaign{
    margin-top: 8%;
    position: relative;
  }

  .campaign__detail{
    position: absolute;
    width: 100%;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .campaign__title{
    width: 80%;
    margin: 0 auto;
    margin-bottom: 10%;
  }

  .campaign__detail img{
    width: 100%;
  }

  .campaign__box{
    text-align: center;
    color: #fff;
    font-size: min(5.833vw,28px);
    margin-bottom: 12%;
    font-weight: 400;
    letter-spacing: -1.5px;
  }

  .campaign__box span{
    background:linear-gradient(transparent 75%, rgba(255, 255, 102, 0.7) 60%);
  }

  /* closing */
  .closing .section__title{
    padding: 6% 0;
    width: 98%;
  }

  .closing__logo{
    width: 70%;
    margin: 0 auto 5%;
  }
  /* footer */
  footer{
    background: #4fc3f7;
    color: #fff;
    padding: 12px 16px;
    line-height: 2;
    margin-top: 8%;
  }

  footer p{
    font-size: 12px;
  }