@charset "UTF-8";

html {
  font-size: 10px;
}
.l-container {
  width: 100%;
  margin: auto;
}
/* 1400px 以下 */
@media screen and (max-width: 1400px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}
/* 1401px 以上 */
@media screen and (min-width: 1401px) { 
  html {
    font-size: 10px;
  }
}

.l-footer {
  padding: 0;
}
.pc-footer {
  margin: 0;
}


/*-------------------------
 common
-------------------------*/
#feature {
  box-sizing: border-box;
  font-feature-settings: "palt";
  width: 100%;
  color: #cfb696;
  background-color: #261716;
}
#feature img, svg {
  width: 100%;
  height: auto;
  display: block;
}
#feature a {
  text-decoration: none;
}
#feature a:hover {
  opacity: 0.7;
}
#feature .hover-wt {
  background: #261716;
  position: relative;
}
#feature .hover-wt a:hover {
  opacity: 1;
  text-decoration: none;
}
.feature .hover-wt img:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
#feature a:link, #feature a:visited {
  color: #cfb696;
}
#feature .sp {
  display: none;
}
#feature * {
  box-sizing: border-box;
}


/*-------------------------
 slide
-------------------------*/
#feature .swiper {overflow: hidden;}



/*-------------------------
 fade
-------------------------*/
.fadeUp {
  transform: translateY(6%);
  transition: opacity 1s ease, transform 1s ease;
  opacity: 0;
}
.fadeUp.is_show {
  transform: translateY(0);
  opacity: 1;
}

.fadeUp2 {
  transform: translateY(20%);
  transition: opacity 1s ease, transform 1s ease;
  opacity: 0;
}
.fadeUp2.is_show {
  transform: translateY(0);
  opacity: 1;
}
.--1 {
  transition-delay: 0.3s;
}
.--2 {
  transition-delay: 0.6s;
}
.--3 {
  transition-delay: 0.9s;
}

.moveImg img {
  animation: 4s ease-in-out 0s infinite normal none running fuwafuwa;
}
@keyframes fuwafuwa {
  0% , 100%{
      transform: translateY(0);
  }
  50%{
      transform: translateY(min(-9.6px, calc(-9.6 * 100vw / 1400)));
  }
}

#feature .bokashi {
  opacity: 0;
  animation: opacity 1.8s cubic-bezier(0.51, 0.21, 0.41, 1) 0.4s 1 forwards;
  mask-image: linear-gradient(0deg, transparent, transparent 39.6666666667%, rgba(0, 0, 0, 0.02) 43.3333333333%, rgba(0, 0, 0, 0.08) 45%, rgba(0, 0, 0, 0.18) 46.6666666667%, rgba(0, 0, 0, 0.32) 48.3333333333%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.68) 51.6666666667%, rgba(0, 0, 0, 0.82) 53.3333333333%, rgba(0, 0, 0, 0.92) 55%, rgba(0, 0, 0, 0.98) 56.6666666667%, #000 58.3333333333%, #000);
  mask-size: 100% max(300%, 100vh);
  mask-repeat: none;
  mask-position: center 100%;
  transform: translateZ(0);
  transition: -webkit-mask-position 1.6s 0.4s linear;
  transition: mask-position 1.6s 0.4s linear;
  transition: mask-position 1.6s 0.4s linear, -webkit-mask-position 1.6s 0.4s linear;
  transition: mask-position 1.6s 0.4s linear, -webkit-mask-position 1.4s linear;
}
#feature .bokashi.is_show {
  opacity: 1;
  animation: opacity 1s cubic-bezier(0.51, 0.21, 0.41, 1) 0s 1 forwards;
  mask-position: center 0;
}
@keyframes opacity {
  0% {
    opacity: 0;
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}


/*-------------------------
 video
-------------------------*/
#feature .video-wrap {
  position: relative;
}
#feature .video-wrap video {
  width: 100%;
  height: 100%;
}
#feature .video-wrap .sound-button {
  position: absolute;
  top: 1.3rem;
  left: 1.6rem;
  z-index: 99999;
  cursor: pointer;
}
#feature .video-wrap .sound-on img {
  width: 11.0722rem;
  height: 1.7342rem;
}
#feature .video-wrap .sound-off img {
  width: 9.8716rem;
  height: 1.8676rem;
}
#feature .video-wrap .sound-button .sound-on {
  display: none;
}
#feature .video-wrap .sound-button .sound-off {
  display: block;
}
#feature .video-wrap .sound-button.off .sound-on {
  display: block;
}
#feature .video-wrap .sound-button.off .sound-off {
  display: none;
}
#feature .flex__item.right .sound-button {
  display: none !important;
}


/*-------------------------
 CONTENTS
-------------------------*/
/* sticky */
#feature {
  overflow: clip;
}
#feature .flex-wrapper {
  display: flex;
  align-items: flex-start;
  position: relative;
  overflow: clip;
  width: 100%;
}
#feature .flex__item.left {
  width: 50%;  
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding-bottom: 90px;
  overflow: hidden;
  background: #261716;  
}
#feature .flex__item.right {
  width: 50%;  
  padding: 12.0rem 10.0rem 0;
}
#feature .pcMv.video-wrap {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
#feature .pcMv.video-wrap video {
  object-position: top center;
  display: block;
  max-width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	height: 100%;
}
/* 1246px 以下 */
@media screen and (max-width: 1246px) { 
  #feature .pcMv.video-wrap .sound-button {
    bottom: 3.2rem;
    right: 1.6rem;
  }
}


/* 1400px 以下 */
@media screen and (max-width: 1400px) { 
  #feature .flex__item.right .inner {
  }
}
/* 1401px 以上 */
@media screen and (min-width: 1401px) { 
  #feature .flex__item.right .inner {
    width: 500px;
    margin: 0 auto;
  }
}



/* .intro */
#feature .intro {
  width: 100%;
  margin: 0 auto;
  padding: 10rem 0 19.2rem;
  position: relative;
}
#feature .intro::before {
  content: "";
  display: block;
  width: 100%;
  height: 3rem;
  background: url(../img/intro_top.png) repeat-x;
  background-size: 156%;
  margin-bottom: 10rem;
}
#feature .intro::after {
  content: "";
  display: block;
  width: 100%;
  height: 3rem;
  background: url(../img/intro_btm.png) repeat-x;
  background-size: 156%;
  margin-top: 11rem;
}

#feature .intro__logo {
  width: 26rem;
  margin: 0 auto 4rem;
}
#feature .intro__ribbon {
  width: 5.5rem;
  margin: 0 auto 4.1rem;
}
#feature .intro__copy {
  width: 24.4rem;
  margin: 0 auto 3rem;
}
#feature .intro__date {
  width: 29rem;
  margin: 4.8rem auto 0;
}
#feature .intro p {
  font-family: "ryo-gothic-plusn", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2.0;
  letter-spacing: 0.025em;
  margin: 0 0 2.4rem 0;
  color: #cfb696;
}
#feature .intro .deco01 {
  width: 10rem;
  position: absolute;
  bottom: 41.336rem;
  left: -3rem;
}


/* .sec */
#feature .sec {
  position: relative; 
}
#feature .sec__box {
  position: relative; 
}
#feature .sec__img {
  position: relative;
  z-index: 10;
}
#feature .sec__deco {
  pointer-events: none;
}


/* .sec01 */
#feature .sec01 .box01 {
  margin: 0 0 16.5416rem 0;
}
#feature .sec01 .box02 {
  margin: 0 0 13rem 0;
}
#feature .sec01 .box03 {
  margin: 0 0 16.5rem 0;
}

#feature .sec01 .img01 {
  width: 38.6rem;
  margin: 0 auto;
}
#feature .sec01 .img02 {
  width: 50.0rem;
  margin: 0 0 8.1rem 0;
}
#feature .sec01 .img03 {
  width: 45.356rem;
  margin: 0 -2.5rem 0 auto;
  border-radius: 50%;
}
#feature .sec01 .img04 {
  width: 42.688rem;
}
#feature .sec01 .img05 {
  width: 34.684rem;
}
#feature .sec01 .img06 {
  width: 35.557rem;
}

#feature .sec01 .deco01 {
  width: 25.4rem;
  position: absolute;
  top: -10rem;
  left: -1.3rem;
}
#feature .sec01 .deco02 {
  width: 13rem;
  position: absolute;
  top: -25rem;
  right: 2.8rem;
}
#feature .sec01 .deco03 {
  width: 29.348rem;
  position: absolute;
  top: 55.8rem;
  right: -9rem;
}
#feature .sec01 .deco04 {
  width: 10.672rem;
  position: absolute;
  top: -14rem;
  left: 2rem;
}
#feature .sec01 .deco05 {
  width: 14.674rem;
  position: absolute;
  top: -12.3rem;
  left: -2.5rem;
}
#feature .sec01 .deco06 {
  width: 19rem;
  position: absolute;
  bottom: 51.684rem;
  left: -4rem;
}
#feature .sec01 .deco07 {
  width: 8rem;
  position: absolute;
  bottom: 9rem;
  left: 3.67rem;
}

#feature .loop-box-wrapper {
  width: 129.398rem;
  display: flex;
  overflow: hidden;
} 
#feature .loop-box {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 4.67rem;
  padding-right: 4.67rem;
  animation: anim_loopX 20s linear infinite;
}
@keyframes anim_loopX {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}



/* .sec02 */
#feature .sec02 {
  background: url(../img/sec02_bg.jpg) repeat-y;
  background-size: 100%;
}
#feature .sec02 .box01 {
  margin: 0 0 13.34rem 0;
}
#feature .sec02 .box02 {
  margin: 0 0 13.4rem 0;
}
#feature .sec02 .box03 {
  margin: 0 0 10.005rem 0;
}
#feature .sec02 .box04 {
  margin: 0 0 13.34rem 0;
}
#feature .sec02 .box05 {
  padding: 0 0 16.5rem 0;
}
#feature .sec02 .sec__Box {
  margin-bottom: 13.34rem;
}

#feature .sec02 .box01 .swiper-wrapper {
  height: 75.0375rem;
}
#feature .sec02 .box01 .swiper-wrapper .img01 {
  width: 50.0rem;
}
#feature .sec02 .box02 .swiper-wrapper {
  height: 51.6925rem;
  margin-top: -1.5rem;
}
#feature .sec02 .box02 .swiper-wrapper .img02 {
  width: 41.6875rem;
  margin: 0 auto;
}
#feature .sec02 .img03 {
  width: 44.689rem;
  margin: 0 0 8.004rem auto;
}
#feature .sec02 .img04 {
  width: 48.024rem;
  margin: 0 auto 0 0;
}
#feature .sec02 .img05 {
  width: 46.023rem;
  margin: 0 auto 6.6rem;
}
#feature .sec02 .box04 .swiper-wrapper {
  height: 60.03rem;
}
#feature .sec02 .box04 .swiper-wrapper .img06 {
  width: 40.02rem;
  margin: 0 0 0 auto;
}

#feature .sec02 .txt01 {
  width: 29.1479rem;
  margin: 0 auto;
}
#feature .sec02 .txt02 {
  width: 28.681rem;
  position: absolute;
  bottom: 35.4rem;
  right: 4.669rem;
}
#feature .sec02 .txt03 {
  width: 33.7502rem;
  margin: 0 auto 5.4rem;
}
#feature .sec02 .txt04 {
  width: 30.5486rem;
  margin: 0 auto 5.336rem;
}
#feature .sec02 .txt05 {
  width: 40.9538rem;
  margin: 0 auto;
}

#feature .sec02 .deco01 {
  width: 5.336rem;
  margin: 0 auto 2.6rem;
}
#feature .sec02 .deco02, #feature .sec02 .deco03, #feature .sec02 .deco04 {
  width: 10.005rem;
}

#feature .sec02 .box04::before {
  content: "";
  display: block;
  width: 100%;
  height: 33.35rem;
  background: url(../img/sec02_box04_top.png) no-repeat;
  background-size: 100%;
}
#feature .sec02 .box04::after {
  content: "";
  display: block;
  width: 100%;
  height: 33.35rem;
  background: url(../img/sec02_box04_btm.png) no-repeat;
  background-size: 100%;
  margin-top: -20.51rem;
}
#feature .sec02 .box04 .sec__box__wrapper {
  background-color: #F9F0EF;
  margin-top: -22.011rem;
}

#feature .sec02 .box05 .sec__deco__wrapper {
  display: flex;
  gap: 2.668rem;
  justify-content: center;
  margin: 0 auto 4.002rem;
}


/* .sec03 */
#feature .sec03 .sec__Box {
  margin-bottom: 13.34rem;
}
#feature .sec03 .box01 {
  margin: 0 0 13.336rem 0;
}
#feature .sec03 .box02 {
  margin: 0 0 13.2rem 0;
}
#feature .sec03 .box03 {
  margin: 0 0 13.34rem 0;
}
#feature .sec03 .box04 {
  margin: 0 0 16.6rem 0;
}

#feature .sec03 .img01 {
  width: 50.0rem;
  margin: 0 auto 8.005rem;
}
#feature .sec03 .box01 .swiper-wrapper {
  height: 58.029rem;
}
#feature .sec03 .box01 .swiper-wrapper .img02 {
  width: 38.686rem;
  margin: 0 auto;
}
#feature .sec03 .img03 {
  width: 50.0rem;
  margin: 0 auto 7.8rem;
}
#feature .sec03 .box02 .swiper__l .swiper-wrapper {
  height: 64.032rem;
  margin-bottom: 6.7rem;
}
#feature .sec03 .box02 .swiper-wrapper .img04 {
  width: 42.688rem;
  margin: 0 auto 0 0;
}
#feature .sec03 .box02 .swiper__r .swiper-wrapper {
  height: 57.0285rem;
  margin: 0 0 0 auto;
}
#feature .sec03 .box02 .swiper-wrapper .img05 {
  width: 38.019rem;
  margin: 0 0 0 auto;
}
#feature .sec03 .img06 {
  width: 50.0rem;
  margin: 0;
}
#feature .sec03 .img07 {
  width: 33.35rem;
  margin: 0 auto;
}

#feature .sec03 .deco01 {
  width: 12.673rem;
  position: absolute;
  top: 69.705rem;
  right: 2.001rem;
  z-index: 20;
}
#feature .sec03 .deco02 {
  width: 14.674rem;
  position: absolute;
  top: 94.384rem;
  left: -2.001rem;
  z-index: 20;
}
#feature .sec03 .deco03 {
  width: 8.004rem;
  position: absolute;
  top: 130.069rem;
  right: 0.667rem;
  z-index: 20;
}
#feature .sec03 .deco04 {
  width: 10.672rem;
  position: absolute;
  top: -7.666rem;
  left: 2.001rem;
  z-index: 20;
}
#feature .sec03 .deco05 {
  width: 12.673rem;
  position: absolute;
  top: 88.048rem;
  right: -0.667rem;
  z-index: 20;
}
#feature .sec03 .deco06 {
  width: 8.004rem;
  position: absolute;
  top: 205.106rem;
  left: -0.667rem;
  z-index: 20;
}
#feature .sec03 .deco07 {
  width: 13.34rem;
  position: absolute;
  top: 158.416rem;
  left: 2.668rem;
  z-index: 20;
}

#feature .sec03 .txt01 {
  width: 37.352rem;
  margin: 0 auto 3.6rem;
}


/* .sec04 */
#feature .sec04 {
  background: url(../img/sec02_bg.jpg) repeat-y;
  background-size: 100%;
  padding-bottom: 11rem;
}
#feature .sec04 .box01 {
  margin: 0 0 6.5rem 0;
}
#feature .sec04 .box02 {
  margin: 0 0 9.67rem 0;
}
#feature .sec04 .box03 {
  margin: 0 0 13.34rem 0;
}
#feature .sec04 .box04 {
  margin-bottom: 13.34rem;
}
#feature .sec04 .box04::before {
  content: "";
  display: block;
  width: 100%;
  height: 33.35rem;
  background: url(../img/sec04_box03_top.png) no-repeat;
  background-size: 100%;
}
#feature .sec04 .box04::after {
  content: "";
  display: block;
  width: 100%;
  height: 33.35rem;
  background: url(../img/sec04_box03_btm.png) no-repeat;
  background-size: 100%;
  margin-top: -13.34rem;
}
#feature .sec04 .box04 .sec__box__wrapper {
  background-color: #ecf3f6;
  margin-top: -25.346rem;
}

#feature .sec04 .box01 .swiper-wrapper {
  height: 75.0375rem;
  margin-bottom: 6.4rem;
}
#feature .sec04 .box01 .swiper-wrapper .img01 {
  width: 50.0rem;
  margin: 0 auto;
}
#feature .sec04 .img02 {
  width: 46.023rem;
  margin: 0 auto 4.4rem;
}
#feature .sec04 .box02 .swiper-wrapper {
  height: 61.364rem;
}
#feature .sec04 .box02 .swiper-wrapper .img03 {
  width: 46.023rem;
  margin: 0 auto;
}
#feature .sec04 .img04 {
  width: 50.0rem;
  margin: -3.335rem auto 0;
}
#feature .sec04 .img05 {
  width: 46.023rem;
  margin: 0 auto 6.4rem;
}
#feature .sec04 .box04 .swiper-wrapper {
  height: 58.029rem;
}
#feature .sec04 .box04 .swiper-wrapper .img06 {
  width: 38.686rem;
  margin: 0 auto;
}

#feature .sec04 .txt01 {
  width: 23.2783rem;
  margin: 0 auto;
}
#feature .sec04 .txt02 {
  width: 19.2096rem;
  position: absolute;
  top:  0;
  left: 0;
  margin: 0.669rem 0 0 25.346rem;
}
#feature .sec04 .txt03 {
  width: 19.0762rem;
  margin: 0 auto 5.6rem;
}
#feature .sec04 .txt04 {
  width: 16.1414rem;
  margin: 6.67rem auto 0;
}
#feature .sec04 .txt05 {
  width: 27.5471rem;
  margin: 0 auto;
}
#feature .sec04 .txt06 {
  width: 26.8801rem;
  margin: 0 auto;
}

#feature .sec04 .deco01 {
  width: 5.336rem;
  margin: 0 auto 2.468rem;
}
#feature .sec04 .deco02 {
  width: 19.343rem;
  margin: 1.001rem auto 3.9rem;
}


/* .decolation-circle-txt */
#feature .sec04 .box02, #feature .sec04 .box04 {
  position: relative;
}
#feature .sec04 .box02 .decolation-circle-txt {
  width: 12.006rem;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -0.667rem;
  margin-right: 5.4694rem;
  pointer-events: none;
}
#feature .sec04 .box04 .decolation-circle-txt {
  width: 27.4804rem;
}
#feature .decolation-circle-txt.is_show .circle-txt .svg_path, #feature .decolation-circle-txt1.is-show .circle-txt .svg_path, #feature .decolation-circle-txt2.is-show .circle-txt .svg_path {
  opacity: 1;
}
#feature .decolation-circle-txt .circle-txt .svg_path, #feature .decolation-circle-txt1 .circle-txt .svg_path, #feature .decolation-circle-txt2 .circle-txt .svg_path {
  fill: #cfb696;
  opacity: 0;
  transition: opacity 1s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path01{
  transition-delay: 0.05s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path02 {
  transition-delay: 0.1s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path03 {
  transition-delay: 0.15s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path04 {
  transition-delay: 0.2s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path05 {
  transition-delay: 0.25s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path06 {
  transition-delay: 0.3s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path07 {
  transition-delay: 0.35s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path08 {
  transition-delay: 0.45s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path09 {
  transition-delay: 0.5s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path10 {
  transition-delay: 0.55s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path11 {
  transition-delay: 0.6s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path12 {
  transition-delay: 0.65s;
}
#feature .decolation-circle-txt .circle-txt .svg_path.svg_path13 {
  transition-delay: 0.7s;
}


/* .credit */
#feature .credit {
  margin: 4.2688rem auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2rem;
  font-family: "ogg", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  line-height: 1;
  justify-content: center;
  color: #cfb696;
}
#feature .credit02 .credit {margin-top: 4.002rem;}
#feature .credit03 .credit {margin-top: 4.4rem;}
#feature .credit05 .credit {margin-top: 4.002rem;}
#feature .credit06 .credit {margin-top: 4.002rem;}
#feature .credit07 .credit a:link, #feature .credit07 .credit a:visited { color: #951e26; }
#feature .credit12 .credit {margin-top: 4.002rem;}
#feature .credit15 .credit a:link, #feature .credit15 .credit a:visited { color: #951e26; }

#feature .credit02 li:nth-child(1) { margin-left: 6rem; }
#feature .credit02 li:nth-child(2) { margin-right: 6rem; }

#feature .credit09 li:nth-child(1) { margin-left: 6rem; }
#feature .credit09 li:nth-child(2) { margin-right: 6rem; }

#feature .credit10 li:nth-child(1) { margin-left: 6rem; }
#feature .credit10 li:nth-child(2) { margin-right: 6rem; }

#feature .credit15 li:nth-child(1) { margin-left: 6rem; }
#feature .credit15 li:nth-child(2) { margin-right: 6rem; }
