@charset "UTF-8";
/*//////////////////////////////////////////////////

Title : STYLE CSS

//////////////////////////////////////////////////*/

/* ========================================================
                      * Layout style *
========================================================= */


/* ===================
  LP Contents
=================== */

.main_inner{
  padding-inline: 0;
  padding-top: 0;
}

#footer{
  margin-top: 0;
}

.contents_area {
  margin: 0 auto;
  padding: 0;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .08em;
  font-size: 1.4rem;
}

.contents_area *,
.contents_area *:before,
.contents_area *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.contents_area ul,
.contents_area li {
  list-style: none;
}

.contents_area a:hover {
}

.contents_area img {
  max-width: 100%;
}

.contents_area sup {
  color: #888;
}

.contents_area a,
.contents_area a:before,
.contents_area a:after,
.contents_area a img {
  transition: opacity .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    color .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    background-color .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    background-image .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    border-color .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    text-shadow .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    text-weight .3s cubic-bezier(0.05, 0.52, 0.52, 0.95);
}

.contents_area h1 {
  padding: 0;
}

/* ===================
  　　 General
=================== */

.contents_area .txt_center {
  text-align: center;
}

.contents_area .txt_bold {
  font-weight: bold;
}

.contents_area .txt_en {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

/* ===================
  　　　Animation
=================== */

/* -- keyframes -- */

@keyframes opa0 {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes opa1 {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes opa2 {
  0% {
    opacity: 0;
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes tra1 {
  100% {
    transform: translateX(0);
  }
}

@keyframes tra2 {
  100% {
    transform: translateY(0);
  }
}

@keyframes tra3 {
  0% {
    transform: translateY(2rem);
  }

  100% {
    transform: translateY(0);
  }
}


@keyframes tra3_2 {
  0% {
    transform: translateY(2px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes tra4 {
  0% {
    transform: translateX(6%);
  }

  100% {
    transform: translateX(0);
  }
}


@keyframes tra5 {
  0% {
    transform: translateX(-30%);
  }

  100% {
    transform: translateX(0);
  }
}


@keyframes tra6 {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0);
  }
}


.ef {
  opacity: 0;
}

.ef.effect {
  animation: opa1 1.2s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

.ef2 {
  opacity: 0;
}

.ef2.effect {
  animation: opa2 1.5s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

.ef-top {
  opacity: 0;
  transform: translateY(50px);
}

.ef-top.effect {
  animation: opa1 1s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards, tra3 1s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

.ef-top2 {
  opacity: 0;
  transform: translateY(40px);
}

.ef-top2.effect {
  animation: opa2 0.8s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards, tra3_2 0.8s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

.ef-right {
  opacity: 0;
  transform: translateX(6%);
}

.ef-right.effect {
  animation: opa1 1.2s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards, tra4 1.2s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

.ef-left {
  opacity: 0;
}

.ef-left.effect {
  animation: opa1 0.4s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards, tra5 0.4s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

.ef-lg.effect {
  animation: opa1 1.5s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards, tra6 1.5s cubic-bezier(0.05, 0.52, 0.52, 0.95) 0s 1 forwards;
}

/* ===================
  　Section Common
=================== */

.section {
}

.float_left {
  float: left;
}

.float_right {
  float: right;
}

.sec_inner {
  width: 108rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 12rem 0;
  text-align: left;
}

/* ===================
  Button Setting
=================== */

.btn_wrap {
  text-align: center;
}

.btn_link {
  transition: opacity .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    color .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    background-color .3s cubic-bezier(0.05, 0.52, 0.52, 0.95),
    border-color .3s cubic-bezier(0.05, 0.52, 0.52, 0.95);
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  width: 38rem;
  width: fit-content;
  height: 8.5rem;
  margin: 0 auto;
  padding: 0 7rem;
  border-radius: 20rem;
  border: .3rem solid #009A41;
  background: #fff;
  color: #009A41;
  font-family: 'Montserrat', sans-serif;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.22rem;
  text-transform: uppercase;
  text-align: center;
}

.btn_link:hover {
  opacity: 1;
  background-color: #009A41;
  color: #fff !important;
}

.btn_link.btn_red {
  border-color: #F5333F;
  color: #F5333F;
}

.btn_link.btn_red:hover {
  background-color: #F5333F;
}

.btn_link.btn_sky {
  border-color: #00A0E9;
  color: #00A0E9;
}

.btn_link.btn_sky:hover {
  background-color: #00A0E9;
}

.btn_link.btn_blue {
  border-color: #0071CE;
  color: #0071CE;
}

.btn_link.btn_blue:hover {
  background-color: #0071CE;
}

.btn_link.btn_blue2 {
  border-color: #0071CE;
  background-color: #0071CE;
  color: #fff;
}

.btn_link.btn_blue2:hover {
  background-color: transparent;
  color: #0071CE !important;
}

.btn_link.btn_yellow {
  border-color: #FFD100;
  color: #FFD100;
}

.btn_link.btn_yellow:hover {
  background-color: #FFD100;
}

/* ===================
  　　　INTRO
=================== */

.intro_section {
  background: #FFFAF3;
}

.intro_section .intro_txt {
  padding-bottom: 12rem;
  color: #009A41;
  text-align: center;
  font-size: 1.7rem;
  font-style: normal;
  font-weight: 700;
  line-height: 4.5rem;
  letter-spacing: 0.085rem;
  text-transform: uppercase;
}

.intro_section .intro_item {
  margin-bottom: 8rem;
  color: #009A41;
}

.product_name {
  display: block;
  padding: 2rem 0 0;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.8rem;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
}

.intro_section .img_area {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  gap: 3.5rem;
  margin-bottom: 8rem;
}

.intro_section .img_area .img_01,
.intro_section .img_area .img_02 {
  position: relative;
}

.intro_section .img_area .img_01 {
  width: 30rem;
  padding-bottom: 7rem;
}

.intro_section .img_area .img_01 video {
  width: 100%;
}

.intro_section .img_area .img_01::before {
  position: absolute;
  bottom: 0;
  left: -8.9rem;
  z-index: 2;
  width: 12.5rem;
  height: 17.2rem;
  background: url(../img/img_balloon_2.png) no-repeat 0 0;
  background-size: 100%;
  content: "";
}

.intro_section .img_area .img_02 {
  width: 47.3rem;
  padding-top: 5.6rem;
}

.intro_section .img_area .img_02::before {
  position: absolute;
  top: 0;
  right: -8.7rem;
  z-index: 2;
  width: 14rem;
  height: 24.5rem;
  background: url(../img/img_balloon_1.png) no-repeat 0 0;
  background-size: 100%;
  content: "";
}


/* ===================
  　　PRODUCT01
=================== */

.product01 {
  background: #5CE8A5;
}

.product01 .mv_area {
  transition: opacity .6s cubic-bezier(0.42, -0.02, 0.52, 0.95);
  opacity: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  justify-content: center;
  width: 85.7rem;
  margin: auto;
}

.product01 .mv_area.effect {
  opacity: 1;
}

.product01 .mv_area a:hover {
  opacity: 1;
}

.product01 .mv_area a > img {
  transition: opacity .5s ease-in-out ;
}

.product01 .mv_area a:hover img {
  opacity: .55;
}

.product01 .mv_area .img_mv_01 a,
.product01 .mv_area .img_mv_02 a {
  background: #5CE8A5;
}

.product01 .mv_area .img_mv_01 a,
.product01 .mv_area .img_mv_02 a {
  display: inline-block;
  position: relative;
  background: #5CE8A5;
}

.product01 .mv_area .img_mv {
  border: .5rem solid #ffff00;
}

.product01 .mv_area .img_mv_01 {
  width: 43rem;
  margin-left: -1.85rem;
  padding-bottom: 13.9rem;
}

.product01 .mv_area .img_mv_01 a {
  z-index: 2;
}

.product01 .mv_area .img_mv_02 {
  width: 36rem;
  margin-right: -1.15rem;
}

.product01 .mv_area .img_mv_02 a {
  z-index: 1;
}

.product01 .txt_main {
  position: relative;
  padding: 10rem 0;
  color: #fff;
  text-align: center;
  font-size: 4.2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 4.7rem; /* 111.905% */
  letter-spacing: .42rem;
}

.product01 .img_character {
  position: absolute;
  right: 0;
  bottom: 4rem;
  width: 24.4rem;
}

.product01 .img_area {
  transition: opacity .6s cubic-bezier(0.42, -0.02, 0.52, 0.95);
  opacity: 0;
  width: 57.6rem;
  margin: auto auto 8rem;
}

.product01 .img_area.effect {
  opacity: 1;
}

.product01 .img_area .product_name {
  color: #fff;
  text-align: center;
}

/* ---- Anime Notes ---- */

.anime_notes {
  display: block;
  position: relative;
}

.anime_notes .icn_note {
  position: absolute;
  z-index: 3;
  opacity: 0;
}

.effect .anime_notes .icn_note {
  opacity: 1;
}

.anime_notes .icn_note img {
  width: 100%;
}

.anime_notes .icn_note:nth-child(1)  {
  transition-delay: .5s;
}

.anime_notes .icn_note:nth-child(2) {
  transition-delay: .7s;
}

.anime_notes .icn_note:nth-child(3) {
  transition-delay: .9s;
}

.anime_notes .icn_note:nth-child(4) {
  transition-delay: 1.1s;
}

.anime_notes .icn_note:nth-child(5) {
  transition-delay: 1.3s;
}

.img_mv_01 .anime_notes .icn_note:nth-child(1) {
  top: 7.9rem;
  right: 4.6rem;
  width: 4.9rem;
  height: 4.8rem;
}

.img_mv_01 .anime_notes .icn_note:nth-child(2) {
  top: 0.65rem;
  right: 4.5rem;
  width: 9.02rem;
  height: 12.1rem;
}

.img_mv_01 .anime_notes .icn_note:nth-child(3) {
  top: .74rem;
  right: 0.32rem;
  width: 13rem;
  height: 12rem;
}

.img_mv_01 .anime_notes .icn_note:nth-child(4) {
  top: -4.5rem;
  right: 0.22rem;
  width: 13.3rem;
  height: 17.3rem;
}

.img_mv_01 .anime_notes .icn_note:nth-child(5) {
  transition-delay: 1.3s;
  top: -4.5rem;
  right: -4.8rem;
  width: 18.3rem;
  height: 17.3rem;
}

.img_mv_02 .anime_notes .icn_note:nth-child(1) {
  top: 2.6rem;
  left: 3.1rem;
  width: 4.72rem;
  height: 4.67rem;
}

.img_mv_02 .anime_notes .icn_note:nth-child(2) {
  top: 0.4rem;
  left: -2.25rem;
  width: 10.1rem;
  height: 6.9rem;
}

.img_mv_02 .anime_notes .icn_note:nth-child(3) {
  top: -3.3rem;
  left: -2.2rem;
  width: 10.1rem;
  height: 10.7rem;
}

.img_mv_02 .anime_notes .icn_note:nth-child(4) {
  top: -6.3rem;
  left: -4.55rem;
  width: 12.4rem;
  height: 13.6rem;
}


/* ===================
  　　PRODUCT02
=================== */

.product02 {
  background: #ffae50;
}

.product02 .img_area_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  gap: 13rem;
  width: 107.8rem;
  margin-left: 3.5rem;
  margin-bottom: 8rem;
  color: #fff;
}

.product02 .img_area_wrap .img_01 {
  position: relative;
}

.product02 .img_area_wrap .img_01 a img {
  width: 40rem;
}


.product02 .img_area_wrap .img_01::before {
  position: absolute;
  right: -2.5rem;
  bottom: -2.5rem;
  z-index: 2;
  width: 12.7rem;
  height: 11.4rem;
  background: url(../img/img_cookie_icn.png) no-repeat 0 0;
  background-size: 100%;
  content: "";
}

.product02 .img_area_wrap .img_02 {
  text-align: right;
}

.product02 .img_area_wrap .img_02 a img {
  width: 50rem;
}

.product02 .img_character {
  position: absolute;
  left: -7.26rem;
  bottom: -7.49rem;
  width: 20.6rem;
  z-index: 2;
}

.product02 .img_area_wrap .img_01 a,
.product02 .img_area_wrap .img_01::before,
.product02 .img_area_wrap .img_02 {
  transition: opacity 1.4s cubic-bezier(0.27, 0.12, 0.52, 0.95);
  opacity: 0;
}

.product02 .img_area_wrap .img_01.effect a,
.product02 .img_area_wrap .img_01.effect::before,
.product02 .img_area_wrap .img_02.effect {
  opacity: 1;
}

.product02 .img_area_wrap .img_01::after {
  transition: width 1s cubic-bezier(0.05, 0.52, 0.52, 0.95) .8s;
  overflow: hidden;
  position: absolute;
  top: -4.5rem;
  left: 0rem;
  z-index: 2;
  width: 0;
  height: 18rem;
  background: url(../img/dumdum.svg) no-repeat 0 0;
  background-size: 40rem;
  border-radius: 0 5rem 5rem 0;
  content: "";
}

.product02 .img_area_wrap .img_01.effect::after {
  width: 40.2rem;
}


/* ===================
  　　PRODUCT03
=================== */

.product03 {
  background: #BDE3FF;
}

.product03 .sec_inner {
  position: relative;
}

.product03 .img_area_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 5rem;
  width: 99rem;
  margin: auto auto 10.3rem;
}

.product03 .img_character {
  width: 40rem;
  text-align: center;

}

.product03 .img_character img {
  width: 23.9rem;
}

.product03 .img_character .txt_en,
.product03 .img_01 .txt_en {
  display: block;
  padding: 4rem 0 0;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 3.1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 4.1rem;
  letter-spacing: 0.31rem;
  text-align: center;
}

.product03 .product_name {
  color: #fff;
}

.product03 .img_01 {
  position: relative;
  width: 54rem;
}

.product03 .img_01::before {
  position: absolute;
  right: 5.5rem;
  bottom: -6rem;
  z-index: 2;
  width: 10.8rem;
  height: 10.4rem;
  background: url(../img/img_flower_1.png) no-repeat 0 0;
  background-size: 100%;
  content: "";
}

.product03 .img_02 {
  width: 40rem;
  margin-top: -33rem;
}

.product03 .img_03 {
  position: relative;
  width: 40.6rem;
  margin-left: -9rem;
  background: #BDE3FF;
}

.product03 .img_03::before {
  position: absolute;
  left: -6.5rem;
  bottom: -2.6rem;
  z-index: 2;
  width: 7.7rem;
  height: 7.8rem;
  background: url(../img/img_flower_2.png) no-repeat 0 0;
  background-size: 100%;
  content: "";
}

/* -- Animation -- */
.product03 .img_01,
.product03 .img_02,
.product03 .img_03 {
  transition: opacity 1s cubic-bezier(0.27, 0.12, 0.52, 0.95);
  opacity: 0;
}

.product03 .img_02 {
  transition-delay: .8s;
}

.product03 .img_03 {
  transition-delay: 1.8s;
}

.product03 .img_area_wrap.effect .img_01,
.product03 .img_area_wrap.effect .img_02,
.product03 .img_area_wrap.effect .img_03 {
  opacity: 1;
}



/* ===================
  　　SLIDE AREA
=================== */

.slider_section {
  overflow:hidden;
  position: relative;
  background: #FFFAF3;
  padding: 12rem 0 0;
}

.slider_section * {
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

.slider_section .img_character {
  position: absolute;
  top: 6rem;
  left: 8.4rem;
  z-index: 2;
  width: 43rem;
  padding: 7rem;
}

.slider_section .sec_inner {
  position: relative;
  z-index: 0;
  width: 100%;
  padding-top: 17rem;
  padding-bottom: 9rem;
}

.slider_section .sec_inner::before {
  position: absolute;
  top: 0;
  left: -16%;
  right: -16%;
  bottom: 0;
  z-index: -1;
  background: #fff;
  border-radius: 100% 100% 0 0;
  content: "";
}

.snap_list {
}

.swiper-wrapper {
  display: flex;
  align-items: center !important;
}

.snap_list .swiper-slide {
  display: flex;
  align-items: flex-start;
  text-align: center;
  flex-direction: column;
  transform: rotate(0deg) translate3d(0, 0, 0);
  width: auto !important;
  margin-right: 22rem !important;
  margin-bottom: 8rem;
}

.snap_list .swiper-slide a {
  display: inline-block;
  margin: auto;
}

.snap_list .swiper-slide img {
  width: auto;
  transform: rotate(0deg) translate3d(0, 0, 0);
}

.snap_list .swiper-slide .product_name {
  color: #0071CE;
  font-size: 1.2rem;
  line-height: 1.5rem;
  letter-spacing: 0.12rem;
  text-align: left;
}

/* スライド全体 */
/*
.swiper-slide {
  transition: transform 0.6s;
}*/


/* 左右のスライド */
/*
.swiper-slide-prev,
.swiper-slide-next,
.swiper-slide-duplicate-prev,
.swiper-slide-duplicate-next {
  transform: scale(0.9);
}
*/

.snap_list .swiper-wrapper {
  transition-timing-function: linear;
}

.two_column  {
  display: flex;
  flex-wrap: nowrap;
  gap: 2rem;
}

.snap_list .snap_01 img {
  height: 57.6rem;
}

.snap_list .snap_02 img {
  width: 33rem;
  height: 42.9rem;
}

.snap_list .snap_03 img {
  height: 64.5rem;
}

.snap_list .snap_04 img {
  height: 51rem;
}

.snap_list .snap_05 img {
  height: 73.9rem;
}

.snap_list .snap_06 img {
  height: 45.6rem;
}

.snap_list .snap_07 img {
  height: 73.6rem;
}

.snap_list .snap_08 img {
  height: 37.4rem;
}

.snap_list .snap_09 img {
  height: 63.6rem;
}

.snap_list .snap_10 img {
  height: 73.9rem;
}

.snap_list .snap_11 img {
  height: 73.9rem;
}

.snap_list .snap_12 img {
  height: 45.4rem;
}

.slider_section .btn_wrap .btn_link {
  margin-bottom: 2rem;
}


/* ===================
  　  COPYRIGHT
=================== */

.copyright_section {
  background: #FFFAF3;
}

.copyright_section .txt_notes {
  color: #009A41;
  text-align: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 3.5rem;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
}

.copyright_section .txt_copyright {
  width: 69rem;
  margin: auto;
  padding-top: 8rem;
  color: #009A41;
  text-align: center;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 600;
  line-height: 2rem;
  letter-spacing: 0.12rem;
}


/*=======================================
                    PC
========================================*/


@media screen and (min-width: 768px)  {

  #Wrap,
  .wrapBottom,
  .wrapTop,
  #Contents {
    width: 100%;
  }
}


/*=======================================
                    SP
========================================*/

/* only SP */
@media only screen and (max-width: 767px) {

  .pc_only {
    display: none;
  }

  /* ===================
    LP Contents
  =================== */


  /* ===================
    　Section Common
  =================== */

  .contents {
  }

  .sec_inner {
    padding-top: calc(60* (100vw / 375));
    padding-bottom: calc(60* (100vw / 375));
  }


  /* ===================
         ANIME
  =================== */

  @keyframes tra3 {
    0% {
      transform: translateY(30px);
    }

    100% {
      transform: translateY(0);
    }
  }

  /* ===================
    Button Setting
  =================== */

  .btn_wrap {
  }

  .btn_link {
    height: calc(65* (100vw / 375));
    margin-right: auto;
    margin-left: auto;
    padding-right: calc(50* (100vw / 375));
    padding-left: calc(50* (100vw / 375));
    border-radius: calc(200* (100vw / 375));
    border-width: 2px;
    font-size: calc(16* (100vw / 375));
    letter-spacing: calc(1.6* (100vw / 375));
  }

  /* ===================
    　　　INTRO
  =================== */

  .intro_section {
    padding: 0;
  }

  .intro_section .intro_txt {
    padding-bottom: calc(60* (100vw / 375));
    font-size: calc(14* (100vw / 375));
    line-height: 220%; /* 30.8px */
    letter-spacing: calc(0.7* (100vw / 375));
  }

  .intro_section .intro_item {
    margin-bottom: calc(90* (100vw / 375));
  }

  .product_name {
    padding: calc(16* (100vw / 375)) calc(16* (100vw / 375)) 0;
    font-size: calc(10* (100vw / 375));
    line-height: calc(15* (100vw / 375));
    letter-spacing: calc(1* (100vw / 375));
  }

  .intro_section .img_area {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(80* (100vw / 375));
    margin: auto auto calc(40* (100vw / 375));
  }

  .intro_section .img_area .img_01,
  .intro_section .img_area .img_02 {
  }

  .intro_section .img_area .img_01 {
    width: calc(223* (100vw / 375));
    padding-bottom: 0;
  }

  .intro_section .img_area .img_01::before {
    bottom: calc(-48* (100vw / 375));
    left: calc(-38* (100vw / 375));
    width: calc(59* (100vw / 375));
    height: calc(82* (100vw / 375));
  }

  .intro_section .img_area .img_01::after {
    position: absolute;
    top: calc(-51* (100vw / 375));
    right: calc(-38* (100vw / 375));
    width: calc(60* (100vw / 375));
    height: calc(106* (100vw / 375));
    background: url(../img/img_balloon_1.png) no-repeat 0 0;
    background-size: 100%;
    content: "";
  }

  .intro_section .img_area .img_02 {
    width: calc(300* (100vw / 375));
    padding-top: 0;
  }

  .intro_section .img_area .img_02::before {
    display: none;
  }


  /* ===================
    　　PRODUCT01
  =================== */

  .product01 {
  }

  .product01 .mv_area {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(30* (100vw / 375));
    width: auto;
  }

  .product01 .mv_area .img_mv_01,
  .product01 .mv_area .img_mv_02 {
  }

  .product01 .mv_area .img_mv {
    border-width: 2px;
  }

  .product01 .mv_area .img_mv_01 {
    position: relative;
    right: calc(-20* (100vw / 375));
    width: calc(210* (100vw / 375));
    margin: auto;
    padding-bottom: 0;
  }

  .product01 .mv_area .img_mv_02 {
    position: relative;
    left: calc(-40* (100vw / 375));
    width: calc(180* (100vw / 375));
    margin: auto;
  }

  .product01 .txt_main {
    padding: calc(50* (100vw / 375)) 0;
    font-size: calc(17* (100vw / 375));
    line-height: 1.4;
    letter-spacing: 0.14em;
  }

  .product01 .img_character {
    position: inherit;
    right: inherit;
    bottom: auto;
    width: calc(118* (100vw / 375));
    margin: auto auto calc(32* (100vw / 375));
  }

  .product01 .img_area {
    width: calc(276* (100vw / 375));
    margin: auto auto calc(40* (100vw / 375));
  }

  .product01 .img_area .product_name {
  }

  /* ---- Anime Notes ---- */

  .anime_notes {
  }
  /* ---- 以下「100vw / 80」箇所はPCの値引き継いで調整しています ---- */
  .img_mv_01 .anime_notes .icn_note:nth-child(1) {
    top: calc(7.9* (100vw / 80));
    right: calc(4.6* (100vw / 80));
    width: calc(4.9* (100vw / 80));
    height: calc(4.8* (100vw / 80));
  }

  .img_mv_01 .anime_notes .icn_note:nth-child(2) {
    top: calc(0.65* (100vw / 80));
    right: calc(4.5* (100vw / 80));
    width: calc(9.02* (100vw / 80));
    height: calc(12.1* (100vw / 80));
  }

  .img_mv_01 .anime_notes .icn_note:nth-child(3) {
    top: calc(.74* (100vw / 80));
    right: calc(0.32* (100vw / 80));
    width: calc(13* (100vw / 80));
    height: calc(12* (100vw / 80));
  }

  .img_mv_01 .anime_notes .icn_note:nth-child(4) {
    top: calc(-4.5* (100vw / 80));
    right: calc(0.22* (100vw / 80));
    width: calc(13.3* (100vw / 80));
    height: calc(17.3* (100vw / 80));
  }

  .img_mv_01 .anime_notes .icn_note:nth-child(5) {
    top: calc(-4.5* (100vw / 80));
    right: calc(-4.8* (100vw / 80));
    width: calc(18.3* (100vw / 80));
    height: calc(17.3* (100vw / 80));
  }

  .img_mv_02 .anime_notes .icn_note:nth-child(1) {
    top: calc(2.6* (100vw / 80));
    left: calc(3.1* (100vw / 80));
    width: calc(4.72* (100vw / 80));
    height: calc(4.67* (100vw / 80));
  }

  .img_mv_02 .anime_notes .icn_note:nth-child(2) {
    top: calc(0.4* (100vw / 80));
    left: calc(-2.25* (100vw / 80));
    width: calc(10.1* (100vw / 80));
    height: calc(6.9* (100vw / 80));
  }

  .img_mv_02 .anime_notes .icn_note:nth-child(3) {
    top: calc(-3.3* (100vw / 80));
    left: calc(-2.2* (100vw / 80));
    width: calc(10.1* (100vw / 80));
    height: calc(10.7* (100vw / 80));
  }

  .img_mv_02 .anime_notes .icn_note:nth-child(4) {
    top: calc(-6.3* (100vw / 80));
    left: calc(-4.55* (100vw / 80));
    width: calc(12.4* (100vw / 80));
    height: calc(13.6* (100vw / 80));
  }

  /* ===================
    　　PRODUCT02
  =================== */

  .product02 {
  }

  .product02 .img_area_wrap {
    flex-direction: column;
    gap: calc(74* (100vw / 375));
    width: calc(240* (100vw / 375));
    margin: auto;
  }

  .product02 .img_character {
    position: inherit;
    left: auto;
    bottom: auto;
    width: calc(110* (100vw / 375));
    margin: auto auto calc(30* (100vw / 375));
  }

  .product02 .img_area_wrap .img_02 {
    text-align: center;
  }

  .product02 .img_area_wrap .img_02 a img {
    width: 100%;
  }

  .product02 .img_area_wrap .img_01 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(40* (100vw / 375));
  }

  .product02 .img_area_wrap .img_01 a img {
    width: 100%;
  }

  .product02 .img_area_wrap .img_01::before {
    right: calc(-25* (100vw / 375));
    bottom: calc(5* (100vw / 375));
    width: calc(76* (100vw / 375));
    height: calc(68* (100vw / 375));
  }

  .product02 .img_area_wrap .img_01::after {
    transition: width 1.3s cubic-bezier(0.05, 0.52, 0.52, 0.95) .8s;
    top: calc(-29* (100vw / 375));
    left: 0;
    height: calc(90* (100vw / 375));
    background-size: calc(240* (100vw / 375));
    border-radius: 0 calc(10* (100vw / 375)) calc(10* (100vw / 375)) 0;
  }

  .product02 .img_area_wrap .img_01.effect::after {
    width: calc(270* (100vw / 375));
  }


  /* ===================
    　　PRODUCT03
  =================== */

  .product03 {
  }

  .product03 .sec_inner {
  }

  .product03 .img_area_wrap {
    flex-direction: column;
    align-content: center;
    gap: 0;
    width: auto;
    margin: auto auto calc(40* (100vw / 375));
  }

  .product03 .img_character {
    width: calc(140* (100vw / 375));
    margin: auto auto calc(20* (100vw / 375));
    text-align: center;
  }

  .product03 .img_character img {
    width: 100%;
  }

  .product03 .product_name {
  }

  .product03 .img_01 {
    position: relative;
    z-index: 1;
    left: calc(40* (100vw / 375));
    width: calc(230* (100vw / 375));
  }

  .product03 .img_character .txt_en {
    display: none;
  }

  .product03 .img_01::before {
    display: none;
  }

  .product03 .img_01 .txt_en {
    position: absolute;
    top: calc(147* (100vw / 375));
    left: calc(-111* (100vw / 375));
    transform: rotate(90deg);
    padding: 0;
    font-size: calc(16* (100vw / 375));
    font-style: normal;
    font-weight: 700;
    line-height: calc(41* (100vw / 375));
    letter-spacing: calc(1.6* (100vw / 375));
  }

  .product03 .img_02 {
    position: relative;
    z-index: 2;
    top: calc(-10* (100vw / 375));
    left: calc(-36* (100vw / 375));
    width: calc(170* (100vw / 375));
    margin-top: auto;
  }

  .product03 .img_02::before {
    position: absolute;
    top: calc(-27* (100vw / 375));
    left: calc(-12* (100vw / 375));
    z-index: 2;
    width: calc(42* (100vw / 375));
    height: calc(43* (100vw / 375));
    background: url(../img/img_flower_2.png) no-repeat 0 0;
    background-size: 100%;
    content: "";
  }

  .product03 .img_02 .product_name {
    padding-left: 0;
  }

  .product03 .img_03 {
    right: calc(-33* (100vw / 375));
    z-index: 1;
    width: calc(145* (100vw / 375));
    margin-top: calc(-136* (100vw / 375));
    margin-left: auto;
  }

  .product03 .img_03::before {
    top: calc(-102* (100vw / 375));
    right: 0;
    left: auto;
    bottom: auto;
    width: calc(60* (100vw / 375));
    height: calc(55* (100vw / 375));
    background: url(../img/img_flower_1.png) no-repeat 0 0;
    background-size: 100%;
  }


  /* ===================
    　　SLIDE AREA
  =================== */

  .slider_section {
    padding: calc(60* (100vw / 375)) 0 0;
  }

  .slider_section .img_character {
    top: calc(60* (100vw / 375));
    left: calc(20* (100vw / 375));
    width: calc(117* (100vw / 375));
    padding: 0;
  }

  .slider_section .sec_inner {
    width: 100%;
    padding-top: calc(80* (100vw / 375));
    padding-bottom: calc(60* (100vw / 375));
  }

  .slider_section .sec_inner::before {
    left: -20%;
    right: -20%;
  }

  .snap_list {
    padding-top: calc(6* (100vw / 375));
  }

  .swiper-wrapper {
  }

  .snap_list .swiper-slide {
    margin-right: calc(110* (100vw / 375)) !important;
    margin-bottom: calc(40* (100vw / 375));
  }

  .snap_list .swiper-slide a {
  }

  .snap_list .swiper-slide img {
  }

  .snap_list .swiper-slide .product_name {
    padding-right: 0;
    padding-left: 0;
    font-size: calc(8* (100vw / 375));
    line-height: calc(11* (100vw / 375)); /* 137.5% */
    letter-spacing: calc(0.8* (100vw / 375));
  }


  /* スライド全体 */
  .swiper-slide {
  }

  /* 左右のスライド */
  .swiper-slide-prev,
  .swiper-slide-next,
  .swiper-slide-duplicate-prev,
  .swiper-slide-duplicate-next {
  }

  .two_column  {
    gap: calc(15* (100vw / 375));
  }

  .snap_list .snap_01 img {
    height: calc(576 *(100vw / 700));
  }

  .snap_list .snap_02 img {
    width: auto;
    height: calc(429 *(100vw / 700));
  }

  .snap_list .snap_03 img {
    height: calc(645 *(100vw / 700));
  }

  .snap_list .snap_04 img {
    height: calc(510 *(100vw / 700));
  }

  .snap_list .snap_05 img {
    height: calc(739 *(100vw / 700));
  }

  .snap_list .snap_06 img {
    height: calc(456 *(100vw / 700));
  }

  .snap_list .snap_07 img {
    height: calc(736 *(100vw / 700));
  }

  .snap_list .snap_08 img {
    height: calc(374 *(100vw / 700));
  }

  .snap_list .snap_09 img {
    height: calc(636 *(100vw / 700));
  }

  .snap_list .snap_10 img {
    height: calc(739 *(100vw / 700));
  }

  .snap_list .snap_11 img {
    height: calc(739 *(100vw / 700));
  }

  .snap_list .snap_12 img {
    height: calc(454 *(100vw / 700));
  }

  /* ===================
    　  COPYRIGHT
  =================== */

  .copyright_section {
  }

  .copyright_section .txt_notes {
    font-size: calc(10* (100vw / 375));
    line-height: calc(26* (100vw / 375));
    letter-spacing: calc(1* (100vw / 375));
  }

  .copyright_section .txt_copyright {
    width: calc(318* (100vw / 375));
    padding-top: calc(40* (100vw / 375));
    font-size: calc(8* (100vw / 375));
    line-height: calc(14* (100vw / 375));
    letter-spacing: calc(0.8* (100vw / 375));
  }

  .slider_section .btn_wrap .btn_link {
    margin-bottom: calc(20* (100vw / 375));
  }

}
