@charset "UTF-8";
/* CSS Document */
.header, .footer { position: relative; margin: 0 auto; z-index: 100;}
.header { width: 90%; max-width: 1400px;}
.footer { width: 100%;}

*{
  margin: 0;
  padding: 0;
  font-family: "MFW-ShinMGoPr6-Medium", sans-serif;
  font-weight: 400;
  font-style: normal;
  box-sizing: border-box;
}
html {
  overflow: auto;
  scroll-behavior: smooth;
  scroll-padding-top: 1.5em;
}
#allWrap {
  max-width: 100%;
}
.fixed-body {
  overflow: hidden;
  height: 100vh;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
/* Correct `inline-block` display not defined in IE 8/9. */
audio,
canvas,
video {
  display: inline-block;
}
/* Prevent modern browsers from displaying `audio` without controls.Remove excess height in iOS 5 devices. */
audio:not([controls]) {
  display: none;
  height: 0;
}
/* Address `[hidden]` styling not present in IE 8/9.Hide the `template` element in IE, Safari, and Firefox < 22.*/
[hidden],
template {
  display: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;}

a {
  text-decoration: none;
  transition: 0.5s;
}
a:hover {
  opacity: .6;
  transition: 0.5s;
}

.only_pc { display: inline-block!important;}
.only_smp { display: none!important;}

#bottom { width: 100%; height: 1px; position: absolute; bottom: 0;}

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

#header {
  position: relative;
}
#header::before {
  position: absolute;
  content: "";
  width: 100vw;
  height: 147px;
  background: #fff;
}

/*++++++++++++++++++++++++++++++++++++*/
/*            Heart Capsule           */
/*++++++++++++++++++++++++++++++++++++*/
#column3_wrap {
  display: flex;
  position: relative;
  z-index: 1;
}
/*#column3_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 900px;
  background: url(../img/bg_pict.png) no-repeat top center / 120%;
  z-index: 1;
  opacity: .3;
  animation: blink 10s linear infinite;
}
@keyframes blink {
  0% { filter: blur(0);}
  50% { filter: blur(3px);}
  100% { filter: blur(0);}
}*/

#side_left, #side_right {
  bottom: 0;
  width: calc((100vw - min(51.928vw, 727px)) / 2 - .5em);/* W1400pxに対してのvw */
  height: 100vh;
  z-index: 10;
}
#center {
  position: relative;
  width: min(51.928vw, 727px);
  margin: 0 auto;
  /*padding-bottom: min(7.142vw,100px);*/
  background: #fff;
  z-index: 50;
}
  #center::before,
  #center::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: min(2.571vw,36px);
    filter: blur(min(1.071vw,15px));
    z-index: -10;
    mix-blend-mode: multiply;
  }
  #center::before { border-left: 4px solid #f816b4;}
  #center::after { border-right: 4px solid #f816b4;}


#side_left {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: end;
  flex-direction: column;
  left: 0;
}
#side_right {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  right: 0;
  padding-top: min(17.142vw,240px);
}

.range { position: relative;}

.follow {
  position: absolute;
  bottom: 0;
}
.follow.is-fixed {
  position: fixed;
  bottom: 0;
}

.grad-wrapper {
  /*background:linear-gradient(45deg, #ebedee,#e0c3fc,#8ec5fc,#ebedee);
  background:linear-gradient(45deg, #fee59e,#fddfec,#fac5d9,#c2b6d7,#b2def8,#fee59e);
  background:linear-gradient(45deg, #fee59e,#fddfec,#ebedee,#e0c3fc,#c2b6d7,#8ec5fc,#b2def8,#ebedee,#fac5d9,#a8fff5,#fee59e);
  background-size: 100% 100%;
  background-attachment:fixed;
  animation: bggradient 10s ease infinite;*/
  position: absolute;
  opacity: 3;
  inset: 0px;
  background: linear-gradient(to right, rgb(244, 217, 228) 0%, rgb(220, 241, 249) 100%);
  background-attachment: fixed;
  /*animation: 20s ease 10s infinite alternate none running bgColors;*/
  animation: 20s ease 10s infinite alternate none running bgColors;
  overflow: clip;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
@keyframes bgColors {
  from{
    filter:hue-rotate(0deg);
  }
  to{
    filter:hue-rotate(360deg);
  }
}
  @keyframes bggradient {
    0% { background-position: 0% 50%;}
    50% { background-position: 100% 50%;}
    100% { background-position: 0% 50%;}
  }
.grad-wh-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 上から下へ白から透明になるグラデーション */
  background: linear-gradient(to bottom, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none; /* 下の要素をクリックできるようにする */
  z-index: -1;
}
  .grad-wh-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/bg_heart.png");
    background-repeat: repeat;
    background-position: top center;
    background-size: 4.2%;
  }

.scroll-infinity {
  position: absolute;
  top: 0;
  width: 100vw;
  height: 100vh;
  opacity: .5;
  z-index: 5;
}
@keyframes infinity-scroll-left {
 from { transform: translateX(0);}
 to { transform: translateX(-100%);}
}
.scroll_wrap {
  position: absolute;
  display: flex;;
  width: 100%;
  margin-bottom: min(10.71vw,150px);
  overflow: hidden;
  opacity: .5;
  z-index: 5;
}
.scroll_list {
  display: flex;
  list-style: none;
  padding: 0 10vw 0 0;
  gap: 10vw;
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll_item {
  width: calc(100vw / 1.7);
}
.scroll_item>img {
  width: 100%;
}

/* スライダー */
.slider-wrapper {
  display: flex;
  column-gap: min(1.071vw,15px);
  overflow: hidden;
}
  .slider {
    list-style: none;
    animation: scroll-left 20s infinite linear .5s both;
  }
  .emo .slider {
    animation: scroll-right 20s infinite linear .5s both;
  }
  /* スライド */
  .slide {
    width: min(119.4718vw, 1672.6064px);
    height: auto;
  }
  /* スライドの画像 */
  .slide img {
    display: block;
    width: auto;  
    height: 100%;
  }
  /* CSSアニメーション */
  @keyframes scroll-left {
    from { transform: translateX(0);}
    to { transform: translateX(-100%);}
  }
  @keyframes scroll-right {
    from { transform: translateX(-100%);}
    to { transform: translateX(0);}
  }

#front_img {
  z-index: 70;
}

.bg_blue,
.bg_pink,
.bg_white {
  margin-top: min(-2.357vw,-33px);
  padding-bottom: min(4.928vw,69px);
  padding-top: min(2.428vw,34px);
}
.bg_blue {
  background: url(../img/bg_wave_blue_pc.png) no-repeat bottom / 101%;
  z-index: 60;
}
.bg_pink {
  background: url(../img/bg_wave_pink_pc.png) no-repeat bottom / 101%;
  z-index: 55;
}
.bg_white {
  position: relative;
  padding-bottom: min(5.35vw,75px);
  background: #fff;
  z-index: 51;
}
  .bg_white::before,
  .bg_white::after {
    content: '';
    position: absolute;
    bottom: min(-0.6428vw,-9px);
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: min(2.142vw,30px);
    /*background: url(../img/bg_wave_white_pc.png) no-repeat top / 101%;*/
    z-index: 52;
  }
  .bg_white::after {
    background: #fff;
    z-index: 51;
    bottom: max(-2.666vw,-20px);
  }

.btn_order,
.btn_detail {
  display: block;
  width: min(15.085vw,211.2px);
  margin: 0 auto;
}
.btn_order { margin-top: min(2.178vw,30.5px);}

.blk_original,
.blk_emo {
  width: min(41.09vw,575.26px);
  margin: 0 auto;
  padding-bottom: min(3.714vw,52px);
  background: #fff;
  border-radius: min(2.071vw,29px);
  box-shadow: 0 0 min(1.714vw,24px) min(-.1428vw,-2px) rgba(93, 193, 207, .8);
}
.blk_emo {
  margin-top: min(5.524vw,77.34px);
  box-shadow: 0 0 min(1.714vw,24px) min(-.1428vw,-2px) rgba(234, 109, 164, .8);
}

.detail_info {
  display: flex;
  align-items: flex-start;
  margin-bottom: min(2.142vw,30px);
  font-size: min(1.174vw,16.44px);
  color: #5dc1cf;
}
  .detail_txt {
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    list-style: none;
    width: 62.5%;
    margin-top: min(3.035vw,42.5px);
    padding-left: min(3.071vw,43px);
    line-height: 1.7;
  }
    .detail_txt li {
      width: calc(100% - 5.8em);
      margin-bottom: 1em;
      letter-spacing: .05em;
    }
    .detail_txt li.head { width: 5.8em;}

  .detail_photo {
    width: calc(100% - 62.5%);
  }
  #info_emo .detail_txt {
    margin-top: min(1.712vw,23.97px);
    color: #f46786;
  }

.copyright {
  margin-top: min(5.35vw, 75px);
  font-family: "MFW-ShinMGoPr6-Regular", sans-serif;
  font-size: min(1.6vw,12px);
  color: #5dc1cf;
  text-align: center;
}


/*++++++++++++++++++++++++++++++++++++*/
/*             NAVIGATION             */
/*++++++++++++++++++++++++++++++++++++*/
#hum_menu { display: none;}

#navArea {
  display: flex;
  width: calc(100% - 200px);
  /*position: absolute;*/
  justify-content: space-between;
}
#menu_pc_wrap,
#menu_wrap {
  width: 100%;
  z-index: 3;
}
#menu_pc_scroll,
#menu_scroll {
  text-align: center;
}
#menu_pc_scroll { margin-top: min(3.714vw,52px);}

  #menu_pc_wrap ul,
  #menu_wrap ul {
    width: 80%;
    margin: 0 auto;
    list-style: none;
  }
  #menu_pc_wrap ul { width: min(12.771vw, 178.8px);}

    #menu_pc_wrap ul li,
    #menu_wrap ul li {
      position: relative;
      margin: 0;
    }
    #menu_pc_wrap ul li.child,
    #menu_wrap ul li.child { margin: .2em 0;}
    #menu_pc_wrap ul li + li { margin-top: min(1.642vw,23px);}

    #menu_pc_wrap ul li:not([class]) + li.child { margin-top: -.5em;}

      #menu_pc_wrap ul li a,
      #menu_wrap ul li a {
        position: relative;
        display: block;
        width: 100%;
        text-decoration: none;
        transition-duration: 0.2s;
      }
      #menu_pc_wrap ul li:not([class]) a:hover {
        opacity: .5;
      }
    #menu_pc_wrap ul li.child a,
    #menu_wrap ul li.child a {
      color:  #fff;
      border: none;
    }
    #menu_pc_wrap ul li.child a:hover {
      background: none;
      border: none;
      opacity: .5;
    }
#menu_pc_wrap ul li.btn_external {
  margin: .8em 0 1.1em;
}
  #menu_pc_wrap ul li.btn_external a {
    position: relative;
    width: 80%;
    margin: 0 auto;
    padding-right: 1em;
    background-image: linear-gradient(170deg, #d9ddda, #64c3de 100%);
    border: none;
    font-size: min(1.285vw, 16px);
    color: #fff;
    transition : all 0.5s ease 0s;
  }
  #menu_pc_wrap ul li.btn_external a::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: min(.357vw,5px) 0 min(.357vw,5px) min(.5vw,5px);
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 0;
    right: .8em;
    bottom: 0;
    margin: auto;
  }
  #menu_pc_wrap ul li.btn_external span { font-size: 90%;}

  #menu_pc_wrap ul li.btn_external a:hover {
    background: rgb(255,255,255,.5);
    color: #64c3de;
  }
  #menu_pc_wrap ul li.btn_external a:hover::before { border-color: transparent transparent transparent #64c3de;}

.pladoll_main,
.logo_heartcapsule {
  position: relative;
  margin: 0 auto;
}
  .pladoll_main img,
  .logo_heartcapsule img { position: absolute;}

.pladoll_main {
  width: min(90%,400px);
  height: min(35vw,490px);
  height: min(37.14vw,520px);
  margin-bottom: min(4.28vw, 60px);
}
  .pladoll_main a {
    position: absolute;
    display: block;
    width: min(17.85vw, 250px);
    height: min(14.42vw, 202px);
  }
  .doll_mm {
    bottom: min(12.14vw,170px);
    bottom: min(11.42vw,160px);
    right: 0;
    animation: floating-mm 3s ease-in-out infinite alternate-reverse;
    animation-delay: .5s;
  }
    @keyframes floating-mm {
      0% { transform: translateY(-2%);}
      100% { transform: translateY(2%);}
    }
  .doll_kr {
    /*top: min(14.28vw, 200px);*/
    bottom: min(8.21vw,115px);
    bottom: min(6.78vw,95px);
    left: -3%;
    animation: floating-kr 2.8s ease-in-out infinite alternate-reverse;
    animation-delay: .3s;
  }
    @keyframes floating-kr {
      0% { transform: translateY(-1.8%);}
      100% { transform: translateY(1.8%);}
    }
  .doll_hk {
    bottom: 0;
    right: 16%;
    animation: floating-hk 2.2s ease-in-out infinite alternate-reverse;
  }
    @keyframes floating-hk {
      0% { transform: translateY(-2%);}
      100% { transform: translateY(2%);}
    }
  .doll_cr {
    /*top: 0;*/
    bottom: min(22.14vw,310px);
    bottom: min(20.71vw,290px);
    left: 23%;
    animation: floating-cr 2.5s ease-in-out infinite alternate-reverse;
    animation-delay: 1.2s;
  }
    @keyframes floating-cr {
      0% { transform: translateY(-1.5%);}
      100% { transform: translateY(1.5%);}
    }

.logo_heartcapsule {
  width: min(17.142vw,240px);
  height: min(10.92vw,153px);
}
  .logo_heartcapsule img {
    width: 100%;
    height: auto;
    /*animation: floating-logo 2.5s ease-in-out infinite alternate-reverse;*/
  }
  @keyframes floating-logo {
    0% { transform: translateY(-3.5%);}
    100% { transform: translateY(3.5%);}
  }


  .pkg_mm {
    left: 0;
    top: min(.71vw, 10px);
    animation: floating-s-mm 1.6s ease-in-out infinite alternate-reverse;
  }
    @keyframes floating-s-mm {
      0% { transform: translateY(-.5%);}
      100% { transform: translateY(.5%);}
    }
  .pkg_kr {
    left: 25.8%;
    animation: floating-s-kr 1.3s ease-in-out infinite alternate-reverse;
  }
    @keyframes floating-s-kr {
      0% { transform: translateY(-.1%);}
      100% { transform: translateY(.1%);}
    }
  .pkg_hk {
    right: 25.8%;
    top: min(.71vw, 10px);
    animation: floating-s-hk 1.6s ease-in-out infinite alternate-reverse;
  }
    @keyframes floating-s-hk {
      0% { transform: translateY(-.4%);}
      100% { transform: translateY(.4%);}
    }
  .pkg_cr {
    right: 0;
    top: min(.35vw, 5px);
    animation: floating-s-cr 1.8s ease-in-out infinite alternate-reverse;
  }
    @keyframes floating-s-cr {
      0% { transform: translateY(-.2%);}
      100% { transform: translateY(.2%);}
    }

#ecBtnArea {
  width: 96%;
  margin: 0 auto;
}
  #ecBtnArea p {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding-top: 40px;
  }
  #ecBtnArea ul {
    display: flex;
    justify-content: flex-start;
    margin: 0 auto;
    padding: 0;
    flex-wrap: wrap;
    flex-direction: row;
    column-gap: 2.5%;
    row-gap: .9vw;
  }
    #ecBtnArea ul::before {
      content: "";
      display: block;
      width: calc(100% / 3 - 1.8%);
      order: 1;
    }
    #ecBtnArea ul li {
      display: inline-block;
      display: flex;
      width: calc(100% / 3 - 1.8%);
      list-style: none;
      vertical-align: bottom; }

      #ecBtnArea ul li a {
        display: flex;
        align-items: center;
        min-height: min(4.142vw,58px);
        padding: 0 1rem;
        border-radius: min(.57vw,8px);
        border: none;
        background: #ffb11b;
        text-align: center;
        vertical-align: center;
        text-decoration: none;
        box-sizing: border-box; }
        #ecBtnArea ul li a img {
          width: 95%;
          display: block;
          margin: 0 auto;
        }
        #ecBtnArea ul li a:hover {
          opacity: 0.7;
          transform: translateY(0px);
          -webkit-transition: all 1s;
          transition: all 1s;
        }
        @media screen and (max-width: 680px) {
          .detail_blk #ecBtnArea {
            bottom: 1.33vw; }
          #ecBtnArea ul {
            margin: 1.5vw auto 0;
            column-gap: 1.5%;
            row-gap: 1.2vw; }
          #ecBtnArea ul li {
            width: calc(100% / 3 - 1%); }
          #ecBtnArea ul li a {
            min-height: 11vw;
            border: 2px solid #fff;
            border-radius: 2vw; }
          #ecBtnArea ul li a img {
            width: 100%; }
          .copyAmazon {
            padding: .3em 0 .5em 0 !important;
            font-size: 2.5vw !important; }
        }
.copyAmazon {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 1em 0 1em 0.5em !important;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 65% !important;
  font-weight: normal !important;
  text-align: left !important; }


@media screen and (max-width:680px){
.only_pc { display: none!important;}
.only_smp { display: inline-block!important;}

#side_left,
.scroll_wrap,
#header::before { display: none!important;}

#column3_wrap {
  display: block;
}
#side_left,#side_right { display: none;}

#center { width: 100%;}
  #center::before, #center::after { display: none;}

.bg_blue,
.bg_pink,
.bg_white {
  margin-top: -5vw;
  padding-bottom: 10.666vw;
  padding-top: 5.439vw;
}
.bg_blue { background: url(../img/bg_wave_blue_sp.png) no-repeat bottom / 101%;}
.bg_pink { background: url(../img/bg_wave_pink_sp.png) no-repeat bottom / 101%;}
.bg_white { padding-bottom: 1.666vw;}

.slider-wrapper { column-gap: 2vw;}
.slide { width: 250vw;}

.btn_order,
.btn_detail { width: 32vw;}
.btn_order { margin-top: 5vw;}

.blk_original, .blk_emo {
  width: 85.6vw;
  padding-bottom: 6.8vw;
  border-radius: 4.337vw;
  box-shadow: 0 0 3vw .1vw rgba(93, 193, 207, .6);
}
.blk_emo {
  margin-top: 11.5vw;
  box-shadow: 0 0 3vw .1vw rgba(234, 109, 164, .6);
}
/*.bg_white::before {
  bottom: -2.666vw;
  height: 4.503vw;
  background: url(../img/bg_wave_white_pc.png) no-repeat top / 101%;
}*/

.detail_info {
  margin-bottom: 3.866vw;
  font-size: 2.456vw;
}
  .detail_txt {
    margin-top: 6.133vw;
    padding-left: 6.133vw;
  }

.copyright {
  margin-top: 12vw;
  font-size: 2.2vw;
}


/* ======================
         Container
======================= */
#hum_menu { display: block;}

#menu_wrap {
  /*display: none;*/
  position: fixed; 
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background:linear-gradient(45deg, #dcf1f9,#f4d9e4,#ffecf3,#dcf1f9);
  transition: all 0.3s;
  z-index: -1;
}
#menu_wrap.panelopen {
  display: block;
  opacity: 1;
  z-index: 999;
}
/* ナビゲーションの縦スクロール */
#menu_wrap.panelopen #menu_scroll {
  position: fixed;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 999; 
}

/* ======================
           Nav
======================= */
#menu_wrap ul {
  display: none;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  z-index: 999;
}
#menu_wrap.panelopen ul {
  display: block;
  width: 60%;
}
#menu_wrap ul li {
  list-style: none;
  text-align: center;
  margin: 2em 0;
}
  #menu_wrap ul li.child {
    margin: .8em 0;
  }
#menu_wrap ul li.logo_heartcapsule_sp img {
  width: 95%;
  margin: 0 auto;
}

#menu_wrap ul li a {
  color: #9a85bd;
  font-size: 5.2vw;
  letter-spacing: 0.1em;
  text-decoration: none;
  /*text-transform: uppercase;*/
}
#menu_wrap ul li.child a {
  font-size: 4.7vw;
}
#menu_wrap ul li.btn_external {
  margin: 1.1em 0;
}
  #menu_wrap ul li.btn_external a {
    position: relative;
    width: 80%;
    margin: 0 auto;
    padding: .7em 0;
    background-image: linear-gradient(170deg, #d9ddda, #64c3de 100%);
    border: none;
    font-size: 4.5vw;
    color: #fff;
  }
  #menu_wrap ul li.btn_external a::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.4vw 0 1.4vw 1.4vw;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 0;
    right: .8em;
    bottom: 0;
    margin: auto;
  }
  #menu_wrap ul li.btn_external span { font-size: 90%;}


/* ======================
          Button
======================= */
.toggle_btn {
  position: fixed;
  top: 3vw;
  right: 3vw;
  width: min(15vw,75px);
  height: min(15vw,75px);
  background: #fff;
  border-radius: 50%;
  text-align: center;
  cursor: pointer;
  z-index: -1;
  opacity: 0;
  transition: all 0.3s;
}
  .toggle_btn.hoge_fixed {
    z-index: 9999;
    opacity: 1;
  }
  
.toggle_btn.open {
  background: #f79fc0;
}
.toggle_btn span {
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 60%;
  height: min(1.2vw, 6px);
  background: #f79fc0;
  border-radius: 2vw;
  transition: all .4s;
  }
.toggle_btn span:nth-of-type(1) { bottom: 40%;}
/*.toggle_btn span:nth-of-type(2) { top:23px;}*/
.toggle_btn span:nth-of-type(3) { top: 40%;}

.toggle_btn.open span {
  background: #fff;
}

.toggle_btn.open span:nth-of-type(1) {
  width: 65%;

  bottom: 0;
  transform: translateY(0) rotate(-45deg);
}
.toggle_btn.open span:nth-of-type(2) {
  opacity: 0;
}
.toggle_btn.open span:nth-of-type(3) {
  width: 65%;

  top: 0%;
  transform: translateY(0) rotate(45deg);
}





}