@charset "UTF-8";

:root {
  --font-serif: "Noto Serif JP", serif;
  --color-bg: #fff;
  --color-font: #000;
  --color-main: #FF95F7;
  --color-sub: #F7F7F7;
}

/*--------------------------------
            CSS Animation
 --------------------------------*/

@keyframes heartbeat {
  0% {
    transform: scale(1) rotate(3deg);
  }
  4% {
    transform: scale(1.1) rotate(3deg);
  }
  7% {
    transform: scale(1) rotate(3deg);
  }
  11% {
    transform: scale(1.07) rotate(3deg);
  }
  18% {
    transform: scale(1) rotate(3deg);
  }
}

/*------------ Fade In ------------*/

#lp_contents .fadeIn {
  opacity: 0;
  transition: 2s;
}

#lp_contents .fadeIn.is-show {
  opacity: 1;
}

#lp_contents .fadeInUp {
  opacity: 0;
  transform: translate(0, 5rem);
  transition: 2s;
}

#lp_contents .fadeInUp.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

#lp_contents .delay1{
  transition-delay: 0.25s;
}
#lp_contents .delay2{
  transition-delay: 0.5s;
}
#lp_contents .delay3{
  transition-delay: 0.75s;
}
#lp_contents .delay4{
  transition-delay: 1s;
}


/*------------ accordion ------------*/

#lp_contents .accordion{
  cursor: pointer;
}

#lp_contents .accordion + dd{
  display: none;
}

#lp_contents .accordion .arrow{
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

#lp_contents .accordion .arrow:before,
#lp_contents .accordion .arrow:after{
  content: "";
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: all 0.5s;
}

#lp_contents .accordion .arrow:after{
  height: 100%;
  width: 1px;
}

#lp_contents .accordion.is-active .arrow:after{
  transform: rotate(90deg);
}


/*------------ slider ------------*/

#lp_contents .slick-slider{
  display: block !important;
}

#lp_contents .slick-dots{
  display: block !important;
  position: static;
  width: fit-content !important;
}

#lp_contents .slick-dots li{
  width: 0.8rem !important;
  height: 0.8rem;
  border-radius: 100%;
  background-color: #CCCCCC;
  margin: 3rem 0.75rem 0 !important;
}

#lp_contents .slick-dots li:first-child:last-child{
  display: none;
}

#lp_contents .slick-dots li.slick-active{
  background-color: var(--color-main);
}

#lp_contents .slick-dots li button{
  display: none;
}

#lp_contents .slick-prev, 
#lp_contents .slick-next{
  width: 4rem;
  height: 4rem;
  z-index: 2;
}

#lp_contents .slick-prev{
  left: -8rem;
}

#lp_contents .slick-next{
  right: -8rem;
}

#lp_contents .slick-prev:before, 
#lp_contents .slick-next:before{
  font-size: 0;
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: 100%;
}

#lp_contents .slick-prev:before{
  background-image: url(../img/arrow-left.svg);
}

#lp_contents .slick-next:before{
  background-image: url(../img/arrow-right.svg);
}

@media (max-width: 767px) {
  #lp_contents .slick-prev{
    left: 4rem;
  }

  #lp_contents .slick-next{
    right: 4rem;
  }
}


/*--------------------------------
                共 通
 --------------------------------*/

main,#Wrap,.wrapBottom,.wrapTop{
  width: 100%;
  max-width: 100%;
}

#lp_contents *{
  box-sizing: border-box;
}

#lp_contents{
  font-family: "Jost","ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN,HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  /*font-feature-settings: "palt";*/
  font-size: 1.4rem;
  letter-spacing: 0.025em;
  line-height: 1.75;
  text-align: center;

  color: var(--color-font);
  background-color: var(--color-bg);
  position: relative;
  /*overflow: hidden;*/
}
#lp_contents .sp_only{display: none;}
#lp_contents img{width: 100%;display: block;height: auto;}
#lp_contents a{display: block;width: 100%;cursor: pointer;transition: all 0.5s;color: inherit;}
#lp_contents a:hover{opacity: .8}
#lp_contents ul li,#lp_contents ol li{list-style: none;}
#lp_contents h1,#lp_contents h2,#lp_contents h3{padding: 0;float: none;font-weight: normal;}
#lp_contents p {
  display: block;
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.75;
}
#lp_contents sup{
  font-size: 50%;
  margin-top: -0.6rem;
}
#lp_contents small.note{
  display: inline-block;
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
#lp_contents section{
  position: relative;
}

#lp_contents .link_btn{
  width: 45rem;
  height: 7rem;
  background-color: var(--color-main);
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}


/*------------ sec_mv ------------*/

#lp_contents .sec_mv{
  padding: 8rem 0;
}

#lp_contents .sec_mv .mv_wrap{
  position: relative;
  width: 70rem;
  margin: 0 auto;
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 8rem 0 6rem;
}

#lp_contents .sec_mv .mv_wrap:before,
#lp_contents .sec_mv .mv_wrap:after{
  content: '';
  width: 8rem;
  height: 1px;
  background-color: #000;
  transform: rotate(-45deg);
  position: absolute;
}

#lp_contents .sec_mv .mv_wrap:before{
  top: 1.5rem;
  left: -2.5rem;
}

#lp_contents .sec_mv .mv_wrap:after{
  right: -2.5rem;
  bottom: 1.5rem;
}

#lp_contents .sec_mv .mv_wrap .line:before,
#lp_contents .sec_mv .mv_wrap .line:after{
  content: '';
  display: block;
  width: 1px;
  height: calc(100% - 3rem);
  background-color: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

#lp_contents .sec_mv .mv_wrap .line:before{
  left: 0;
}

#lp_contents .sec_mv .mv_wrap .line:after{
  right: 0;
}

#lp_contents .sec_mv .mv_wrap .logo{
  width: 16rem;
  padding: 0 1.5rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
}

#lp_contents .sec_mv .mv_wrap .frame_1{
  width: 27.5rem;
  margin: 0 auto 2rem;
  animation: heartbeat 4s infinite ease-in-out;
  transition: all 0.5s;
  transition-delay: 0.5s;
  transform: rotate(3deg);
}

#lp_contents .sec_mv .mv_wrap .ttl{
  font-size: 4.3rem;
  font-weight: bold;
  line-height: 1;
}

#lp_contents .sec_mv .mv_wrap .ttl small{
  font-size: 3.8rem;
}

#lp_contents .sec_mv .mv_wrap .ttl big{
  display: block;
  font-family: var(--font-serif);
  font-size: 6rem;
  margin-top: 1.5rem;
}

#lp_contents .sec_mv .mv_wrap .lead{
  width: fit-content;
  margin: 4.5rem auto 0;
  padding-top: 4rem;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 2;
  border-top: 1px solid;
}


/*------------ nav_list ------------*/

#lp_contents .nav_list{
  margin: 0 auto 10rem;
}

#lp_contents .nav_list .ttl{
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1.5rem;
}

#lp_contents .nav_list ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

#lp_contents .nav_list li{
  width: 12rem;
}

#lp_contents .nav_list a{
  position: relative;
  padding-bottom: 2rem;
}

#lp_contents .nav_list a:before{
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  display: block;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

#lp_contents .nav_list img{
  border-radius: 0.5rem;
}


/*------------ sec_staff ------------*/

#lp_contents .sec_staff{
  width: 120rem;
  margin: 0 auto 10rem;
  padding-bottom: 10rem;
  border-bottom: 1px solid;
}

#lp_contents .sec_staff .ttl_blk{
  position: relative;
  max-width: 65rem;
  margin: 0 auto 2rem;
}

#lp_contents .sec_staff .ttl_blk:before{
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-image : linear-gradient(to right, #000 2px, transparent 1px);
  background-size: 5px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
}

#lp_contents .sec_staff .ttl_blk h3{
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 15rem;
  min-height: 2.8rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  border-radius: 10rem;
  border: 1px solid;
  background-color: #fff;
  margin: auto;
  position: relative;
  z-index: 2;
}

/*staff_wrap*/
#lp_contents .sec_staff{
  display: grid;
  gap: 4rem;
}

#lp_contents .sec_staff .staff_wrap .ttl{
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 2rem;
}

#lp_contents .sec_staff .staff_wrap .img_blk{
  position: relative;
  width: 30rem;
  margin: 0 auto;
}

#lp_contents .sec_staff .staff_wrap .staff_img{
  border-radius: 1rem;
}

#lp_contents .sec_staff .staff_wrap .frame_2{
  width: 16rem;
  position: absolute;
  top: -5rem;
  left: -13.5rem;
  transform: rotate(-5deg);
}

#lp_contents .sec_staff .staff_wrap .staff{
  margin-top: 1.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
}

/*concerns_wrap*/
#lp_contents .sec_staff .concerns_wrap .txt{
  font-size: 1.6rem;
}

#lp_contents .sec_staff .concerns_wrap .txt big{
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
}

/*item_wrap*/
#lp_contents .sec_staff .item_wrap ul{
  width: 98rem;
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin: auto;
}

#lp_contents .sec_staff .item_wrap li{
  width: 30rem;
  margin: 0 2rem;
}

#lp_contents .sec_staff .item_wrap .img_blk{
  margin-bottom: 1rem;
}

#lp_contents .sec_staff .item_wrap .detail_blk{
  margin-bottom: 2rem;
}

#lp_contents .sec_staff .item_wrap .brand{
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 0.4rem;
}

#lp_contents .sec_staff .item_wrap .name{
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
}

#lp_contents .sec_staff .item_wrap .price{
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 0.5rem;
}

#lp_contents .sec_staff .item_wrap .txt{
  text-align: justify;
  margin-top: 2rem;
  letter-spacing: 0;
}

#lp_contents .sec_staff .item_wrap .link_btn{
  width: 15rem;
  height: 3.4rem;
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 2rem;
}

/*item_list*/
#lp_contents .sec_staff .item_list{
  width: 60rem;
  background-color: var(--color-sub);
  padding: 2rem;
  margin: auto;
}

#lp_contents .sec_staff .item_list dd{
  margin-top: 2rem;
}

#lp_contents .sec_staff .item_list tbody{
  display: grid;
  gap: 1.5rem;
}

#lp_contents .sec_staff .item_list dt{
  position: relative;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
}

#lp_contents .sec_staff .item_list tr{
  display: flex;
  gap: 1.5rem;
}

#lp_contents .sec_staff .item_list th{
  font-size: 1.8rem;
}

#lp_contents .sec_staff .item_list td{
  text-align: left;
  font-size: 1.5rem;
}

#lp_contents .sec_staff .item_list .total{
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  margin-top: 2rem;
}

#lp_contents .sec_staff .item_list big{
  font-size: 2.5rem;
}


/*------------ sec_btn ------------*/

#lp_contents .sec_btn{
  padding-bottom: 10rem;
  margin: auto;
}



/*--------------------------------
            Responsive
 --------------------------------*/

@media screen and (max-width: 1600px){
  html {
    font-size: calc(10 * (100vw / 1600));
  }
}



/*--------------------------------
            Layout  SP
 --------------------------------*/
@media (max-width: 767px) {

  html {
    font-size: calc(10 * (100vw / 430));
  }

  #FooterWrap {
    margin-top: -3rem;
  }

  #lp_contents{
    font-size: 1.3rem;
  }
  #lp_contents .sp_only{display: block;}
  #lp_contents .pc_only{display: none;}

  #lp_contents p {
    font-size: 1.3rem;
  }
  #lp_contents small{
    margin-top: 1rem;
    font-size: 1.1rem;
  }

  #lp_contents .link_btn{
    width: 36rem;
    height: 6rem;
    font-size: 1.6rem;
  }


  /*------------ sec_mv ------------*/

  #lp_contents .sec_mv{
    padding: 5rem 0 3rem;
  }

  #lp_contents .sec_mv .mv_wrap{
    width: 39rem;
    padding: 5rem 0 4rem;
  }

  #lp_contents .sec_mv .mv_wrap:before,
  #lp_contents .sec_mv .mv_wrap:after{
    width: 8rem;
  }

  #lp_contents .sec_mv .mv_wrap:before{
    top: 1.5rem;
    left: -2.5rem;
  }

  #lp_contents .sec_mv .mv_wrap:after{
    right: -2.5rem;
    bottom: 1.5rem;
  }

  #lp_contents .sec_mv .mv_wrap .line:before,
  #lp_contents .sec_mv .mv_wrap .line:after{
    height: calc(100% - 2rem);
  }

  #lp_contents .sec_mv .mv_wrap .logo{
    width: 10rem;
  }

  #lp_contents .sec_mv .mv_wrap .frame_1{
    width: 17rem;
  }

  #lp_contents .sec_mv .mv_wrap .ttl{
    font-size: 2.7rem;
  }

  #lp_contents .sec_mv .mv_wrap .ttl small{
    font-size: 2.4rem;
  }

  #lp_contents .sec_mv .mv_wrap .ttl big{
    font-size: 3.7rem;
    margin-top: 1.5rem;
  }

  #lp_contents .sec_mv .mv_wrap .lead{
    margin: 4rem auto 0;
    padding-top: 3rem;
    font-size: 1.4rem;
  }


  /*------------ nav_list ------------*/

  #lp_contents .nav_list{
    margin: 0 auto 6rem;
  }

  #lp_contents .nav_list .ttl{
    font-size: 1.4rem;
  }

  #lp_contents .nav_list li{
    width: 7rem;
  }

  #lp_contents .nav_list a{
    padding-bottom: 1.5rem;
  }

  #lp_contents .nav_list a:before{
    width: 0.6rem;
    height: 0.6rem;
  }


  /*------------ sec_staff ------------*/

  #lp_contents .sec_staff{
    width: 100%;
    margin: 0 auto 6rem;
    padding-bottom: 6rem;
  }

  #lp_contents .sec_staff .ttl_blk{
    max-width: 39rem;
  }

  #lp_contents .sec_staff .ttl_blk h3{
    min-width: 12rem;
    min-height: 2.4rem;
    font-size: 1.4rem;
  }

  /*staff_wrap*/
  #lp_contents .sec_staff .staff_wrap .ttl{
    font-size: 1.5rem;
  }

  #lp_contents .sec_staff .staff_wrap .img_blk{
    width: 17rem;
  }

  #lp_contents .sec_staff .staff_wrap .frame_2{
    width: 12rem;
    top: 0;
    left: -11rem;
  }

  #lp_contents .sec_staff .staff_wrap .staff{
    margin-top: 1rem;
    font-size: 1.4rem;
  }

  /*concerns_wrap*/
  #lp_contents .sec_staff .concerns_wrap .txt{
    font-size: 1.4rem;
  }

  #lp_contents .sec_staff .concerns_wrap .txt big{
    font-size: 1.6rem;
  }

  /*item_wrap*/
  #lp_contents .sec_staff .item_wrap ul{
    width: 43rem;
    gap: 3.5rem;
  }

  #lp_contents .sec_staff .item_wrap li{
    width: 25rem;
    margin: 0 1.75rem;
  }

  #lp_contents .sec_staff .item_wrap .brand{
    font-size: 1.5rem;
  }

  #lp_contents .sec_staff .item_wrap .name{
    font-size: 1.3rem;
  }

  #lp_contents .sec_staff .item_wrap .price{
    font-size: 1.5rem;
  }

  /*item_list*/
  #lp_contents .sec_staff .item_list{
    width: 39rem;
  }

  #lp_contents .sec_staff .item_list dd{
    margin-top: 1.5rem;
  }

  #lp_contents .sec_staff .item_list dt{
    font-size: 1.5rem;
  }

  #lp_contents .sec_staff .item_list tr{
    gap: 0.8rem;
  }

  #lp_contents .sec_staff .item_list th{
    font-size: 1.5rem;
  }

  #lp_contents .sec_staff .item_list td{
    font-size: 1.2rem;
  }


  /*------------ sec_btn ------------*/

  #lp_contents .sec_btn{
    padding-bottom: 6rem;
  }
}