﻿/**************************************
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);
}


/**************************************
homeMain
**************************************/
#main{
  display: block;
}

/* homeTTL  *******/
.homeTTL{
  display: block;
  margin-bottom: 40px;
  font-family: var(--titleFont);
  font-size: 128px;
  color: #000000;
  line-height: 1;
  text-align: center;
}

.homeTTL::first-letter{
  font-size: 200px;
  color: #E64747;
}

/**************************************
mainVisual
**************************************/
#mainVisual{
	display: block;
	width: 100%;
  height: 100vh;
	margin: 0 auto 0;
	overflow: hidden;
  position: relative;
} 

#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;
  height: 26.11111111111111vh;
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#mainVisual .mvTTL > img{
  display: block;
  width: auto;
  height: 100%;
}



#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: 13px 0;
  font-family: var(--titleFont);
  font-weight: 24px;
  line-height: 1.5;
  text-align: center;
  color: #FFFFFF;
  position: relative;
}

#mainVisual .btnScroll > a::after{
  content: '';
  display: block;
  width: 1px;
  height: 76px;
  background: #FFFFFF;
}


/**************************************
homeAbout
**************************************/
.homeAbout{
  display: block;
  width: 100%;
  padding: 120px 0 60px;
}

.homeAbout > .inner{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}

.homeAbout > .inner > .img{
  order: 1;
  display: block;
  width: 50%;
}

.homeAbout > .inner > .img > picture{
  display: block;
  width: 100%;
  height: 658px;
  overflow: hidden;
}
.homeAbout > .inner > .img > picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.homeAbout > .inner > .text{
  order: 2;
  display: block;
  width: 50%;
  padding-left: 6.25%;
}

.homeAbout .homeTTL{
  text-align: left;
}

.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: 60px 0 120px;
}

.homeService .lede{
  font-size: 16px;
  text-align: center;
  margin-bottom: 56px;
}

.homeServiceList{}

.homeServiceList > ul{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}

.homeServiceList > ul > li{
  display: block;
  width: 25%;
  height: 600px;
  height: clamp(400px, 30.3030303030303vw, 600px);
  position: relative;
  transition: var(--hoverTransition);
  cursor: pointer;
}
@media (hover: hover) {
  .homeServiceList > ul > li:hover{opacity: var(--hoverOpacity);}
}

.homeServiceList > ul > li::before{
  content: '';
  display: block;
  background: url("../img/common/icon_arrow_white_pc.svg") 58px 62px no-repeat #E64747;
  background-size: 24px auto;
  height: 100px;
  width: 100px;
  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;
  width: 4px;
  height: 100%;
  background: #E64747;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}

.homeServiceList > ul > li > dl{
  display: block;
  width: 100%;
  height: 100%;
  padding: clamp(20px, 8.08080808080808vw, 160px) clamp(10px, 2.42424242424242vw, 48px) 0;
  position: relative;
  z-index: 2;
  color: #FFFFFF;
}

.homeServiceList > ul > li > dl > dt{
  display: block;
  margin-bottom: 21px;
  font-family: var(--otherFontBold);
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.homeServiceList > ul > li > dl > dd{
  display: block;
  font-size: 32px;
  font-size: clamp(14px, 1.61616161616162vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.homeServiceList > ul > li > dl > dd.caution{
  margin-top: 16px;
  font-size: 16px;
  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(10px);
  backdrop-filter: blur(10px);
}

/* serviceModal ********************/
#homeServiceDetail{
  width: 100%;
  overflow: hidden;
}

#homeServiceDetail .serviceModal{
  display: block;
  height: 100dvh;
  width: 100vw;
  padding: 0 25px;
  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%;
  max-width: 800px;
  margin: 160px auto 160px;
  padding: 40px;
  background: #FFFFFF;
  position: relative;
  z-index: 2;
}

#homeServiceDetail .serviceModal .serviceTTL{
  display: block;
  margin-bottom: 24px;
}


#homeServiceDetail .serviceModal .serviceTTL > .en{
  display: block;
  margin-bottom: 8px;
  text-align: center;
  font-family: var(--otherFontMidium);
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

#homeServiceDetail .serviceModal .serviceTTL > .jp{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 24px;
  text-align: center;
  font-size: 28px;
  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: 19px;
  height: 19px;
  background: url("../img/common/icon_close.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 1;
  transition: var(--hoverTransition);
  cursor: pointer;
}
@media (hover: hover) {
  #homeServiceDetail .serviceModal .closeBtn:hover{opacity: var(--hoverOpacity);}
}

#homeServiceDetail .serviceModal .serviceImg{
  display: block;
  width: 100%;
  margin-bottom: 24px;
  height: auto;
}
#homeServiceDetail .serviceModal .serviceImg img{
  display: block;
  width: 100%;
}

#homeServiceDetail .serviceModal .lede{
  display: block;
  margin-bottom: 24px;
  font-size: 16px;
  text-align: left;
}


#homeServiceDetail .serviceModal .detail{
  display: block;
  width: 100%;
  padding: 24px;
  background: #F0F0F0;
}

#homeServiceDetail .serviceModal .detail > dl{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

#homeServiceDetail .serviceModal .detail > dl + dl{
  margin-top: 24px;
}

#homeServiceDetail .serviceModal .detail > dl > dt{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 12px;
  width: 163px;
  font-size: 16px;
  font-weight: 700;
}

#homeServiceDetail .serviceModal .detail > dl > dt::before{
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  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;
  width: calc(100% - 163px);
  font-size: 16px;
}

#homeServiceDetail .serviceModal .detail > dl > dd .cautionText{
  font-size: 14px;
  margin-left: 8px;
}

#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{
  max-width: 450px;
  margin: 24px auto 0;
}


#homeServiceDetail .modalSubTTL{
  font-size: 20px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 16px;
}


/* slider *****/
#homeServiceDetail .modalInnerSlide{
  display: block;
  width: 100%;
  padding-bottom: 16px;
  position: relative;
}
#homeServiceDetail .modalInnerSlide .container{
  overflow: hidden;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > picture{
  display: block;
  width: 100%;
  margin-bottom: 12px;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > picture > img{
  display: block;
  width: 100%;
  height: auto;
}


#homeServiceDetail .modalInnerSlide .swiper-slide > p{
  display: block;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}


#homeServiceDetail .modalInnerSlide .swiper-slide > dl{
  display: block;
}


#homeServiceDetail .modalInnerSlide .swiper-slide > dl > dt{
  display: block;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 12px;
  text-align: left;
}

#homeServiceDetail .modalInnerSlide .swiper-slide > dl > dd{
  display: block;
  font-size: 14px;
  font-weight: 400;
  text-align: left;
}


#homeServiceDetail .modalInnerSlide .controll{
  display: block;
}

#homeServiceDetail .modalInnerSlide .controll .prev,
#homeServiceDetail .modalInnerSlide .controll .next{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #000000;
  position: absolute;
  top: 180px;
  z-index: 2;
  transition: var(--hoverTransition);
  cursor: pointer;
}
@media (hover: hover) {
  #homeServiceDetail .modalInnerSlide .controll .prev:hover,
  #homeServiceDetail .modalInnerSlide .controll .next:hover{opacity: var(--hoverOpacity);}
}

#homeServiceDetail .modalInnerSlide .controll .prev{left: -20px;}
#homeServiceDetail .modalInnerSlide .controll .next{right: -20px;}

#homeServiceDetail .modalInnerSlide .controll .prev img,
#homeServiceDetail .modalInnerSlide .controll .next img{
  display: block;
  width: 24px;
}

#homeServiceDetail .modalInnerSlide .controll .prev img{
  transform: scale(-1, 1);
}

#homeServiceDetail .modalInnerSlide ul.pager{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0 16px;
  margin-top: 24px;
}

#homeServiceDetail .modalInnerSlide ul.pager > li{
  display: block;
  width: 12px;
  height: 12px;
  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: 80px 77px 80px;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}

.homeOnlineShopGuide .homeTTL{
  text-align: left;
  max-width: 1100px;
  margin: 0 auto 40px;
}


.homeOnlineShopGuide > .inner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}

.homeOnlineShopGuide > .inner > .text{
  width: 40.90909090909091%;
  padding-bottom: 84px;
}

.homeOnlineShopGuide > .inner > .text p{
  line-height: 2;
  font-weight: 400;
}

.homeOnlineShopGuide > .inner .btnBlack{
  display: block;
  width: 40.90909090909091%;
  position: absolute;
  left: 0;
  bottom: 0;
}

.homeOnlineShopGuide > .inner .btnBlack > a{
  font-family: var(--titleFont);
  font-size: 32px;
  font-weight: 400;
}

.homeOnlineShopGuide > .inner > .img{
  display: block;
  width: 50%;
}

.homeOnlineShopGuide > .inner > .img > ul{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 8px 8px;
}

.homeOnlineShopGuide > .inner > .img > ul > li{
  display: block;
  width: calc((100% - 16px) / 3);
}

.homeOnlineShopGuide > .inner > .img > ul > li > img{
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0 4px 14.8px rgba(0,0,0,.25);
}



/*fixedBG***/
.homeOnlineShopGuide > .homeOnlineShopGuideBG{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
  z-index: -1;
}

.homeOnlineShopGuide > .homeOnlineShopGuideBG::after{
  content: '';
  display: block;
  width: calc(50% + (550px + 200px));
  height: 100vh;
  background: url("../img/home/onlineshop/background_Online_shop_pc.jpg") center center repeat;
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
}



/**************************************
homeNews
**************************************/
.homeNews{
  display: block;
  width: 100%;
  padding: 60px 77px 120px;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}

.homeNews > .inner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}

.homeNews .homeTTL{
  text-align: left;
  width: 307px;
}


.homeNews > .inner > .newsList{
  display: block;
  width: calc(100% - 307px);
  padding-top: 80px;
}

.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: 32px 0;
  font-size: 16px;
  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;
  position: absolute;
  left: 0;
  top: 240px;
}


.homeNews > .inner .viewAllBtn a{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 12px;
  font-family: var(--titleFont);
  font-weight: 400;
  font-size: 32px;
  color: #000000;
  text-align: left;
}

.homeNews > .inner .viewAllBtn a::after{
  content: '';
  display: block;
  width: 24px;
  height: 12px;
  background: url("../img/common/icon_arrow_white_pc.svg") center center no-repeat;
  background-size: 100% auto;
  filter: brightness(0);
}


/**************************************
homeAccess
**************************************/
.homeAccess{
  display: block;
  width: 100%;
  padding: 120px 77px 120px;
  margin-bottom: 0;
  background: url("../img/home/access/background_access_pc.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(10px);
  backdrop-filter: blur(10px);
}


.homeAccess > .inner{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}


.homeAccess > .inner .text{
  width: 58%;
  padding-bottom: 104px;
}

.homeAccess .homeTTL{
  text-align: left;
  color: #FFFFFF;
}


.homeAccess .accessList{
  display: block;
}
.homeAccess .accessList > dl{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  color: #FFFFFF;
}

.homeAccess .accessList > dl + dl{
  margin-top: 24px;
}

.homeAccess .accessList > dl > dt{
  display: block;
  width: 106px;
  font-weight: 700;
}
.homeAccess .accessList > dl > dd{
  display: block;
  width: calc(100% - 106px);
  font-weight: 400;
}


.homeAccess .mapBtn{
  display: block;
  width: 300px;
  position: absolute;
  left: 0;
  bottom: 0;
}


.homeAccess .mapBtn > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
  background: #FFFFFF;
  border-radius: 32px;
  padding: 0 48px 0 48px;
  font-family: var(--titleFont);
  font-weight: 400;
  font-size: 32px;
  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: 24px;
  height: 12px;
  background: url("../img/common/icon_arrow_white_pc.svg") center center no-repeat;
  background-size: 100% auto;
  filter: brightness(0);
  position: absolute;
  right: 24px;
  top: calc(50% - 6px);
}


@media (hover: hover) {
  .homeAccess .mapBtn > a:hover{opacity: var(--hoverOpacity);}
}


/*img****/
.homeAccess > .inner .img{
  width: 40.45454545454545%;
  padding-top: 82px;
}


.homeAccess > .inner .img > picture{
  display: block;
  width: 100%;
  height: calc(100% - 82px);
  overflow: hidden;
}

.homeAccess > .inner .img > picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/**************************************
homeKedama
**************************************/
.homeKedama{
  display: block;
  width: 100%;
  padding: 80px 10px 120px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.homeKedama .kedamaTTLSP{
  display: none;
}


#kedamaSlider{}
#kedamaSlider .kedamaSliderBox{
  display: block;
  width: 100%;
  max-width: 990px;
  margin: 0 auto;
  position: relative;
}

#kedamaSlider .kedamaSliderBox::after{
  content: '';
  display: block;
  width: 75.75757575757576%;
  height: calc(100% - 196px);
  background: #FFFFFF;
  border-radius: 16px;
  position: absolute;
  left: 50%;
  top: 98px;
  transform: translateX(-50%);
}



#kedamaSlider .kedamaSliderBox .container{
  display: block;
  width: 67.67676767676768%;
  padding: 40px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

#kedamaSlider .kedamaSliderBox .swiper-slide{
  display: block;
  width: 100%;
  height: auto;
  background: #FFFFFF;
  border-radius: 16px;
  padding: 40px 32px;
  box-shadow: 0 4px 39.4px rgba(0,0,0,.25);
}


#kedamaSlider .kedamaSliderBox .kedamaTTL{
  display: block;
  width: 72.43346007604563%;
  margin: 0 auto 24px;
  text-align: center;
}

#kedamaSlider .kedamaSliderBox .kedamaTTL > span{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 24px;
  white-space: nowrap;
}

#kedamaSlider .kedamaSliderBox .kedamaTTL > span::before,
#kedamaSlider .kedamaSliderBox .kedamaTTL > span::after{
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #000000;
}

#kedamaSlider .kedamaSliderBox .charaImg{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 525 / 362;
  margin-bottom: clamp(10px, 2.33009708737864vw, 24px);
  background: url("../img/home/kedamarian/img_ruled_line.svg") left top no-repeat;
  background-size: 100% auto;
}

#kedamaSlider .kedamaSliderBox .charaImg img{
  height: 79.83425414364641%;
  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: clamp(10px, 2.33009708737864vw, 24px);
  text-align: center;
}
#kedamaSlider .kedamaSliderBox dl.outline > dt{
  margin-bottom: clamp(10px, 1.6504854368932vw, 17px);
  font-size: clamp(12px, 3.10679611650485vw, 32px);
  font-weight: 700;
  line-height: 1;
}
#kedamaSlider .kedamaSliderBox dl.outline > dd{
  font-size: clamp(12px, 1.56862745098039vw, 16px);
  font-weight: 500;
}


#kedamaSlider .kedamaSliderBox .profile{
  display: block;
  border-top: 1px solid #EBEBEB;
}

#kedamaSlider .kedamaSliderBox .profile > dl{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #EBEBEB;
}

#kedamaSlider .kedamaSliderBox .profile > dl > dt{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 clamp(1px, 1.16504854368932vw, 16px);
  width: clamp(1px, 14.90196078431373vw, 152px);
  font-size: clamp(10px, 1.56862745098039vw, 16px);
  font-weight: 700;
  text-align: left;
}
#kedamaSlider .kedamaSliderBox .profile > dl > dt::before{
  content: '';
  display: block;
  width: clamp(1px, 1.941747572815532vw, 16px);
  height: clamp(1px, 1.941747572815532vw, 16px);
  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;
  width: calc(100% - clamp(1px, 14.90196078431373vw, 152px));
  font-size: clamp(10px, 1.56862745098039vw, 16px);
  font-weight: 500;
}


/***/
#kedamaSlider .controll{
  display: block;
}

#kedamaSlider .controll .prev,
#kedamaSlider .controll .next{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #000000;
  position: absolute;
  top: calc(50% - 20px);
  z-index: 2;
  transition: var(--hoverTransition);
  cursor: pointer;
}
@media (hover: hover) {
  #kedamaSlider .controll .prev:hover,
  #kedamaSlider .controll .next:hover{opacity: var(--hoverOpacity);}
}

#kedamaSlider .controll .prev{left: 0;}
#kedamaSlider .controll .next{right: 0;}

#kedamaSlider .controll .prev img,
#kedamaSlider .controll .next img{
  display: block;
  width: 24px;
}

#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: 377px;
  position: absolute;
  bottom: 0;
  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: 177px;
}

#kedamaSlider .kdamaBG .bgSet picture.miyake{
  height: 195px;
}

#kedamaSlider .kdamaBG .bgSet picture.heon{
  height: 178px;
}



/*fixedBG***/
.homeKedama > .homeKedamaBG{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
  z-index: -1;
}

.homeKedama > .homeKedamaBG::after{
  content: '';
  display: block;
  width: 100vw;
  height: 100vh;
  background: url("../img/common/background_gray.jpg") center center repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/*btn***/
.homeKedama ul.snsLinks{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0 40px;
  width: 100%;
  max-width: 990px;
  margin: 0 auto;
}

.homeKedama ul.snsLinks > li{
  display: block;
  flex-shrink: 1;
  width: 100%;
}

.homeKedama ul.snsLinks > li.x > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
  background: #000000;
  border-radius: 32px;
  padding: 0 61px 0 61px;
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  line-height: 1.2;
  text-decoration: none;
  color: #FFFFFF;
  overflow: hidden;
  position: relative;
  transition: var(--hoverTransition);
}


.homeKedama ul.snsLinks > li.x > a::before{
  content: '';
  display: block;
  width: 27px;
  height: 28px;
  background: url("../img/common/logo_x.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 24px;
  top: calc(50% - 14px);
}


@media (hover: hover) {
  .homeKedama ul.snsLinks > li.x > a:hover{opacity: var(--hoverOpacity);}
}

.homeKedama ul.snsLinks > li.line > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
  background: #06C755;
  border-radius: 32px;
  padding: 0 70px 0 70px;
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  line-height: 1.2;
  text-decoration: none;
  color: #FFFFFF;
  overflow: hidden;
  position: relative;
  transition: var(--hoverTransition);
}


.homeKedama ul.snsLinks > li.line > a::before{
  content: '';
  display: block;
  width: 36px;
  height: 36px;
  background: url("../img/common/logo_line.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 24px;
  top: calc(50% - 18px);
}


@media (hover: hover) {
  .homeKedama ul.snsLinks > li.line > a:hover{opacity: var(--hoverOpacity);}
}


/**************************************
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);
}









