/*--------------------------------
lp_style.css
KAMIKA-7119
https://www.aster-one.com/mg2503/
--------------------------------*/
@charset 'utf-8';

.page_body::after {
  display: block;
  content: "";
  width: 100vw;
  height: 100vh;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(245, 248, 241, 1) 100%);
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.pankuzu,
.page_ttl {
  display: none !important;
}

.main_contents div.wrapper {
  padding: 0;
}

.lp_cnt * {
  margin: 0;
  padding: 0;
}

.lp_cnt img {
  display: block;
  max-width: 100%;
  height: auto;
}

.lp_cnt {
  width: 600px;
  margin: auto;
}

.cnt {
  position: relative;
}

/*FV*/
.cnt_fv_cnt1 {
  height: 2670px; /*3338*/
  background: url(fv_cnt1_bg.webp) center top;
  background-size: 100% auto;
}
.fv {
  height: 27.86%; /*930*/
}
.fv_ttl {
  width: 73.33%;
  position: absolute;
  top: 10.54%;
  left: 13.2%;
}
.fv_maru1 {
  width: 24%;
  position: absolute;
  top: 55.93%;
  left: 4%;
}

.fv_maru2 {
  width: 25.07%;
  position: absolute;
  top: 36.56%;
  left: 4.1%;
}
.fv_kikan {
  width: 100%;
  position: absolute;
  top: 88.17%;
  left: 0;
}

/*ページ内ナビ*/
.nav {
  width: 100%;
}

.nav ul {
  background: rgba(255, 255, 255, 0.75);
  display: flex;
  justify-content: space-between;
  width: 600px;
  position: sticky;
  top: 0;
  z-index: 100;
}

.nav li {
  width: 100%;
}

.nav li + li {
  border-left: 1px solid #ccc;
}

.nav li a {
  display: block;
  width: 100%;
  height: 100px;
  background: url(sankaku.webp) no-repeat center bottom 20px;
  background-size: 25px auto;
  color: #437b56;
  font-size: 20px;
  text-decoration: none;
  text-align: center;
  padding-top: 34px;
  position: relative;
  transition: 0.5s;
}

.cnt1 {
  height: 68.3%; /*2280*/
}
.cnt1_txt1 {
  width: 100%;
  margin-top: -7%;
}
.cnt1_txt2 {
  width: 100%;
  margin-top: 8.5%;
}
.cnt1_txt3 {
  width: 100%;
  margin-top: 8.5%;
}
.cnt1_img {
  width: 100%;
  margin-top: 15.3%;
}
.cnt1_subttl {
  width: 97.2%;
  margin: 14.5% auto 0;
}

/* slider */
.slide {
  position: absolute !important;
  top: 71.4%;
  left: 0%;
  width: 100%;
}
.slide .slick-arrow {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  appearance: none;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 2;
  cursor: pointer;
}
.slide .slick-prev {
  background: url(arrow_l.webp) no-repeat;
  background-size: cover;
  left: 1.73%;
}
.slide .slick-next {
  background: url(arrow_r.webp) no-repeat;
  background-size: cover;
  right: 1.73%;
}
.slide .slick-list li {
  padding-top: 20px;
  padding-bottom: 40px;
}
.slide .slick-list li img {
  width: 89%;
  margin: auto;
  filter: drop-shadow(10px 10px 16px #93cadd);
}
.slick-dots {
  display: flex;
  justify-content: space-between;
  width: 22.67%;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.slick-dots li {
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  text-indent: -9999px;
  line-height: 1;
  border: 0;
}
.slick-dots .slick-active {
  background: #d1697c;
}

/* cnt2 */
.cnt2 {
  background-color: #f6fcf0;
  padding: 80px 0 96px; /* 100 0 120*/
}
.cnt_message {
  width: 78.67%;
  margin: auto;
}

/*成分*/
.cnt_seibun {
  margin-top: 64px;
  /*80*/
}

.cnt2 .seibun_inner {
  clear: both;
  height: 208px;
  /*260*/
  margin: auto;
  overflow: hidden;
  padding: 0;
}

.seibun_inner .grad {
  width: 100%;
  height: 33%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(246, 252, 240, 0) 0%, rgba(246, 252, 240, 0.68) 40%, rgba(246, 252, 240, 1) 59%, rgba(246, 252, 240, 1) 100%);
}
.cnt2 .btn_seibun {
  width: 44%;
  bottom: 0%;
}

/* cnt3 */
.cnt3 [class*="cnt3_"] {
  position: absolute;
}
.cnt3_ttl {
  width: 76.4%;
  top: 8.18%;
  left: 11.6%;
}
.cnt3_hana1 {
  width: 12%;
  top: 42.27%;
  left: 29.6%;
  z-index: 3;
}
.cnt3_hana4 {
  width: 35.87%;
  top: 59.73%;
  left: 52%;
  z-index: 4;
}
.cnt3_maru1 {
  width: 31.6%;
  top: 33.82%;
  left: 5.47%;
}
.cnt3_maru2 {
  width: 31.6%;
  top: 33.82%;
  left: 66.67%;
}
.cnt3_maru3 {
  width: 31.6%;
  top: 54.91%;
  left: 5.47%;
}
.cnt3_maru4 {
  width: 31.6%;
  top: 54.91%;
  left: 66.67%;
  z-index: 5;
}
.cnt3_main {
  width: 34.8%;
  top: 33.64%;
  left: 32.4%;
}
.cnt3_subttl {
  width: 79.73%;
  top: 80.73%;
  left: 10.27%;
}
.cnt3_txt {
  width: 56.13%;
  top: 93.09%;
  left: 33.07%;
}
.cnt_bnr {
  padding: 48px 5.33% 48px;
  /*60*/
}

.seibun_inner {
  clear: both;
  height: 160px;
  /*200*/
  margin: auto;
  overflow: hidden;
}
.seibun_inner p {
  font-size: 22px;
  line-height: 2;
  /*28*/
}

.cnt_bnr .seibun_inner {
  background: #fff;
  border: 1px solid #ccc;
  padding: 0 5%;
}
.cnt_bnr .seibun_inner .midasi {
  font-size: 19px;
  text-align: center;
  /*24*/
  padding: 0.7em 0 0.2em;
}
.cnt_bnr .seibun_inner p {
  font-size: 14px;
  line-height: 1.66;
  /*18*/
}
.cnt_bnr .txtarea {
  padding-bottom: 2em;
}
.cnt_bnr .seibun_inner .grad {
  width: calc(100% - 2px);
  left: 1px;
  bottom: 1px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.68) 40%, rgba(255, 255, 255, 1) 59%, rgba(255, 255, 255, 1) 100%);
}

.seibun_inner small {
  font-size: 80%;
}

.btn_seibun {
  height: 44px;
  /*56*/
  font-size: 22px !important;
  /*28*/
  width: 38%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  color: #000;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 10%;
  z-index: 2;
  border: 2px solid;
  cursor: pointer;
}

.btn_seibun .icon {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  position: relative;
  margin-left: 0.6em;
}

.btn_seibun .icon i {
  display: block;
  width: 100%;
  height: 2px;
  background: #000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}

.btn_seibun .icon .i1 {
  transform: rotate(90deg);
}

/*cart*/
.cart_area {
  background: url(cart_bg.webp) no-repeat center top;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 96px; /* 120 */
  position: relative;
}
.cart {
  position: relative;
  box-shadow: 20px 20px 20px rgba(87, 153, 86, 0.5);
  border-radius: 5px;
}
.cart1,
.cart2,
.cart3,
.cart4,
.cart5,
.cart6 {
  width: 89.33%;
  margin: auto;
  margin-bottom: 48px; /*60*/
}

.column2 {
  width: 89.33%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.cart7 {
  width: 47.76%;
}

.cart8 {
  width: 47.76%;
}

.btn_cart {
  appearance: none;
  border-radius: 0;
  border: 0;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
  position: absolute;
  transition: 0.2s;
}
.cs .btn_cart {
  pointer-events: none;
  cursor: default;
}
.btn_l {
  width: 288px; /*360*/
  height: 63px; /*78*/
  background: url(btn_l.webp) no-repeat;
  background-size: contain;
}
.cs .btn_l {
  background: url(btn_l_cs.webp) no-repeat;
  background-size: contain;
}
.btn_m {
  width: 230px; /*288*/
  height: 64px; /*80*/
  background: url(btn_m.webp) no-repeat;
  background-size: contain;
}
.cs .btn_m {
  background: url(btn_m_cs.webp) no-repeat;
  background-size: contain;
}
.btn_ms {
  width: 176px; /*220*/
  height: 52px; /*65*/
  background: url(btn_ms.webp) no-repeat;
  background-size: contain;
}
.cs .btn_ms {
  background: url(btn_ms_cs.webp) no-repeat;
  background-size: contain;
}
.btn_s {
  width: 144px; /*180*/
  height: 52px; /*64*/
  background: url(btn_s.webp) no-repeat;
  background-size: contain;
}
.cs .btn_s {
  background: url(btn_s_cs.webp) no-repeat;
  background-size: contain;
}
.btn1 {
  top: 83.05%;
  left: 0;
  right: 0;
  margin: auto;
}
.btn2 {
  top: 59.27%;
  left: 5.33%;
}
.btn3 {
  top: 59.27%;
  left: 36.4%;
}
.btn4 {
  top: 59.27%;
  left: 67%;
}
.btn5 {
  top: 90%;
  left: 0;
  right: 0;
  margin: auto;
}
.btn6 {
  top: 70.87%;
  left: 0;
  right: 0;
  margin: auto;
}
.btn7 {
  top: 90.6%;
  left: 5.33%;
}
.btn8 {
  top: 90.6%;
  right: 5.33%;
}
.btn9 {
  top: 84.18%;
  left: 67.16%;
}
.cart4_maru {
  width: 108px; /* 135*/
  position: absolute;
  top: -17px; /*20*/
  left: -20px; /*25*/
}
.btn10 {
  top: 83.5%;
  left: 67.16%;
}
.btn11 {
  top: 68.5%;
  left: 40.5%;
}
.btn12,
.btn13 {
  top: 69%;
  left: 0;
  right: 0;
  margin: auto;
}

.cart select {
  width: 472px; /*590*/
  height: 48px; /*60*/
  background: #fff url(sankaku_select.png) no-repeat right 11px center;
  background-size: 11px auto;
  border-radius: 0;
  appearance: none;
  font-size: 17px; /*22*/
  border: 1px solid #c8c8c7;
  padding-left: 1em;
  position: absolute;
  top: 782px; /*913*/
  left: 0;
  right: 0;
  margin: auto;
}
.cart .cs select {
  pointer-events: none;
  color: #aaa;
  background-color: #ddd;
}

.cart .link {
  color: #777;
  position: absolute;
  right: 5.97%;
}
.cart .link1 {
  top: 46%;
}
.cart .link2 {
  top: 67%;
}
.cart .link3 {
  top: 65%;
}
.cart .link a {
  color: inherit;
}

.cmp_area {
  padding: 62px 0 0;
}
.cmp_area .cmp_ttl {
  color: #000;
  font-size: 22px;
  font-weight: normal;
  text-align: center;
  margin: 0 auto 21px;
}
.cmp_area .bnr {
  display: block;
  width: 90%;
  margin: auto;
}

[id^="anchor"] {
  display: block;
  width: 100%;
  /*border: 1px solid red;*/
  position: absolute;
}
#anchor1 {
  top: 10px;
}
#anchor2 {
  top: 80px;
}
#anchor3 {
  top: 80px;
}

@media (min-width: 768px) {
  .btn_cart:hover {
    opacity: 0.8;
    transition: 0.2s;
  }
}

@media (max-width: 767px) {
  .main_contents div.wrapper {
    padding: 0;
  }
  .lp_cnt {
    width: 100%;
    background: #fff;
  }

  /*cnt1*/
  .slide .slick-arrow {
    width: 5.33vw;
    height: 5.33vw;
  }
  .slide .slick-list li {
    padding-top: 2.67vw;
    padding-bottom: 5.33vw;
  }
  .slide .slick-list li img {
    filter: drop-shadow(5px 5px 8px #93cadd);
  }
  /*ページ内ナビ*/
  .nav {
    width: 100vw;
    top: 0;
    z-index: 100;
    transition: 0.5s;
  }

  .nav ul {
    width: 100vw;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: space-between;
    transition: 0.2s;
  }

  .nav ul:hover {
    background: rgba(255, 255, 255, 0.6);
    transition: 0.2s;
  }

  .nav li {
    width: 100%;
  }

  .nav li a {
    height: 16.667vw;
    background: url(sankaku.webp) no-repeat center bottom 2.66vw;
    background-size: 3.86vw auto;
    font-size: 3.333vw;
    padding-top: 5.667vw;
    position: relative;
    transition: 0.5s;
  }

  .slick-dots li {
    width: 2.67vw;
    height: 2.67vw;
  }

  /*成分*/
  .cnt_seibun {
    margin-top: 10.67vw;
  }

  .cnt2 .seibun_inner {
    height: 34.67vw;
  }
  .cnt2 .seibun_inner p {
    font-size: 3.73vw;
  }

  .seibun_inner {
    height: 26.67vw;
    border-width: 1px;
  }
  .seibun_inner p {
    font-size: 3.73vw;
  }

  .cnt_bnr .seibun_inner .midasi {
    font-size: 3.2vw;
  }
  .cnt_bnr .seibun_inner p {
    font-size: 2.4vw;
  }

  .btn_seibun {
    height: 7.47vw;
    font-size: 3.73vw !important;
    cursor: default;
    border-width: 1px;
  }

  /*seibun*/
  .cnt_seibun {
    margin-top: 8.53vw;
  }

  .seibun_inner {
    height: 30vw;
    padding: 1em 1.5em;
  }

  .seibun_inner p {
    font-size: 2.4vw;
  }

  .seibun_inner small {
    font-size: 80%;
  }

  /*cart*/
  .cart select {
    width: 78.67vw;
    height: 8vw;
    background: #fff url(sankaku_select.png) no-repeat right 1.47vw center;
    background-size: 1.47vw auto;
    font-size: 2.93vw;
    top: 121.73vw;
  }

  /*FV*/
  .cnt_fv_cnt1 {
    height: 445.07vw; /*3338*/
  }
  .cnt2 {
    padding: 13.33vw 0 16vw; /* 100 0 120*/
  }
  .cart_area {
    background: url(cart_bg.webp) no-repeat center top;
    background-size: cover;
    padding-top: 15vw;
    padding-bottom: 16vw; /* 120 */
  }
  .cart {
    position: relative;
    box-shadow: 2.67vw 2.67vw 2.67vw rgba(87, 153, 86, 0.5);
    border-radius: 0.67vw;
  }
  .cart1,
  .cart2,
  .cart3,
  .cart4,
  .cart5,
  .cart6 {
    margin-bottom: 8vw; /*60*/
  }
  .btn_l {
    width: 48vw; /*360*/
    height: 10.4vw; /*78*/
  }

  .btn_m {
    width: 38.4vw; /*288*/
    height: 10.67vw; /*80*/
  }

  .btn_ms {
    width: 29.33vw; /*220*/
    height: 8.67vw; /*65*/
  }

  .btn_s {
    width: 24vw; /*180*/
    height: 8.53vw; /*64*/
  }
  .cart .link {
    font-size: 2.66vw;
  }

  .cart4_maru {
    width: 18vw; /* 135*/
    top: -2.67vw; /*20*/
    left: -3.33vw; /*25*/
  }

  .cmp_area {
    padding: 12vw 0 0;
  }
  .cmp_area .cmp_ttl {
    margin: 0 auto 2.8vw;
  }

  .cmp_area {
    padding: auto;
  }

  .cmp_area .cmp_ttl {
    font-size: 4vw;
    padding-bottom: 2vw;
  }

  #anchor1 {
    top: 0vw;
  }
  #anchor2 {
    top: 0vw;
  }
  #anchor3 {
    top: 4vw;
  }
}

.global_header,.bottom_common_block,.global_footer {
  position: relative;
  z-index: 2;
}
.hanabira_layer {
  width: 100%;
  max-width: 1200px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  pointer-events: none;
  overflow: hidden;
}
.hanabira_layer img {
  display: block;
  width: 22px;
  position: absolute;
  top: -50px;
  opacity: 0.7;
}

.hanabira1 {
  left: 0%;
  animation: fall 20s linear infinite, yurayura 3s ease-in-out infinite alternate, kaiten 3s ease-in-out infinite alternate;
}
.hanabira2 {
  left: 40%;
  animation: fall 21s linear 5s infinite, yurayura 2s ease-in-out infinite alternate, kaiten 2s ease-in-out infinite alternate;
  animation-delay: 5s;
}
.hanabira3 {
  left: 80%;
  animation: fall 22s linear 10s infinite, yurayura 2.5s ease-in-out infinite alternate, kaiten 2.5s ease-in-out infinite alternate;
}

@keyframes fall {
  60% {
    top: 120%;
  }
  100% {
    top: 120%;
  }
}
@keyframes yurayura {
  0% {
    margin-left: 0%;
  }

  100% {
    margin-left: max(10%, 100px);
  }
}
@keyframes kaiten {
  0% {
    transform: rotate(-90deg);
  }
  100% {
    transform: rotateY(180deg) rotate(180deg);
  }
}

@media (max-width: 767px) {
  .hanabira_layer {
    width: 100vw;
    max-width: 100vw;
    background: transparent;
  }
}