@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
/* ---------------------------------------
  animation
-----------------------------------------*/
.animate__animated.fadeIn {
  opacity: 0;
}

.js-animeOn.fadeIn {
  -webkit-animation: fadein 1.5s ease forwards;
  animation: fadein 1.5s ease forwards;
}

.c-delay2 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.c-delay3 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ---------------------------------------
  trail_mix_wrap
-----------------------------------------*/
.trail_mix_wrap *,
.trail_mix_wrap *::before,
.trail_mix_wrap *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.trail_mix_wrap {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  color: #5D1C0D;
  overflow: hidden;
}

/* ---------------------------------------
  #mv
-----------------------------------------*/
#mv {
  width: 100%;
  aspect-ratio: 1360/625;
  background: url(../img/bg_mv.png) no-repeat center/contain;
  position: relative;
}
@media screen and (max-width: 640px) {
  #mv {
    aspect-ratio: 375/420;
    background-image: url(../img/bg_mv_sp.png);
  }
}
#mv .txt01 {
  width: 31.3235294118vw;
  position: absolute;
  top: 16.0294117647vw;
  left: 9.1911764706vw;
}
@media screen and (max-width: 640px) {
  #mv .txt01 {
    width: 69.3333333333vw;
    top: auto;
    bottom: 22.9333333333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
#mv .txt02 {
  width: 25.8823529412vw;
  position: absolute;
  top: 16.6176470588vw;
  right: 13.8235294118vw;
}
@media screen and (max-width: 640px) {
  #mv .txt02 {
    width: 51.2vw;
    top: auto;
    bottom: 14.4vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
#mv .main_img {
  position: absolute;
  left: 40.1470588235vw;
  top: 5.4411764706vw;
  width: 20.3676470588vw;
}
@media screen and (max-width: 640px) {
  #mv .main_img {
    width: 37.6vw;
    top: 12.2666666667vw;
    left: 30.6666666667vw;
  }
}
#mv .main_img .point {
  width: 10vw;
  position: absolute;
  right: -8.3088235294vw;
  top: 0.8088235294vw;
  -webkit-transform: scale(0);
          transform: scale(0);
}
@media screen and (max-width: 640px) {
  #mv .main_img .point {
    width: 25.3333333333vw;
    right: -26.6666666667vw;
    top: -1.0666666667vw;
  }
}
#mv .main_img .point.js-animeOn {
  -webkit-animation: scale 0.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: scale 0.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
#mv .main_img .img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: scale(0);
          transform: scale(0);
}
#mv .main_img .img.js-animeOn {
  -webkit-transform: scale(1);
          transform: scale(1);
}

@-webkit-keyframes shake {
  0% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  50% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  100% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
}

@keyframes shake {
  0% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  50% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  100% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
}
@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* ---------------------------------------
  .bg_box
-----------------------------------------*/
.bg_box {
  background: url(../img/bg_content.png) no-repeat top/100% auto #FDF3F8;
}
@media screen and (max-width: 640px) {
  .bg_box {
    background-image: url(../img/bg_content_sp.png);
    background-position: bottom;
  }
}

/* ---------------------------------------
  .anc_box
-----------------------------------------*/
.anc_box {
  padding: 3.6764705882vw 0 4.4117647059vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  .anc_box {
    padding: 8vw 0 10.6666666667vw;
  }
}
.anc_box::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: rgba(192, 92, 159, 0.08);
  position: absolute;
  bottom: 0;
  left: 0;
}
.anc_box .anc_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 0.7352941176vw;
}
@media screen and (max-width: 640px) {
  .anc_box .anc_list {
    gap: 0 2.6666666667vw;
  }
}
.anc_box .anc_list a {
  width: 22.0588235294vw;
  height: 4.4117647059vw;
  border-radius: 2.2058823529vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.1764705882vw;
  font-weight: 700;
  color: #C05C9F;
  background-color: #FFF;
  position: relative;
  text-decoration: none;
  -webkit-box-shadow: 0 8px 0 0 rgb(245, 224, 234);
          box-shadow: 0 8px 0 0 rgb(245, 224, 234);
}
@media screen and (max-width: 640px) {
  .anc_box .anc_list a {
    width: 44.2666666667vw;
    height: 16vw;
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.anc_box .anc_list a::before {
  content: "";
  width: 0.8823529412vw;
  height: 0.7352941176vw;
  background: url(../img/icon_anc.svg) no-repeat center/contain;
  position: absolute;
  right: 0.9558823529vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .anc_box .anc_list a::before {
    width: 3.2vw;
    height: 2.6666666667vw;
    right: 2.1333333333vw;
  }
}
@media (any-hover: hover) {
  .anc_box .anc_list a:hover {
    top: 8px;
    -webkit-box-shadow: 0 0 0 0 rgb(245, 224, 234);
            box-shadow: 0 0 0 0 rgb(245, 224, 234);
  }
  .anc_box .anc_list a:hover .txt {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.anc_box .anc_list a .txt {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .anc_box .anc_list a .txt {
    line-height: 140%;
  }
}

/* ---------------------------------------
  #product
-----------------------------------------*/
#product {
  padding: 7.3529411765vw 0;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  #product {
    padding: 21.3333333333vw 0 24vw;
  }
}
#product .ttl_box .icon {
  width: 8.3823529412vw;
  height: 1.9117647059vw;
  border-radius: 0.9558823529vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.0294117647vw;
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.2em;
  margin: 0 auto;
  background-color: #F192BD;
}
@media screen and (max-width: 640px) {
  #product .ttl_box .icon {
    width: 27.2vw;
    height: 6.4vw;
    border-radius: 3.2vw;
    font-size: 3.2vw;
  }
}
#product .ttl_box .ttl {
  margin-top: 1.0294117647vw;
  text-align: center;
  font-size: 2.9411764706vw;
  font-weight: 700;
  color: #5D1C0D;
  padding-bottom: 2.5vw;
  position: relative;
  line-height: 130%;
}
@media screen and (max-width: 640px) {
  #product .ttl_box .ttl {
    margin-top: 1.3333333333vw;
    font-size: 8.5333333333vw;
    padding-bottom: 4vw;
  }
}
#product .ttl_box .ttl::after {
  content: "";
  width: 3.9705882353vw;
  height: 0.4411764706vw;
  background: url(../img/ttl_item.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  #product .ttl_box .ttl::after {
    width: 14.4vw;
    height: 1.6vw;
  }
}
#product .product_list {
  margin-top: 10.2941176471vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 1.1764705882vw;
}
@media screen and (max-width: 640px) {
  #product .product_list {
    margin-top: 126.656vw;
    gap: 0;
  }
}
#product .product_list li {
  width: 25.7352941176vw;
  height: 25.7352941176vw;
  border-radius: 12.8676470588vw;
  background: #FFF;
  position: relative;
}
@media screen and (max-width: 640px) {
  #product .product_list li {
    width: 58.6666666667vw;
    height: 58.6666666667vw;
    border-radius: 29.3333333333vw;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
#product .product_list li .img_box {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#product .product_list li .img_box .ttl {
  margin-top: 0.9558823529vw;
  text-align: center;
  font-size: 1.1764705882vw;
  font-weight: 700;
  line-height: 140%;
  color: #C05C9F;
}
@media screen and (max-width: 640px) {
  #product .product_list li .img_box .ttl {
    margin-top: 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
}
#product .product_list li .btn {
  position: absolute;
  bottom: -0.8823529412vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  #product .product_list li .btn {
    bottom: -3.4666666667vw;
  }
}
#product .product_list li .btn a {
  width: 12.5vw;
  height: 3.3823529412vw;
  border-radius: 1.6911764706vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.1029411765vw;
  font-weight: 700;
  color: #FFF;
  background-color: #C05C9F;
  position: relative;
  text-decoration: none;
  -webkit-box-shadow: 0 6px 0 0 rgb(150, 81, 127);
          box-shadow: 0 6px 0 0 rgb(150, 81, 127);
}
@media screen and (max-width: 640px) {
  #product .product_list li .btn a {
    width: 37.3333333333vw;
    height: 10.6666666667vw;
    border-radius: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
#product .product_list li .btn a::before {
  content: "";
  width: 0.7352941176vw;
  height: 0.8823529412vw;
  background: url(../img/icon_product_btn.svg) no-repeat center/contain;
  position: absolute;
  right: 0.9558823529vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  #product .product_list li .btn a::before {
    width: 2.1333333333vw;
    height: 2.4vw;
    right: 2.6666666667vw;
  }
}
@media (any-hover: hover) {
  #product .product_list li .btn a:hover {
    top: 8px;
    -webkit-box-shadow: 0 0 0 0 rgb(150, 81, 127);
            box-shadow: 0 0 0 0 rgb(150, 81, 127);
  }
  #product .product_list li .btn a:hover .txt {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
#product .product_list li .btn a .txt {
  text-align: center;
}
#product .product_list li.item_75g .img_box {
  top: -2.3529411765vw;
}
@media screen and (max-width: 640px) {
  #product .product_list li.item_75g .img_box {
    top: -9.0666666667vw;
  }
}
#product .product_list li.item_75g .img_box .img {
  width: 11.3235294118vw;
}
@media screen and (max-width: 640px) {
  #product .product_list li.item_75g .img_box .img {
    width: 24.8vw;
  }
}
#product .product_list li.item_33g .img_box {
  top: 3.0147058824vw;
}
@media screen and (max-width: 640px) {
  #product .product_list li.item_33g .img_box {
    top: 0;
  }
}
#product .product_list li.item_33g .img_box .img {
  width: 10.2205882353vw;
}
@media screen and (max-width: 640px) {
  #product .product_list li.item_33g .img_box .img {
    width: 24.8vw;
  }
}
@media screen and (max-width: 640px) {
  #product .product_list li:nth-of-type(1) {
    position: relative;
    left: 3.4666666667vw;
  }
}
@media screen and (max-width: 640px) {
  #product .product_list li:nth-of-type(2) {
    position: relative;
    right: 3.4666666667vw;
  }
}
#product .txt_box {
  margin-top: 3.6764705882vw;
}
@media screen and (max-width: 640px) {
  #product .txt_box {
    margin-top: 10.6666666667vw;
  }
}
#product .txt_box .txt {
  font-size: 1.4705882353vw;
  text-align: center;
  line-height: 200%;
}
@media screen and (max-width: 640px) {
  #product .txt_box .txt {
    font-size: 4.2666666667vw;
  }
}
#product .txt_box .txt .orange {
  color: #F1953F;
}
#product .txt_box .txt .green {
  color: #25B185;
}
#product .txt_box .txt .pink {
  color: #EA68A5;
}
#product .txt_box .txt .bluegreen {
  color: #25B8C2;
}
#product .txt_box .txt .parple {
  color: #C05C9F;
  font-weight: 700;
}
#product .txt_box .txt + .txt {
  margin-top: 1.9117647059vw;
}
@media screen and (max-width: 640px) {
  #product .txt_box .txt + .txt {
    margin-top: 6.9333333333vw;
  }
}
#product .mix_box {
  margin-top: 8.8235294118vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  #product .mix_box {
    margin-top: 16vw;
  }
}
#product .mix_box::after {
  content: "";
  width: 16.3970588235vw;
  height: 3.3823529412vw;
  position: absolute;
  top: 26.1029411765vw;
  left: 43.4558823529vw;
  background: url(../img/icon_mix_arrow.png) no-repeat center/contain;
}
@media screen and (max-width: 640px) {
  #product .mix_box::after {
    width: 6.9333333333vw;
    height: 33.0666666667vw;
    top: 76vw;
    left: 48.5333333333vw;
    background-image: url(../img/icon_mix_arrow_sp.png);
  }
}
#product .mix_box .img_mix_01 {
  width: 46.1029411765vw;
  margin-left: 7.9411764706vw;
}
@media screen and (max-width: 640px) {
  #product .mix_box .img_mix_01 {
    width: 94.6666666667vw;
    margin-left: 1.8666666667vw;
  }
}
#product .mix_box .img_mix_02 {
  width: 51.7647058824vw;
  position: absolute;
  right: -8.5294117647vw;
  top: 0;
}
@media screen and (max-width: 640px) {
  #product .mix_box .img_mix_02 {
    width: 94.4vw;
    right: 2.6666666667vw;
    top: auto;
    bottom: -107.4666666667vw;
  }
}
#product .mix_box .img_mix_02 .img_kcal {
  width: 13.0147058824vw;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 640px) {
  #product .mix_box .img_mix_02 .img_kcal {
    width: 30.6666666667vw;
    top: -1.8666666667vw;
  }
}

/* ---------------------------------------
  #what
-----------------------------------------*/
#what {
  padding: 7.3529411765vw 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 3.6764705882vw;
}
@media screen and (max-width: 640px) {
  #what {
    padding: 18.6666666667vw 0 21.3333333333vw;
    gap: 10.6666666667vw 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#what .img_box {
  width: 33.0882352941vw;
}
@media screen and (max-width: 640px) {
  #what .img_box {
    width: 87.2vw;
  }
}
#what .img_box .img_01,
#what .img_box .img_02 {
  width: 27.9411764706vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  #what .img_box .img_01,
  #what .img_box .img_02 {
    width: 100%;
  }
}
#what .img_box .img_01 {
  z-index: 2;
}
#what .img_box .img_02 {
  margin-left: auto;
  margin-top: -1.3235294118vw;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  #what .img_box .img_02 {
    left: 0;
    margin-top: 2.1333333333vw;
  }
}
#what .txt_box {
  width: 33.8235294118vw;
}
@media screen and (max-width: 640px) {
  #what .txt_box {
    width: 87.2vw;
  }
}
#what .ttl_box .icon {
  width: 8.3823529412vw;
  height: 1.9117647059vw;
  border-radius: 0.9558823529vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.0294117647vw;
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.2em;
  margin: 0 auto;
  background-color: #F192BD;
}
@media screen and (max-width: 640px) {
  #what .ttl_box .icon {
    width: 24.8vw;
    height: 6.4vw;
    border-radius: 3.2vw;
    font-size: 3.2vw;
  }
}
#what .ttl_box .ttl {
  margin-top: 1.0294117647vw;
  text-align: center;
  font-size: 2.9411764706vw;
  font-weight: 700;
  color: #5D1C0D;
  position: relative;
}
@media screen and (max-width: 640px) {
  #what .ttl_box .ttl {
    margin-top: 1.3333333333vw;
    font-size: 8.5333333333vw;
    padding-bottom: 4vw;
    line-height: 130%;
  }
}
#what .sub_ttl {
  font-size: 1.7647058824vw;
  text-align: center;
  margin-top: 2.5735294118vw;
  color: #EA68A5;
}
@media screen and (max-width: 640px) {
  #what .sub_ttl {
    margin-top: 8vw;
    font-size: 5.3333333333vw;
  }
}
#what .txt {
  font-size: 1.1764705882vw;
  text-align: center;
  line-height: 180%;
}
@media screen and (max-width: 640px) {
  #what .txt {
    font-size: 4.2666666667vw;
  }
}
#what .txt .bold_border {
  font-weight: 700;
  border-bottom: solid 2px #F192BD;
}

/* ---------------------------------------
  表示・非表示処理
-----------------------------------------*/
.sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  .pc {
    display: none;
  }
}