@charset "UTF-8";

@font-face {
  font-family: "Yu Gothic Regular";
  src: url(../font/YuGothic-Regular.woff);
}

@font-face {
  font-family: "Yu Gothic Medium";
  src: url(../font/YuGothic-Medium.woff);
}

@font-face {
  font-family: "Yu Gothic Blod";
  src: url(../font/YuGothic-Bold.woff);
}

/*=======================================
      SMACSS  base
========================================*/

p,
ul,
ol,
dl {
  margin: 0;
  padding: 0;
}

ul,
li {
  list-style: none;
}

#Wrap,
.wrapTop,
.wrapBottom {
  width: 100%;
  background-color: #EAEAEA;
}

#Wrap {
  padding-top: 6.8rem;
}

.slick-dots {
  display: none !important;
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

/* アニメーション */
.page_inner .fadein-load {
  opacity: 0;
  transition: opacity 1s, transform 1s ease;
}

.page_inner .fadein-load.active {
  opacity: 1;
  transform: none;
}

html {
  font-size: 62.5%;
}

/*=======================================
                  PC   
========================================*/

/* for PC */
/* ===================
	　　 General
=================== */
#page-lp {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 2rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #0F0F0F;
}

#page-lp a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  transition: 1s;
}

#page-lp img {
  width: 100%;
}

.en {
  font-family: "dharma-gothic-m", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.08em;
}

.font_MC {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-style: normal;
}

.sp_only {
  display: none;
}



  /* ===================
	　　　 top
=================== */

  .img_border {
    border: #0F0F0F 0.2rem solid;
  }

  .mv_area .mv_main {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
    gap: 6rem;
    width: 100vw;
    margin: 0 auto 12rem;
    padding: 6rem 0;
    background: linear-gradient(313deg, #d9d5d5, #e5e5e5);
  }

  .mv_area .mv_img {
    width: 47rem;
  }

  /* .page_inner .mv_text_container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  } */

  .page_inner .mv_ttl {
    text-align: center;
    font-size: 12rem;
    line-height: 1;
  }

  .page_inner .mv_lead {
    text-align: center;
    width: 20rem;
    margin: 2rem auto 0;
    font-size: 6rem;
    position: relative;
  }

  .page_inner .mv_lead::before {
    position: absolute;
    content: "";
    width: 4rem;
    height: 0.15rem;
    top: 4.3rem;
    left: 0;
    background-color: #0F0F0F;
  }

  .page_inner .mv_lead::after {
    position: absolute;
    content: "";
    width: 4rem;
    height: 0.15rem;
    top: 4.3rem;
    right: 0;
    background-color: #0F0F0F;
  }


  .mv_area .mainvisual_img_02 {
    position: absolute;
    width: 30rem;
    top: 43rem;
    right: 0;
  }

  .mv_area .main_item {
    margin: 0 0 9.58rem 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6rem;
  }

  .mv_area .main_item .item_img {
    width: 20rem;
    margin-left: 6rem;
    filter: drop-shadow(0 3px 6px #D4D4D4);
  }

  .mv_area .main_item .itme_textArea {
    font-size: 1.8rem;
  }

  .mv_area .main_item .item_ttl {
    position: relative;
    font-size: 4.6rem;
    line-height: 1.26;
  }

  .mv_area .main_item .item_ttl {
    position: relative;
    font-size: 5rem;
    line-height: 1;
    margin-bottom: 2.5rem;
    letter-spacing: 0.05em;
  }

  .mv_area .main_item .item_text {
    position: relative;
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 2.5rem;
    font-weight: bold;
  }

  .buy_btn {
    position: relative;
    display: block;
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    width: 15rem;
    border: #000 0.1rem solid;
    background-color: #404040;
    border-radius: 15rem;
    color: #fff;
    line-height: 1.3;
    text-align: center;
    z-index: 0;
    padding: 0.2rem 0 0 0;
  }

  .buy_btn:hover {
    background-color: #000;
    opacity: 1;
  }

  /* ===================
	　　 lp_lead_area
=================== */

  .page_inner .lp_lead_area {
    margin-bottom: 12rem;
    width: 100%;
    background-color: #E3E3E3;
    padding: 12rem 0;
  }

  .page_inner .lead_blk {
    position: relative;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-direction: row-reverse;
    margin-bottom: 4rem;
    gap: 6rem;
  }

  .page_inner .flex_left {
    width: 37.5rem;
  }

  .page_inner .flex_right {
    position: relative;
    width: 32rem;
  }

  .page_inner .flex_right::before {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #E3E3E3;
    top: 0;
    right: 0;
    z-index: 1;
    transition: all 0.8s;
  }

  .page_inner .ani_mask.active.flex_right::before {
    width: 0;
  }

  .page_inner .maintext {
    width: 90rem;
    margin: auto;
    text-align: center;
    position: relative;
    font-family: 'Noto Serif JP', serif;
    padding: 4rem 0;
  }

  .page_inner .maintext_ttl {
    font-size: 3rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 4rem;
  }

  .page_inner .maintext_ttl span {
    position: relative;
  }

  .page_inner .maintext_ttl span::before {
    position: absolute;
    display: block;
    content: "";
    background: url(../img/wave.svg) no-repeat;
    background-size: 100%;
    width: 100%;
    height: 10px;
    bottom: -0.5rem;
    left: 0;
  }

  .page_inner .maintext_text {
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 400;
    text-align: center;
  }

  .page_inner .mainLine {
    position: absolute;
    width: 0;
    height: 0.1rem;
    background-color: #707070;
  }
  
  .page_inner .mainLine.line_1 {
    top: 0;
    left: 0;
  }
  .page_inner .mainLine.line_2 {
    top: 0;
    left: 0;
    width: 0.1rem;
  }
  .page_inner .mainLine.line_3 {
    bottom: 0;
    right: 0;
  }
  .page_inner .mainLine.line_4 {
    bottom: 0;
    right: 0;
    width: 0.1rem;
  }


  /* ===================
	　　 howTo
=================== */

  .page_inner .howto {
    margin-bottom: 15rem;
  }

  .page_inner .sec_ttl {
    font-size: 8rem;
    text-align: center;
    margin-bottom: 6rem;
    line-height: 1;
  }

  .page_inner .con_img {
    width: 45rem !important;
    z-index: 2 !important;
  }

  .slick-list {
    width: 45rem !important;
  }

  .slick-prev {
    left: 0;
    z-index: 5;
  }

  .slick01 .slick-prev::before {
    content: "";
    position: absolute;
    background-image: url(../img/slick_prev.svg);
    background-repeat: no-repeat;
    width: 2rem;
    height: 2rem;
    left: 0.7rem;
    top: 0.5rem;
  }

  .slick01 .slick-next::before {
    content: "";
    position: absolute;
    background-image: url(../img/slick_next.svg);
    background-repeat: no-repeat;
    width: 2rem;
    height: 2rem;
    right: 2rem;
    top: 0.3rem;
  }


  .page_inner .item_inner {
    display: flex;
    align-items: center;
    width: 91rem;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    margin-bottom: 8rem;
  }

  .page_inner .txtbox {
    width: 40rem;
  }

  .page_inner .con_txt {
    font-family: "Yu Gothic Medium";
    font-size: 2rem;
    line-height: 1.7;
    position: relative;
    background-color: #eaeaea;
    border: #0F0F0F solid 0.15rem;
    text-align: center;
    padding: 0.6rem 0;
    font-weight: bold;
    margin-bottom: 4rem;
    letter-spacing: 0;
  }
  
  .page_inner .con_txt::before {
    position: absolute;
    content: "";
    width: 2rem;
    height: 2rem;
    background: url(../img/triangle.svg) no-repeat;
    background-size: 100%;
    bottom: -1.7rem;
    left: 50%;
    transform: translate(-50%);
  }

  .page_inner .txtbox .step_text {
    font-size: 1.6rem;
    line-height: 1.7;
    margin-bottom: 3rem;
  }

  .page_inner .txtbox .step_text.last {
    margin-bottom: 0;
  }

  .page_inner .txtbox .step_point_text {
    position: relative;
    font-size: 1.3rem;
    line-height: 1.7;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.6);
    margin-bottom: 4rem;
  }

  .page_inner .txtbox .step_point_text::before {
    position: absolute;
    display: block;
    content: "POINT";
    font-size: 3rem;
    font-family: "dharma-gothic-m", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    color: #0F0F0F;
    top: -1.5rem;
    right: 1.8rem;
    z-index: 1;
    letter-spacing: 0.06em;
  }

  .page_inner .txtbox .number {
    font-size: 1.6rem;
  }

  ol {
    counter-reset:num;
    list-style-type: none!important;
    padding:0;
    margin:0;
  }
  ol li {
    position: relative;
    padding: 0 0 0 38px;
  }
  
  ol li:before {
    position: absolute;
    counter-increment: num;
    content: counter(num);
    display: inline-block;
    background: #0F0F0F;
    color: #FFF;
    font-family: "dharma-gothic-m", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.3rem;
    border-radius: 50%;
    left: 0;
    width: 2.6rem;
    height: 2.6rem;
    line-height: 27px;
    text-align: center;
    top: 4px;
  }

  .page_inner .imgbox {
    position: relative;
  }

  .page_inner .step_block {
    position: absolute;
    font-size: 3rem;
    background-color: #0F0F0F;
    color: #fff;
    padding: 0.5rem 3.5rem 0.3rem;
    top: 3rem;
    left: -2.2rem;
    z-index: 2;
    line-height: 1;
  }

  .page_inner .step_block::before {
    position: absolute;
    display: block;
    content: "";
    background: url(../img/step_bg.svg) no-repeat;
    background-size: 100%;
    width: 2rem;
    height: 0.8rem;
    bottom: -0.8rem;
    left: 0;
  }

  .page_inner .step_block span {
    font-size: 3.8rem;
  }

  .page_inner .item_description {
    width: 50rem;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    line-height: 2;
  }

  .page_inner .item_description {
    margin-bottom: 3rem;
  }

  .page_inner .item_description .point_under {
    color: #BE8C27;
    text-decoration: underline;
  }

  .page_inner .item_description .point_under a {
    color: #BE8C27;
  }

  .page_inner .item_description .point_Area {
    background: linear-gradient(to top, #E3D0A9 0% 50%, rgba(0,0,0,0) 50% 100%);
    margin-bottom: 1.8rem;
    display: inline-block;
    line-height: 1.2;
    font-weight: bold;
  }

  .page_inner .step02 {
    flex-direction: row-reverse;
    margin-bottom: 0;
  }


  /* ===================
	　　 finish
=================== */

  .page_inner .finish_img {
    position: relative;
    width: 57.5rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }

  .page_inner .finish {
    position: relative;
    margin: 0;
    width: 100%;
    background: linear-gradient(to bottom, #eaeaea 50%, #e3e3e3 50%);
    padding: 0 0 15rem 0;
  }

  .page_inner .fin_area {
    position: relative;
    width: 50rem;
    margin-left: auto;
    margin-right: auto;
  }

  .finish_txt {
    position: absolute;
  }

  .finish_txt.up {
    background: url(../img/finsh_1.svg) no-repeat;
    background-size: 100%;
    width: 25rem;
    height: 14rem;
    top: 14rem;
    right: -11rem;
    z-index: 2;
  }

  .finish_txt.mid {
    background: url(../img/finsh_2.svg) no-repeat;
    background-size: 100%;
    width: 18rem;
    height: 11rem;
    top: 36rem;
    left: -15rem;
  }

  .finish_txt.bottom {
    background: url(../img/finsh_3.svg) no-repeat;
    background-size: 100%;
    width: 20rem;
    height: 11rem;
    bottom: 12rem;
    right: -12.4rem;
  }

  .page_inner .finish_img::before {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    border: #0F0F0F solid 0.2rem;
    transform: rotate(5deg);
    top: 0;
    left: 0;
    z-index: 1;
    transition: all 0.8s;
  }

  .page_inner .finish_img.fadein::before {
    transition-duration: 0.8s;
    transition-delay: 0.5s;
  }

/* ===================
	　　 useItem
=================== */
.useItem {
  position: relative;
  text-align: center;
  margin: auto;
  background-color: #E3E3E3;
  padding-bottom: 12rem;
}

.useItem .useItem_bg {
  width: 91rem;
  background: rgba(255, 255, 255, 0.4);
  background: linear-gradient(to bottom, #e3e3e3 5%, rgba(255, 255,255, 0.4) 0);
  padding: 0 0 9rem 0;
  margin: auto;
}

.useItem .useItem_blk {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 12rem;
}

.useItem h3 {
  font-size: 8rem;
  letter-spacing: 0.02em;
  line-height: 1;
}

.useItem .item_img {
  width: 100%;
  margin: 0 auto 3rem;
}


.useItem .product_name {
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 2rem;
  letter-spacing: 0;
  line-height: 1.5;
}

.page_inner .useItem .price {
  text-align: center;
  margin-bottom: 2.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
}

.page_inner .useItem .useItem_items {
  width: 21rem;
}

.useItem .buy_btn {
  width: 20rem;
  margin: auto;
  padding: 0.2rem 0 0;
}


/* ===================
	　　 Credit
=================== */
.Credit {
  padding-bottom: 12rem;
  background-color: #E3E3E3;
}

.Credit p {
  font-size: 3rem;
  line-height: 1.5;
  text-align: center;
}


/*--------anime-------*/

.page_inner .fadein {
  opacity: 0;
  transition: opacity 1s, transform 1s ease;
}

.page_inner .fadein.active {
  opacity: 1;
}

.page_inner .mainvisual_img_02 .fadein {
  transition-duration: 1.5s;
  transition-delay: 0.5s;
}

.page_inner .mv_text_container .fadein {
  transition-duration: 1.5s;
  transition-delay: 0.5s;
}

/* .img_main.fadein,
.img_sub.fadein {
  transition-duration: 1.5s;
  opacity: 0;
}

.fadein,
.img_main.fadein.active,
.img_sub.fadein.active {
  opacity: 1;
}
 */


.fadeup {
  transform: translateY(40px);
  transition-duration: 1.2s;
  opacity: 0;
}

.fadeup.active {
  transform: translateY(0);
  opacity: 1;
}

.item_inner.fadeup {
  transition-delay: 1s;
}

.txtbox.fadeup {
  transition-delay: 1.5s;
}

.fade_left {
  transform: translateX(-300px);
  transition-duration: 1.5s;
  transition-delay: 1.2s;
  opacity: 0;
}

.fade_left.active {
  transform: translateX(0);
  opacity: 1;
}

.ani_mask {
  opacity: 0;
  transition: all 1s;
}

.ani_mask.active {
  opacity: 1;
}

.finish_txt.fadeIn {
  transition-duration: 1.5s;
  opacity: 0;
}

.finish_txt.fadeIn.active {
  opacity: 1;
}


.finish_txt.up.fadeIn {
  transition-delay: 2s;
}

.finish_txt.mid.fadeIn {
  transition-delay: 2.5s;
}

.finish_txt.bottom.fadeIn {
  transition-delay: 0.5s;
}

.imgbox.fadein,
.finish_img.fadein {
  transition-duration: 2s;
  opacity: 0;
}

.imgbox.fadein.active,
.finish_img.fadein.active {
  opacity: 1;
}

.imgbox.fadein::before,
.finish_img.fadein::before {
  transition-duration: 1.5s;
  transition-delay: 0.8s;
  opacity: 0;
}

.imgbox.fadein.active::before,
.finish_img.fadein.active::before,
.mv_img.fadein.active::before {
  opacity: 1;
  transform: rotate(-5deg);
}

.mainLine {
  transition-duration: 2s;
  opacity: 0;
}

.mainLine.line_1.active ,
.mainLine.line_3.active {
  opacity: 1;
  transition-delay: 0.8s;
  width: 5rem;
}

.mainLine.line_2.active ,
.mainLine.line_4.active {
  opacity: 1;
  transition-delay: 0.8s;
  height: 5rem;
}

.ItemLine {
  transition-duration: 0.5s;
  opacity: 0;
}

.ItemLine.line_1.active {
  opacity: 1;
  transition-delay: 0.8s;
  width: 52rem;
}

.ItemLine.line_2.active {
  opacity: 1;
  transition-delay: 1.3s;
  height: 70rem;
}

.ItemLine.line_3.active {
  opacity: 1;
  transition-delay: 0.5s;
  width: 52rem;
}

.ItemLine.line_4.active {
  opacity: 1;
  transition-delay: 1.3s;
  height: 70rem;
}

.lr_anime {
  opacity: 0;
  transition-duration: 1.5s;
  transition-delay: 0.5s;
}

.lr_anime.active {
  opacity: 1;
}

.lr_anime {
  display: inline-block;
  -webkit-animation-name: yurayura_Anime;
  animation-name: yurayura_Anime;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  transform-origin: center;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-duration: alternate;
  animation-duration: alternate;
}

@-webkit-keyframes yurayura_Anime {
  0% {
    transform: rotate(-6deg);
  }

  49.5% {
    transform: rotate(-6deg);
  }

  50% {
    transform: rotate(6deg);
  }

  99.5% {
    transform: rotate(6deg);
  }

  100% {
    transform: rotate(-6deg);
  }
}

@keyframes yurayura_Anime {
  0% {
    transform: rotate(-6deg);
  }

  49.5% {
    transform: rotate(-6deg);
  }

  50% {
    transform: rotate(6deg);
  }

  99.5% {
    transform: rotate(6deg);
  }

  100% {
    transform: rotate(-6deg);
  }
}

/*=======================================
              Responsive   
========================================*/

/* for PC */
@media screen and (min-width: 767px) {

  /* ===================
    　　 archive
  =================== */
  .archive {
    padding: 6rem 0;
    background-color: #fff;
  }

  .archive .sec_ttl {
    font-size: 3rem;
    line-height: 1.2;
    margin-bottom: 3rem;
  }

  .archive_Area {
    width: 180rem;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
  }

  .archive_Area li {
    width: 28rem;
  }

  .archive_Area .archive_text {
    font-size: 1.3rem;
    line-height: 1.3;
    margin-top: 2rem;
    text-align: center;
  }

  .archive .scroll-area {
    width: 120rem;
    margin: auto;
    white-space: nowrap;
    overflow: scroll;
  }

  .simplebar-wrapper {
    height: 310px !important;
  }

  .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
      top: 6px !important;
      height: 4px !important;
  }

}

/* for tablet */
@media screen and (min-device-width: 768px) and (max-device-width: 1400px) and (-webkit-min-device-pixel-ratio: 1) {
  html {
    font-size: calc(10* (100vw / 1400));
  }
}

/* for SP */
@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }

  .sp_only {
    display: block;
  }

  html {
    font-size: 1.3333333333vw !important;
  }

  #footer {
    margin-top: -10px;
  }

    #Wrap {
      padding-top: 0;
  }

  /*=======================================
                    SP    
  ========================================*/
  /* ===================
	　　 General
=================== */

  #Wrap {
    overflow: hidden;
  }


  #page-lp a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    transition: 1s;
  }

  #page-lp img {
    width: 100%;
  }

/* ===================
	　　　 top
=================== */

.img_border {
  border: #0F0F0F 2px solid;
}

.mv_area .mv_main {
  flex-wrap: wrap;
  margin: 0 auto calc(80 *(100vw/390));
  padding: calc(60 *(100vw/390)) 0;
}

.mv_area .mv_img {
  width: calc(280 *(100vw/390));
}

.mv_area .img_border {
  position: relative;
  border: unset;
}

.mv_area .img_border::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border: #0F0F0F solid 2px;
  transform: rotate(5deg);
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.8s;
}

.page_inner .mv_ttl {
  font-size: calc(70 *(100vw/390));
}

.page_inner .mv_lead {
  width: calc(160 *(100vw/390));
  margin: calc(10 *(100vw/390)) auto 0;
  font-size: calc(40 *(100vw/390));
}

.page_inner .mv_lead::before {
  position: absolute;
  content: "";
  width: calc(36 *(100vw/390));
  height: 1.5px;
  top: calc(28 *(100vw/390));
  left: 0;
  background-color: #0F0F0F;
}

.page_inner .mv_lead::after {
  position: absolute;
  content: "";
  width: calc(36 *(100vw/390));
  height: 1.5px;
  top: calc(28 *(100vw/390));
  right: 0;
  background-color: #0F0F0F;
}


.mv_area .mainvisual_img_02 {
  position: absolute;
  width: 30rem;
  top: 43rem;
  right: 0;
}

.mv_area .main_item {
  margin: 0 0 calc(80 *100vw/390) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(25 *100vw/390);
  flex-wrap: wrap;
}

.mv_area .main_item .item_img {
  width: calc(150 *(100vw/390));
  margin: auto;
  filter: drop-shadow(0 3px 6px #D4D4D4);
}

.mv_area .main_item .itme_textArea {
  font-size: unset;
}

.mv_area .main_item .item_ttl {
  position: relative;
  font-size: calc(40 *(100vw/390));
  text-align: center;
  line-height: 1;
  margin-bottom: calc(14 *(100vw/390));
}

.mv_area .main_item .item_text {
  font-size: calc(15 *(100vw/390));
  text-align: center;
  margin-bottom: calc(20 *(100vw/390));
}

.buy_btn {
  position: relative;
  display: block;
  font-size: calc(25 *(100vw/390));
  width: calc(180 *(100vw/390));
  margin: auto;
  border: #000 1px solid;
  background-color: #404040;
  border-radius: calc(20 *(100vw/390));
  color: #fff;
  line-height: 1.5;
  text-align: center;
  z-index: 0;
  padding: calc(2 *(100vw/390)) 0 0 0;
}

.buy_btn:hover {
  background-color: #000;
  opacity: 1;
}

/* ===================
　　 lp_lead_area
=================== */

.page_inner .lp_lead_area {
  margin-bottom: calc(80 *(100vw/390));
  padding: calc(60 *(100vw/390)) 0;
}

.page_inner .lead_blk {
  position: relative;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  flex-direction: unset;
  flex-wrap: wrap;
  width: calc(300 *(100vw/390));
  margin: 0 auto calc(40 *(100vw/390));
  gap: unset;
}

.page_inner .flex_left {
  width: calc(270 *(100vw/390));
  margin-left: auto;
}

.page_inner .flex_right {
  position: relative;
  width: calc(220 *(100vw/390));
  margin-top: calc(-56 *(100vw/390));
  margin-right: auto;
  margin-left: calc(3 *(100vw/390));
}

.page_inner .flex_right::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #E3E3E3;
  top: 0;
  right: 0;
  z-index: 1;
  transition: all 0.8s;
}

.page_inner .ani_mask.active.flex_right::before {
  width: 0;
}

.page_inner .maintext {
  width: calc(350 *(100vw/390));
  padding: calc(30 *(100vw/390)) 0;
}

.page_inner .maintext_ttl {
  font-size: calc(20 *(100vw/390));
  line-height: 1.7;
  margin-bottom: calc(30 *(100vw/390));
}

.page_inner .maintext_ttl span {
  position: relative;
}

.page_inner .maintext_ttl span::before {
  bottom: -6px;
}

.page_inner .maintext_text {
  font-size: calc(14 *(100vw/390));
}

.page_inner .mainLine {
  position: absolute;
  width: 0;
  height: 1px;
  background-color: #707070;
}

.page_inner .mainLine.line_1 {
  top: 0;
  left: 0;
}
.page_inner .mainLine.line_2 {
  top: 0;
  left: 0;
  width: 1px;
}
.page_inner .mainLine.line_3 {
  bottom: 0;
  right: 0;
}
.page_inner .mainLine.line_4 {
  bottom: 0;
  right: 0;
  width: 1px;
}

.mainLine.line_1.active ,
.mainLine.line_3.active {
  width: calc(30 *(100vw/390));
}

.mainLine.line_2.active,
.mainLine.line_4.active {
  opacity: 1;
  transition-delay: 0.8s;
  height: calc(30 *(100vw/390));
}

/* ===================
　　 howTo
=================== */

.page_inner .howto {
  font-size: calc(50 *(100vw/390));
  margin-bottom: calc(100 *(100vw/390));
  line-height: 1;
}

.page_inner .sec_ttl {
  font-size: calc(60 *(100vw/390));
  text-align: center;
  margin-bottom: calc(40 *(100vw/390));
}

.page_inner .con_img {
  width: calc(340 *(100vw/390)) !important;
  z-index: 2 !important;
}

.slick-list {
  width: calc(340 *(100vw/390)) !important;
}

.slick-prev {
  left: 0;
  z-index: 5;
}

.slick01 .slick-prev::before {
  content: "";
  position: absolute;
  background-image: url(../img/slick_prev.svg);
  background-repeat: no-repeat;
  width: 10px;
  height: 20px;
  left: 12px;
  top: 0.3rem;
}

.slick01 .slick-next::before {
  content: "";
  position: absolute;
  background-image: url(../img/slick_next.svg);
  background-repeat: no-repeat;
  width: 10px;
  height: 20px;
  right: 35px;
  top: 0.3rem;
}


.page_inner .item_inner {
  width: calc(340 *(100vw/390));
  justify-content: center;
  margin-bottom: calc(60 *(100vw/390));
  flex-wrap: wrap;
  gap: calc(30 *(100vw/390));
}

.page_inner .txtbox {
  width: 100%;
}

.page_inner .con_txt {
  font-size: calc(18 *(100vw/390));
  line-height: 1.7;
  position: relative;
  background-color: #eaeaea;
  border: #0F0F0F solid 1.5px;
  text-align: center;
  padding: calc(10 *(100vw/390)) 0 calc(7 *(100vw/390));
  font-weight: bold;
  margin-bottom: calc(40 *(100vw/390));
}

.page_inner .con_txt::before {
  position: absolute;
  content: "";
  width: calc(20 *(100vw/390));
  height: calc(20 *(100vw/390));
  background: url(../img/triangle.svg) no-repeat;
  background-size: 100%;
  bottom: calc(-17 *(100vw/390));
  left: 50%;
  transform: translate(-50%);
}

.page_inner .txtbox .step_text {
  font-size: calc(15 *(100vw/390));
  margin-bottom: calc(25 *(100vw/390));
}

.page_inner .txtbox .step_text.last {
  margin-bottom: 0;
}

.page_inner .txtbox .step_point_text {
  position: relative;
  font-size: calc(13 *(100vw/390));
  line-height: 1.7;
  padding: calc(20 *(100vw/390));
  background: rgba(255, 255, 255, 0.6);
  margin-bottom: calc(30 *(100vw/390));
}

.page_inner .txtbox .step_point_text::before {
  position: absolute;
  display: block;
  content: "POINT";
  font-size: calc(28 *(100vw/390));
  font-family: "dharma-gothic-m", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  color: #0F0F0F;
  top: calc(-15 *(100vw/390));
  right: calc(20 *(100vw/390));
  z-index: 1;
}

.page_inner .txtbox .number {
  font-size: 1.6rem;
}

ol {
  counter-reset:num;
  list-style-type: none!important;
  padding:0;
  margin:0;
}
ol li {
  position: relative;
  padding: 0 0 0 38px;
}

ol li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display: inline-block;
  background: #0F0F0F;
  color: #FFF;
  font-family: "dharma-gothic-m", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(25 *(100vw/390));
  border-radius: 50%;
  left: 0;
  width: calc(26 *(100vw/390));
  height: calc(26 *(100vw/390));
  line-height: 27px;
  text-align: center;
  top: 5px;
}

.page_inner .imgbox {
  position: relative;
  width: 100%;
}

.page_inner .imgbox img {
  width: 100%;
}

.page_inner .step_block {
  position: absolute;
  font-size: calc(25 *(100vw/390));
  font-weight: 400;
  background-color: #0F0F0F;
  color: #fff;
  padding: calc(4 *(100vw/390)) calc(25 *(100vw/390)) calc(3 *(100vw/390));
  top: calc(30 *(100vw/390));
  left: calc(-12 *(100vw/390));
  z-index: 2;
}

.page_inner .step_block::before {
  position: absolute;
  display: block;
  content: "";
  background: url(../img/step_bg.svg) no-repeat;
  background-size: 100%;
  width: 2rem;
  height: 0.8rem;
  bottom: -0.8rem;
  left: 0;
}

.page_inner .step_block span {
  font-size: calc(30 *(100vw/390));
}

.page_inner .item_description {
  width: 50rem;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 2;
}

.page_inner .item_description {
  margin-bottom: 3rem;
}

.page_inner .item_description .point_under {
  color: #BE8C27;
  text-decoration: underline;
}

.page_inner .item_description .point_under a {
  color: #BE8C27;
}

.page_inner .item_description .point_Area {
  background: linear-gradient(to top, #E3D0A9 0% 50%, rgba(0,0,0,0) 50% 100%);
  margin-bottom: 1.8rem;
  display: inline-block;
  line-height: 1.2;
  font-weight: bold;
}

.page_inner .step02 {
  flex-direction: row-reverse;
  margin-bottom: 0;
}


/* ===================
　　 finish
=================== */

.page_inner .finish_img {
  width: calc(320 *(100vw/390));
}

.page_inner .finish {
  padding: 0 0 calc(120 *(100vw/390)) 0;
}

.page_inner .fin_area {
  width: calc(320 *(100vw/390));
}

.finish_txt {
  position: absolute;
}

.finish_txt.up {
  background: url(../img/finsh_1.svg) no-repeat;
  background-size: 100%;
  width: calc(140 *(100vw/390));
  height: calc(85 *(100vw/390));
  top: calc(60 *(100vw/390));
  right: calc(-28 *(100vw/390));
  z-index: 2;
}

.finish_txt.mid {
  background: url(../img/finsh_2.svg) no-repeat;
  background-size: 100%;
  width: calc(120 *(100vw/390));
  height: calc(70 *(100vw/390));
  top: calc(195 *(100vw/390));
  left: calc(-30 *(100vw/390));
}

.finish_txt.bottom {
  background: url(../img/finsh_3.svg) no-repeat;
  background-size: 100%;
  width: calc(130 *(100vw/390));
  height: calc(75 *(100vw/390));
  bottom: calc(30 *(100vw/390));
  right: calc(10 *(100vw/390));
}

.page_inner .finish_img::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border: #0F0F0F solid 2px;
  transform: rotate(5deg);
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.8s;
}

.page_inner .finish_img.fadein::before {
  transition-duration: 0.8s;
  transition-delay: 0.5s;
}

/* ===================
　　 useItem
=================== */
.useItem {
position: relative;
text-align: center;
margin: auto;
background-color: #E3E3E3;
padding-bottom: 12rem;
}

.useItem .useItem_bg {
  width: calc(360 *(100vw/390));
  background: linear-gradient(to bottom, #e3e3e3 2.8%, rgba(255, 255,255, 0.4) 0);
  padding: 0 0 calc(60 *(100vw/390)) 0;
  margin: auto;
}

.useItem .useItem_blk {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(40 *(100vw/390));
}

.useItem h3 {
  font-size: 8rem;
  letter-spacing: 0.02em;
  line-height: 1;
}

.useItem .item_img {
  width: 100%;
  margin: 0 auto calc(10 *(100vw/390));
}

.useItem .product_name {
  font-size: calc(15 *(100vw/390));
  margin-bottom: calc(15 *(100vw/390));
  white-space: nowrap;
}

.page_inner .useItem .price {
  margin-bottom: calc(20 *(100vw/390));
  font-size: calc(15 *(100vw/390));
}

.page_inner .useItem .useItem_items {
  width: calc(180 *(100vw/390));
}

.useItem .buy_btn {
  width: 100%;
  margin: auto;
  padding: calc(3 *(100vw/390)) 0 0;
  border-radius: calc(55 *(100vw/390));
  line-height: 1.2;
}


/* ===================
　　 Credit
=================== */
.Credit {
padding-bottom: 12rem;
background-color: #E3E3E3;
}

.Credit p {
  font-style: normal;
  font-size: calc(22 *(100vw/390));
  line-height: 1.5;
  text-align: center;
}

/* ===================
　　 archive
=================== */
.archive {
  padding: calc(60 *(100vw/390)) 0;
  background-color: #fff;
}

.archive .sec_ttl {
  font-size: calc(25 *(100vw/390));
  line-height: 1.2;
  margin-bottom: calc(20 *(100vw/390));
}


.simplebar-wrapper {
  padding-bottom: 20px !important;
}

.scroll-area {
  width: calc(375 *(100vw/390));
  overflow-y: hidden;
  overflow-x: auto;
  white-space: nowrap;
  margin-left: auto;
}

.scroll-area ul {
  display: inline-flex;
  width: calc(1180 *(100vw/390));
  justify-content: space-between;
  gap: calc(20 *(100vw/390));
}

.scroll-area ul li {
  list-style-type: none;
  width: calc(280 *(100vw/390));
}

.scroll-area ul li img {
  margin-bottom: calc(20 *(100vw/390));
}

.scroll-area ul li p {
  text-align: center;
  font-size: calc(13 *(100vw/390));
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: calc(2 *(100vw/390)) !important;
  left: 0 !important;
  right: 0 !important;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0 !important;
  height: calc(2 *(100vw/390)) !important;
}

.simplebar-scrollbar {
  width: calc(60 *(100vw/390)) !important;
}

.simplebar-track.simplebar-horizontal {
  left: 0 !important;
  height: calc(2 *(100vw/390)) !important;
  width: calc(250 *(100vw/390)) !important;
  margin: auto !important;
}



/* スクロールバーCSS */
.simplebar-scrollbar::before {
  background: #6E6E6E !important;
  top: 0 !important;
}
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1 !important;
}
.simplebar-track {
  background: #F5F5F5;
}


#FooterWrap {
  margin-top: -20px;
}













/*
  .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
  }

  .slick-prev {
    left: 0;
    z-index: 5;
  }

  .slick01 .slick-prev::before {
    content: "";
    position: absolute;
    background-image: url(../img/slick_prev.svg);
    background-repeat: no-repeat;
    width: calc(9 * (100vw / 390));
    height: calc(15 * (100vw / 390));
    left: calc(33 * (100vw / 390));
    top: calc(3 * (100vw / 390));
  }

  .slick01 .slick-next::before {
    content: "";
    position: absolute;
    background-image: url(../img/slick_next.svg);
    background-repeat: no-repeat;
    width: calc(9 * (100vw / 390));
    height: calc(15 * (100vw / 390));
    right: calc(33 * (100vw / 390));
    top: calc(3 * (100vw / 390));
  }


  .slider_items {
    width: 100%;
    height: 100%;
  }
  */


}

/*# sourceMappingURL=style.css.map */