html {
  font-size: 10px;
  overflow-x: clip;
  scrollbar-width: none;
}

html {
  font-size: 0.7142857143vw;
}

.l-container {
  width: 100%;
}

.l-container #feature {
  margin: 7.1rem auto 0;
  font-feature-settings: "palt";
  width: 100%;
  text-align: center;
  background-color: #F4D7D4;
}
.l-container #feature * {
  box-sizing: border-box;
}
.l-container #feature *::after {
  box-sizing: border-box;
}
.l-container #feature *::before {
  box-sizing: border-box;
}
.l-container #feature a {
  display: block;
  text-decoration: none;
  position: relative;
}
.l-container #feature a::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  transition: all 0.4s;
}
.l-container #feature a:hover {
  cursor: pointer;
}
.l-container #feature a:hover::after {
  opacity: 1;
  transition: 0.4s;
}
.l-container #feature .default-img {
  width: 100%;
  display: block;
}
.l-container #feature picture {
  display: block;
}
.l-container #feature .creditContainer .credit {
  display: flex;
  flex-wrap: wrap;
}
.l-container #feature .creditContainer li {
  width: fit-content;
}
.l-container #feature .creditContainer li a {
  transition: 0.3s;
  text-decoration: none;
}
.l-container #feature .creditContainer li a:hover {
  opacity: 0.6;
  cursor: pointer;
  text-decoration: none;
}
.l-container #feature .creditContainer li a::after {
  display: none;
}
.l-container #feature .hero {
  position: relative;
  margin: 0 auto 0;
  width: 100%;
}
.l-container #feature .hero__img {
  margin: 0 0 0 auto;
  width: 95rem;
}
.l-container #feature .hero__img_txt {
  position: absolute;
  top: 15.9rem;
  left: 9.6rem;
  width: 45rem;
}
.l-container #feature .hero__txt_box {
  margin: 10rem auto 0;
  width: 58.3rem;
}
.l-container #feature .hero__heart_area {
  margin: 8rem auto 0;
  width: fit-content;
  display: flex;
  flex-direction: column;
  row-gap: 1.43rem;
}
.l-container #feature .hero__heart {
  width: 1.8rem;
}
.l-container #feature .container {
  margin: 0 auto;
  width: 100%;
  position: relative;
}
.l-container #feature .container__inner {
  margin: 0 auto;
}
.l-container #feature .container__txt {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 3rem;
  letter-spacing: 0.12em;
  color: #B21A12;
}
.l-container #feature .container__txt--white {
  color: #F4D7D4;
}
.l-container #feature .container__txt span {
  letter-spacing: 0.04em;
}
.l-container #feature .container01 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container01__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container01__ttl {
  margin: 9.7rem auto 0;
  width: 45.8rem;
}
.l-container #feature .container01__img_01 {
  margin: 8.2rem auto 0;
  width: 82rem;
}
.l-container #feature .container01__img_02 {
  margin: 13.4rem auto 0 0;
  width: 68rem;
}
.l-container #feature .container01__img_03 {
  position: absolute;
  top: 151rem;
  left: 65.7rem;
  z-index: 10;
  width: 56.2rem;
}
.l-container #feature .container01__img_03 a::after {
  -webkit-mask-image: url("../img/img_03.png");
  mask-image: url("../img/img_03.png");
  -webkit-mask-size: cover;
  mask-size: cover;
}
.l-container #feature .container01__img_03_txt {
  position: absolute;
  top: 188.7rem;
  left: 88.8rem;
  z-index: 10;
  width: 19.6rem;
  pointer-events: none;
}
.l-container #feature .container02 {
  position: relative;
  margin: 0 auto 0;
  padding-bottom: 20rem;
}
.l-container #feature .container02__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container02__inner::before {
  position: absolute;
  content: "";
  top: 54.3rem;
  right: 5.5rem;
  z-index: 5;
  display: block;
  width: 25rem;
  height: 26rem;
  background-image: url(../img/container02_deco_01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.l-container #feature .container02__inner::after {
  position: absolute;
  content: "";
  bottom: -20rem;
  left: 0rem;
  z-index: 5;
  display: block;
  width: 30rem;
  height: 41rem;
  background-image: url(../img/container02_deco_02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.l-container #feature .container02__ttl {
  margin: 59.6rem auto 0 17.8rem;
  width: 38.1rem;
}
.l-container #feature .container02__img_04 {
  position: absolute;
  top: -14.3rem;
  right: 15.5rem;
  width: 56rem;
  z-index: 20;
}
.l-container #feature .container02__img_05 {
  position: relative;
  margin: 22.2rem auto 0 15.5rem;
  width: 44rem;
  z-index: 10;
}
.l-container #feature .back_red {
  background-color: #840300;
}
.l-container #feature .back_red__top {
  padding-top: 10rem;
  padding-bottom: 14rem;
}
.l-container #feature .back_red__bottom {
  padding-top: 36.7rem;
  padding-bottom: 14rem;
}
.l-container #feature .container03 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container03__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container03__ttl {
  margin: 4rem auto 0;
  width: 47.1rem;
}
.l-container #feature .container03__heart {
  position: absolute;
  top: 55.2rem;
  left: 43.6rem;
  width: 8rem;
  transform: rotate(-5deg);
  z-index: 15;
  pointer-events: none;
}
.l-container #feature .container03__img_06 {
  margin: 8rem auto 0;
  width: 100%;
}
.l-container #feature .container03__img_06 a::after {
  display: none;
}
.l-container #feature .container04 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container04__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container04__inner::before {
  position: absolute;
  content: "";
  bottom: -15rem;
  right: 0rem;
  z-index: 5;
  display: block;
  width: 140rem;
  height: 96rem;
  background-image: url(../img/container04_deco_03.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.l-container #feature .container04__ttl {
  margin: 26.8rem auto 0;
  padding-right: 0.3rem;
  width: 34.3rem;
}
.l-container #feature .container04__flex {
  position: relative;
  margin: 8rem auto 0;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.l-container #feature .container04__flex::before {
  position: absolute;
  content: "";
  top: -16.5rem;
  left: 0rem;
  z-index: 5;
  display: block;
  width: 31rem;
  height: 38rem;
  background-image: url(../img/container04_deco_01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.l-container #feature .container04__flex::after {
  position: absolute;
  content: "";
  bottom: -7.2rem;
  right: 0.2rem;
  z-index: 5;
  display: block;
  width: 31rem;
  height: 38rem;
  background-image: url(../img/container04_deco_02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.l-container #feature .container04__img_07, .l-container #feature .container04__img_08 {
  position: relative;
  width: 45rem;
  z-index: 10;
}
.l-container #feature .container04__img_09 {
  position: relative;
  margin: 14.3rem auto 0;
  width: 45rem;
  z-index: 10;
}
.l-container #feature .container04 .scroll-list {
  margin: 14rem 0 0;
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 1rem;
}
.l-container #feature .container04 .scroll-list li {
  padding: 0 0 0 0;
  margin: 0;
  animation: marquee-left 20s linear infinite;
}
.l-container #feature .container04 .scroll-list li picture {
  width: 132.7rem;
}
@keyframes marquee-left {
  100% {
    transform: translateX(-100%);
  }
}
.l-container #feature .container05 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container05__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container05__ttl {
  margin: 18.2rem auto 0;
  width: 48rem;
}
.l-container #feature .container05__img_10 {
  margin: 7.9rem auto 0;
  width: 65rem;
}
.l-container #feature .container06 {
  position: relative;
  margin: 0 auto 19.9rem;
}
.l-container #feature .container06__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container06__ttl {
  margin: 28.5rem auto 8.5rem;
  padding-right: 0.8rem;
  width: 47.5rem;
}
.l-container #feature .container06__snow_01 {
  position: absolute;
  top: 32.1rem;
  right: 31.7rem;
  z-index: 5;
  width: 73rem;
  pointer-events: none;
}
.l-container #feature .container06__snow_02 {
  position: absolute;
  top: 98.1rem;
  right: 35.1rem;
  z-index: 5;
  width: 67rem;
  pointer-events: none;
}
.l-container #feature .container06__snow_03 {
  position: absolute;
  top: 164.9rem;
  right: 33.6rem;
  z-index: 5;
  width: 19rem;
  pointer-events: none;
}
.l-container #feature .container06__img_11, .l-container #feature .container06__img_12 {
  margin: 1rem auto 0;
  width: 52rem;
}
.l-container #feature .container07 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container07__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container07__ttl {
  margin: 0 auto 0 16rem;
  width: 36.1rem;
}
.l-container #feature .container07__img_13 {
  position: absolute;
  top: -18.6rem;
  right: 0rem;
  width: 72rem;
}
.l-container #feature .container07__img_14 {
  margin: 21rem auto 0 12rem;
  width: 44rem;
}
.l-container #feature .container08 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container08__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container08__img_staff {
  margin: 14rem auto 0;
  width: 23.7rem;
}
.l-container #feature .container08__btn {
  margin: 14.1rem auto 0;
  width: 36.2rem;
}
.l-container #feature .container08__btn a::after {
  -webkit-mask-image: url("../img/btn.png");
  mask-image: url("../img/btn.png");
  -webkit-mask-size: cover;
  mask-size: cover;
}
.l-container #feature .container08__btn a::after {
  content: "";
  background: rgba(130, 45, 44, 0.4) !important;
}
.l-container #feature .container09 {
  position: relative;
  margin: 0 auto 2.5rem;
}
.l-container #feature .container09__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container09__img_15 {
  margin: 0 auto 0;
  width: 140rem;
}
.l-container #feature .container09__img_15_line {
  position: absolute;
  bottom: -4.1rem;
  left: 0;
  width: 100%;
}
.l-container #feature .heart_txt.fadeUp-hidden {
  opacity: 0;
  transition: 1s ease all;
}
.l-container #feature .heart_txt.animate-active {
  opacity: 1;
}
.l-container #feature .snow.fadeUp-hidden {
  opacity: 0;
  transition: 1s ease all;
}
.l-container #feature .snow.animate-active {
  opacity: 1;
}
.l-container #feature .hero__heart.fadeUp-hidden {
  opacity: 0;
  transition: 1s ease all;
}
.l-container #feature .hero__heart.fadeUp-hidden:nth-child(2) {
  transition-delay: 0.5s;
}
.l-container #feature .hero__heart.fadeUp-hidden:nth-child(3) {
  transition-delay: 1s;
}
.l-container #feature .hero__heart.fadeUp-hidden:nth-child(4) {
  transition-delay: 1.5s;
}
.l-container #feature .hero__heart.fadeUp-hidden:nth-child(5) {
  transition-delay: 2s;
}
.l-container #feature .hero__heart.animate-active {
  opacity: 1;
}

.feature-snslist {
  overflow: hidden;
}

.l-footer {
  padding: 0;
}