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 {
  overflow: clip;
  width: 100%;
  padding-top: 8rem;
  text-align: center;

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

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

  -webkit-mask-size: cover;
  mask-size: cover;
}
.f-container a.mask-img:hover,
.f-container .sec a:hover {
  opacity: 1;
}
.f-container a.mask-img:hover::after,
.f-container .sec a:hover::after {
  opacity: 0.7;
  background: rgba(255, 255, 255, 0.3);
}
.f-container img {
  width: 100%;
  height: auto;
  vertical-align: top;
  pointer-events: none;
}
.f-container svg {
  display: block;
  width: 100%;
  height: auto;
}
.f-container a {
  display: block;
  cursor: pointer;
  text-decoration: none;
  color: #555555;
  transition: opacity 0.3s;
}
.f-container a:hover {
  opacity: 0.7;
}
.f-container figure {
  display: block;
}
.f-container .f-main {
  display: flex;
  justify-content: center;
  text-align: center;
}
.f-container .f-main-wrap {
  width: 114.4rem;
  margin: 0 auto;
}
.f-container .hero__title {
  width: 24.3rem;
  margin: 0 auto 6.2rem;
}
.f-container .sec {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 32.2rem;

  gap: 1.7rem;
}
.f-container .sec__img {
  width: 37rem;
}
.f-container .ft {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.f-container .ft__logo {
  width: 17.2rem;
  margin: 0 auto 10rem;
}
.f-container .ft__btn {
  width: 68rem;
}
.f-container .ft__btn.btn01 {
  margin-bottom: 2.6rem;
}
.f-container .ft__btn.btn02 {
  margin-bottom: 22rem;
}

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

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