@charset "UTF-8";


:root{
  --lpHeaderHight: 10.2rem;
}

@media screen and (max-width:767px) {
  :root {
    --lpSetSize: (100vw / 560);
  }
}

@media screen and (min-width:768px) and (max-width:1400px) {
  :root {
    --lpSetSize: (100vw / 1400);
  }
}

@media screen and (min-width:1401px){
  :root {
    --lpSetSize: 1px;
  }
}


/*******************************
CE251120Sparkle
*******************************/
#CE251120Sparkle{
  display: block;
  width: 100%;
  padding: 0 0 0;
  box-sizing: border-box;
  --color-light-blue: #D5DFE8;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-gray: #8E8E8E;
  background-color: var(--color-light-blue);
}


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


/*******************************
img setting
*******************************/
#CE251120Sparkle .imgOuter{
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  /*background: #FFFFFF;*/
}

#CE251120Sparkle .imgOuter > .outer,
#CE251120Sparkle .imgOuter picture,
#CE251120Sparkle .imgOuter img{
  display: block;
  width: 100%;
  height: auto;
}
#CE251120Sparkle .imgOuter > a{
  display: block;
  width: 100%;
  height: auto;
  pointer-events: auto;
}


/*******************************
creditLinks
*******************************/
#CE251120Sparkle .creditArea{
  display: block;
  padding-top: calc(18 * var(--lpSetSize));
  position: relative;
  z-index: 3;
}

#CE251120Sparkle .creditLinks{
  display: block;
  white-space: nowrap;
  text-align: center;
}


#CE251120Sparkle .creditLinks > a,
#CE251120Sparkle .creditLinks > span{
  display: inline-block;
  white-space: nowrap;
  font-family: "noto-serif", serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(16 * var(--lpSetSize));
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--color-gray);
  text-decoration: underline;
}

#CE251120Sparkle .creditLinks > a + a,
#CE251120Sparkle .creditLinks > span + span,
#CE251120Sparkle .creditLinks > a + span,
#CE251120Sparkle .creditLinks > span + a{
  margin-left: 0.8em;
}



/*******************************
figSlider
*******************************/
#CE251120Sparkle .figSlider{
	overflow: hidden;
	position: relative;
}


#CE251120Sparkle .figSlider .container{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

#CE251120Sparkle .figSlider .sliderWrapper{
  transition-timing-function: linear;
}

#CE251120Sparkle .figSlider .slider{
  display: block;
  width: calc(440 * var(--lpSetSize));
  padding: 0 calc(5 * var(--lpSetSize));
  pointer-events: auto;
}

#CE251120Sparkle .figSlider .slider.short{
  width: calc(430 * var(--lpSetSize));
}

#CE251120Sparkle .figSlider .slider a{
  display: block;
  width: 100%;
  height: auto;
}

#CE251120Sparkle .figSlider .slider a > img{
  display: block;
  width: 100%;
  height: auto;
}




/*******************************
fadeInSetting
*******************************/
#CE251120Sparkle .fadeInBlock{
  opacity: 0;
  transform: translate(0,calc(30 * var(--lpSetSize)));
  transition: opacity 0.85s cubic-bezier(0.33, 1, 0.68, 1),transform 1s cubic-bezier(0.33, 1, 0.68, 1);
}

#CE251120Sparkle .fadeInBlock.leftIn{
  transform: translate(0, 0);
  opacity: 1;
}

#CE251120Sparkle .fadeInBlock.rightIn{
  transform: translate(0, 0);
  opacity: 1;
}

#CE251120Sparkle .fadeInBlock.topIn{
  transform: translate(0, 0);
  opacity: 1;
}

#CE251120Sparkle .fadeInBlock.topIn .imgOuter{
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.85s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#CE251120Sparkle .fadeInBlock.leftIn .imgOuter{
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.85s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#CE251120Sparkle .fadeInBlock.rightIn .imgOuter{
  clip-path: inset(0 0 0 100%);
  transition: clip-path 0.85s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#CE251120Sparkle .fadeInBlock.topIn .imgOuter img,
#CE251120Sparkle .fadeInBlock.leftIn .imgOuter img,
#CE251120Sparkle .fadeInBlock.rightIn .imgOuter img{
  transform: scale(1.3) translate3d(0, 0, 0);
  transition: transform 1.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}


/*secTTL*/
#CE251120Sparkle .fadeInBlock.leftIn .secTTL{
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) .6s;
}
#CE251120Sparkle .fadeInBlock.rightIn .secTTL{
  clip-path: inset(0 0 0 100%);
  transition: clip-path 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) .6s;
}

/*mv*/
#CE251120Sparkle .mvBlock.fadeInBlock:not(.view){
  transform: translate(0, 0);
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.85s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#CE251120Sparkle .mvBlock.fadeInBlock .mainTTL .ttlHeadMain{
  clip-path: inset(0 0 0 100%);
  transition: clip-path 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) .85s;
}

#CE251120Sparkle .mvBlock.fadeInBlock .mainTTL .ttlHead{
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) 1.45s;
}



#CE251120Sparkle .fadeInBlock.view{
  opacity: 1;
  transform: translate(0,0);
}

#CE251120Sparkle .fadeInBlock.topIn.view .imgOuter,
#CE251120Sparkle .fadeInBlock.leftIn.view .imgOuter,
#CE251120Sparkle .fadeInBlock.rightIn.view .imgOuter{
  clip-path: inset(0);
}

#CE251120Sparkle .fadeInBlock.topIn.view .imgOuter img,
#CE251120Sparkle .fadeInBlock.leftIn.view .imgOuter img,
#CE251120Sparkle .fadeInBlock.rightIn.view .imgOuter img{
  transform: scale(1) translate3d(0, 0, 0);
}

#CE251120Sparkle .fadeInBlock.view .secTTL{
  clip-path: inset(0);
}


#CE251120Sparkle .mvBlock.fadeInBlock.view .mainTTL .ttlHeadMain,
#CE251120Sparkle .mvBlock.fadeInBlock.view .mainTTL .ttlHead {
  clip-path: inset(0);
}



/*******************************
lpMainWrap
*******************************/
#CE251120Sparkle .lpMainWrap{
  display: block;
  width: 100%;
  background-color: var(--color-white);
}


/* mv ********/
#CE251120Sparkle .mvBlock{
  width: 100%;
  position: relative;
}
#CE251120Sparkle .mvBlock .mvBlockInner{
  display: block;
  width: 100%;
}

#CE251120Sparkle .mvBlock .mvBlockInner .mvOuter{
  position: relative;
}

#CE251120Sparkle .mvBlock .mvBlockInner a.mvOuter,
#CE251120Sparkle .mvBlock .mvBlockInner img{
  display: block;
  width: 100%;
  height: auto;
}

#CE251120Sparkle .mvBlock .mvBlockInner .mainTTL{
  display: block;
  width: calc(397 * var(--lpSetSize));
  /* padding-top: calc(66.1 * var(--lpSetSize)); */
  position: absolute;
  bottom: calc(42 * var(--lpSetSize));
  left: calc(81 * var(--lpSetSize));
  z-index: 1;
  pointer-events: none;
}

#CE251120Sparkle .mvBlock .mvBlockInner .mainTTL .ttlHeadMain{
  display: block;
  width: 100%;
  position: relative;
  z-index: 1;
}
#CE251120Sparkle .mvBlock.fadeInBlock.view .mainTTL .ttlHead{
  display: block;
  width: calc(334 * var(--lpSetSize));
  bottom: calc(-29 * var(--lpSetSize));
  left: calc(31 * var(--lpSetSize));
  position: absolute;
}

#CE251120Sparkle .mvBlock .pcSecTTL{display: none;}


/* main ************/
#CE251120Sparkle .lpMain{
  display: block;
  width: 100%;
  /* padding: calc(44 * var(--lpSetSize)) 0 0 0; */
}

@media screen and (min-width:768px){

  #CE251120Sparkle .lpMainWrap{
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: calc(1400 * var(--lpSetSize));
    margin: 0 auto;
    background-color: var(--color-light-blue);
  }

  #CE251120Sparkle .lpMain{
    width: calc(560 * var(--lpSetSize));
    /* padding: calc(46 * var(--lpSetSize)) calc(70 * var(--lpSetSize)) 0; */
    background-color: var(--color-white);
  }
  
  /* mv ********/
  #CE251120Sparkle .mvBlock{
    width: calc(560 * var(--lpSetSize));
    position: relative;
    background-color: var(--color-white);
  }
    
  #CE251120Sparkle .mvBlock .mvBlockInner{
    position: sticky;
    padding-bottom: calc(300 * var(--lpSetSize));
    left: 0;
    top: var(--lpHeaderHight);
  }

  #CE251120Sparkle .mvBlock .mvBlockInner .mvOuter{
    width: 100%;
  }
  
  #CE251120Sparkle .mvBlock .mvBlockInner .mvOuter > picture{
    display: block;
    width: 100%;
    height: 100%;
    max-height: calc(100dvh - 76 * var(--lpSetSize) - var(--lpHeaderHight));
    overflow: hidden;
  }
  #CE251120Sparkle .mvBlock .mvBlockInner .mvOuter > picture img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  #CE251120Sparkle .mvBlock .mvBlockInner .mainTTL{
    display: block;
    width: calc(397 * var(--lpSetSize));
    position: absolute;
    z-index: 1;
  }

  #CE251120Sparkle .mvBlock .mvBlockInner .mainTTL .ttlHeadMain{
    width: 100%;
  }
  #CE251120Sparkle .mvBlock.fadeInBlock.view .mainTTL .ttlHead{
    width: calc(334 * var(--lpSetSize));
    position: absolute;
  }

  #CE251120Sparkle .mvBlock .pcSecTTL{
    display: block;
    margin-top: calc(30 * var(--lpSetSize));
    position: relative;
  }
  #CE251120Sparkle .mvBlock .pcSecTTL > p{
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  }
  #CE251120Sparkle .mvBlock .pcSecTTL > p.current{
    opacity: 1;
  }
  #CE251120Sparkle .mvBlock .pcSecTTL > p > img{
    display: block;
    height: auto;
    margin: 0 auto;
  }
  #CE251120Sparkle .mvBlock .pcSecTTL > p[data-pcttl="sec01"] > img{ width: calc(221 * var(--lpSetSize));}
  #CE251120Sparkle .mvBlock .pcSecTTL > p[data-pcttl="sec02"] > img{ width: calc(167 * var(--lpSetSize));}
  #CE251120Sparkle .mvBlock .pcSecTTL > p[data-pcttl="sec03"] > img{ width: calc(219 * var(--lpSetSize));}
  #CE251120Sparkle .mvBlock .pcSecTTL > p[data-pcttl="sec04"] > img{ width: calc(164 * var(--lpSetSize));}
  #CE251120Sparkle .mvBlock .pcSecTTL > p[data-pcttl="sec05"] > img{ width: calc(212 * var(--lpSetSize));}
  #CE251120Sparkle .mvBlock .pcSecTTL > p[data-pcttl="sec06"] > img{ width: calc(229 * var(--lpSetSize));}
  
  #CE251120Sparkle .mvBlock .mvBlockInner .mainTTL{
    bottom: calc(371 * var(--lpSetSize));
    right: 0;
  }


  #CE251120Sparkle .mvBlock.fadeInBlock.view .mainTTL .ttlHead{
    bottom: calc(-29 * var(--lpSetSize));
    left: calc(32 * var(--lpSetSize));
  }
  
}/*media*/


/*******************************
lpPageTopBtn
*******************************/
#CE251120Sparkle #lpPageTopBtn{
  position: sticky;
  margin: 0 0 0 calc(521 * var(--lpSetSize));
  width: calc(20 * var(--lpSetSize));
  right: calc(20 * var(--lpSetSize));
  bottom: calc(30 * var(--lpSetSize));
  z-index: 3;
}

@media screen and (min-width:768px){
  #CE251120Sparkle #lpPageTopBtn{
    bottom: calc(152 * var(--lpSetSize));
  }
}

#CE251120Sparkle #lpPageTopBtn > a,
#CE251120Sparkle #lpPageTopBtn img{
  display: block;
  width: 100%;
  height: auto;
}


/*******************************
firstLede
*******************************/
#CE251120Sparkle .firstLead{
  padding: calc(50 * var(--lpSetSize)) 0 0 0;
}

#CE251120Sparkle .firstLead > h3{
  width: calc(296 * var(--lpSetSize));
  margin: 0 auto;
}

#CE251120Sparkle .firstLead > p{
  font-family: shippori-mincho, sans-serif;
  font-weight: 400;
  font-size: calc(18 * var(--lpSetSize));
  letter-spacing: 0;
  line-height: 1.555555555555556;
  color: var(--color-black);
  text-align: center;
  margin: calc(15 * var(--lpSetSize)) auto 0;
}
@media screen and (min-width:768px){
  #CE251120Sparkle .firstLead {
    padding: calc(50 * var(--lpSetSize)) 0 calc(9 * var(--lpSetSize)) 0;
  }
}

/*******************************
sectionCommon
*******************************/
#CE251120Sparkle .collectionDetail{
  margin-top: calc(54 * var(--lpSetSize));
}

#CE251120Sparkle .collectionDetail .detailTTL{
  display: block;
  font-family: shippori-mincho, sans-serif;
  font-weight: 400;
  font-size: calc(22 * var(--lpSetSize));
  letter-spacing: 0.03em;
  line-height: 1.272727272727273;
  color: #000002;
  text-align: center;
}

#CE251120Sparkle .collectionDetail .detailOutline{
  display: block;
  padding: 0 calc(50 * var(--lpSetSize));
  font-family: shippori-mincho, "yu-mincho-pr6n", sans-serif;
  font-weight: 400;
  font-size: calc(18 * var(--lpSetSize));
  letter-spacing: 0;
  line-height: 1.555555555555556;
  color: var(--color-black);
  text-align: center;
  margin-top: calc(14 * var(--lpSetSize));
}


/*******************************
sec01
*******************************/
#sec01{
  display: block;
  margin: 0 auto;
  padding-top: calc(48 * var(--lpSetSize));
  position: relative;
}

#sec01 .secMV{
  width: calc(560 * var(--lpSetSize));
  margin: 0 auto;
}

#sec01 .secTTLBlock{
  width: calc(480 * var(--lpSetSize));
  margin: 0 auto;
}

#sec01 .img01{
  width: 100%;
  aspect-ratio: 560 / 740;
  overflow: hidden;
  margin: calc(20 * var(--lpSetSize)) auto 0;
}

#sec01 .img02{
  width: calc(560 * var(--lpSetSize));
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec01 .img03{
  width: calc(560 * var(--lpSetSize));
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec01 .sec_block02{
  padding-top: calc(69 * var(--lpSetSize));
}
#sec01 .sec_block02 .img01{
  margin: calc(29 * var(--lpSetSize)) auto 0;
}

#sec01 .sec_block02 .collectionDetail{
  margin-top: calc(55 * var(--lpSetSize));
  padding-left: calc(30 * var(--lpSetSize));
}
@media screen and (min-width:768px){
  #sec01 {
    padding-top: calc(39 * var(--lpSetSize));
  }
}
/*******************************
sec02
*******************************/
#sec02{
  display: block;
  margin: 0 auto;
  padding-top: calc(70 * var(--lpSetSize));
  position: relative;
}

#sec02 .secMV{
  width: calc(560 * var(--lpSetSize));
  margin: 0 auto;
}

#sec02 .secTTLBlock{
  width: calc(413 * var(--lpSetSize));
  margin: 0 auto;
}

#sec02 .img01{
  width: 100%;
  aspect-ratio: 560 / 740;
  overflow: hidden;
  margin: calc(29 * var(--lpSetSize)) auto 0;
}

#sec02 .img02{
  margin: calc(11 * var(--lpSetSize)) auto 0;
}

#sec02 .sec_block02{
  padding-top: calc(69 * var(--lpSetSize));
}
#sec02 .sec_block02 .img01{
  margin: calc(30 * var(--lpSetSize)) auto 0;
}

#sec02 .sec_block02 .collectionDetail{
  margin-top: calc(55 * var(--lpSetSize));
}



/*******************************
sec03
*******************************/
#sec03{
  display: block;
  margin: 0 auto;
  margin-top: calc(68 * var(--lpSetSize));
  padding-block: calc(30 * var(--lpSetSize));
  position: relative;
  background-color: var(--color-light-blue);
}

#sec03 .secMV{
  width: calc(430 * var(--lpSetSize));
  margin: 0 auto;
}

#sec03 .secTTLBlock{
  width: calc(274 * var(--lpSetSize));
  margin: 0 auto;
}

#sec03 .img01{
  width: 100%;
  aspect-ratio: 430 / 580;
  overflow: hidden;
  margin: calc(14 * var(--lpSetSize)) auto 0;
}

#sec03 .collectionDetail{
  margin-top: calc(17 * var(--lpSetSize));
}

/*******************************
sec04
*******************************/
#sec04{
  display: block;
  margin: 0 auto;
  margin-top: calc(50 * var(--lpSetSize));
  position: relative;
}

#sec04 .secMV{
  width: calc(560 * var(--lpSetSize));
  margin: 0 auto;
}

#sec04 .secTTLBlock{
  width: calc(409 * var(--lpSetSize));
  margin: 0 auto;
}

#sec04 .img01{
  width: 100%;
  aspect-ratio: 560 / 740;
  overflow: hidden;
  margin: calc(30 * var(--lpSetSize)) auto 0;
}

#sec04 .img02{
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec04 .img03{
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec04 .collectionDetail{
  margin-top: calc(55 * var(--lpSetSize));
}
#sec04 .collectionDetail .detailOutline {
    padding: 0 calc(40 * var(--lpSetSize));
}

/*******************************
sec05
*******************************/
#sec05{
  display: block;
  margin: 0 auto;
  padding-top: calc(70 * var(--lpSetSize));
  position: relative;
}

#sec05 .secMV{
  width: calc(560 * var(--lpSetSize));
  margin: 0 auto;
}

#sec05 .secTTLBlock{
  width: calc(470 * var(--lpSetSize));
  margin: 0 auto;
}

#sec05 .img01{
  width: 100%;
  aspect-ratio: 560 / 740;
  overflow: hidden;
  margin: calc(29 * var(--lpSetSize)) auto 0;
}

#sec05 .img02{
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec05 .collectionDetail{
  margin-top: calc(55 * var(--lpSetSize));
}

#sec05 .sec_block02{
  padding-top: calc(69 * var(--lpSetSize));
}
#sec05 .sec_block02 .img01{
  margin: calc(30 * var(--lpSetSize)) auto 0;
}

#sec05 .sec_block02 .collectionDetail{
  margin-top: calc(55 * var(--lpSetSize));
}


/*******************************
sec06
*******************************/
#sec06{
  display: block;
  margin: 0 auto;
  margin-top: calc(68 * var(--lpSetSize));
  position: relative;
}

#sec06 .secMV{
  width: calc(560 * var(--lpSetSize));
  margin: 0 auto;
}

#sec06 .secTTLBlock{
  width: calc(491 * var(--lpSetSize));
  margin: 0 auto;
}

#sec06 .img01{
  width: 100%;
  aspect-ratio: 560 / 740;
  overflow: hidden;
  margin: calc(18 * var(--lpSetSize)) auto 0;
}

#sec06 .img02{
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec06 .img03{
  margin: calc(10 * var(--lpSetSize)) auto 0;
}

#sec06 .collectionDetail{
  margin-top: calc(55 * var(--lpSetSize));
}

#sec06 .collectionDetail .detailOutline {
  padding: 0 calc(20 * var(--lpSetSize));
}

/*******************************
lpStaffList
*******************************/
#CE251120Sparkle .lpProfileBlock{
  display: block;
  width: calc(460 * var(--lpSetSize));
  margin: calc(55 * var(--lpSetSize)) auto calc(40  * var(--lpSetSize));
  padding: calc(15 * var(--lpSetSize)) 0 calc(12 * var(--lpSetSize));
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  position: relative;
}

#CE251120Sparkle .lpProfileBlock .profileTTL{
  display: block;
  width: calc(88.08 * var(--lpSetSize));
  padding-right: calc(8 * var(--lpSetSize));
  background: #FFFFFF;
  position: absolute;
  left: 0;
  top: calc(-18 * var(--lpSetSize));
  z-index: 1;
}

#CE251120Sparkle .lpProfileBlock .profileTTL img{
  display: block;
  width: 100%;
  height: auto;
}

#CE251120Sparkle .lpProfileBlock p{
  font-family: shippori-mincho, sans-serif;
　font-weight: 400;
  font-size: calc(16 * var(--lpSetSize));
  letter-spacing: 0;
  line-height: 1.625;
  color: #000000;
  text-align: left;
}

/*******************************
allItemBtn
*******************************/
#CE251120Sparkle .allItemBtn{
  display: block;
  width: calc(261 * var(--lpSetSize));
  margin: calc(69 * var(--lpSetSize)) auto calc(21 * var(--lpSetSize));
  position: relative;
}

#CE251120Sparkle .allItemBtn a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(42  * var(--lpSetSize));
  border: 1px solid #000002;
  position: relative;
}



#CE251120Sparkle .allItemBtn a img{
  display: block;
  width: calc(160 * var(--lpSetSize));
  height: auto;
}


/*******************************
lpStaffList
*******************************/
#CE251120Sparkle dl.lpStaffList{
  display: block;
  margin: 0 auto;
  overflow: hidden;
}

#CE251120Sparkle dl.lpStaffList > dt,
#CE251120Sparkle dl.lpStaffList > dd{
  display: block;
  font-family: bodoni-moda-variable, sans-serif;
  font-variation-settings: "wght" 400;
  font-style: italic;
  font-size: calc(14 * var(--lpSetSize));
  line-height: 1.4285714286;
  text-align: center;
  color: #000002;
}


/*******************************
overRide
*******************************/
#CE251120Sparkle *::before,
#CE251120Sparkle *::after{
  box-sizing: border-box;
}

@media screen and (max-width:767px) {
  #CE251120Sparkle .pcView{display: none;}
}

@media screen and (min-width:768px){
  #CE251120Sparkle .spView{display: none;}

  #CE251120Sparkle .firstLead{
    background-color: var(--color-light-blue);
  }
}

#CE251120Sparkle .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
#CE251120Sparkle .swiper-slide {
  width: calc(430 * var(--lpSetSize));
  margin-right: calc(10 * var(--lpSetSize));
}





