@charset "UTF-8";
/*******************************
CE250117flower
*******************************/
#CE250117flower{
  display: block;
  width: 100%;
  padding: 0 0 0;
  box-sizing: border-box;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #000000;
}

#CE250117flower *{box-sizing: border-box;}

#CE250117flower picture,
#CE250117flower figure,
#CE250117flower img{
  display: block;
  width: 100%;
  height: auto;
}


#CE250117flower .imgOuter{
  background: #FFFFFF;
}

#CE250117flower .imgOuter > a,
#CE250117flower .imgOuter > span{display: block; width: 100%; height: auto;}

#CE250117flower a{
  transition: opacity .3s;
}

#CE250117flower a:hover{
  opacity: .7;
}


/*******************************
fadeInSetting
*****************************
#CE250117flower .fadeInBlock{
  opacity: 0;
  transform: translate(0,3rem);
  transition: opacity 2s ease, transform 2s ease;
  pointer-events: none;
}

#CE250117flower .fadeInBlock.view{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
**/

/*******************************
creditLinks
*******************************/
#CE250117flower .creditArea{
  display: block;
}

#CE250117flower .creditLinks{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
}

#CE250117flower .creditLinks > a,
#CE250117flower .creditLinks > span{
  display: inline-block;
  white-space: nowrap;
  font-family: "noto-serif", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 2;
  color: #8E8E8E;
  text-decoration: underline;
  /*text-decoration-skip-ink: none;*/
  font-feature-settings: "palt";
  position: relative;
}



/*******************************
secTTL
*******************************/
#CE250117flower .secInner{
  display: block;
  position: relative;
}

#CE250117flower .secTTL{
  display: block;
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

#CE250117flower .secTTL::after{
  content: '';
  display: block;
  width: 1px;
  height: 0;
  background: #000000;
  position: absolute;
  transition: height 1s cubic-bezier(0.37, 0, 0.63, 1) 1.6s;
}


#CE250117flower .secTTL > .num{
  display: block;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1);
}
#CE250117flower .secTTL.view > .num{
  clip-path: inset(0);
}


#CE250117flower .secTTL > .num > picture,
#CE250117flower .secTTL > .num > picture > img{
  display: block;
  width: 100%;
  height: auto;
}

#CE250117flower .secTTL > .text{
  display: block;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1) 0.8s;
}

#CE250117flower .secTTL.view > .text{
  clip-path: inset(0 0 0 0);
}

#CE250117flower .secTTL > .text > svg{
  display: block;
  width: 100%;
  height: auto;
}

#CE250117flower .secTTL > .text > svg > path,
#CE250117flower .secTTL > .text > svg > polygon{
  fill: #000000;
  transition: fill 1s cubic-bezier(0.37, 0, 0.63, 1) 1.6s;
}

#CE250117flower .secTTL.view > .text > svg > path:nth-of-type(1){
  fill: #A3B0E6;
}


/*******************************
secLede
*******************************/
#CE250117flower .secLede{
  display: block;
  width: 80rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

#CE250117flower .secLede::after{
  content: '';
  display: block;
  width: 6.183rem;
  height: 7.318rem;
  background: url("../img/catch_bg.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: -2rem;
  top: -2.1rem;
  z-index: -1;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#CE250117flower .secLede.view::after{
  clip-path: inset(0);
}

#CE250117flower .secLede > .secCopy{
  display: block;
  margin-bottom: 1.1rem;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
  letter-spacing: 0;
  text-align: left;
  line-height: 1.666666666666667;
  color: #000000;
}

#CE250117flower .secLede > p{
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 2;
  text-align: left;
  letter-spacing: 0.025em;
}
#CE250117flower .secLede > p > span{
  font-family: "yu-mincho-pr6n", sans-serif;
}


/*******************************
mv
*******************************/
#CE250117flower .mvBlock{
  display: block;
  width: 110rem;
  margin: 0 auto 12.6rem;
  position: relative;
}

#CE250117flower .mvBlock .mvInner{
  display: block;
  width: 100%;
}

#CE250117flower .mvBlock .mvInner > a{
  display: block;
  width: 100%;
  position: relative;
}

#CE250117flower .mvBlock .mvInner > a > picture{
  display: block;
  width: 100%;
  aspect-ratio: 1100 / 700;
  overflow: hidden;
}

#CE250117flower .mvBlock .mvInner > a > picture img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.1);
  transition: transform 5s cubic-bezier(0.25, 0.46, 0.45, 0.94) .5s, opacity 5s cubic-bezier(0.25, 0.46, 0.45, 0.94) .5s;
}

#CE250117flower .mvBlock.view .mvInner > a > picture img{
  opacity: 1;
  transform: scale(1);
}

#CE250117flower .mvBlock .mvInner .mainTTL{
  display: block;
  width: 41.895rem;
  position: absolute;
  top: 6.73rem;
  left: 6.53rem;
  z-index: 2;
  opacity: 0;
  transform: translateX(-10%);
  transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s,opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s;
}


#CE250117flower .mvBlock.view .mvInner .mainTTL{
  opacity: 1;
  transform: translateX(0);
}

#CE250117flower .mvBlock .mvInner .mainTTL > picture,
#CE250117flower .mvBlock .mvInner .mainTTL > picture img{
  display: block;
  width: 100%;
  height: auto;
}



/*******************************
firstLede
*******************************/
#CE250117flower .firstLede{
  display: block;
  width: 100%;
  margin: 0 auto 14.2rem;
}

#CE250117flower .firstLede > .subTTL{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 3.5rem;
}

#CE250117flower .firstLede > .subTTL > picture{
  display: block;
  width: 9.753rem;
  height: auto;
  margin-right: 2.42rem;
  margin-bottom: 0.4rem;
}
#CE250117flower .firstLede > .subTTL > picture img{
  display: block;
  width: 100%;
  height: auto;
}

#CE250117flower .firstLede > .subTTL > span{
  display: block;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 500;
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #000002;
}



#CE250117flower .firstLede > p{
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 1.923076923076923;
  letter-spacing: 0.03em;
  text-align: center;
  /*font-feature-settings: "palt";*/
}



/*******************************
sec01
*******************************/
#sec01{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec01 .secInner{
  width: 95.8rem;
  margin: 0 auto 6rem;
  transform: translateX(6.1rem);
}


/* ttlSetting *****/
#sec01 .secTTL{
  left: 0;
  top: 105.36rem;
}

#sec01 .secTTL::after{
  left: 16.75rem;
  top: -7.86rem;
}
#sec01 .secTTL.view::after{height: 16.85rem;}


#sec01 .secTTL > .num{
  width: 26.7rem;
  margin-left: 0.6rem;
  margin-bottom: 1.46rem;
}

#sec01 .secTTL > .text{
  width: 28.564rem;
}

/* imgSetting *****/
#sec01 .img01{
  width: 65rem;
  margin-left: 9.3rem;
  margin-right: auto;
  margin-bottom: 2rem;
}


#sec01 .img02{
  width: 53rem;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 0;
  position: relative;
}


#sec01 .img02 .creditArea{
  position: absolute;
  left: -15.2rem;
  bottom: -0.8rem;
}


/*******************************
sec02
*******************************/
#sec02{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec02 .secInner{
  width: 92rem;
  margin: 0 auto 6rem;
}


/* ttlSetting *****/
#sec02 .secTTL{
  left: 55.4rem;
  top: 109rem;
}

#sec02 .secTTL::after{
  left: 17.33rem;
  top: -11.53rem;
}
#sec02 .secTTL.view::after{height: 20.615rem;}


#sec02 .secTTL > .num{
  width: 28.2rem;
  margin-bottom: 1.36rem;
}

#sec02 .secTTL > .text{
  width: 26.961rem;
}

/* imgSetting *****/
#sec02 .img01{
  width: 65rem;
  margin-left: auto;
  margin-right: 0.4rem;
  margin-bottom: 6.9rem;
}


#sec02 .img0203Wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto 2rem;
}

#sec02 .img02{
  width: 45rem;
}

#sec02 .img03{
  width: 45rem;
  margin-top: 28.9rem;
}


#sec02 .img04{
  width: 45rem;
  margin-left: auto;
  margin-right: 9.9rem;
  position: relative;
}

#sec02 .img04 .creditArea{
  position: absolute;
  left: -15.6rem;
  bottom: -0.8rem;
}


/*******************************
sec03
*******************************/
#sec03{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec03 .secInner{
  width: 96rem;
  margin: 0 auto 6rem;
  transform: translateX(-1.6rem);
}


/* ttlSetting *****/
#sec03 .secTTL{
  left: 3.59rem;
  top: 108.91rem;
}

#sec03 .secTTL::after{
  left: 17.83rem;
  top: -11.63rem;
}
#sec03 .secTTL.view::after{height: 20.615rem;}


#sec03 .secTTL > .num{
  width: 28.5rem;
  margin-bottom: 1.21rem;
}

#sec03 .secTTL > .text{
  width: 28.564rem;
  margin-left: 0.295rem;
}

/* imgSetting *****/
#sec03 .img01{
  width: 65rem;
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 2rem;
}


#sec03 .img02{
  width: 50rem;
  margin-left: auto;
  margin-right: 0;
  position: relative;
}

#sec03 .img02 .creditArea{
  position: absolute;
  left: -15.2rem;
  bottom: -0.8rem;
}

/*******************************
sec04
*******************************/
#sec04{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec04 .secInner{
  width: 107rem;
  margin: 0 auto 5.8rem;
  transform: translateX(1.5rem);
}


/* ttlSetting *****/
#sec04 .secTTL{
  right: 0;
  top: 176.84rem;
}

#sec04 .secTTL::after{
  left: 18.9rem;
  top: -11.64rem;
}
#sec04 .secTTL.view::after{height: 21.273rem;}


#sec04 .secTTL > .num{
  width: 28.5rem;
  margin-left: 1.256rem;
  margin-bottom: 1.46rem;
}

#sec04 .secTTL > .text{
  width: 40.243rem;
}

/* imgSetting *****/
#sec04 .img01{
  width: 65rem;
  margin-left: 19.5rem;
  margin-right: auto;
  margin-bottom: 2rem;
}


#sec04 .img0203Wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 92rem;
  margin: 0 auto 2rem 0;
}

#sec04 .img02{
  width: 45rem;
  margin-top: 22.9rem;
}

#sec04 .img03{
  width: 45rem;
}

#sec04 .img04{
  width: 45rem;
  margin-left: 13.208rem;
  margin-right: auto;
  position: relative;
}

#sec04 .img04 .creditArea{
  position: absolute;
  right: -16.8rem;
  bottom: -0.8rem;
}

#CE250117flower #sec04 .img04 .creditLinks{
  align-items: flex-start;
}

/*******************************
movieBlock
*******************************/
#CE250117flower .movieBlock{
  display: block;
  width: 110rem;
  margin: 0 auto 14.8rem;
}

#CE250117flower .movieBlock > video{
  width: 100%;
  height: auto;
}

/*******************************
sec05
*******************************/
#sec05{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec05 .secInner{
  width: 108rem;
  margin: 0 auto 6rem;
}


/* ttlSetting *****/
#sec05 .secTTL{
  left: 16.84rem;
  top: 109.4rem;
}

#sec05 .secTTL::after{
  left: 17.278rem;
  top: -12rem;
}
#sec05 .secTTL.view::after{height: 21.273rem;}


#sec05 .secTTL > .num{
  width: 28.1rem;
  margin-left: 0.052rem;
  margin-bottom: 1.24rem;
}

#sec05 .secTTL > .text{
  width: 25.694rem;
}

/* imgSetting *****/
#sec05 .img01{
  width: 65rem;
  margin-left: 11.9rem;
  margin-right: auto;
  margin-bottom: 2rem;
}


#sec05 .img0203Wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto;
}

#sec05 .img02{
  width: 53rem;
  margin-top: 40.2rem;
}

#sec05 .img03{
  width: 53rem;
}

#sec05 .img03 .creditArea{  
  padding-top: 0.8rem;
}

#CE250117flower #sec05 .img03 .creditLinks{
  display: block;
  text-align: right;
}

#CE250117flower #sec05 .img03 .creditLinks > a,
#CE250117flower #sec05 .img03 .creditLinks > span{
  margin-left: 0.8em;
}


/*******************************
sec06
*******************************/
#sec06{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec06 .secInner{
  width: 91.877rem;
  margin: 0 auto 6rem;
  transform: translateX(-4.0615rem);
}


/* ttlSetting *****/
#sec06 .secTTL{
  right: 7.83rem;
  top: 109.7rem;
}

#sec06 .secTTL::after{
  left: 18.79rem;
  top: -12.29rem;
}
#sec06 .secTTL.view::after{height: 21.273rem;}


#sec06 .secTTL > .num{
  width: 29.6rem;
  margin-bottom: 1.18rem;
}

#sec06 .secTTL > .text{
  width: 26.107rem;
}

/* imgSetting *****/
#sec06 .img01{
  width: 65rem;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 2rem;
}

#sec06 .img02{
  width: 45rem;
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 2rem;
}

#sec06 .img03{
  width: 53rem;
  margin-left: 12.9rem;
  margin-right: auto;
  position: relative;
}

#sec06 .img03 .creditArea{
  position: absolute;
  right: -15.4rem;
  bottom: -0.8rem;
}

#CE250117flower #sec06 .img03 .creditLinks{
  align-items: flex-start;
}


/*******************************
sec07
*******************************/
#sec07{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec07 .secInner{
  width: 93.1rem;
  margin: 0 auto 6rem;
  transform: translateX(3.45rem);
}


/* ttlSetting *****/
#sec07 .secTTL{
  left: 3.3rem;
  top: 106.78rem;
}

#sec07 .secTTL::after{
  left: 21.16rem;
  top: -9.46rem;
}
#sec07 .secTTL.view::after{height: 21.273rem;}


#sec07 .secTTL > .num{
  width: 30.5rem;
  margin-left: 1.482rem;
  margin-bottom: 1.18rem;
}

#sec07 .secTTL > .text{
  width: 42.508rem;
}

/* imgSetting *****/
#sec07 .img01{
  width: 65rem;
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 2rem;
}


#sec07 .img02{
  width: 50rem;
  margin-left: auto;
  margin-right: 0;
  position: relative;
}


#sec07 .img02 .creditArea{
  position: absolute;
  left: -15.2rem;
  bottom: -0.8rem;
}


/*******************************
sec08
*******************************/
#sec08{
  display: block;
  width: 100%;
  margin-bottom: 14.4rem;
  position: relative;
}

#sec08 .secInner{
  width: 97.5rem;
  margin: 0 auto 6rem;
  transform: translateX(0.05rem);
}


/* ttlSetting *****/
#sec08 .secTTL{
  right: 7.5rem;
  top: 75.95rem;
}

#sec08 .secTTL::after{
  left: 18.89rem;
  top: -10.95rem;
}
#sec08 .secTTL.view::after{height: 19.936rem;}


#sec08 .secTTL > .num{
  width: 27.8rem;
  margin-left: 1.802rem;
  margin-bottom: 1.09rem;
}

#sec08 .secTTL > .text{
  width: 28.747rem;
}

/* imgSetting *****/
#sec08 .img01{
  width: 100%;
  margin-bottom: 2rem;
}


#sec08 .img02{
  width: 55rem;
  margin-left: 10rem;
  margin-right: auto;
  margin-bottom: 2rem;
  position: relative;
}


#sec08 .img02 .creditArea{
  position: absolute;
  right: -15.5rem;
  bottom: -0.8rem;
}

#CE250117flower #sec08 .img02 .creditLinks{
  align-items: flex-start;
}

#sec08 .img03{
  width: 55rem;
  margin-left: auto;
  margin-right: 3.1rem;
}



/*******************************
kasumiProfile
*******************************/
#kasumiProfile{
  display: block;
  width: 110rem;
  margin: 0 auto 7.8rem;
  position: relative;
  overflow: hidden;
}

#kasumiProfile::after{
  content: '';
  display: block;
  width: 80rem;
  height: 100%;
  background: #464646;
  position: absolute;
  left: 0;
  top: 0;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#kasumiProfile.view::after{
  clip-path: inset(0);
}



#kasumiProfile .secInner{
  display: block;
  width: 80rem;
  margin: 0;
  padding: 4.1rem 0 5rem 5.1rem;
  position: relative;
  z-index: 2;
}

#kasumiProfile .profileTTL{
  display: block;
  width: 31rem;
  margin-bottom: 5.1rem;
}

#kasumiProfile .profileTTL picture,
#kasumiProfile .profileTTL img{
  display: block;
  width: 100%;
  height: auto;
}

#kasumiProfile .profileTTL > span{
  display: block;
  padding-top: 2.2rem;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 500;
  font-size: 2.5rem;
  letter-spacing: 0;
  line-height: 1;
  color: #FFFFFF;
  text-align: left;
}

#kasumiProfile .comment{
  display: block;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #FFFFFF;
  text-align: left;
  position: relative;
}

#kasumiProfile .comment::after{
  content: '';
  display: block;
  width: 40rem;
  height: 1px;
  background: #FFFFFF;
  position: absolute;
  left: 0;
  bottom: 0;
}


#kasumiProfile .profile{
  display: block;
}

#kasumiProfile .profile > dl{display: block;}
#kasumiProfile .profile > dl > dt,
#kasumiProfile .profile > dl > dd{
  display: block;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  font-weight: 400;
  text-align: left;
  color: #FFFFFF;
}

#kasumiProfile .profileImg{
  display: block;
  width: 50.7rem;
  position: absolute;
  left: 53.6rem;
  top: 2.7rem;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transform: scale(1.2) rotate(15deg) translateY(-10%);
  transition: transform 1s ease-out 0.5s, opacity 0.2s ease-out 0.5s;
}

#kasumiProfile.view .profileImg{
  opacity: 1;
  transform: scale(1) rotate(0deg) translateY(0);
}

#kasumiProfile .profileImg picture,
#kasumiProfile .profileImg img{
  display: block;
  width: 100%;
  height: auto;
}


/*******************************
profileMovie
*******************************/
#CE250117flower .profileMovie{
  display: block;
  width: 80rem;
  margin: 0 auto 4.6rem;
}

#CE250117flower .profileMovie > .movieWrap{
  display: block;
  width: 100%;
  aspect-ratio: 1250 / 703;
}

#CE250117flower .profileMovie > .movieWrap > iframe{
  width: 100%;
  height: 100%;
}

/*******************************
staffList
*******************************/
#CE250117flower dl.staffList{
  display: block;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

#CE250117flower dl.staffList > dt,
#CE250117flower dl.staffList > dd{
  display: block;
  font-family: "bodoni-moda-variable", sans-serif;
  font-variation-settings: "opsz" 11, "wght" 400;
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
  letter-spacing: 0;
  font-style: italic;
  transform: translateX(0.2rem);
}

/*******************************
lpTopBtn
*******************************/
#CE250117flower #lpTopBtn{
  display: block;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

#CE250117flower #lpTopBtn > .inner{
  width: 6.479rem;
  margin: 0 0 0 auto;
  position: relative;
  padding-bottom: 10rem;
}

#CE250117flower #lpTopBtn > .inner > a{
  display: block;
  width: 6.479rem;
  position: absolute;
  bottom: 10rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(25%);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

#CE250117flower #lpTopBtn.view > .inner > a{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

#CE250117flower #lpTopBtn.fixed > .inner > a{
  position: fixed;
}

#CE250117flower #lpTopBtn > .inner > a > img{
  display: block;
  width: 100%;
  height: auto;
}

/*******************************
overRide
*******************************/
#CE250117flower .spView{display: none;}











