html {
  font-size: 0.6944444444vw;
  -webkit-text-size-adjust: 100%;
}

.l-container {
  width: 100%;
}

.sp {
  display: none;
}

.feature {
  box-sizing: border-box;
  color: #5b5b5b;
  margin: 0 auto;
  overflow: clip;
  position: relative;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-feature-settings: "palt";
}
.feature * {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
  scroll-margin-top: 50px;
}
.feature a {
  color: #000;
  text-decoration: none;
}
.feature a:hover {
  opacity: 0.8;
}
.feature video {
  max-width: 100%;
}
.feature img {
  vertical-align: bottom;
  max-width: 100%;
}
.feature .wrap {
  display: flex;
}
.feature .wrap .leftcont {
  width: 50%;
}
.feature .wrap .leftcont__Inner {
  position: sticky;
  top: 80px;
  width: 100%;
  height: calc(100vh - 80px);
}
.feature .wrap .leftcont__Thum {
  width: 100%;
  height: calc(100vh - 80px);
}
.feature .wrap .leftcont__Thum img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.feature .wrap .leftcont__Ttl {
  position: absolute;
  bottom: 4rem;
  transform: translateX(-50%);
  left: 50%;
  width: 61.5rem;
}
.feature .wrap .leftcont__Label {
  position: absolute;
  top: 0;
  right: 5rem;
  width: 19.8rem;
}
.feature .wrap .rightcont {
  width: 50%;
  overflow: hidden;
}
.feature .wrap .rightcont__Inner {
  width: 52.5rem;
  position: relative;
  margin: auto;
}
.feature .js-fade {
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(30px);
}
.feature .js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
}
.feature .mvbottom {
  padding: 10.08rem 0;
  position: relative;
  margin-bottom: 11.2rem;
}
.feature .mvbottom:before {
  content: "";
  position: absolute;
  top: -2.8rem;
  left: 1.4rem;
  width: 49.7rem;
  height: 55.72rem;
  background: url("./../img/deco_mvbottom.png");
  background-size: cover;
  pointer-events: none;
}
.feature .mvbottom:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50vw;
  height: 100%;
  background: #fbf8f4;
  pointer-events: none;
  z-index: -1;
}
.feature .mvbottom__Txt {
  text-align: center;
  font-size: 1.54rem;
  line-height: 3.696rem;
  letter-spacing: 0.16em;
  position: relative;
}
.feature .introduction {
  position: relative;
}
.feature .introduction:before {
  content: "";
  position: absolute;
  top: 14.14rem;
  left: 4.06rem;
  width: 45.08rem;
  height: 34.16rem;
  background: url("./../img/deco_introduction.png");
  background-size: cover;
  pointer-events: none;
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(30px);
}
.feature .introduction.is-active:before {
  opacity: 1;
  transform: translateY(0);
}
.feature .introduction__Ttl {
  width: 43.4rem;
  margin: 0 auto 4.76rem;
}
.feature .introduction__Txt {
  text-align: center;
  font-size: 1.4rem;
  line-height: 3.36rem;
  letter-spacing: 0.16em;
  position: relative;
  color: #007078;
}
.feature .sec {
  position: relative;
}
.feature .sec:before {
  position: absolute;
  content: "";
  background-size: cover;
  opacity: 0;
  z-index: 10;
  pointer-events: none;
  transition: all 1s ease;
  transform: translateY(30px);
}
.feature .sec.is-active:before {
  opacity: 1;
  transform: translateY(0);
}
.feature .sec__Ttl {
  color: #61a3a3;
  margin-bottom: 2.8rem;
}
.feature .sec__Ttl .-jp {
  font-size: 1.68rem;
  line-height: 1.68rem;
  letter-spacing: 0.12em;
  text-align: center;
  display: block;
}
.feature .sec__Ttl .-eng {
  font-family: "sofia-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 8.4rem;
  line-height: 1;
  margin-top: 1.12rem;
  letter-spacing: 0.02em;
  text-align: center;
  display: block;
}
.feature .sec__Catch {
  font-size: 1.82rem;
  line-height: 3.64rem;
  letter-spacing: 0.16em;
  text-align: center;
  color: #61a3a3;
  margin-bottom: 4.55rem;
}
.feature .sec__Thum {
  margin-bottom: 3.5rem;
}
.feature .sec__Txt {
  font-size: 1.68rem;
  line-height: 3.36rem;
  letter-spacing: 0.14em;
  width: 42rem;
  text-align: justify;
  margin: 0 auto 12.46rem;
}
.feature .sec__Point {
  width: 46.2rem;
  background: #e2f2f1;
  border-radius: 3.5rem;
  margin: 0 auto 9.1rem;
  padding-bottom: 4.9rem;
}
.feature .sec__Point:last-of-type {
  margin-bottom: 0;
}
.feature .sec__Point-Label {
  text-align: center;
  margin-bottom: -0.7rem;
}
.feature .sec__Point-Label span {
  transform: translateY(-3.5rem);
  width: 17.5rem;
  padding-bottom: 0.35rem;
  color: #61a3a3;
  border: 2px solid #61a3a3;
  background-color: #fff;
  border-radius: 50%;
  height: 7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 3.22rem;
  letter-spacing: 0.02em;
  font-family: "sofia-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.feature .sec__Point-Ttl {
  font-size: 2.24rem;
  text-align: center;
  line-height: 2.24rem;
  letter-spacing: 0.16em;
  color: #61a3a3;
  margin-bottom: 2.45rem;
}
.feature .sec__Point-Thum {
  width: 28rem;
  margin: 0 auto 2.8rem;
}
.feature .sec__Point-Txt {
  width: 37.8rem;
  margin: auto;
  text-align: justify;
  font-size: 1.54rem;
  line-height: 3.08rem;
  letter-spacing: 0.14em;
}
.feature .sec.-sec01 {
  padding: 12.95rem 0 11.2rem;
}
.feature .sec.-sec01:before {
  top: 23.24rem;
  left: 3.5rem;
  width: 47.18rem;
  height: 24.15rem;
  background-image: url(./../img/deco_sec01.png);
}
.feature .sec.-sec01 .-point02 .sec__Point-Ttl {
  margin-bottom: 3.5rem;
}
.feature .sec.-sec01 .-point03 .sec__Point-Ttl {
  margin-bottom: 3.5rem;
}
.feature .sec.-sec02 {
  position: relative;
  padding: 8.4rem 0 8.4rem;
}
.feature .sec.-sec02:before {
  top: -2.8rem;
  left: 5.25rem;
  width: 41.23rem;
  height: 21.98rem;
  background-image: url("./../img/deco_sec02.png");
}
.feature .sec.-sec02:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50vw;
  height: 100%;
  background: #fbf8f4;
  pointer-events: none;
  z-index: -1;
}
.feature .sec.-sec02 .sec__Thum {
  margin-bottom: 13.3rem;
}
.feature .sec.-sec02 .sec__Point {
  background: #fff;
}
.feature .sec.-sec02 .sec__Point.-point02 .sec__Point-Ttl {
  margin-bottom: 3.5rem;
}
.feature .sec.-sec03 {
  padding: 11.2rem 0 11.2rem;
}
.feature .sec.-sec03:before {
  top: -2.17rem;
  left: 5.67rem;
  width: 41.23rem;
  height: 47.67rem;
  background-image: url("./../img/deco_sec03.png");
}
.feature .sec.-sec03 .sec__Thum {
  margin-bottom: 13.3rem;
}
.feature .sec.-sec03 .-point01 .sec__Point-Ttl {
  margin-bottom: 3.5rem;
}
.feature .sec.-sec03 .-point01 .sec__Point-Thum {
  width: 33.6rem;
  margin: 0 auto 2.45rem;
  display: flex;
  justify-content: space-between;
}
.feature .sec.-sec03 .-point01 .sec__Point-Thum a {
  width: 15.4rem;
}
.feature .sec.-sec03 .-point03 .sec__Point-Ttl {
  margin-bottom: 3.5rem;
}
.feature .sec.-sec04 {
  position: relative;
  padding: 8.4rem 0;
}
.feature .sec.-sec04:before {
  top: -7rem;
  left: 4.2rem;
  width: 42.28rem;
  height: 17.78rem;
  background-image: url("./../img/deco_sec04.png");
}
.feature .sec.-sec04:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50vw;
  height: 100%;
  background: #fbf8f4;
  pointer-events: none;
  z-index: -1;
}
.feature .sec.-sec04 .sec__Thum {
  margin-bottom: 13.3rem;
}
.feature .sec.-sec04 .sec__Point {
  background: #fff;
}
.feature .sec.-sec04 .-point01 .sec__Point-Ttl {
  margin-bottom: 3.5rem;
}
.feature .sec.-sec04 .-point03 .sec__Point-Ttl {
  margin-bottom: 2.8rem;
}
.feature .sec.-sec04 .-point03 .sec__Point-Txt {
  letter-spacing: 0.18em;
}
.feature .sec.-sec05 {
  padding: 11.2rem 0;
}
.feature .sec.-sec05:before {
  top: -1.89rem;
  left: 4.62rem;
  width: 43.75rem;
  height: 30.52rem;
  background-image: url("./../img/deco_sec05.png");
}
.feature .sec.-sec05 .sec__Ttl {
  margin-bottom: 4.62rem;
}
.feature .sec.-sec05 .sec__Catch {
  margin-bottom: 3.36rem;
}
.feature .sec.-sec05 .sec__Thum {
  margin-bottom: 8.4rem;
}
.feature .sec.-sec05 .sec__Btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7rem;
  margin: auto;
  width: 43.4rem;
  height: 8.4rem;
}
.feature .sec.-sec05 .sec__Btn.-other {
  font-size: 2.8rem;
  letter-spacing: 0.16em;
  line-height: 1;
  color: #61a3a3;
  background: #e2f2f1;
  margin-bottom: 4.2rem;
}
.feature .sec.-sec05 .sec__Btn.-viewall {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #fff;
  background: #61a3a3;
  font-family: "sofia-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}