﻿/**************************************
header
**************************************/
#header:not(.move) .headLogo img,
#header.modalOpen .headLogo img{
  filter: brightness(1);
}

#header:not(.move) #headNav > .navBox > ul.contentsNav > li > a,
#header.modalOpen #headNav > .navBox > ul.contentsNav > li > a{
  color: #FFFFFF;
}

#header:not(.move) #headNav > .navBox > ul.snsLinks > li  > a > img,
#header.modalOpen #headNav > .navBox > ul.snsLinks > li  > a > img{
  filter: brightness(1);
}

#header:not(.move) #headNav > .openBtn > span,
#header:not(.move) #headNav > .openBtn::before,
#header:not(.move) #headNav > .openBtn::after,
#header.modalOpen #headNav > .openBtn > span,
#header.modalOpen #headNav > .openBtn::before,
#header.modalOpen #headNav > .openBtn::after{
  background-color: #FFFFFF;
}


/**************************************
homeMain
**************************************/
#main{
  display: block;
}

/* homeTTL  *******/
.homeTTL{
  display: block;
  margin-bottom: 4rem;
  font-family: var(--titleFont);
  font-size: 12.8rem;
  color: #000000;
  line-height: 1;
  text-align: center;
}

.homeTTL::first-letter{
  font-size: 20rem;
  color: #E64747;
}

/**************************************
mainVisual
**************************************/
#mainVisual{
	display: block;
	width: 100%;
  height: 100dvh;
	margin: 0 auto 9rem;
	overflow: hidden;
  position: relative;
  z-index: 3;
} 

#mainVisual::after{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.3);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

#mainVisual .mvTTL{
  display: block;
  width: 66.8vw;
  padding-bottom: 6rem;
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#mainVisual .mvTTL > img{
  display: block;
  width: 100%;
  height: auto;
}



#mainVisual .container{
  display: block;
  width: 100%;
  height: 100%;
}

#mainVisual .swiper-slide picture{
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#mainVisual .swiper-slide picture img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}


#mainVisual .swiper-slide.swiper-slide-active picture img,
#mainVisual .swiper-slide.swiper-slide-duplicate-active picture img,
#mainVisual .swiper-slide.swiper-slide-prev picture img{
  animation: mvZoom var(--mvDelayTime) linear 0.2s normal both;
}

@keyframes mvZoom{
  0% { transform: scale(1)}
  100% { transform: scale(1.1)}
}




#mainVisual .btnScroll{
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 3;
}

#mainVisual .btnScroll > a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 0;
  font-family: var(--titleFont);
  font-weight: 3.2rem;
  line-height: 1.5;
  text-align: center;
  color: #FFFFFF;
  position: relative;
}

#mainVisual .btnScroll > a::after{
  content: '';
  display: block;
  width: 1px;
  height: 7.6rem;
  background: #FFFFFF;
}


/**************************************
homeAbout
**************************************/
.homeAbout{
  display: block;
  width: 100%;
  padding: 7rem 0 7rem;
  z-index: 3;
}

.homeAbout > .inner{
  display: block;
}

.homeAbout > .inner > .img{
  display: block;
  width: calc(100% - 5rem);
  margin: 0 auto 0 0;
}

.homeAbout > .inner > .img > picture{
  display: block;
  width: 100%;
  overflow: hidden;
}
.homeAbout > .inner > .img > picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.homeAbout > .inner > .text{
  display: block;
  width: 100%;
  padding: 0 5rem;
  margin-bottom: 5.6rem;
}


.homeAbout > .inner > .text p{
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}

.homeAbout > .inner > .text p + p{
  margin-top: 1em;
}


/**************************************
homeService
**************************************/
.homeService{
  display: block;
  width: 100%;
  padding: 7rem 0 16rem;
}

.homeService .homeTTL{
  text-align: left;
  padding: 0 5rem;
}

.homeService .lede{
  padding: 0 5rem;
  font-size: 2.8rem;
  text-align: left;
  margin-bottom: 5.6rem;
}

.homeServiceList{}

.homeServiceList > ul{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.4rem 0.4rem;
  background: #E64747;
}

.homeServiceList > ul > li{
  display: block;
  width: calc(50% - 0.2rem);
  aspect-ratio: 1 / 1;
  position: relative;
  cursor: pointer;
}


.homeServiceList > ul > li::before{
  content: '';
  display: block;
  background: url("../img/common/icon_arrow_white_sp.svg") 5.2rem 6rem no-repeat #E64747;
  background-size: 3.2rem auto;
  height: 10rem;
  width: 10rem;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
}
.homeServiceList > ul > li::after{
  content: '';
  display: block;
  background: #E64747;
  position: absolute;
  z-index: 2;
}

.homeServiceList > ul > li:nth-of-type(1)::before,
.homeServiceList > ul > li:nth-of-type(3)::before{
  right: -0.2rem;
}


.homeServiceList > ul > li > dl{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 0 2.4rem 0;
  position: relative;
  z-index: 2;
  color: #FFFFFF;
}

.homeServiceList > ul > li > dl > dt{
  display: block;
  margin-bottom: 1.6rem;
  font-family: var(--otherFontBold);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.homeServiceList > ul > li > dl > dd{
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.homeServiceList > ul > li > dl > dd.caution{
  margin-top: 1.6rem;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
}


.homeServiceList > ul > li > picture{
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.homeServiceList > ul > li > picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.homeServiceList > ul > li > picture::after{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.5);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
}

/* serviceModal ********************/
#homeServiceDetail{}

#homeServiceDetail .serviceModal{
  display: block;
  height: 100dvh;
  width: 100vw;
  padding: 0 4.9rem;
  opacity: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
  transition: opacity 0.2s ease;
  transform: translate(100%,0);
  backface-visibility: hidden;
  pointer-events: none;
}

#homeServiceDetail .serviceModal.open{
  z-index: 102;
  opacity: 1;
  transform: translate(0,0);
  pointer-events: auto;
}


#homeServiceDetail .serviceModal > .inner{
  width: 100%;
  margin: 24rem auto 20rem;
  padding: 8rem 4rem;
  background: #FFFFFF;
  position: relative;
  z-index: 2;
}

#homeServiceDetail .serviceModal .serviceTTL{
  display: block;
  margin-bottom: 3.2rem;
}


#homeServiceDetail .serviceModal .serviceTTL > .en{
  display: block;
  margin-bottom: 0.4rem;
  text-align: center;
  font-family: var(--otherFontMidium);
  font-size: 2.8rem;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

#homeServiceDetail .serviceModal .serviceTTL > .jp{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 2.4rem;
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

#homeServiceDetail .serviceModal .serviceTTL > .jp::before,
#homeServiceDetail .serviceModal .serviceTTL > .jp::after{
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #A5A5A5;
}


#homeServiceDetail .serviceModal .closeBtn{
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background: url("../img/common/icon_close.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 2.5rem;
  top: 2.5rem;
  z-index: 1;
  cursor: pointer;
}

#homeServiceDetail .serviceModal .serviceImg{
  display: block;
  width: 100%;
  margin-bottom: 3.2rem;
  height: auto;
}
#homeServiceDetail .serviceModal .serviceImg img{
  display: block;
  width: 100%;
}

#homeServiceDetail .serviceModal .lede{
  display: block;
  margin-bottom: 3.2rem;
  padding: 0;
  font-size: 2.8rem;
  text-align: left;
}


#homeServiceDetail .serviceModal .detail{
  display: block;
  width: 100%;
  padding: 2.4rem;
  background: #F0F0F0;
}

#homeServiceDetail .serviceModal .detail > dl{
  display: block;
}

#homeServiceDetail .serviceModal .detail > dl + dl{
  margin-top: 3.2rem;
}

#homeServiceDetail .serviceModal .detail > dl > dt{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1.2rem;
  margin-bottom: 0.8rem;
  font-size: 2.8rem;
  font-weight: 700;
}

#homeServiceDetail .serviceModal .detail > dl > dt::before{
  content: '';
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  background-position: center center;
  background-size: 100% auto;
}

#homeServiceDetail .serviceModal .detail > dl.price > dt::before{
  background-image: url("../img/home/servce/detail/icon_price.svg");
}
#homeServiceDetail .serviceModal .detail > dl.howto > dt::before{
  background-image: url("../img/home/servce/detail/icon_method.svg");
}

#homeServiceDetail .serviceModal .detail > dl.caution > dt::before{
  background-image: url("../img/home/servce/detail/icon_attention.svg");
}

#homeServiceDetail .serviceModal .detail > dl > dd{
  display: block;
  font-size: 2.8rem;
  font-weight: 400;
}

#homeServiceDetail .serviceModal .detail > dl > dd .cautionText{
  font-size: 2.4rem;
  margin-left: 1.6rem;
}

#homeServiceDetail .serviceModal .detail > dl > dd ul.dotList{
  display: block;
}

#homeServiceDetail .serviceModal .detail > dl > dd ul.dotList > li{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

#homeServiceDetail .serviceModal .detail > dl > dd ul.dotList > li::before{
  content: '・';
}


#homeServiceDetail .serviceModal .btnBlack{
  margin: 3.2rem auto 0;
}


#homeServiceDetail .modalSubTTL{
  font-size: 3.2rem;
  font-weight: 700;
  text-align: left;
  margin-bottom: 1.2rem;
}


/* slider *****/
#homeServiceDetail .modalInnerSlide{
  display: block;
  width: 100%;
  padding-bottom: 3.2rem;
  position: relative;
}
#homeServiceDetail .modalInnerSlide .container{
  overflow: hidden;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > picture{
  display: block;
  width: 100%;
  margin-bottom: 1.2rem;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > picture > img{
  display: block;
  width: 100%;
  height: auto;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > p{
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: left;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > dl{
  display: block;
}


#homeServiceDetail .modalInnerSlide .swiper-slide > dl > dt{
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 1.2rem;
  text-align: left;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > dl > dd{
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  text-align: left;
}


#homeServiceDetail .modalInnerSlide .controll{
  display: none;
}

#homeServiceDetail .modalInnerSlide ul.pager{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0 1.6rem;
  margin-top: 3rem;
}

#homeServiceDetail .modalInnerSlide ul.pager > li{
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  margin: 0;
  border-radius: 50%;
  background: #A5A5A5;
}

#homeServiceDetail .modalInnerSlide ul.pager > li.swiper-pagination-bullet-active{
  background: #E64747;
}



/* modal BG*****/
#serviceModalBG{
  display: block;
  width: 100%;
  height: 100dvh;
  width: 100vw;
  background: rgba(0,0,0,.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  transition: backdrop-filter 0.3s ease,opacity 0.2s ease;
  transform: translate(100%,0);
  backface-visibility: hidden;
  pointer-events: none;
}

#serviceModalBG.open{
  z-index: 101;
  opacity: 1;
  transform: translate(0,0);
  pointer-events: auto;
}



/**************************************
homeOnlineShopGuide
**************************************/
.homeOnlineShopGuide{
  display: block;
  width: 100%;
  padding: 16rem 5rem 16rem;
  position: relative;
  z-index: 1;
}

.homeOnlineShopGuide .homeTTL{
  text-align: left;
}


.homeOnlineShopGuide > .inner{
  display:block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.homeOnlineShopGuide > .inner > .text{
  margin-bottom: 5.6rem;
}

.homeOnlineShopGuide > .inner > .text p{
  line-height: 2;
  font-weight: 400;
}

.homeOnlineShopGuide > .inner .btnBlack{
  display: block;
  width: 100%;
}

.homeOnlineShopGuide > .inner .btnBlack > a{
  font-family: var(--titleFont);
  font-size: 5.6rem;
  font-weight: 400;
}

.homeOnlineShopGuide > .inner > .img{
  display: block;
  width: 100%;
  margin-bottom: 8rem;
}

.homeOnlineShopGuide > .inner > .img > ul{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 2.4rem 2.4rem;
}

.homeOnlineShopGuide > .inner > .img > ul > li{
  display: block;
  width: calc((100% - 2.4rem) / 2);
}

.homeOnlineShopGuide > .inner > .img > ul > li > img{
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0 0.4rem 2.43rem rgba(0,0,0,.25);
}



/*fixedBG***/
.homeOnlineShopGuide .homeOnlineShopGuideBG{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  clip-path: inset(0);
}

.homeOnlineShopGuide .homeOnlineShopGuideBG::after{
  content: '';
  display: block;
  width: 100vw;
  height: 100vh;
  background: url("../img/common/background_gray_sp.jpg") center center repeat;
  background-size: cover;
  background-position: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}



/**************************************
homeNews
**************************************/
.homeNews{
  display: block;
  width: 100%;
  padding: 16rem 5rem 16rem;
  position: relative;
  z-index: 1;
}

.homeNews > .inner{
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.homeNews .homeTTL{
  text-align: left;
}


.homeNews > .inner > .newsList{
  display: block;
  width: 100%;
  margin-bottom: 5.6rem;
}

.homeNews > .inner > .newsList > ul{
  display: block;
}

.homeNews > .inner > .newsList > ul > li{
  display: block;
  border-bottom: 1px solid #000000;
}

.homeNews > .inner > .newsList > ul > li:nth-of-type(1){
  border-top: 1px solid #000000;
}

.homeNews > .inner > .newsList > ul > li > a{
  display: block;
  width: 100%;
  padding: 3.2rem 0;
  font-size: 2.8rem;
  color: #000000;
  font-weight: 400;
}
.homeNews > .inner > .newsList > ul > li > a > time{
  display: block;
  font-family: var(--otherFontNormal);
  font-weight: 400;
  color: #6B6B6B;
}



.homeNews > .inner .viewAllBtn{
  display: block;
}


.homeNews > .inner .viewAllBtn a{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1.2rem;
  font-family: var(--titleFont);
  font-weight: 400;
  font-size: 4.8rem;
  color: #000000;
  text-align: left;
}

.homeNews > .inner .viewAllBtn a::after{
  content: '';
  display: block;
  width: 3.2rem;
  height: 1.8rem;
  background: url("../img/common/icon_arrow_white_sp.svg") center center no-repeat;
  background-size: 100% auto;
  filter: brightness(0);
}


/**************************************
homeAccess
**************************************/
.homeAccess{
  display: block;
  width: 100%;
  padding: 16rem 5rem;
  margin-bottom: 0;
  background: url("../img/home/access/background_access_sp.jpg") center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}

.homeAccess::after{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.5);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
}


.homeAccess > .inner{
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}


.homeAccess > .inner .text{
  margin-bottom: 8rem;
}

.homeAccess .homeTTL{
  text-align: left;
  color: #FFFFFF;
}


.homeAccess .accessList{
  display: block;
  margin-bottom: 8rem;
}
.homeAccess .accessList > dl{
  display: block;
  color: #FFFFFF;
}

.homeAccess .accessList > dl + dl{
  margin-top: 2.4rem;
}

.homeAccess .accessList > dl > dt{
  display: block;
  font-weight: 700;
}
.homeAccess .accessList > dl > dd{
  display: block;
  font-weight: 400;
}


.homeAccess .mapBtn{
  display: block;
  width: 100%;
}


.homeAccess .mapBtn > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 10.4rem;
  background: #FFFFFF;
  border-radius: 5.2rem;
  padding: 0 7.5rem 0 7.5rem;
  font-family: var(--titleFont);
  font-weight: 400;
  font-size: 5.6rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #000000;
  overflow: hidden;
  position: relative;
  transition: var(--hoverTransition);
}


.homeAccess .mapBtn > a::after{
  content: '';
  display: block;
  width: 3.2rem;
  height: 1.7rem;
  background: url("../img/common/icon_arrow_white_sp.svg") center center no-repeat;
  background-size: 100% auto;
  filter: brightness(0);
  position: absolute;
  right: 24px;
  top: calc(50% - 1.6rem);
}



/*img****/
.homeAccess > .inner .img{
  width: 100%;
  margin-bottom: 8rem;
}


.homeAccess > .inner .img > picture{
  display: block;
  width: 100%;
  height: auto;
}

.homeAccess > .inner .img > picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/**************************************
homeKedama
**************************************/
.homeKedama{
  display: block;
  width: 100%;
  padding: 16rem 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.homeKedama .kedamaTTLSP{
  display: block;
  width: 100%;
  padding: 0 11.2rem;
  margin-bottom: 5.6rem;
  text-align: center;
}

.homeKedama .kedamaTTLSP > span{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.6rem;
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 2.4rem;
  white-space: nowrap;
}

.homeKedama .kedamaTTLSP > span::before,
.homeKedama .kedamaTTLSP > span::after{
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #000000;
}


.homeKedama .kedamaTTLSP img{
  max-width: 38.1rem;
}



#kedamaSlider{
  padding: 0 5rem;
  position: relative;
}
#kedamaSlider .kedamaSliderBox{
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}


#kedamaSlider .kedamaSliderBox .container{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0 3rem;
  position: relative;
  z-index: 3;
}

#kedamaSlider .kedamaSliderBox .swiper-slide{
  display: block;
  width: 100%;
  height: auto;
  background: #FFFFFF;
  border-radius: 16px;
  padding: 5.6rem 3.2rem;
}


#kedamaSlider .kedamaSliderBox .kedamaTTL{
  display: none;
}



#kedamaSlider .kedamaSliderBox .charaImg{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 525 / 505;
  margin-bottom: 3.2rem;
  background: url("../img/home/kedamarian/img_ruled_line_sp.svg") left top no-repeat;
  background-size: 100% auto;
}

#kedamaSlider .kedamaSliderBox .charaImg img{
  height: 78.21782178217822%;
  width: auto;
  transform: scale(0);
  transition: transform 0.6s ease 0.4s;
}

#kedamaSlider .kedamaSliderBox .swiper-slide-active .charaImg img{
  transform: scale(1);
}

#kedamaSlider .kedamaSliderBox .swiper-slide.swiper-slide-active img,
#kedamaSlider .kedamaSliderBox .swiper-slide.swiper-slide-duplicate-active img,
#kedamaSlider .kedamaSliderBox .swiper-slide.swiper-slide-prev img{
  transform: scale(1);
}


#kedamaSlider .kedamaSliderBox dl.outline{
  display: block;
  margin-bottom: 3.2rem;
  text-align: center;
}
#kedamaSlider .kedamaSliderBox dl.outline > dt{
  margin-bottom: 1.6rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
}
#kedamaSlider .kedamaSliderBox dl.outline > dd{
  font-size: 2.8rem;
  font-weight: 500;
}


#kedamaSlider .kedamaSliderBox .profile{
  display: block;
  border-top: 1px solid #EBEBEB;
}

#kedamaSlider .kedamaSliderBox .profile > dl{
  display: block;
  padding: 1.6rem 0;
  border-bottom: 1px solid #EBEBEB;
}

#kedamaSlider .kedamaSliderBox .profile > dl > dt{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1.2rem;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: left;
}
#kedamaSlider .kedamaSliderBox .profile > dl > dt::before{
  content: '';
  display: block;
  width: 4rem;
  height: 4rem;
  background-position: center center;
  background-size: 100% auto;
}

#kedamaSlider .kedamaSliderBox [data-kedama="kedama"] .profile > dl > dt{
  color: #D02639;
}
#kedamaSlider .kedamaSliderBox [data-kedama="kedama"] .profile > dl > dt::before{
  background-image: url("../img/home/kedamarian/icon_Kdama.svg");
}

#kedamaSlider .kedamaSliderBox [data-kedama="miyake"] .profile > dl > dt{
  color: #FCCB00;
}
#kedamaSlider .kedamaSliderBox [data-kedama="miyake"] .profile > dl > dt::before{
  background-image: url("../img/home/kedamarian/icon_miyake.svg");
}

#kedamaSlider .kedamaSliderBox [data-kedama="heon"] .profile > dl > dt{
  color: #2E5FA7;
}
#kedamaSlider .kedamaSliderBox [data-kedama="heon"] .profile > dl > dt::before{
  background-image: url("../img/home/kedamarian/icon_heon.svg");
}

#kedamaSlider .kedamaSliderBox .profile > dl > dd{
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
}


/***/
#kedamaSlider .controll{
  display: block;
}

#kedamaSlider .controll .prev,
#kedamaSlider .controll .next{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #000000;
  position: absolute;
  top: 64.3rem;
  z-index: 3;
  cursor: pointer;
}


#kedamaSlider .controll .prev{left: -3rem;}
#kedamaSlider .controll .next{right: -3rem;}

#kedamaSlider .controll .prev img,
#kedamaSlider .controll .next img{
  display: block;
  width: 3.2rem;
}

#kedamaSlider .controll .prev img{
  transform: scale(-1, 1);
}


/* slider連動背景************************/
#kedamaSlider .kdamaBG{
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

#kedamaSlider .kdamaBG .bgSet{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  padding-bottom: 20rem;
  position: absolute;
  top: 37.4rem;
  left: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

#kedamaSlider .kdamaBG .bgSet picture{
  display: block;
  transition: transform .6s ease;
}

#kedamaSlider .kdamaBG .bgSet picture.left{
  transform: translate(-100%,100%);
}
#kedamaSlider .kdamaBG .bgSet picture.right{
  transform: translate(100%,100%);
}

#kedamaSlider .kdamaBG .bgSet.active picture.left,
#kedamaSlider .kdamaBG .bgSet.active picture.right{
  transform: translate(0,0);
}

#kedamaSlider .kdamaBG .bgSet picture > img{
  display: block;
  height: 100%;
  width: auto;
}

#kedamaSlider .kdamaBG .bgSet picture.kedama{
  height: 17.7rem;
}

#kedamaSlider .kdamaBG .bgSet picture.miyake{
  height: 19.5rem;
}

#kedamaSlider .kdamaBG .bgSet picture.heon{
  height: 17.8rem;
}



/*fixedBG***/
.homeKedama > .homeKedamaBG{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  clip-path: inset(0);
}

.homeKedama > .homeKedamaBG::after{
  content: '';
  display: block;
  width: 100vw;
  height: 100vh;
  background: url("../img/common/background_gray_sp.jpg") center center repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/*btn***/
.homeKedama ul.snsLinks{
  display: block;
  width: 100%;
  padding: 8rem 5rem 0;
  margin: 0 auto;
}

.homeKedama ul.snsLinks > li{
  display: block;
  width: 100%;
}

.homeKedama ul.snsLinks > li + li{
  margin-top: 2.4rem;
}

.homeKedama ul.snsLinks > li.x > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 10.4rem;
  background: #000000;
  border-radius: 5.2rem;
  padding: 0 8rem 0 8rem;
  font-weight: 700;
  font-size: 3.2rem;
  text-align: center;
  line-height: 1.2;
  text-decoration: none;
  color: #FFFFFF;
  overflow: hidden;
  position: relative;
}


.homeKedama ul.snsLinks > li.x > a::after{
  content: '';
  display: block;
  width: 5.5rem;
  height: 5.6rem;
  background: url("../img/common/logo_x.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 3.9rem;
  top: calc(50% - 2.8rem);
}


.homeKedama ul.snsLinks > li.line > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 10.4rem;
  background: #06C755;
  border-radius: 5.2rem;
  padding: 0 9.6rem 0 9.6rem;
  font-weight: 700;
  font-size: 3.2rem;
  text-align: center;
  line-height: 1.2;
  text-decoration: none;
  color: #FFFFFF;
  overflow: hidden;
  position: relative;
}


.homeKedama ul.snsLinks > li.line > a::after{
  content: '';
  display: block;
  width: 7.2rem;
  height: 7rem;
  background: url("../img/common/logo_line.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 2.4rem;
  top: calc(50% - 3.5rem);
}


/**************************************
fadeInSetting
**************************************/
.fadeInBlock{}

:root{
  --fadeInTransform: translate(0,var(--fadeInStargPosi));
  --fadeInTransition: opacity 1s ease,transform 1s ease;
}

/*about **/
.homeAbout.fadeInBlock > .inner{
  opacity: 0;
  transform: var(--fadeInTransform);
  transition: var(--fadeInTransition);
}

.homeAbout.fadeInBlock.view > .inner{
  opacity: 1;
  transform: translate(0,0);
}


/*service **/
.homeService.fadeInBlock > .inner{
  opacity: 0;
  transform: var(--fadeInTransform);
  transition: var(--fadeInTransition);
}

.homeService.fadeInBlock.view > .inner{
  opacity: 1;
  transform: translate(0,0);
}

/*onlineshop **/
.homeOnlineShopGuide.fadeInBlock .homeTTL,
.homeOnlineShopGuide.fadeInBlock .inner{
  opacity: 0;
  transform: var(--fadeInTransform);
  transition: var(--fadeInTransition);
}

.homeOnlineShopGuide.fadeInBlock.view .homeTTL,
.homeOnlineShopGuide.fadeInBlock.view .inner{
  opacity: 1;
  transform: translate(0,0);
}

/*news **/
.homeNews.fadeInBlock > .inner{
  opacity: 0;
  transform: var(--fadeInTransform);
  transition: var(--fadeInTransition);
}

.homeNews.fadeInBlock.view > .inner{
  opacity: 1;
  transform: translate(0,0);
}


/*Access **/
.homeAccess.fadeInBlock > .inner{
  opacity: 0;
  transform: var(--fadeInTransform);
  transition: var(--fadeInTransition);
}

.homeAccess.fadeInBlock.view > .inner{
  opacity: 1;
  transform: translate(0,0);
}


/*kedama **/
.homeKedama.fadeInBlock .kedamaTTLSP,
.homeKedama.fadeInBlock #kedamaSlider,
.homeKedama.fadeInBlock .snsLinks{
  opacity: 0;
  transform: var(--fadeInTransform);
  transition: var(--fadeInTransition);
}

.homeKedama.fadeInBlock.view .kedamaTTLSP,
.homeKedama.fadeInBlock.view #kedamaSlider,
.homeKedama.fadeInBlock.view .snsLinks{
  opacity: 1;
  transform: translate(0,0);
}






