@charset "UTF-8";
.pc {
  display: block!important
}

.sp {
  display: none!important
}

html {
  scroll-behavior: smooth
}

/*----------------------------------------
general
----------------------------------------*/
html {
	scroll-behavior: smooth;
}
body {
	background: #fff;
}

@media screen and (min-width: 600px) {
	.wrapper {font-size: 16px;}
}
.wrapper img {
	width: 100%;
	margin: 0;
	padding: 0;
	height: auto;
	display: block;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}
.wrapper a {
	display: block;
}

.wrapper ul,
.wrapper dl,
.wrapper ol{
  list-style: none;
}
.wrapper ul li,
.wrapper dl dt,
.wrapper dl dd,
.wrapper ol li{
	line-height: 0;
	font-size: 0;
}

.wrapper {
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
  overflow: hidden;
  position: relative;
}
.wrapper *{
  position: relative;
  box-sizing: border-box;
}
.wrapper [class*="-anime0"] {
  position: absolute;
  z-index:2;
  top:0;
  left:0;
}
.wrapper [class*="-anime-front"] {
  position: absolute;
  z-index:3;
  top:0;
  left:0;
}
.wrapper a img{
  transition:filter 0.3s;
}
.wrapper a img:hover{
  filter: brightness(1.1);
}

/*============================
loading-anime
============================*/
.no-scroll {
  overflow: hidden;
}
.loading-area{
  position: fixed;
  left:0;
  top:0;
  width:100%;
  height: 100vh;
  background-color: #d1bdb6;
  z-index:10;

  transition: clip-path 5s cubic-bezier(1, 0.01, 0, 1.03);
  clip-path: inset(0% 0% 0% 0%);
}
@media (min-width:750px){
  .loading-area{
    transition: clip-path 2s cubic-bezier(1, 0.01, 0, 1.03);
  }
}

.loading-area.hidden {
  clip-path: inset(0 0% 100% 0);
}
.loading-area .loading-inner{

  max-width: 750px;
  margin: 0 auto;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loading-area .loading-logo{
  width: min(calc(408/750*100%),408px);
}
.loading-area .loading-logo img{
  width: 100%;
}
/*============================
#fv
============================*/
.wrapper #fv h1{

}

.wrapper #fv .fv-anime01,
.wrapper #fv .fv-anime02,
.wrapper #fv .fv-anime03{
  position: absolute;
  left:4%;
  width: calc(513/750*100%);
  visibility: hidden;
}
.wrapper #fv .fv-anime01{
  top:72%;
}
.wrapper #fv .fv-anime02{
  top:78%;
}
.wrapper #fv .fv-anime03{
  top:85%;
}


.wrapper #fv h2{
  margin-top: -24%;
  opacity: 0;
}
.wrapper #fv .fv-beigeBox {
  background-color: #F0EBE8;
}

/*============================
.offer
============================*/
.wrapper .offer {
}
.wrapper .offer .p-box {
}
.wrapper .offer .p-box .offer-anime01 {
  width: calc(2/750*100%);
  top: 27%;
  left: 68%;
}
.wrapper .offer .p-box .offer-anime02 {
  width: calc(2/750*100%);
  top: 12%;
  left: 56.5%;
}
.wrapper .offer .p-box .offer-anime03 {
  width: calc(165/750*100%);
  top: 12%;
  left: 16%;
}
.wrapper .offer .offer-box {
  background-image: url(../img/offer-bg.jpg);
  background-repeat: repeat-y;
  background-size: contain;
}
.wrapper .offer .offer-box .btn-offer {
  width: calc(658/750*100%);
  margin: 4% auto;
  animation: pulse 1.5s infinite;
}
@keyframes pulse {
    0% {
        transform: scale(1.05)
    }
    5% {
        transform: scale(1)
    }
    95% {
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.05)
    }
}

.wrapper .offer .offer-box ul{
  padding-bottom: calc(42/750*100%);
}
.wrapper .offer .offer-box ul li{
  font-size: min(calc(16/750*100vw),16px);
  line-height: calc(24/16);
  text-align: justify;
  width: calc(610/750*100%);
  margin: 0 auto;
  text-indent: -1em;
  padding-left: 1em;
  color: #595757;
}

.wrapper .offer .offer-box ul li a,
.wrapper .offer .offer-box ul li a:visited{
  color: #595757;
  display: inline;
  text-decoration: none;
}
.wrapper .offer .offer-box ul li a{
  position: relative;
}
.wrapper .offer .offer-box ul li a:after{
  position: absolute;
  left:0;
  bottom:0;
  content:"";
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scale(0,1);
  transform-origin: left top;
  transition: transform 0.3s;
}
.wrapper .offer .offer-box ul li a:hover:after{
  transform: scale(1,1);
}
/*============================
#question
============================*/
.wrapper #question {
  background-color: #f2eeed;
}
.wrapper #question .question-anime01 {
  position: relative;
  margin: calc(20/750*100%) auto 0;
  width: calc(626/750*100%);
}

.wrapper #question .p-box .question-anime02 {
  width: calc(451/750*100%);
  left: 34%;
  top: 6.5%;
}
.wrapper #question .p-box .question-anime03 {
  width: calc(444/750*100%);
  left: 7%;
  top: 38%;
}
.wrapper #question .p-box .question-anime04 {
  width: calc(451/750*100%);
  left: 34%;
  top: 67.5%;
}
.wrapper #question .question-anime05 {
  position: relative;
  width: calc(647/750*100%);
  margin: 0 auto;
  padding-bottom: calc(92/750*100%);
}

/*============================
#care
============================*/
.wrapper #care {
}
.wrapper #care .p-box  ul{
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left:0;
}
.wrapper #care .p-box  ul li{
  width: calc(135/750*100%);
  top:43%;
}
.wrapper #care .p-box  .care-anime01 {
  left:7%;
}
.wrapper #care .p-box  .care-anime02 {
  left:29%;
}
.wrapper #care .p-box  .care-anime03 {
  left:51%;
}
.wrapper #care .p-box  .care-anime04 {
  left:73%;
}
.wrapper #care .p-box .care-anime05 {
  width: calc(398/750*100%);
  left: 43%;
  top: 0%;
}
.wrapper #care .p-box .care-anime06 {
  width: calc(515/750*100%);
  left: 27.5%;
  top: 27%;
}
.wrapper #care .p-box .care-anime07 {
  width: calc(432/750*100%);
  left: 39.5%;
  top:56.5%;
}

/*============================
#answer
============================*/
.wrapper #answer {
}
.wrapper #answer .p-box {
}
.wrapper #answer .p-box .answer-anime01 {
  width: calc(526/750*100%);
  left:  calc(112/750*100%);
  top:14.5%;
}
.wrapper #answer .p-box .answer-anime02 {
  position: relative;
  width: calc(629/750*100%);
  margin-bottom: 15%;
  opacity: 0;
}

.wrapper #answer .p-box .answer-anime-front02 {
  position: absolute;
  width: calc(124/750*100%);
  left: 77%;
  top:3%;
}

/*============================
#component
============================*/
.wrapper #component {
  background-color: #f2eeed;
  padding-bottom: min(calc(110/750*100%),110px);
}
.wrapper #component .fade-box {
}
.wrapper #component .compo-headBox {
  background-color: #6f4f4e;
}

.wrapper #component .compo-headBox h3{
  width: calc(456/750*100%);
  margin: 0 auto;
  padding: min(calc(40/750*100%),40px) 0 min(calc(30/750*100%),30px);
}
.wrapper #component .compo-Box {
}
.wrapper #component .compo-Box .p-box .anime_gif{
  position: absolute;
  z-index:2;
  width: calc(630/750*100%);
  left:calc(60/750*100%);

}
.wrapper #component .slider-box {
  background-image: url(../img/component-slider-bg.png);
  background-size: contain;
  background-repeat: repeat-y;
  padding-bottom: min(calc(75/750*100%),75px);

}
.wrapper #component .slider-box .slide-wrap {
  width: calc(630/750*100%);
  margin: 0 auto;
}

.wrapper #component .slider-box .slide-wrap .compo-slider .slick-next,
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-prev{
  position: absolute;
  top:50%;
  font-size: 0;
  background-size: contain;
  width: calc(35/630*100%);
  padding-top: calc(101/630*100%);
  z-index:5;
}
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-next{
  background-image: url(../img/compo-slide-next.png);
  right:-8%;
}
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-prev{
  background-image: url(../img/compo-slide-prev.png);
  left:-8%;
}
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-next:before,
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-prev:before{
  font-size: 0;
}
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-dots{
  position: absolute;
  bottom:-7%;
}
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-dots li button:before{
  font-size: min(calc(20/750*100vw),20px);
  color: #bea89d;
  opacity: 1;
}
.wrapper #component .slider-box .slide-wrap .compo-slider .slick-dots li.slick-active button:before{
  color: #6f4f4e;
}

.wrapper #component .slider-box .slide-wrap .compo-slider .slick-dots li {
  margin: 0 2%;
}

/*============================
#skincare
============================*/
.wrapper #skincare {
}
.wrapper #skincare .skincare-animeBox01.p-box {
}
.wrapper #skincare .skincare-animeBox01.p-box .skincare-textAnime {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index:10;
}
.wrapper #skincare .skincare-animeBox01.p-box .skincare-textAnime .skincare-anime01 {
  width: calc(56/750*100%);
  left: 87%;
  top: 15.5%;
}
.wrapper #skincare .skincare-animeBox01.p-box .skincare-textAnime .skincare-anime02 {
  width: calc(56/750*100%);
  left: 77.5%;
  top: 55.5%;
}
.wrapper #skincare .skincare-animeBox01.p-box .skincare-anime03 {
  position: relative;
  margin-bottom: calc(32/750*100%);
}


.wrapper #skincare .skincare-anime04 {
  position: relative;
  margin-bottom: calc(110/750*100%);
}
.wrapper #skincare .skincare-anime05 {
  position: relative;
  width: calc(493/750*100%);
  left:calc(128.5/750*100%);
}
.wrapper #skincare .p-box {
}
.wrapper #skincare .p-box .skincare-front {
  left:50%;
  bottom: -10%;
  width: calc(2/750*100%);
  z-index:10;
  position: absolute;
}

/*============================
#point
============================*/
.wrapper #point {
  background-color: #f2eeed;

}

.wrapper #point .fade-box .p-box .point-anime01 {
  width: calc(334/750*100%);
  left: 44%;
  top: 63.5%;
}
.wrapper #point .fade-box .point-animeBox {
  padding-bottom: min(calc(85/750*100%),85px);
}
.wrapper #point .fade-box:nth-of-type(2){
  background-color: #FFF;
}
.wrapper #point .fade-box .point-animeBox .point-anime02 {
  position: relative;
  width: calc(590/750*100%);
  margin: -1% auto 0;
}

/*============================
#use
============================*/
.wrapper #use {
}
.wrapper #use .fade-box {
}
.wrapper #use .fade-box .p-box {

}
.wrapper #use .fade-box .p-box [class*="use-anime0"]{
  position: relative;
  width: calc(150/750*100%);
  
}
.wrapper #use .fade-box .p-box ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: min(calc(36/750*100%),36px) min(calc(30/750*100%),30px) 0;
}

.wrapper #use .fade-box .p-box  .use-anime01 {
}
.wrapper #use .fade-box .p-box  .use-anime02 {
  width: calc(38/690*100%);
  margin-top: 9%;
}
.wrapper #use .fade-box .p-box  .use-anime03 {
  width: calc(52/690*100%);
  margin-top: -5%;
}
.wrapper #use .fade-box .p-box  .use-anime04 {
  width: calc(38/690*100%);
  margin-top: 9%;
}
.wrapper #use .fade-box .p-box  .use-anime05 {
}
.wrapper #use .fade-box .p-box  .use-anime06 {
  width: calc(38/690*100%);
  margin-top: 9%;
}
.wrapper #use .fade-box .p-box  .use-anime07 {
}

/*============================
#concept
============================*/
.wrapper #concept {
}
.wrapper #concept .fade-box {
}
.wrapper .offer .offer-cycle {
}

/*============================
#faq
============================*/
.wrapper #faq {
  padding-bottom: min(calc(30/750*100%),30px);
}
.wrapper #faq .accordion {
  width: calc(690/750*100%);
  margin: 0 auto calc(50/750*100%);
}
.wrapper #faq .accordion dt{
  position: relative;
  cursor:pointer;
}

.wrapper #faq .accordion dt:after,
.wrapper #faq .accordion dt:before{
  content:"";
  display: block;
  position: absolute;
  width: calc(40/690*100%);
  padding-top: calc(4/690*100%);
  background-image: url(../img/faq-icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  z-index:4;
  right:0;
  top:40%;
  transition: all ease 0.2s;
}

.wrapper #faq .accordion dt:before{
  transform: rotate(90deg);
}

.wrapper #faq .accordion dt.selected:before{
  transform: rotate(0deg);
}
.wrapper #faq .accordion dd{
  display: none;
}


.wrapper #faq .accordion:nth-of-type(3) dt:after,
.wrapper #faq .accordion:nth-of-type(3) dt:before{
  top:28%;
}
.wrapper #faq .accordion  .faq-link {
  width: calc(426/690*100%);
  margin-left: calc(105/690*100%);
}

/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.bl_floatArea {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: visibility .4s, opacity .4s;
  box-sizing: border-box;
}
.bl_floatArea.is_show {
  visibility: visible;
  opacity: 1;
}
.bl_floatArea_inner {
  max-width: 750px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}

/* ボタン */
.bl_floatArea_btn {
  display: block;
  width: calc(658/750*100%);
  margin: 0 auto;
}
.bl_floatArea_btn img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

