html {
  font-size: 10px;
}

@font-face {
  font-family: 'Latin Modern Mono Prop';
  src: url("../fonts/lmmonoprop10-regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}

.anime-blur {
  opacity: 0;
}

.anime-blur.is-active {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: both;
  transition: all 0.6s ease-out, opacity 0.3s linear, filter 0.7s linear;
}

@keyframes fadeInAnime {
  0% {
    filter: blur(8px);
    transform: translateY(0);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}

.anime-fadeInUp {
  opacity: 0;
  transform: translateY(100px);
}

.anime-fadeInUp.is-active {
  opacity: 1;
  transition-duration: 1.1s;
  transform: translateY(0);
}

.each-show .svg-wrapper svg path {
  opacity: 0;
}

.each-show .svg-wrapper svg path.is-show {
  opacity: 1;
  transition: opacity .5s ease;
}

.anime-fadeInUp {
  opacity: 0;
  transition: opacity 1.5s 0.5s, transform 1.5s 0.5s;
  transform: translateY(3rem);
}

.anime-fadeInUp.is-active {
  opacity: 1;
  transform: translateY(0);
}

.anime-fadeInLeft {
  opacity: 0;
  transition: opacity 1.5s 0.5s, transform 1.5s 0.5s;
  transform: translateX(-3rem);
}

.anime-fadeInLeft.is-active {
  opacity: 1;
  transform: translateX(0);
}

.anime-fadeInRight {
  opacity: 0;
  transition: opacity 1.5s 0.5s, transform 1.5s 0.5s;
  transform: translateX(3rem);
}

.anime-fadeInRight.is-active {
  opacity: 1;
  transform: translateY(0);
}

.anime-imgScale {
  overflow: hidden;
  opacity: 0;
  transition: opacity 2.5s cubic-bezier(0.19, 1, 0.22, 1), transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.anime-imgScale img {
  transform: scale(1.15);
}

.anime-imgScale.is-active {
  opacity: 1;
}

.anime-imgScale.is-active img {
  transform: scale(1);
  transition: transform 2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

html {
  font-size: 10px;
}

html {
  font-size: calc(10 * (100vw / 2100));
}

.l-container {
  width: 100%;
}

.l-container #feature {
  background-color: #000000;
  font-family: 'Latin Modern Mono Prop', monospace;
  margin: 0 auto -89px;
  padding-bottom: 25rem;
  font-feature-settings: "palt";
  width: 100%;
  text-align: center;
  overflow: clip;
}

.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 {
  color: inherit;
  display: block;
  text-decoration: none;
  position: relative;
}

.l-container #feature a:hover {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.4s;
}

.l-container #feature .default-img {
  width: 100%;
  display: block;
}

.l-container #feature picture {
  display: block;
}

.l-container #feature .creditContainer {
  margin: 2.7rem 0 0 -0.1rem;
}

.l-container #feature .creditContainer .credit {
  color: #ffffff;
  letter-spacing: 0.07em;
  line-height: 1.94;
  font-size: 1.3rem;
}

.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 {
  margin: 0 auto 0;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}

.l-container #feature .hero__inner {
  margin: 0 auto 0;
}

.l-container #feature .hero__img {
  margin: 0 auto 0;
}

.l-container #feature .container {
  margin: 0 auto;
  width: 100%;
  position: relative;
}

.l-container #feature .container__inner {
  width: 140rem;
  margin: 0 auto;
}

.l-container #feature .modelBox {
  position: relative;
}

.l-container #feature .modelBox__wrap {
  display: flex;
}

.l-container #feature .modelBox__figure {
  background: #FFFFFF;
}

.l-container #feature .swiper-slide {
  background: #FFFFFF;
}

.l-container #feature .container01 {
  margin-top: 37rem;
}

.l-container #feature .container01__modelBox01 {
  margin-left: 32.2rem;
  width: 40rem;
}

.l-container #feature .container01__modelBox02 {
  margin-left: 6.2rem;
  width: 40rem;
}

.l-container #feature .container02 {
  margin-top: 37.8rem;
}

.l-container #feature .container02__modelBox02 {
  margin: -28.7rem 0 0 35.6rem;
  width: 40rem;
}

.l-container #feature .container03 {
  margin-top: 53.5rem;
}

.l-container #feature .container03 .modelBox__wrap {
  justify-content: flex-end;
}

.l-container #feature .container03__modelBox01 {
  width: 52rem;
}

.l-container #feature .container03__modelBox02 {
  margin-left: 2.6rem;
  width: 52.07rem;
}

.l-container #feature .container03__modelBox03 {
  margin-left: 2.6rem;
  width: 52rem;
}

.l-container #feature .container04 {
  margin-top: 61.5rem;
}

.l-container #feature .container04__modelBox02 {
  margin: -41.5rem 0 0 117rem;
  width: 50rem;
}

.l-container #feature .container04__modelBox03 {
  margin: -0.4rem 0 0 37.2rem;
  width: 50rem;
}

.l-container #feature .container05 {
  margin-top: 34.1rem;
}

.l-container #feature .container05 .modelBox {
  width: 52rem;
}

.l-container #feature .container05__modelBox02 {
  margin-left: 2rem;
}

.l-container #feature .container05__modelBox03 {
  margin-left: 2.6rem;
}

.l-container #feature .container05 .creditContainer li {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-left: -0.3rem;
}

.l-container #feature .container06 {
  margin-top: 39.8rem;
}

.l-container #feature .container06 .modelBox {
  margin: auto;
  width: 60rem;
}

.l-container #feature .container06 .creditContainer {
  margin-top: 3.8rem;
}

.l-container #feature .container06 .creditContainer li {
  display: flex;
  justify-content: center;
  width: 100%;
}

.l-container #feature .container07 {
  margin-top: 61.5rem;
}

.l-container #feature .container07__modelBox02 {
  margin: -16.5rem 0 0 46.6rem;
  width: 40rem;
}

.l-container #feature .container07__modelBox03 {
  margin: -18.5rem 0 0 103.5rem;
  width: 40rem;
}

.l-container #feature .container08 {
  margin-top: 39rem;
}

.l-container #feature .container08 .modelBox__wrap {
  justify-content: flex-end;
}

.l-container #feature .container08__modelBox01 {
  width: 52rem;
}

.l-container #feature .container08__modelBox02 {
  margin-left: 2.6rem;
  width: 52.07rem;
}

.l-container #feature .container08__modelBox03 {
  margin-left: 2.6rem;
  width: 52rem;
}

.l-container #feature .container09 {
  margin-top: 30.8rem;
}

.l-container #feature .container09 .modelBox {
  margin: auto;
  width: 60rem;
}

.l-container #feature .container09 .creditContainer li {
  display: flex;
  justify-content: center;
  width: 100%;
}

.l-container #feature .container10 {
  margin-top: 31.4rem;
}

.l-container #feature .container10 .modelBox__wrap {
  margin-top: -12.3rem;
}

.l-container #feature .container10__modelBox02 {
  margin-left: 27.4rem;
  width: 40rem;
}

.l-container #feature .container10__modelBox03 {
  margin-left: 4.4rem;
  width: 40rem;
}

.l-container #feature .container11 {
  margin-top: 33.2rem;
}

.l-container #feature .container11 .modelBox {
  margin: auto;
  width: 60rem;
}

.l-container #feature .container11 .creditContainer li {
  display: flex;
  justify-content: center;
  width: 100%;
}

.l-container #feature .checkBox {
  display: flex;
  color: #FFFFFF;
  margin-top: 51.9rem;
}

.l-container #feature .checkBox__image {
  margin-left: 26.3rem;
  width: 60rem;
}

.l-container #feature .checkBox__text {
  font-size: 1.9rem;
  flex: 1;
  padding-top: 38.4rem;
  letter-spacing: 0.07em;
  line-height: 1.6;
}

.l-container #feature .checkBox__btn {
  font-size: 3rem;
  margin: 21.1rem auto 0;
  letter-spacing: 0.04em;
  position: relative;
  width: 13.3rem;
  white-space: nowrap;
}

.l-container #feature .checkBox__btn:before {
  content: '';
  background-color: #FFFFFF;
  position: absolute;
  top: 4.8rem;
  right: 0;
  left: 0;
  margin: auto;
  width: 13.3rem;
  height: 1px;
}

.l-container #feature .fadeUp-hidden {
  opacity: 0;
  transition: 1s ease all;
  transform: translateY(10rem);
}

.l-container #feature .animate-active {
  opacity: 1;
  transform: translateY(0) translateX(0) translateZ(0);
}

.area-header {
  max-width: 100%;
}

.breadcrumbs {
  max-width: 100%;
}

.feature-snslist {
  overflow: hidden;
}

.l-footer,
.pc-footer {
  overflow: hidden;
}

.pic__accordion {
  display: none !important;
}

.pc-header {
  overflow: hidden;
}
