@charset "UTF-8";

/*******************************
MO240222LIMITED
*******************************/
#MO240222LIMITED{
  display: block;
  width: 100%;
  color: #000000;
  box-sizing: border-box;
}

#MO240222LIMITED *{box-sizing: border-box;}

/*******************************
mvImg
*******************************/
#MO240222LIMITED .mvImg{
  display: block;
  width: 100%;
  margin: 0 auto;
}

#MO240222LIMITED .mvImg > a{display: block;}

#MO240222LIMITED .mvImg picture,
#MO240222LIMITED .mvImg img{display: block; width: 100%; height: auto;}


/*******************************
lede
*******************************/
#MO240222LIMITED .lede{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: calc(90 * (100vw / 750)) 0 calc(140 * (100vw / 750));
  text-align: center;
  font-size: calc(24 * (100vw / 750));
  line-height: 2.333333333333333;
  font-weight: 500;
  margin-top: calc(-16 * (100vw / 750));
  margin-bottom: calc(-16 * (100vw / 750));
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
}
#MO240222LIMITED .lede > p{font-weight: 500;}


/*******************************
ancList
*******************************/
#MO240222LIMITED .ancList{
  display: block;
  width: 100%;
  padding: 0 calc(45 * (100vw / 750));
  margin-bottom: calc(90 * (100vw / 750));
}


#MO240222LIMITED .ancList > ol{
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 0 calc(30 * (100vw / 750));
}

#MO240222LIMITED .ancList > ol > li{
  display: block;
  width: calc(200 * (100vw / 750));
}
#MO240222LIMITED .ancList > ol > li > a{
  display: block;
  width: 100%;
  position: relative;
  text-decoration: none;
  color: #000000;
  font-family: "garamond-premier-pro", serif;
  font-weight: 400;
}

#MO240222LIMITED .ancList > ol > li > a > em{
  display: block;
  font-size: calc(54 * (100vw / 750));
  line-height: 0.7;
  letter-spacing: 0.07em;
  position: absolute;
  left: 0;
  top: calc(-3 * (100vw / 750));
  z-index: 2;
  font-style: normal;
}

#MO240222LIMITED .ancList > ol > li > a > figure{
  display: block;
  width: 100%;
  margin-bottom: calc(32 * (100vw / 750));
}
#MO240222LIMITED .ancList > ol > li > a > figure > img{display: block; width: 100%; height: auto;}

#MO240222LIMITED .ancList > ol > li > a > span{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 calc(7 * (100vw / 750));
  padding-left: 0;
  font-size: calc(26 * (100vw / 750));
  line-height: 1;
  letter-spacing: 0.05em;
}
#MO240222LIMITED .ancList > ol > li > a > span::after{
  content: '';
  display: block;
  width: calc(19.4142 * (100vw / 750));
  height: calc(11.1213 * (100vw / 750));
  background: url("../img/icon_anc.svg") center center no-repeat;
  background-size: 100% auto;
  transform: translateY(-0.1em);
}


/*******************************
fadeInSetting
*******************************/
#MO240222LIMITED .fadeInBlock:not(.fadePC),
#MO240222LIMITED .fadeInList:not(.fadePC) > *{
  visibility: hidden;
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 1.5s ease, transform 1.5s  ease;
  pointer-events: none;
}


#MO240222LIMITED .fadeInBlock:not(.fadePC).leftIn,
#MO240222LIMITED .fadeInList:not(.fadePC).leftIn > *{
  transform: translateX(-20%);
}

#MO240222LIMITED .fadeInBlock:not(.fadePC).rightIn,
#MO240222LIMITED .fadeInList.rightIn > *{
  transform: translateX(20%);
}

#MO240222LIMITED .fadeInBlock:not(.fadePC).upIn,
#MO240222LIMITED .fadeInList:not(.fadePC).upIn > *{
  transform: translateY(8%);
}

#MO240222LIMITED .fadeInBlock:not(.fadePC).downIn,
#MO240222LIMITED .fadeInList:not(.fadePC).downIn > *{
  transform: translateY(-8%);
}

#MO240222LIMITED .fadeInBlock:not(.fadePC).view,
#MO240222LIMITED .fadeInList:not(.fadePC) > *.view{
  visibility: visible;
  opacity: 1;
  transform: translate(0, 0);
  pointer-events: inherit;
}



/*******************************
common
*******************************/
#MO240222LIMITED .allitemBtn{
  display: block;
  width: 100%;
  max-width: calc(675 * (100vw / 750));
  margin: calc(200 * (100vw / 750)) auto calc(200 * (100vw / 750));
}

#MO240222LIMITED .allitemBtn > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(120 * (100vw / 750));
  border: 1px solid #000000;
  font-size: calc(28 * (100vw / 750));
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.06em;
}


/*ttl **/
#MO240222LIMITED .ttl{
  display: block;
  font-feature-settings: "palt";
  padding: 0 calc(59 * (100vw / 750)) calc(59 * (100vw / 750));
}

#MO240222LIMITED .ttl > h2{
  display: block;
  margin-bottom: calc(45 * (100vw / 750) - 22 * (100vw / 750));
  font-family: "游明朝", "YuMincho", serif;
  font-size: calc(40 * (100vw / 750));
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  letter-spacing: 0.075em;
}
#MO240222LIMITED .ttl > h2 > span{
  display: block;
  margin-bottom: calc(45 * (100vw / 750) - 13 * (100vw / 750));
  font-family: "garamond-premier-pro", serif;
  font-size: calc(52 * (100vw / 750));
  letter-spacing: 0.05em;
  line-height: 0.7;
}


#MO240222LIMITED .ttl dl.color{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0 calc(14 * (100vw / 750));
}

#MO240222LIMITED .ttl dl.color > dt{
  display: block;
  padding-top: 0.3em;
  font-family: "garamond-premier-pro", serif;
  font-size: calc(29 * (100vw / 750));
  letter-spacing: 0.06em;
}

#MO240222LIMITED .ttl dl.color > dd{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  height: calc(34.5054 * (100vw / 750));
  width: calc(85 * (100vw / 750));
  padding-bottom: 0.06em;
  background: #f6edd5;
  font-family: "acumin-pro", sans-serif;
  font-size: calc(28 * (100vw / 750));
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1;
}

#MO240222LIMITED .ttl dl.color > dd.ivr{background-color: #f6edd5; color: #000000;}
#MO240222LIMITED .ttl dl.color > dd.nvy{background-color: #2a3459; color: #FFFFFF;}
#MO240222LIMITED .ttl dl.color > dd.gry{background-color: #5e5e66; color: #FFFFFF;}


/*img **/
#MO240222LIMITED .img{display: block;}
#MO240222LIMITED .img a,
#MO240222LIMITED .img img{
  display: block;
  width: 100%;
  height: auto;
}


/*first img **/
#MO240222LIMITED .first .img{
  display: block;
  width: 100%;
}


/*staffInfo **/
#MO240222LIMITED .staffInfo{
  display: block;
  max-width: calc(100% - 59 * (100vw / 750) * 2);
  margin: calc(-50 * (100vw / 750)) auto calc(39 * (100vw / 750));
  padding-top: calc(109 * (100vw / 750));
  padding-left: calc(35 * (100vw / 750));
  padding-right: calc(170 * (100vw / 750));
  border-left: 1px solid #000000;
  font-feature-settings: "palt";
  position: relative;
  z-index: 1;
}

#MO240222LIMITED .staffInfo .namePlace{
  display: block;
}

#MO240222LIMITED .staffInfo .namePlace > .name{
  display: block;
  margin-bottom: calc(17 * (100vw / 750));
  font-family: "garamond-premier-pro", serif;
  font-size: calc(26 * (100vw / 750));
  line-height: 1;
  letter-spacing: 0.06em;
}

#MO240222LIMITED .staffInfo .namePlace > .place{
  font-size: calc(22 * (100vw / 750));
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 500;
}

#MO240222LIMITED .staffInfo .btnSnap{
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
}

#MO240222LIMITED .staffInfo .btnSnap > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: calc(170 * (100vw / 750));
  height: calc(50 * (100vw / 750));
  border: 1px solid #000000;
  gap: 0 calc(10 * (100vw / 750));
}

#MO240222LIMITED .staffInfo .btnSnap > a > em{
  display: block;
  width: calc(39.6877 * (100vw / 750));
  height: calc(20.5101 * (100vw / 750));
  background: url("../img/icon_snap.svg") center center no-repeat;
  background-size: 100% auto;
}

#MO240222LIMITED .staffInfo .btnSnap > a > span{
  display: block;
  padding-top: 0.2em;
  font-family: "garamond-premier-pro", serif;
  font-size: calc(31 * (100vw / 750));
  line-height: 1;
  letter-spacing: 0.05em;
}



/*itemsLink **/
#MO240222LIMITED .itemLinks{
  display: block;
  text-align: left;
  font-feature-settings: "palt";
}

#MO240222LIMITED .itemLinks > ul{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0 0.9em;
  font-size: calc(23 * (100vw / 750));
  line-height: 1.826086956521739;
  letter-spacing: 0.03em;
  margin-bottom: calc(-19 * (100vw / 750) / 2);
}

#MO240222LIMITED .itemLinks > ul > li{display: block;}
#MO240222LIMITED .itemLinks > ul > li > a{
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-style: normal;
  white-space: nowrap;
}



/*pointText **/
#MO240222LIMITED .pointText{
  display: block;
  width: 100%;
  text-align: right;
  font-feature-settings: "palt";
}

#MO240222LIMITED .pointText > dl{
  display: inline-flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  position: relative;
  padding-top: calc(6 * (100vw / 750));
  padding-right: calc(30 * (100vw / 750));
}

#MO240222LIMITED .pointText > dl::before,
#MO240222LIMITED .pointText > dl::after{
  content: '';
  display: block;
  height: calc(50% - 19 * (100vw / 750) / 2);
  width: 1px;
  background: #000000;
  position: absolute;
  right: 0;
}
#MO240222LIMITED .pointText > dl::before{top: 0;}
#MO240222LIMITED .pointText > dl::after{bottom: 0;}


#MO240222LIMITED .pointText > dl > dt{
  display: block;
  margin-bottom: calc(30 * (100vw / 750) - 20 * (100vw / 750) / 2 - 0.1em);
  font-family: "garamond-premier-pro", serif;
  font-size: calc(30 * (100vw / 750));
  line-height: 0.7;
  letter-spacing: 0.05em;
}

#MO240222LIMITED .pointText > dl > dd{
  display: block;
  margin-bottom: calc(-20 * (100vw / 750) / 2);
  font-weight: 500;
  font-size: calc(24 * (100vw / 750));
  letter-spacing: 0.05em;
  line-height: 1.833333333333333;
}

#MO240222LIMITED .pointText > dl > dd::after{
  content: '';
  display: block;
  width: calc(13 * (100vw / 750));
  height: calc(22 * (100vw / 750));
  background: url("../img/arrow_point_sp.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: calc(50% - 22 * (100vw / 750) / 2);
  right: calc(-11 * (100vw / 750));
}


/*figSlider **/
#MO240222LIMITED .figSlider{
	overflow: hidden;
	position: relative;
}

#MO240222LIMITED .figSlider .container{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

#MO240222LIMITED .figSlider .sliderWrapper{}

#MO240222LIMITED .figSlider .slider{
  display: block;
  width: 100%;
}

#MO240222LIMITED .figSlider .slider a{
  display: block;
  width: 100%;
  height: auto;
}

#MO240222LIMITED .figSlider .slider a > img{
  display: block;
  width: 100%;
  height: auto;
}

#MO240222LIMITED .figSlider .slider.swiper-slide-active{
  pointer-events: auto;
}

#MO240222LIMITED .figSlider ul.pager{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0 calc(14 * (100vw / 750));
  width: 100%;
  margin-top: calc(30 * (100vw / 750));
}

#MO240222LIMITED .figSlider ul.pager > li{
  display: block;
  width: calc(14 * (100vw / 750));
  height: calc(14 * (100vw / 750));
  border-radius: 50%;
  border: 1px solid #929292;
  transition: background 0.3s ease;
  cursor: pointer;
}

#MO240222LIMITED .figSlider ul.pager > li.swiper-pagination-bullet-active{
  background: #929292;
  pointer-events: none;
}


/*******************************
#sec01
*******************************/
#sec01{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: calc(76 *(100vw / 750)) 0 calc(153 *(100vw / 750));
  box-sizing: border-box;
}

#sec01 > .first{
  display: block;
  width: 100%;
  margin-bottom: calc(150 * (100vw / 750));
  position: relative;
  box-sizing: border-box;
}

#sec01 > .first > .img{
  display: block;
  width: 100%;
}

#sec01 > .first > .itemLinks{
  width: 100%;
  max-width: 80%;
  padding: 0 calc(60 * (100vw / 750));
}



#sec01 > .pcColumn{ display: block;}


/*second **/
#sec01 > .pcColumn > .second{
  display: block;
  width: 100%;
  margin-bottom: calc(104 * (100vw / 750));
}

#sec01 > .pcColumn > .second > .img{
  width: calc(555 * (100vw / 750));
  margin: 0 auto calc(50 * (100vw / 750)) 0;
}


#sec01 > .pcColumn > .second > .textImg{
  padding: 0;
  position: relative;
}

#sec01 > .pcColumn > .second > .textImg > .pointText{
  width: calc(325 * (100vw / 750));
  position: absolute;
  top: calc(200 * (100vw / 750));
  left: calc(45 * (100vw / 750));
  z-index: 1;
  text-align: left;
}

#sec01 > .pcColumn > .second > .textImg > .img{
  width: calc(435 * (100vw / 750));
  margin: 0 0 0 auto;
}


/*third **/
#sec01 > .pcColumn > .third{
  display: block;
  width: 100%;
  padding: 0 calc(60 * (100vw / 750));
}

#sec01 > .pcColumn > .third > .textImg{
  display: block;
}


#sec01 > .pcColumn > .third .pointText{
  display: block;
  margin: 0 0 calc(59 * (100vw / 750)) auto;
  text-align: right;
}

#sec01 > .pcColumn > .third .pointText > dl{
  align-items: center;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: calc(30 * (100vw / 750));
}

#MO240222LIMITED #sec01 > .pcColumn > .third .pointText > dl::before,
#MO240222LIMITED #sec01 > .pcColumn > .third .pointText > dl::after{
  content: '';
  display: block;
  width: calc(50% - 20 * (100vw / 750) / 2);
  height: 1px;
  background: #000000;
  position: absolute;
  right: inherit;
  bottom: 0;
}
#MO240222LIMITED #sec01 > .pcColumn > .third .pointText > dl::before{top: inherit; left: 0;}
#MO240222LIMITED #sec01 > .pcColumn > .third .pointText > dl::after{bottom: 0; right: 0;}

#MO240222LIMITED #sec01 > .pcColumn > .third .pointText > dl > dd::after{
  content: '';
  display: block;
  width: calc(22 * (100vw / 750));
  height: calc(13 * (100vw / 750));
  background: url("../img/arrow_point_under.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: inherit;
  right: inherit;
  left: calc(50% - 22 * (100vw / 750) / 2);
  bottom: calc(-11 * (100vw / 750));
}


#sec01 > .pcColumn > .third .pointText > dl > dt,
#sec01 > .pcColumn > .third .pointText > dl > dd{text-align: center;}


#sec01 > .pcColumn > .third > .textImg .img{
  display: block;
  width: 100%;
}

#sec01 > .pcColumn > .third > .textImg .figSlider{
	overflow: hidden;
	position: relative;
}

#sec01 > .pcColumn > .third > .textImg .figSlider .container{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}


/*******************************
#sec02
*******************************/
#sec02{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: calc(85 * (100vw / 750)) 0 calc(200 * (100vw / 750));
  background: #f0f2ea;
  box-sizing: border-box;
}

#sec02 > .first{
  display: block;
  width: 100%;
  margin-bottom: calc(150 * (100vw / 750));
  position: relative;
  box-sizing: border-box;
}

#sec02 > .first > .img{
  display: block;
  width: 100%;
}

#sec02 > .first > .itemLinks{
  width: 100%;
  max-width: 80%;
  padding: 0 calc(60 * (100vw / 750));
}


#sec02 > .pcColumn{}


/*second **/
#sec02 > .pcColumn > .second{
  display: block;
  margin-bottom: calc(100 * (100vw / 750));
}

#sec02 > .pcColumn > .second > .textImg{
  display: block;
  width: 100%;
  position: relative;
}

#sec02 > .pcColumn > .second > .textImg > .pointText{
  width: calc(325 * (100vw / 750));
  position: absolute;
  top: calc(398 * (100vw / 750));
  left: calc(45 * (100vw / 750));
  text-align: left;
  z-index: 1;
}

#sec02 > .pcColumn > .second > .textImg > .img{
  display: block;
  width: calc(630 * (100vw / 750));
  margin: 0 0 0 auto;
}
#sec02 > .pcColumn > .second > .textImg > .img > a + a{
  margin-top: calc(30 * (100vw / 750));
}

/*third **/
#sec02 > .pcColumn > .third{
  display: block;
  width: 100%;
}

#sec02 > .pcColumn > .third > .textImg{
  display: block;
  width: 100%;
  position: relative;
}


#sec02 > .pcColumn > .third .pointText{
  width: calc(485 * (100vw / 750));
  position: absolute;
  top: calc(108 * (100vw / 750));
  left: calc(220 * (100vw / 750));
  text-align: right;
  z-index: 1;
}

#MO240222LIMITED #sec02 > .pcColumn > .third .pointText > dl{
  padding-left: calc(30 * (100vw / 750));
  padding-right: 0;
}

#MO240222LIMITED #sec02 > .pcColumn > .third .pointText > dl::before,
#MO240222LIMITED #sec02 > .pcColumn > .third .pointText > dl::after{
  right: inherit;
  left: 0;
}

#MO240222LIMITED #sec02 > .pcColumn > .third .pointText > dl > dd::after{
  right: inherit;
  left: calc(-11 * (100vw / 750));
  transform: rotate(180deg);
}


#sec02 > .pcColumn > .third > .textImg .img{
  display: block;
  width: calc(510 * (100vw / 750));
}


/*******************************
#sec03
*******************************/
#sec03{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: calc(80 *(100vw / 750)) 0 0;
  box-sizing: border-box;
}

#sec03 > .first{
  display: block;
  width: 100%;
  margin-bottom: calc(150 * (100vw / 750));
  position: relative;
  box-sizing: border-box;
}

#sec03 > .first > .img{
  display: block;
  width: 100%;
}

#sec03 > .first > .itemLinks{
  width: calc(100% - 49rem);
}

#sec03 > .first > .itemLinks{
  width: 100%;
  max-width: 80%;
  padding: 0 calc(60 * (100vw / 750));
}


#sec03 > .pcColumn{
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}


/*second **/
#sec03 > .pcColumn > .second{
  order: 2;
  display: block;
  width: 100%;
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(1){
  display: block;
  width: 100%;
  margin-bottom: calc(50 * (100vw / 750));
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(1) > .img{
  width: calc(510 * (100vw / 750));
}


#sec03 > .pcColumn > .second > .textImg:nth-of-type(1) > .pointText{
  width: calc(310 * (100vw / 750));
  position: absolute;
  top: calc(234 * (100vw / 750));
  left: calc(395 * (100vw / 750));
  text-align: right;
  z-index: 1;
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(1) > .pointText > dl{
  padding-left: calc(30 * (100vw / 750));
  padding-right: 0;
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(1) > .pointText > dl::before,
#sec03 > .pcColumn > .second > .textImg:nth-of-type(1) > .pointText> dl::after{
  right: inherit;
  left: 0;
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(1) > .pointText > dl > dd::after{
  right: inherit;
  left: calc(-11 * (100vw / 750));
  transform: rotate(180deg);
}



#sec03 > .pcColumn > .second > .textImg:nth-of-type(2){
  display: block;
  width: 100%;
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(2) > .img{
  width: calc(510 * (100vw / 750));
  margin: 0 0 0 auto;
}

#sec03 > .pcColumn > .second > .textImg:nth-of-type(2) > .pointText{
  width: calc(260 * (100vw / 750));
  position: absolute;
  top: calc(331 * (100vw / 750));
  left: calc(105 * (100vw / 750));
  text-align: left;
  z-index: 1;
}



/*third **/
#sec03 > .pcColumn > .third{
  order: 1;
  display: block;
  width: 100%;
  padding: 0 calc(60 * (100vw / 750));
  margin-bottom: calc(106 * (100vw / 750));
}


#sec03 > .pcColumn > .third > .figSlider{
	overflow: hidden;
	position: relative;
}


#sec03 > .pcColumn > .third > .figSlider .container{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}


/*******************************
overRide
*******************************/
#MO240222LIMITED .pcView{display: none;}











