html {
  scroll-behavior: smooth;
}

@media screen and (min-width: 1401px) {
  html {
    font-size: 62.5%;
  }
}
@media screen and (max-width: 1400px) {
  html {
    font-size: 0.7142857vw;
  }
}
body {
  width: 100%;
}

.l-container {
  width: 100%;
}

.f-container {
  position: relative;
  display: flex;
  overflow: clip;
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  text-align: center;
  color: #000000;

  font-feature-settings: 'palt';
}
.f-container * {
  box-sizing: border-box;

  margin-block-start: 0;
  margin-block-end: 0;
}
.f-container a.mask-img {
  position: relative;
}
.f-container a.mask-img::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  content: '';
  transition: all 0.3s ease-in-out;

  -webkit-mask-size: cover;
  mask-size: cover;
  will-change: opacity;
}
.f-container a.mask-img:hover {
  opacity: 1;
}
.f-container a.mask-img:hover::after {
  opacity: 0.3;
  background: rgb(255, 255, 255);
}
.f-container img,
.f-container video {
  width: 100%;
  height: auto;
  vertical-align: top;
  pointer-events: none;
}
.f-container svg {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.f-container a {
  display: block;
  cursor: pointer;
  text-decoration: none;
  color: #000000;
  transition: all 0.3s ease-in-out;
}
.f-container a:hover {
  opacity: 0.7;
}
.f-container figure {
  display: block;
}
.f-container .f-main {
  overflow: clip;
  width: 100%;
}
.f-container .f-main-wrap {
  overflow: clip;
  width: 100%;
  max-width: 43rem;
  min-height: 100vh;
  margin: 0 auto;
  background-color: #ffffff;
}
.f-container .fadeIn {
  opacity: 0;
  transition: transform 0.8s ease, opacity 0.8s ease, filter 0.8s ease;

  filter: blur(10px);
}
.f-container .fadeIn.showed {
  opacity: 1;

  filter: blur(0);
}
.f-container .textUp {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.f-container .textUp > span {
  opacity: 0;
  transition: 0.5s ease 0.5s;
  transform: translateY(100%);

  filter: blur(10px);
  clip-path: inset(0 0 100% 0);
}
.f-container .textUp.showed span {
  opacity: 1;
  transform: translateY(0%);

  filter: blur(0);
  clip-path: inset(0);
}
.f-container .hero__box {
  position: relative;
  background-color: #723b45;
}
.f-container .hero__mv {
  width: 69rem;
  margin-left: auto;
}
.f-container .hero__title {
  position: absolute;
  top: 22.5rem;
  left: 7.3rem;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  color: #ffffff;
}
.f-container .hero__title span {
  transition-delay: 1.2s;
}
.f-container .hero__title01 {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.04em;
  font-family: 'century-gothic', sans-serif;
  font-size: 5.6rem;
  font-weight: 700;
  font-style: normal;
  line-height: 5.6rem;
}
.f-container .hero__title01:nth-of-type(n + 2) {
  margin-top: 1rem;
}
.f-container .hero__title01:nth-of-type(2) {
  margin-bottom: 2.3rem;
}
.f-container .hero__title02 {
  position: absolute;
  top: 9.8rem;
  right: 3rem;
  letter-spacing: 0.04em;
  font-family: 'century-gothic', sans-serif;
  font-size: 1.9rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.9rem;
}
.f-container .hero__title03 {
  letter-spacing: 0.1em;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  font-style: normal;
  line-height: 3.3rem;

  font-optical-sizing: auto;
}
.f-container .f-common-text,
.f-container .sec__text,
.f-container .intro__text,
.f-container .hero__text {
  display: flex;
  flex-direction: column;
  letter-spacing: 0.12em;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.38rem;
  font-weight: 400;
  font-style: normal;
  line-height: 2.75rem;

  font-optical-sizing: auto;
}
.f-container .f-common-text span:nth-of-type(n + 2),
.f-container .sec__text span:nth-of-type(n + 2),
.f-container .intro__text span:nth-of-type(n + 2),
.f-container .hero__text span:nth-of-type(n + 2) {
  margin-top: 2.64rem;
}
.f-container .hero__text {
  margin-top: 6.25rem;
  margin-bottom: 7.57rem;
}
.f-container .intro__img {
  width: 34.4rem;
  margin: 0 auto 6.19rem;
}
.f-container .intro__fd {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3.15rem;
  letter-spacing: 0.05em;
  font-family: 'century-gothic', sans-serif;
  font-size: 1.49rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.15rem;
}
.f-container .intro__fd::before {
  display: inline-block;
  width: 4.59rem;
  height: max(0.06rem, 1px);
  margin-right: 1.15rem;
  content: '';
  background: #000000;
}
.f-container .intro__text {
  margin-bottom: 11.07rem;
}
.f-container .sec__area {
  margin-bottom: 11.58rem;
}
.f-container .sec__area:last-child {
  margin-bottom: 9.4rem;
}
.f-container .sec__num {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 2.41rem;
}
.f-container .sec__num::before {
  position: absolute;
  top: 40%;
  display: inline-block;
  width: 100%;
  height: 0.0409285714vw;
  content: '';
  background-color: #000000;
}
@media screen and (min-width: 1400px) {
  .f-container .sec__num::before {
    height: 0.573px;
  }
}
.f-container .sec__num span {
  position: relative;
  z-index: 2;
  padding: 0 1.12rem 0 1.2rem;
  letter-spacing: 0.05em;
  font-family: 'century-gothic', sans-serif;
  font-size: 1.38rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.15rem;
  background-color: #ffffff;
  transform: translateX(0.11rem);
}
.f-container .sec__title {
  margin-bottom: 4.3rem;
}
.f-container .sec__title span {
  letter-spacing: 0.04em;
  font-family: 'century-gothic', sans-serif;
  font-size: 3.78rem;
  font-weight: 400;
  font-style: normal;
  line-height: 4.92rem;
}
.f-container .sec__text {
  margin: 6.19rem 0;
}
.f-container .sec__text span:nth-of-type(n + 2) {
  margin-top: 2.75rem;
}
.f-container .sec__slider {
  position: relative;
}
.f-container .sec__slider .swiper-pagination {
  right: 1.15rem;
  bottom: 1.15rem;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;

  -moz-column-gap: 0.69rem;
  column-gap: 0.69rem;
}
.f-container .sec__slider .swiper-pagination .swiper-pagination-bullet {
  width: 0.57rem;
  height: 0.57rem;
  margin: 0;
  opacity: 1;
  border: 1px solid #000000;
  background-color: transparent;
}
.f-container .sec__slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #000000;
}
.f-container .sec__credit ul.credit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  row-gap: 1.2rem;
  -moz-column-gap: 1.26rem;
  column-gap: 1.26rem;
}
.f-container .sec__credit ul.credit .item {
  position: relative;
  letter-spacing: 0.05em;
  font-family: 'century-gothic', sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.03rem;
}
.f-container .sec__credit ul.credit .item a {
  display: flex;
}
.f-container .sec__credit ul.credit .item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: '/';
  transform: translateX(-155%);
}
.f-container .sec__credit.even {
  padding: 2.41rem 10.89rem 0;
}
.f-container .sec__credit.even .item:nth-of-type(odd)::before {
  display: none;
}
.f-container .sec__credit.odd {
  padding: 2.41rem 6.88rem 0;
}
.f-container .sec__credit.odd .item:nth-of-type(1)::before,
.f-container .sec__credit.odd .item:nth-of-type(4)::before {
  display: none;
}
.f-container .sec02 .sec__title {
  margin-bottom: 3.55rem;
}
.f-container .sec03 .sec__credit {
  margin-top: 0.57rem;
}
.f-container .all__btn {
  width: 11.82rem;
  margin: 0 auto 4.13rem;
}
.f-container .staff__info {
  padding-bottom: 8.89rem;
  letter-spacing: 0.05em;
  font-family: 'century-gothic', sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  font-style: normal;
  line-height: 2.07rem;
}

.pc-footer {
  margin-top: 0;
}

.l-footer {
  padding-top: 0;
}
