@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: kozuka-gothic-pr6n, 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 { max-width: 100%; vertical-align: bottom;}

.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;
}

/*++++++++++++++++++++++++++++++++++++*/
/*            Candy Factory           */
/*++++++++++++++++++++++++++++++++++++*/
#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(40vw, 560px)) / 2 - .5em);/* W1400pxに対してのvw */
  height: 100vh;
  z-index: 10;
}
#center {
  width: min(40vw, 560px);
  margin: 0 auto;
  background: url("../img/bg_main.png");
  background-repeat: repeat-y;
  background-size: cover;
  /*background-size: 100%;*/
  background-position: top center;
  padding-top: min(5.7vw,80px);
  z-index: 50;
}

#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: center;
  flex-direction: column;
  right: 0;
}

.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 bottom left, rgb(242, 185, 200) 0%, rgb(235, 220, 254) 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%;}
  }

.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%;
}

.video_blk {
  width: 92%;
  margin: 0 auto;
  padding: min(3.21vw,45px) min(1.78vw,25px);
  background: rgb(255, 255, 255, .5);
  border-radius: 1rem;
  aspect-ratio: 4 / 2.7;
}
  .video_blk iframe {
    width: 100%;
    height: 100%;
    vertical-align: middle;
  }/**/

section + section {
  margin-top: min(6vw,84px);
}
section:first-of-type + section { margin-top: min(4.64vw, 65px);}
section:nth-of-type(2) + section { margin-top: min(6.57vw, 92px);}

.head02 {
  margin-bottom: min(3.428vw,48px);
}
.head02.product {
  margin-bottom: min(4.785vw,67px);
}
.lineup_cf + .lineup_cf {
  margin-top: min(2.64vw,37px);
}
.about_cf + .about_cf {
  margin-top: min(1.9vw,26.7px);
}
.about_di {
  margin-top: min(2.285vw,32px);
}
.product_img {
  margin-bottom: min(3.2vw,44.8px);
}
.product_info {
  margin-bottom: min(2.52vw,35.4px);
}
.blk_product {
  width: 90%;
  margin: 0 auto;
  padding: 21.4px 35px;
  padding: min(1.528vw,21.4px) min(2.5vw,35px);
  background: #fff;
  border-radius: min(2.85vw,40px);
}
.blk_product img { margin-bottom: min(1.285vw,18px);}

.blk_product + .blk_product {
  margin-top: min(2.52vw,35.4px);
}
.copyright {
  margin-top: min(1.96vw,27.5px);
  margin-bottom: min(5.35vw,75px);
}

/*++++++++++++++++++++++++++++++++++++*/
/*             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: 120px;}

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

    #menu_pc_wrap ul li,
    #menu_wrap ul li {
      position: relative;
      margin: 1.1em 0;
    }
    #menu_pc_wrap ul li.child,
    #menu_wrap ul li.child { margin: .2em 0;}

    #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%;
        padding: .6em 1em;
        border: 2px solid #9a85bd;
        border-radius: 2em;
        font-family: "M PLUS Rounded 1c", sans-serif;
        font-weight: 800;
        font-style: normal;
        font-size: min(1.285vw, 18px);
        color: #9a85bd;
        text-decoration: none;
        transition-duration: 0.2s;
      }
      /*#menu_pc_wrap ul li:not([class]) a::before,
      #menu_pc_wrap ul li:not([class]) a::after,
      #menu_wrap ul li:not([class]) a::before,
      #menu_wrap ul li:not([class]) a::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: .2em;
        width: .8em;
        height: .8em;
        background: url("../img/icon_star.png");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
      }
      #menu_pc_wrap ul li:not([class]) a::before,
      #menu_wrap ul li:not([class]) a::before { left: 0;}
      #menu_pc_wrap ul li:not([class]) a::after,
      #menu_wrap ul li:not([class]) a::after { right: 0;}

      #menu_pc_wrap ul li.child a,
      #menu_wrap ul li.child a {
        padding: 0;
        font-size: min(1.285vw, 18px);
        -webkit-transition: all .3s;
        transition: all .3s;
      }*/
      /*#menu_pc_wrap ul li a:hover,
      #menu_wrap ul li a:hover {
        -webkit-transform: translateY(-5px);
        -ms-transform: translateY(-5px);
        transform: translateY(-5px);
      }*/
      #menu_pc_wrap ul li:not([class]) a:hover {
        background: rgb(255,255,255,.5);
        background-clip: padding-box;
        border: 2px solid rgb(255,255,255,.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;
    }

.pladoll_main,
.pladoll_pkg {
  position: relative;
  margin: 0 auto;
}

  .pladoll_main img,
  .pladoll_pkg img { position: absolute;}

.pladoll_main {
  width: min(90%,400px);
  height: min(35vw,490px);
  height: min(37.14vw,520px);
/*  margin-bottom: min(2.85vw, 40px);
  margin-bottom: min(6.42vw, 90px);*/
  margin-bottom: min(4.28vw, 60px);
/*  margin-bottom: min(2.14vw, 30px);*/
}
  .pladoll_main a {
    position: absolute;
    display: block;
    /*width: min(16.42vw, 230px);
    height: min(13.21vw, 185px);
    width: min(17.14vw, 240px);
    height: min(13.78vw, 193px);*/
    width: min(17.85vw, 250px);
    height: min(14.42vw, 202px);
  }
  .doll_mm {
    /*top: min(9.64vw, 135px);*/
    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%);}
    }

.pladoll_pkg {
  display: none;
  width: min(21.42vw,300px);
  height: min(8.21vw,115px);
}
  .pladoll_pkg img {
    width: min(4.85vw,68px);
    height: auto;
  }
  .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,
.pladoll_pkg,
.scroll_wrap,
#header::before { display: none!important;}

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

#center { width: 100%; padding-top: 14.2vw;}
section + section { margin-top: 16.8vw;}
section:first-of-type + section { margin-top: 16.5vw;}
.head02 { margin-bottom: 8.2vw;}
.lineup_cf + .lineup_cf { margin-top: 6.4vw;}
.about_cf + .about_cf { margin-top: 4.6vw;}
.head02.product { margin-bottom: 9vw;}
.product_img { margin-bottom: 5vw;}
.product_info { margin-bottom: 6vw;}
.blk_product + .blk_product { margin-top: 5.5vw;}
.blk_product { padding: 3.2vw 5vw; border-radius: 5.3vw;}
.copyright { margin-top: 4vw; margin-bottom: 10vw;}

#ecBtnArea { width: 97%;}


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

#menu_wrap {
  /*display: none;*/
  position: fixed; 
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background:linear-gradient(45deg, #fee59e,#fddfec,#fac5d9,#fee59e);
  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: 90%;
}
#menu_wrap ul li {
  list-style: none;
  text-align: center;
  margin: 1em 0;
}
  #menu_wrap ul li.child {
    margin: .8em 0;
  }
#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:not([class]) a::before,
  #menu_wrap ul li:not([class]) a::after {
    background: url(../img/icon_star_cl.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }

/* ======================
          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);
}





}