@charset "UTF-8";


@media screen and (max-width:767px) {
  :root {
    --lpSetSize: (100vw / 750);
    --lpHeaderHeight: calc(274 * (100vw / 750));
  }
  
}

:root{
  --scrollbarSize: 0;
}


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

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




/*******************************
FU250918heart
*******************************/
#FU250918heart{
  display: block;
  width: 100%;
  box-sizing: border-box;
}

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

@media (hover: hover) {
  #FU250918heart a:hover{
    opacity: .6;
  }
}

@media (hover: none) {
  #FU250918heart a:hover{
    opacity: 1;
  }
}

@media screen and (min-width:768px){
  #FU250918heart{
    margin-bottom: 9rem;
  }
}


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

#FU250918heart img,
#FU250918heart picture{
  display: block;
  width: 100%;
  height: auto;
}


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


/*******************************
figSlider
*******************************/
#FU250918heart .figSlider{
	position: relative;
}

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

#FU250918heart .figSlider .sliderWrapper{}

#FU250918heart .figSlider .slider{
  display: block;
  width: 100%;
  margin: 0;
}

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

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

#FU250918heart .figSlider .slider.swiper-slide-active{
  pointer-events: auto;
}

#FU250918heart .figSlider ul.sliderPager{
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 0 calc(20 * var(--lpSetSize));
  width: 100%;
  margin-top: calc(30 * var(--lpSetSize));
}

#FU250918heart .figSlider ul.sliderPager > li{
  display: block;
  width: calc(60 * var(--lpSetSize));
  height: calc(4 * var(--lpSetSize));
  border: none;
  background-color: #ffcaca;
  border-radius: 0;
  cursor: pointer;
  opacity: 1;
  pointer-events: auto;
  position: relative;
  transition: opacity .3s ease,background .3s ease;
}

#FU250918heart .figSlider ul.sliderPager > li::after{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: #ffa6a6;
  transform: scaleX(0);
  transform-origin: left;
}


/*待機時間*/
:root {
  --sliderDelayTime: 4s;
}

#FU250918heart .figSlider ul.sliderPager > li.swiper-pagination-bullet-active{
  pointer-events: none;
}

#FU250918heart .figSlider ul.sliderPager > li.swiper-pagination-bullet-active::after{
  opacity: 1;
  animation: pagerActive var(--sliderDelayTime) linear forwards;
}

@keyframes pagerActive {
  0%{ transform: scaleX(0);}
  100%{ transform: scaleX(1);}
}




/*******************************
creditLinks
*******************************/
#FU250918heart .creditArea{
  display: block;
  width: 100%;
  padding-top: calc(52 * var(--lpSetSize));
  position: relative;
  z-index: 3;
}

#FU250918heart .creditLinks{
  display: block;
  text-align: center;
}


#FU250918heart .creditLinks > a,
#FU250918heart .creditLinks > span{
  display: inline;
  font-family: "helvetica-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(20 * var(--lpSetSize));
  letter-spacing: 0.05em;
  line-height: 2;
  color: #000000;
  text-decoration: none;
  font-feature-settings: "palt";
}

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


/*******************************
fadeInSetting
*******************************/
#FU250918heart .fadeInBlock{
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#FU250918heart .fadeInBlock.upIn{
  transform: translateY(calc(80 * var(--lpSetSize)));
  transition: opacity 0.8s ease, transform 0.8s ease;
}

#FU250918heart .fadeInBlock.view{
  opacity: 1;
  transform: translateY(0);
}


/*******************************
lpWrap
*******************************/
#FU250918heart{}

#FU250918heart .lpWrap{
  display: block;
  width: 100%;
  padding: 0;
}


#mvBlock{display: block; margin: 0 auto;}
#mvBlock .mvBlockInner{display: block;}

#mvBlock a.mvOuter,
#mvBlock .mvOuter{
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

#mvBlock .mvOuter picture{
  display: block;
  width: 100%;
  height: auto;
}

#mvBlock .mvOuter .mainTTL{
  display: block;
  width: calc(672.4111 * var(--lpSetSize));
  position: absolute;
  left: calc(40 * var(--lpSetSize));
  bottom: calc(52 * var(--lpSetSize));
  z-index: 1;
}

#FU250918heart .lpMain{
  display: block;
  width: 100%;
  padding-top: calc(140 * var(--lpSetSize));
}



@media screen and (min-width:768px){
  #FU250918heart .lpWrap{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    padding: 0;
  }

  #mvBlock{width: 50%;}
  #mvBlock .mvBlockInner{
    position: sticky;
    top: var(--lpHeaderHeight);
    left: 0;
  }

  #mvBlock a.mvOuter,
  #mvBlock .mvOuter{
    display: block;
    width: 100%;
    height: auto;
    position: relative;
  }

  #mvBlock .mvOuter > picture{
    display: block;
    width: 100%;
    height: calc(100dvh - var(--lpHeaderHeight));
    overflow: hidden;
  }
  #mvBlock .mvOuter > picture > img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #mvBlock .mvOuter .mainTTL{
    width: calc(673.5714285714286 * var(--lpSetSize));
    position: absolute;
    left: calc(50% - 673.5714285714286 * var(--lpSetSize) / 2);
    bottom: calc(49.28571428571429 * var(--lpSetSize));
    z-index: 1;
  }
  
  #FU250918heart .lpMain{
    display: block;
    width: 50%;
  }
  
}


/*******************************
firstLede
*******************************/
#FU250918heart .firstLede{
  display: block;
  width: 100%;
  padding-bottom: calc((240 - 14.4) * var(--lpSetSize));
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#FU250918heart .firstLede::after{
  content: '';
  display: block;
  width: 100%;
  height: calc(730 * var(--lpSetSize));
  background: url("../img/bg_lede.png") calc(50% - 18 * var(--lpSetSize)) top no-repeat;
  background-size: auto 100%;
  position: absolute;
  left: 0;
  top: calc(290 * var(--lpSetSize));
  z-index: 1;
  pointer-events: none;
}

#FU250918heart .firstLede .img01{
  width: calc(360  * var(--lpSetSize));
  margin: 0 auto calc((80 - 12) * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart .firstLede > p{
  display: block;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: calc(24 * var(--lpSetSize));
  line-height: 2.2;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-feature-settings: "palt";
  color: #000000;
  text-align: center;
  position: relative;
  z-index: 2;
}

 
/*******************************
sec01
*******************************/
#FU250918heart #sec01{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: calc(240 * var(--lpSetSize));
  padding-bottom: calc(192 * var(--lpSetSize));
  background: #fff2f2;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#FU250918heart #sec01::before{
  content: '';
  display: block;
  width: 100%;
  height: calc(500 * var(--lpSetSize));
  background: url("../img/bg_sec_01_head.png") center bottom no-repeat #FFFFFF;
  background-size: auto 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}

@media screen and (min-width:768px){
  #FU250918heart #sec01::before{
    height: calc(500 * var(--lpSetSize));
    background: url("../img/bg_sec_01_head.png") center bottom no-repeat #FFFFFF;
    background-size: 100% 100%;
  }
}

#FU250918heart #sec01::after{
  content: '';
  display: block;
  width: 100%;
  height: calc(340 * var(--lpSetSize));
  background: url("../img/bg_sec_01_01.png") calc(50% + (101 + 180) * var(--lpSetSize)) top no-repeat;
  background-size: auto 100%;
  position: absolute;
  left: 0;
  top: calc(1998 * var(--lpSetSize));
  z-index: 1;
  pointer-events: none;
}


#FU250918heart #sec01 .secTTL{
  display: block;
  width: calc(750 * var(--lpSetSize));
  margin: 0 auto calc((80 - 12) * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec01 p.secLede{
  display: block;
  margin-bottom: calc((120 - 14.4) * var(--lpSetSize));
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: calc(24 * var(--lpSetSize));
  line-height: 2.2;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-feature-settings: "palt";
  color: #000000;
  text-align: center;
  position: relative;
  z-index: 2;
}


#FU250918heart #sec01 .img01{
  display: block;
  width: calc(660 * var(--lpSetSize));
  margin: 0 auto calc(142 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec01 .img02{
  display: block;
  width: calc(600 * var(--lpSetSize));
  margin: 0 auto calc(30 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec01 .img03{
  display: block;
  width: calc(600 * var(--lpSetSize));
  margin: 0 auto calc(142 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}


#FU250918heart #sec01 .img04{
  display: block;
  width: calc(750 * var(--lpSetSize));
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

 
/*******************************
sec02
*******************************/
#FU250918heart #sec02{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: calc(240 * var(--lpSetSize));
  padding-bottom: calc(192 * var(--lpSetSize));
  background: #FFFFFF;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#FU250918heart #sec02::before{
  content: '';
  display: block;
  width: 100%;
  height: calc(500 * var(--lpSetSize));
  background: url("../img/bg_sec_02_head.png") center bottom no-repeat #fff2f2;
  background-size: auto 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}

@media screen and (min-width:768px){
  #FU250918heart #sec02::before{
    height: calc(500 * var(--lpSetSize));
    background: url("../img/bg_sec_02_head.png") center bottom no-repeat #fff2f2;
    background-size: 100% 100%;
  }
}

#FU250918heart #sec02::after{
  content: '';
  display: block;
  width: 100%;
  height: calc(860 * var(--lpSetSize));
  background: url("../img/bg_sec_02_01.png") 50% top no-repeat;
  background-size: auto 100%;
  position: absolute;
  left: 0;
  top: calc(3320 * var(--lpSetSize));
  z-index: 1;
  pointer-events: none;
}


#FU250918heart #sec02 .secTTL{
  display: block;
  width: calc(700 * var(--lpSetSize));
  margin: 0 auto calc((80 - 12) * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec02 p.secLede{
  display: block;
  margin-bottom: calc((120 - 11) * var(--lpSetSize));
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: calc(24 * var(--lpSetSize));
  line-height: 2.2;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-feature-settings: "palt";
  color: #000000;
  text-align: center;
  position: relative;
  z-index: 2;
}

#FU250918heart #sec02 .img01{
  display: block;
  width: calc(750 * var(--lpSetSize));
  margin: 0 auto calc(142 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec02 .img02{
  display: block;
  width: calc(630 * var(--lpSetSize));
  margin: 0 auto calc(192 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec02 .img03{
  display: block;
  width: calc(420 * var(--lpSetSize));
  margin: 0 auto;
  position: relative;
  z-index: 2;
}


/*******************************
sec03
*******************************/
#FU250918heart #sec03{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: calc(240 * var(--lpSetSize));
  padding-bottom: calc(192 * var(--lpSetSize));
  background: #ffeefb;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#FU250918heart #sec03::before{
  content: '';
  display: block;
  width: 100%;
  height: calc(614.9237 * var(--lpSetSize));
  background: url("../img/bg_sec_03_head.png") center bottom no-repeat #FFFFFF;
  background-size: auto 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}

@media screen and (min-width:768px){
  #FU250918heart #sec03::before{
    height: calc(614.9237 * var(--lpSetSize));
    background: url("../img/bg_sec_03_head.png") center bottom no-repeat #FFFFFF;
    background-size: 100% 100%;
  }
}

#FU250918heart #sec03::after{
  content: '';
  display: block;
  width: 100%;
  height: calc(860 * var(--lpSetSize));
  background: url("../img/bg_sec_02_01.png") 50% top no-repeat;
  background-size: auto 100%;
  position: absolute;
  left: 0;
  top: calc(2794 * var(--lpSetSize));
  z-index: 1;
  pointer-events: none;
}


#FU250918heart #sec03 .secTTL{
  display: block;
  width: calc(700 * var(--lpSetSize));
  margin: 0 auto calc((80 - 12) * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec03 p.secLede{
  display: block;
  margin-bottom: calc((120 - 12) * var(--lpSetSize));
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: calc(24 * var(--lpSetSize));
  line-height: 2.2;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-feature-settings: "palt";
  color: #000000;
  text-align: center;
  position: relative;
  z-index: 2;
}

#FU250918heart #sec03 .img01{
  display: block;
  width: calc(630 * var(--lpSetSize));
  margin: 0 auto calc(20 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec03 .img02{
  display: block;
  width: calc(630 * var(--lpSetSize));
  margin: 0 auto calc(190 * var(--lpSetSize));
  position: relative;
  z-index: 2;
}

#FU250918heart #sec03 .img03{
  display: block;
  width: calc(420 * var(--lpSetSize));
  margin: 0 auto;
  position: relative;
  z-index: 2;
}


/*******************************
bottomArea
*******************************/
#FU250918heart .lpBottomArea{
  background: #ffeefb;
  padding-bottom: calc(108 * var(--lpSetSize));
}

/*******************************
btnAllItems
*******************************/
#FU250918heart .btnAllItems{
  width: calc(334 * var(--lpSetSize));
  margin: 0 auto calc(120 * var(--lpSetSize));
}

#FU250918heart .btnAllItems a,
#FU250918heart .btnAllItems picture,
#FU250918heart .btnAllItems img{
  display: block;
  width: 100%;
  height: auto;
}

/*******************************
lpBottomBar
*******************************/
#FU250918heart .lpBottomBar{
  display: block;
  width: 100%;
  margin: 0 auto calc(73 * var(--lpSetSize));
  height: calc(22 * var(--lpSetSize));
  background: url("../img/bg_last.svg") center center no-repeat;
  background-size: auto 100%;
}



/*******************************
staffList
*******************************/
#FU250918heart dl.staffList{
  display: block;
}

#FU250918heart dl.staffList > dt{
  display: block;
  font-family: "helvetica-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(20 * var(--lpSetSize));
  letter-spacing: 0.05em;
  line-height: 2;
  color: #000000;
  text-align: center;
}

#FU250918heart dl.staffList > dd{
  display: block;
  font-family: "helvetica-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(20 * var(--lpSetSize));
  letter-spacing: 0.05em;
  line-height: 2;
  color: #000000;
  text-align: center;
}



/*******************************
overRide
*******************************/
@media screen and (max-width:767px) {
  #FU250918heart .pcView{display: none;}
  
  #FU250918heart {margin-bottom: calc(200 * 100vw / 750);}
}

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








