#lp {
	position:relative;
	width: 100%;
	overflow-x: hidden;
}

#lp img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	height: auto;
}

/* background */
.bg-hearts {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
}

.bg-hearts .bg-img {
  width: 100%;
  height: auto;
  display: block;
}

/* 4_avatar */
.avatar {
  position: absolute;
  bottom:0;
  right: 0;
}

.avatar img {
  width: auto;
  max-height: 120vh !important; /* fallback */
}

/* 1_msg */
.msg_001 {
  position: absolute;
  top: 0;
  left: 10%;
}

.msg_001 img {
  width: 30vw; /* fallback */
  width: clamp(200px, 30vw, 450px);
  height: auto;
}
/* 2_msg */
.msg_002 {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
}

.msg_002 img {
  width:40vw; /* fallback */
  width: clamp(200px, 40vw, 650px);
  height: auto;
}
/* 3_icon */
.icon_003 {
  position: absolute;
  top:65%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.icon_003 img {
  width: 30vw; /* fallback */
  width: clamp(200px, 30vw, 450px);
  height: auto;
}
/* 3_msg */
.msg_003 {
  position: absolute;
  top:calc( 65% - 18vh);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.msg_003 img {
  width: 30vw; /* fallback */
  width: clamp(200px, 30vw, 450px);
  height: auto;
}
/* 4_msg */
.msg_004 {
  position: absolute;
  bottom:1vw;
  right: 1vw;
  z-index: 10;
}

.msg_004 img {
  width: 35vw; /* fallback */
  width: clamp(200px, 30vw, 550px);
  height: auto;
}

/* cta btn */
.cta {
  position: absolute;
  bottom: 1vh;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.cta img {
  width: 250px; /* fallback */
  width: clamp(200px, 20vw, 350px);
  height: auto;
  cursor: pointer;
}


.lp_pc{
	display:block;
}

.lp_sp{
	display:none;
}


/* sp response */
@media (max-width: 768px) {
	#lp img{
		max-width: none !important;
	}
	
	.lp_pc{
		display:none;
	}

	.lp_sp{
		display:block;
	}


  /* ===== 背景 ===== */
  .bg-hearts {
    min-height: 100svh;
  }

  .bg-hearts .bg-img {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    width: auto;
    min-width: 100%;
    transform: translateX(-50%);
    object-fit: cover;
  }

  

  /* ===== msg 001 ===== */
  .msg_001 {
    top: 4svh;
    left: 0;
  }

  .msg_001 img {
    width: 105vw;
  }

  

  /* ===== CTA ===== */
  .cta {
    bottom: 10svh;
  }

  .cta img {
    width: 80vw;
    max-width: 350px;
    min-width: 250px;
  }

}


