@media screen and (max-width: 768px) {

/* FV */
.fv{
  height: 65vh;
  min-height: auto;
}
.fv-image{
  object-position: top;
}
.fv-text{
  top: 55%;
  left: 50%;
  width: 90%;
  font-size: 14px;
  line-height: 1.7;
}
.title-valentine{
  font-size: 28px;
  line-height: 1.4;
}
.fv-sub{
  font-size: 18px;
}
.fv-copy{
  font-size: 14px;
}
.fv-desc{
  font-size: 13px;
  line-height: 1.6;
}

/* 問いかけ */
.intro-title{
  font-size: 20px;
}
.intro-text{
  font-size: 14px;
}

/* ランキング */
.rank{
  text-align: center;
}
.rank-list{
  flex-direction: column;
  gap: 48px;
}
.rank-item img{
  max-width: 280px;
  margin: 0 auto;
}
.rank-item{
  text-align: center;
}
.rank-list{
  align-items: center;
}
.rank-memo{
  font-size: 15px;
}
.rank-memo2{
  font-size: 10px;
}


/* ボタン */
.rank-btn button{
  width: 100%;
  max-width: 280px;
}
.btn-primary{
  margin-top: 30px;
  font-size: 14px;
}

/* フッター */
.footer{
  height: 60vh;
  min-height: auto;
}
.footer img{
  object-position: top;
}
.footer-text{
  width: 100%;
  max-width: 350px;   /* ← 280〜340で好み調整 */
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 16px;
  margin-bottom: 24px;
}
.footer-text p{
  font-size: 20px;
  line-height: 1.5;
}
.footer-btns{
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
.footer-copy{
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.footer-btns button{
  width: 100%;
  max-width: 340px;
  padding: 16px 0;   /* ← 少しだけ厚み */
  font-size: 15px;
}

/* チョコライン */
.line-bg1,
.line-bg2,
.line-bg3{
  height: 48px;
  background-size: auto 48px;
}

}
