@charset "UTF-8";

.CE240521product{
  --zindex-behind: -1;
  --zindex-middle: 0;
  --zindex-front: 1;
  --pointer-none: none;

  --color-txt: #000;
  --color-topicTtl: #D4AA99;
  --color-slider: #E0C1B5;
  --color-nav: #828282;

  overflow: hidden;
}
.main-area .main-inner{
  width: 100%;
}

/*================================
  variables
=================================*/
.CE240521product img,
.CE240521product picture,
.CE240521product video,
.CE240521product a{
  display: inline-block;
  width: 100%;
  height: auto;
}
.CE240521product a{
  display: block;
  width: 100%;
  height: 100%;
}
.CE240521product a:hover{
  transition: .5s;
  opacity: 70%;
}
.CE240521product .lastArea__img img:hover{
  opacity: 100%;
}
.CE240521product span{
  display: inline-block;
}
.CE240521product .flexArea{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}
.CE240521product .gridWrap{
  display: grid;
  margin: 0 auto;
  width: 100%;
}
/*--------------------------------
  variables for mobile
--------------------------------*/
@media screen and (max-width: 767px) {
  .CE240521product .flexArea-sp{
    display: flex;
    width: 100%;
    margin: 0 auto;
  }
  .CE240521product .pcOnly{
    display: none;
  }
}
/*--------------------------------
  variables for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  .CE240521product .flexArea-pc{
    display: flex;
    width: 100%;
    margin: 0 auto;
  }
  .CE240521product [data-img]{
    background: #fff;
  }
  .CE240521product .spOnly{
    display: none;
  }
}
/* end variables */

/*================================
  font
=================================*/
.CE240521product .font-ja-sans{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
.CE240521product .font-ja-serif{
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 600;
  font-style: normal;
  font-feature-settings: 'palt';
}
.CE240521product .font-en-serif{
  font-family: "garamond-premier-pro-subhead", serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
/*================================
  txt
=================================*/
.CE240521product [data-txt]{
  font-size: calc(24 *(100vw /750));
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: var(--color-txt);
  text-align: center;
}
.CE240521product [data-topicTtl]{
  font-size: calc(63 *(100vw /750));
  line-height: 1.1428571429;
  letter-spacing: 0.06em;
  color: var(--color-topicTtl);
  text-align: center;
  margin-bottom: calc(36 *(100vw /750));
}
.CE240521product [data-editTtl]{
  font-size: calc(32 *(100vw /750));
  line-height: 1.8125;
  letter-spacing: 0.05em;
  color: var(--color-txt);
  text-align: center;
}
/*--------------------------------
  txt for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  .CE240521product [data-txt]{
    font-size: 1.3rem;
    line-height: 2.1538461538;
  }
  .CE240521product [data-topicTtl]{
    font-size: 4.2rem;
    line-height: 1.1428571429;
    margin-bottom: 2.5rem;
  }
  .CE240521product [data-editTtl]{
    font-size: 1.6rem;
    line-height: 1.7875;
  }
}
/* end txt */

/*================================
  layout
=================================*/
.CE240521product .firstviewArea{
  margin: 0 auto calc(120 *(100vw /750));
}
.CE240521product .firstviewArea__img{
  margin-bottom: calc(106 *(100vw /750));
}
.CE240521product .firstviewArea__txt{
  margin-bottom: calc(54 *(100vw /750));
}
/*===================== captionArea */
.CE240521product .captionArea{
  position: relative;
  padding-bottom: calc(64 *(100vw /750));
  margin: 0 auto calc(80 *(100vw /750));
}
.CE240521product .captionArea::before{
  content: "";
  display: block;
  background-color: #F4F0EF;
  width: 100%;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  z-index: var(--zindex-behind);
}
.CE240521product .block01__captionArea::before{
  height: calc(344 *(100vw /750));
}
.CE240521product .block02__captionArea::before{
  height: calc(294 *(100vw /750));
}
/*===================== sliderArea */
.CE240521product .sliderArea{
  position: relative;
}
.CE240521product .block01__slider{
  padding: calc(80*(100vw / 750)) 0 calc(76*(100vw / 750));
}
.CE240521product .block02__slider{
  padding: calc(80*(100vw / 750)) 0 calc(68*(100vw / 750));
}
.CE240521product .sliderArea::before,
.CE240521product .sliderArea::after{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: var(--zindex-behind);
}
.CE240521product .sliderArea::before{
  background-color: var(--color-slider);
  opacity: 10%;
  top: calc(20*(100vw / 750));
  left: calc(20*(100vw / 750));
}
.CE240521product .sliderArea::after{
  border: solid calc(2*(100vw / 750)) var(--color-slider);
  top: calc(0*(100vw / 750));
  left: calc(-20*(100vw / 750));
}
.CE240521product [data-slideArea_img]{
  position: relative;
  margin: 0 auto calc(47*(100vw / 750));
}
.CE240521product [data-slide]{
  width: calc(530*(100vw / 750))!important;
}
.CE240521product .sliderArea__txtWrap-ttl{
  margin-bottom: calc(13*(100vw / 750));
}
/*===================== block */
.CE240521product .block01{
  margin-bottom: calc(140*(100vw / 750));
}
.CE240521product .block01__cont01-img{
  width: calc(540*(100vw / 750));
  margin: 0 auto calc(66 *(100vw /750));
}
.CE240521product .block01__cont01-txt{
  margin-bottom: calc(70 *(100vw /750));
}
.CE240521product .block01__cont02-img{
  margin: 0 auto calc(66 *(100vw /750));
}
.CE240521product .block01__cont02-txt{
  margin-bottom: calc(72 *(100vw /750));
}
.CE240521product .block02{
  margin-bottom: calc(170*(100vw / 750));
}
.CE240521product .block02__cont01-img,
.CE240521product .block02__cont02-img{
  width: calc(560*(100vw / 750));
  margin: 0 auto calc(66 *(100vw /750));
}
.CE240521product .block02__cont01-txt{
  margin-bottom: calc(68 *(100vw /750));
}
.CE240521product .block02__cont02-txt{
  margin-bottom: calc(66 *(100vw /750));
}
.CE240521product .lastArea__img{
  width: calc(510*(100vw / 750));
  margin: 0 auto calc(46 *(100vw /750));
}
.CE240521product .lastArea__txt{
  margin-bottom: calc(32*(100vw / 750));
}
.CE240521product .lastArea__credit{
  font-family: "Crimson Text", serif;
  font-feature-settings: "palt";
  font-size: calc(24 *(100vw / 750));
  line-height: 0.9166666667;
  letter-spacing: 0.025em;
  text-align: center;
  margin-bottom: calc(154*(100vw / 750));
}
.CE240521product .lastArea__credit a{
  display: inline-block;
  width: auto;
  text-decoration: underline;
  text-decoration-thickness: calc(1*(100vw / 750));
  text-underline-offset: calc(6*(100vw / 750));
}

.CE240521product .viewAll a{
  font-family: "Crimson Text", serif;
  font-feature-settings: "palt";
  font-size: calc(22 *(100vw / 750));
  line-height: 1.5454545455;
  letter-spacing: 0.002em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(630*(100vw / 750));
  height: calc(124*(100vw / 750));
  margin: calc(140*(100vw / 750)) auto calc(150*(100vw / 750));
  border: solid 1px #333333;
}

/*--------------------------------
  layout for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  .CE240521product .firstviewArea{
    width: 100rem;
    margin-bottom: 10rem;
  }
  .CE240521product .firstviewArea__img{
    margin-bottom: 9.2rem;
  }
  .CE240521product .firstviewArea__txt{
    margin-bottom: 5.7rem;
  }
  .CE240521product .firstviewArea__movie{
    width: 80rem;
    margin: 0 auto;
  }
  /*===================== captionArea */
  .CE240521product .captionArea{
    padding-bottom: 5.4rem;
    margin-bottom: 8rem;
  }
  .CE240521product .block01__captionArea::before,
  .CE240521product .block02__captionArea::before{
    height: 18.6rem;
  }
  /*===================== captionArea */
  .CE240521product .sliderArea{
    justify-content: space-between;
    align-items: center;
    width: 90rem;
  }
  .CE240521product .block01__slider,
  .CE240521product .block02__slider{
    padding: 6rem 0 5.8rem;
  }
  .CE240521product .sliderArea::before{
    top: 1rem;
    left: 1rem;
  }
  .CE240521product .sliderArea::after{
    border: solid 0.1rem var(--color-slider);
    top: 0;
    left: 0;
  }
  .CE240521product [data-slideArea_img]{
    width: 37rem;
    margin: 0 0 0 6rem;
  }
  .CE240521product [data-slideArea_img="01"]{
    margin: 0 0 0 6rem;
  }
  .CE240521product [data-slideArea_img="02"]{
    margin: 0 0 0 9rem;
  }
  .CE240521product [data-slide]{
    width: 28rem!important;
  }
  .CE240521product .sliderArea__txtWrap{
    width: 34rem;
    padding: 0 7rem 3.2rem 0;
  }
  .CE240521product .sliderArea__txtWrap-ttl{
    margin-bottom: 1.6rem;
  }
  /*===================== block */
  .CE240521product .block01{
    margin-bottom: 11.4rem;
  }
  .CE240521product .block01__cont01{
    justify-content: space-between;
    align-items: center;
    width: 66rem;
    margin: 0 auto 4rem;
  }
  .CE240521product .block01__cont01-img{
    width: 30rem;
    margin: 0;
  }
  .CE240521product .block01__cont01-txt{
    width: 30rem;
    padding-bottom: 0.5rem;
    margin: 0;
  }
  .CE240521product .block01__cont02-img{
    width: 43.5rem;
    margin-bottom: 3.2rem;
  }
  .CE240521product .block01__cont02-txt{
    margin-bottom: 7.4rem;
  }
  .CE240521product .block02{
    margin-bottom: 13rem;
  }
  .CE240521product .block02__cont01{
    justify-content: left;
    align-items: center;
    flex-direction: row-reverse;
    width: 75rem;
    margin: 0 auto 4rem;
  }
  .CE240521product .block02__cont01-img{
    width: 30rem;
    margin: 0 0 0 5rem;
  }
  .CE240521product .block02__cont01-txt{
    width: 34rem;
    padding-bottom: 0.5rem;
    margin: 0;
  }
  .CE240521product .block02__cont02{
    justify-content: right;
    align-items: center;
    width: 81rem;
    margin: 0 auto 8rem;
  }
  .CE240521product .block02__cont02-img{
    width: 32rem;
    margin: 0 2rem 0 0;
  }
  .CE240521product .block02__cont02-txt{
    width: 34rem;
    padding-bottom: 0.8rem;
    margin: 0;
  }
  .CE240521product .lastArea__img{
    width: 34rem;
    margin-bottom: 4.4rem;
  }
  .CE240521product .lastArea__txt{
    margin-bottom: 0.6rem;
  }
  .CE240521product .lastArea__credit{
    font-size: 1.3rem;
    line-height: 1.6923076923;
    margin-bottom: 11.8rem;
  }
  .CE240521product .lastArea__credit a{
    text-decoration-thickness: 0.1rem;
    text-underline-offset: 0.6rem;
  }

  .CE240521product .viewAll a{
    font-size: 1.1rem;
    line-height: 1.5454545455;
    width: 100rem;
    height: 6rem;
    margin: 0rem auto 11.8rem;
  }
}

/*================================
  fadeIn
=================================*/
.CE240521product .js-fadeIn{
  opacity: 0;
  transition: 1.5s;
}
.CE240521product .pageTop{
  opacity: 0;
}
.CE240521product .js-scrollIn{
  opacity: 1;
  transform: translateY(0rem);
}
/* end fadeIn */


/*================================
  swiper
=================================*/
.CE240521product .swiper{
  overflow: visible;
}
.CE240521product .swiper-container{
  width: calc(530*(100vw / 750));
  padding-bottom: calc(46*(100vw / 750));
}
.CE240521product .js-swiper_nomal .swiper-slide{
  background: #fff;
}
.CE240521product .swiper-slide img {
  width: 100%!important;
  height: 100%!important;
  align-items: end;
  vertical-align: bottom;
  line-height: 0;
}
.CE240521product .swiper-notification{
  display: none!important;
}
/*===================== pagination */
.CE240521product .swiper-pagination{
  display: flex;
  justify-content: center;
  bottom: 0!important;
}
.CE240521product .swiper-pagination-bullet{
  background: none;
  border: solid calc(2*(100vw / 750)) var(--color-nav);
  border-radius: 0;
  box-sizing: border-box;
  opacity: 1;
  margin: 0!important;
  width: calc(15* (100vw / 750));
  height: calc(15* (100vw / 750));
  margin: 0 calc(7.5* (100vw / 750)) 0!important;
}
.CE240521product span.swiper-pagination-bullet.swiper-pagination-bullet-active{
  border: none;
  background: var(--color-nav);
}
/*===================== arrow */
.CE240521product .swiper-button-prev,
.swiper-button-next{
  width: calc(20* (100vw / 750));
  height: calc(68* (100vw / 750));
  top: 46%;
}
.CE240521product .swiper-button-next{
  right: calc(60* (100vw / 750));
}
.CE240521product .swiper-button-prev{
  left: calc(60* (100vw / 750));
}
.CE240521product .swiper-button-prev::before,
.CE240521product .swiper-button-prev::after,
.CE240521product .swiper-button-next::before, 
.CE240521product .swiper-button-next::after{
  content: "";
  display: block;
  position: absolute;
  width: calc(2* (100vw / 750));
  background: var(--color-nav);
  height: calc(38* (100vw / 750));
}
.CE240521product .swiper-button-prev::before,
.CE240521product .swiper-button-next::before{
  top: 0;
}
.CE240521product .swiper-button-prev::after, 
.CE240521product .swiper-button-next::after{
  bottom: 0;
}
/*--------------------------------
  swiper for mobile
--------------------------------*/
@media only screen and (max-width: 767px) {
  .CE240521product .swiper-button-prev::after,
  .CE240521product .swiper-button-next::before{
    transform: rotate(-35deg);
  }
  
  .CE240521product .swiper-button-prev::before,
  .CE240521product .swiper-button-next::after{
    transform: rotate(35deg);
  }
}

/*--------------------------------
  swiper for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  .CE240521product .swiper-container{
    width: 28rem;
    padding-bottom: 2.4rem;
  }
  /*===================== pagination */
  .CE240521product .swiper-pagination{
    justify-content: left;
    width: 28rem;
    margin: 0 auto;
  }
  .CE240521product .swiper-pagination-bullet{
    border: solid 0.1rem var(--color-nav);
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 0.8rem 0 0!important;
  }
  /*===================== arrow */
  .CE240521product .swiper-button-prev,
  .swiper-button-next{
    width: 2rem;
    height: 3.7rem;
    top: 48%;
  }
  .CE240521product .swiper-button-next{
    right: 0;
  }
  .CE240521product .swiper-button-prev{
    left: 0;
  }
  .CE240521product .swiper-button-prev::before,
  .CE240521product .swiper-button-prev::after,
  .CE240521product .swiper-button-next::before, 
  .CE240521product .swiper-button-next::after{
    width: 1px;
    height: 2.2rem;
  }
  .CE240521product .swiper-button-prev::before,
  .CE240521product .swiper-button-prev::after{
    left: 30%;
  }
  .CE240521product .swiper-button-next::before,
  .CE240521product .swiper-button-next::after{
    left: auto;
    right: 30%;
  }
  .CE240521product .swiper-button-prev::after,
.CE240521product .swiper-button-next::before{
  transform: rotate(-45deg);
}

.CE240521product .swiper-button-prev::before,
.CE240521product .swiper-button-next::after{
  transform: rotate(45deg);
}
}
/* end swiper */