@charset "UTF-8";
main {
  padding-bottom: clamp(100px, 10vw, 150px);
  background: #ddddd9
}
.features-tabs {
  background: #ddddd9
}
.features-tabs__content .spec:nth-child(even) {
  background: #f5f5f5;
}
.features-tabs__content-spec .spec:last-child {
  padding-bottom: 0;
}
.features-tabs__inner {
  position: relative;
  margin-bottom: 0px;
  padding: 0px;
  /*  padding: clamp(30px, 3vw, 60px) 0;*/
  background: #f4f4f3;
  border-radius: 4px
}
@media screen and (max-width: 767px) {
  .features-tabs__inner {
    width: 100%;
    padding-top: 0px
  }
}
.features-tabs__list {
  position: absolute;
  top: -25px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 52px;
  z-index: 10
}
.features-tabs__list > ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  max-width: 85%;
  width: 100%;
  margin: auto
}
.features-tabs__list > ul > li {
  width: auto;
  margin: 0 5px;
}
.features-tabs__list > ul > li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 25px;
  background: #f4f4f3;
  color: #00031a;
  box-shadow: 0 1px #00000080;
  pointer-events: all;
  border-radius: 25px;
}
.features-tabs__list > ul > li a:hover {
  background: #ed1d24;
  color: #fff;
}
.features-tabs__list > ul > li.active a {
  background: #212121;
  color: #fff;
  pointer-events: none
}
.features-tabs__list > ul > li:first-child a {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px
}
.features-tabs__list > ul > li:last-child a {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px
}
.features-tabs__content {
  border-radius: 4px
}
.features-tabs__content .pagelink {
  padding: 0 clamp(30px, 3vw, 60px)
}
.features-tabs__content .pagelink ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  padding-top: 67px
}
@media screen and (max-width: 767px) {
  .features-tabs__content .pagelink ul {
    max-width: 250px;
    margin: auto;
    padding-top: 0
  }
}
.features-tabs__content .pagelink ul li + li {
  margin-left: 14px
}
@media screen and (max-width: 767px) {
  .features-tabs__content .pagelink ul li + li {
    margin-left: 7px
  }
}
.features-tabs__content .pagelink ul li + li:before {
  content: "/";
  display: inline-block;
  padding-right: 18px;
  font-family: YakuHanJP, Inter, serif;
  font-size: 18px;
  color: #00031a
}
@media screen and (max-width: 767px) {
  .features-tabs__content .pagelink ul li + li:before {
    padding-right: 8px;
    font-size: 12px
  }
}
@media screen and (max-width: 767px) {
  .features-tabs__content .pagelink ul li:nth-child(3):before {
    display: none
  }
}
.features-tabs__content .pagelink ul li a {
  font-family: YakuHanJP, Inter, Noto Sans JP, sans-serif;
  font-size: 18px;
  color: #00031a;
  text-decoration: underline
}
@media screen and (max-width: 767px) {
  .features-tabs__content .pagelink ul li a {
    font-size: 12px
  }
}
.features-tabs__content .spec {
  /*  margin-top: clamp(50px, 5vw, 100px)*/
  margin-top: 0px;
  padding: 100px 0;
  background: #fff;
}
.features-tabs__content .spec + .spec {
  margin-top: 0px;
  /*  margin-top: clamp(100px, 10vw, 200px)*/
}
.features-tabs__content .spec__title {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 clamp(30px, 3vw, 60px) clamp(30px, 4vw, 0px)
}
.features-tabs__content .spec__title h2 {
  margin-top: 0;
  line-height: normal;
  font-size: clamp(24px, 2.5vw, 40px)
}
.features-tabs__content .spec__title h3 {
  position: absolute;
  top: 0;
  right: clamp(30px, 3vw, 60px);
  font-size: clamp(12px, 1vw, 14px);
  font-family: YakuHanJP, Inter, serif;
  font-weight: 500;
  color: #00031a;
  width: 30px;
  height: 30px;
  line-height: normal;
  justify-content: center;
  align-items: center;
  text-align: center;
  align-items: center;
  display: flex;
  border-radius: 50%;
  border: 1px solid #ddddd9;
}
.features-tabs__content .spec__content {
  padding-left: clamp(30px, 3vw, 60px)
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__content {
    padding-left: 0
  }
}
.features-tabs__content .spec__content .spec__contentBox {
  display: flex;
  flex-flow: row wrap;
  border-top: 1px solid #00031A
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__content .spec__contentBox {
    border-top: none
  }
}
.features-tabs__content .spec__txtWrap {
  display: flex;
  flex-flow: column;
  /*  justify-content: space-between;*/
  width: 50%;
  padding-top: 40px;
  padding-right: clamp(64px, 6vw, 80px)
}
@media screen and (max-width: 991px) {
  .features-tabs__content .spec__txtWrap {
    order: 2;
    width: 100%
  }
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__txtWrap {
    padding: clamp(30px, 6vw, 60px) clamp(30px, 6vw, 60px) 0
  }
}
.features-tabs__content .spec__txtWrap h4 {
  margin-top: clamp(40px, 4vw, 80px);
  font-size: clamp(16px, 2vw, 23px);
  font-weight: 500
}
.features-tabs__content .spec__txtWrap h5 {
  font-size: 20px;
  font-weight: 500;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__txtWrap h4 {
    margin-top: 0;
    font-size: clamp(16px, 1vw, 18px);
    line-height: 2
  }
}
.features-tabs__content .spec__txtWrap p {
  font-size: clamp(14px, 1vw, 16px);
  opacity: .85
}
@media screen and (max-width: 991px) {
  .features-tabs__content .spec__txtWrap p {
    margin-top: clamp(24px, 2vw, 32px)
  }
}

.features-tabs__content .spec__sliderWrap {
  width: 50%
}
@media screen and (max-width: 991px) {
  .features-tabs__content .spec__sliderWrap {
    order: 1;
    width: 100%
  }
}
.features-tabs__content .spec__sliderWrap figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  color: #fff
}
.features-tabs__content .spec__sliderWrap .kv-slider {
  aspect-ratio: 390/241
}
.features-tabs__content .spec__sliderWrap .swiper-container {
  position: relative;
  overflow: hidden
}
.features-tabs__content .spec__sliderWrap .swiper-container.visible {
  overflow: visible
}
.features-tabs__content .spec__sliderWrap button {
  border: 0;
  padding: 0;
  background-color: transparent
}
.features-tabs__content .spec__sliderWrap .carousel-wrapper {
  position: relative
}
.features-tabs__content .spec__sliderWrap .item figure {
  width: 100%;
  height: 100%;
  overflow: hidden
}
.features-tabs__content .spec__sliderWrap .item figure img {
  height: 100% !important;
  object-fit: cover
}
.features-tabs__content .spec__sliderWrap .swiper-button-next, .features-tabs__content .spec__sliderWrap .swiper-button-prev {
  padding: 0 16px;
  font-size: clamp(12px, 1vw, 14px);
  opacity: 1;
  transition: all .3s ease
}
.features-tabs__content .spec__sliderWrap .swiper-button-next:after, .features-tabs__content .spec__sliderWrap .swiper-button-prev:after {
  position: absolute;
  font-size: clamp(12px, 1vw, 14px)
}
.features-tabs__content .spec__sliderWrap .swiper-button-next.is-inactive, .features-tabs__content .spec__sliderWrap .swiper-button-prev.is-inactive {
  pointer-events: none;
  opacity: .5
}
.features-tabs__content .spec__sliderWrap .spec-slider01, .features-tabs__content .spec__sliderWrap .spec-slider02, .features-tabs__content .spec__sliderWrap .spec-slider03, .features-tabs__content .spec__sliderWrap .spec-slider04 {
  position: relative
}
.features-tabs__content .spec__sliderWrap .swiper-slide-behind {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  border-radius: 4px;
  overflow: hidden
}
.features-tabs__content .spec__sliderWrap .swiper-slide {
  opacity: 1 !important;
  border-radius: 4px;
  overflow: hidden
}
.features-tabs__content .spec__sliderWrap .swiper-slide .item, .features-tabs__content .spec__sliderWrap .swiper-slide .item img {
  transition-delay: 1.5s
}
.features-tabs__content .spec__sliderWrap .swiper-slide .item {
  transform: translate(-100%);
  overflow: hidden
}
.features-tabs__content .spec__sliderWrap .swiper-slide .item img {
  transform: translate(100%)
}
.features-tabs__content .spec__sliderWrap .swiper-slide-active {
  z-index: 2
}
.features-tabs__content .spec__sliderWrap .swiper-slide-active .item, .features-tabs__content .spec__sliderWrap .swiper-slide-active .item img {
  transition-delay: 0s;
  transition-duration: 1.5s;
  transform: translate(0)
}
.features-tabs__content .spec__bottom {
  position: absolute;
  bottom: 24px;
  height: 24px;
  width: 100%;
  z-index: 101
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__bottom {
    bottom: 10px
  }
}
.features-tabs__content .spec__bottom > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__bottom > div {
    flex-direction: column;
    gap: clamp(20px, 2vw, 40px)
  }
}
.features-tabs__content .spec__control {
  width: 100%;
  min-width: 320px;
  display: flex;
  justify-content: space-between;
  align-items: center
}
.features-tabs__content .spec__control p {
  color: #fff;
  font-size: clamp(14px, 1vw, 16px);
  font-family: YakuHanJP, Inter, serif
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__control {
    width: 100%;
    max-width: none;
    min-width: none
  }
}
.features-tabs__content .spec__content.BCP {
  padding-right: clamp(30px, 3vw, 60px)
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__content.BCP {
    padding-right: 0
  }
}
@media screen and (max-width: 991px) {
  .features-tabs__content .spec__content.BCP .spec__txtWrap {
    order: 1;
    padding-top: 0
  }
}
.features-tabs__content .spec__content.BCP .spec__txtWrap h4 br.only-sp {
  display: none
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__content.BCP .spec__txtWrap h4 br.only-sp {
    display: block
  }
}
.features-tabs__content .spec__BCPWrap {
  width: 60%;
  margin-top: clamp(40px, 4vw, 80px)
}
@media screen and (max-width: 991px) {
  .features-tabs__content .spec__BCPWrap {
    order: 2;
    width: 100%
  }
}
.features-tabs__content .spec__BCPContent {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}
.features-tabs__content .spec__BCPContent + .spec__BCPContent {
  margin-top: 64px
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__BCPContent + .spec__BCPContent {
    margin-top: 32px
  }
}
.features-tabs__content .spec__BCPContent > figure {
  width: 63%
}
@media screen and (max-width: 1440px) {
  .features-tabs__content .spec__BCPContent > figure {
    width: 60%
  }
}
@media screen and (max-width: 1280px) {
  .features-tabs__content .spec__BCPContent > figure {
    width: 100%
  }
}
.features-tabs__content .spec__BCPContent .BCPtxt {
  width: calc(37% - 64px)
}
@media screen and (max-width: 1440px) {
  .features-tabs__content .spec__BCPContent .BCPtxt {
    width: calc(40% - 32px)
  }
}
@media screen and (max-width: 1280px) {
  .features-tabs__content .spec__BCPContent .BCPtxt {
    width: 100%;
    margin-top: 16px
  }
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__BCPContent .BCPtxt {
    width: 100%;
    padding: 0 35px
  }
}
.features-tabs__content .spec__BCPContent .BCPtxt h5 {
  font-size: clamp(16px, 2vw, 23px);
  font-weight: 500
}
@media screen and (max-width: 1280px) {
  .features-tabs__content .spec__BCPContent .BCPtxt h5 {
    font-size: clamp(16px, 1.2vw, 20px)
  }
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__BCPContent .BCPtxt h5 {
    font-size: clamp(14px, 1vw, 16px)
  }
}
.features-tabs__content .spec__BCPContent .BCPtxt p {
  opacity: .6
}
.features-tabs__content .spec__BCPContent .BCPtxt p.txt {
  margin-top: clamp(16px, 1.5vw, 24px);
  font-size: clamp(12px, 1vw, 14px)
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__BCPContent .BCPtxt p.txt {
    margin-top: clamp(8px, .5vw, 16px)
  }
}
.features-tabs__content .spec__BCPContent .BCPtxt p.caption {
  margin-top: 2em;
  font-size: 12px
}
.features-tabs__content .spec__detailList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  width: 100%;
  margin-top: 108px;
  padding-right: clamp(30px, 3vw, 60px)
}
@media screen and (max-width: 1280px) {
  .features-tabs__content .spec__detailList {
    grid-column-gap: 32px
  }
}
@media screen and (max-width: 991px) {
  .features-tabs__content .spec__detailList {
    order: 3;
    margin-top: clamp(30px, 6vw, 60px)
  }
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__detailList {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 9px;
    grid-row-gap: 32px;
    padding: 0 20px
  }
}
.features-tabs__content .spec__detailList figure {
  overflow: hidden;
  border-radius: 4px
}
.features-tabs__content .spec__detailList figcaption {
  position: absolute;
  right: 10px;
  bottom: 9px;
  font-size: 12px;
  color: #fff;
  opacity: .6
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__detailList figcaption {
    display: none
  }
}
.features-tabs__content .spec__detailList figcaption.black {
  color: #00031a
}
.features-tabs__content .spec__detailList h5 {
  margin-top: clamp(24px, 2vw, 32px);
  font-size: 21px;
  font-weight: 500
}
@media screen and (max-width: 1280px) {
  .features-tabs__content .spec__detailList h5 {
    font-size: clamp(16px, 1.2vw, 20px)
  }
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__detailList h5 {
    font-size: clamp(14px, 1vw, 16px)
  }
}
.features-tabs__content .spec__detailList p {
  margin-top: clamp(16px, 1.5vw, 24px);
  font-size: clamp(12px, 1vw, 14px);
  opacity: .6
}
@media screen and (max-width: 767px) {
  .features-tabs__content .spec__detailList p {
    margin-top: clamp(8px, .5vw, 16px)
  }
}
.features-tabs__content .spec__detailList p.caption {
  margin-top: 2em;
  font-size: 12px
}
.spec__caption {
  margin-top: clamp(50px, 5vw, 100px)
}
.spec__caption ul li {
  color: #00031a99
}
@media screen and (max-width: 767px) {
  .features-tabs__list {
    display: none;
  }
}
.features-tabs__inner, .features-tabs__content .spec {
  border-radius: 25px;
}
@media screen and (max-width: 1025px) {
  .features-tabs__content-spec .spec:last-child {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 1023px) {
  .features-tabs__content .spec__content {
    padding-left: 0px;
  }
  .features-tabs__content .spec__txtWrap {
    padding: 30px 30px 0;
  }
  .features-tabs__content .spec__txtWrap p {
    margin-top: 0;
  }
  .features-tabs__content .spec {
    padding: 70px 0;
  }
  .features-tabs__content-spec .spec:last-child {
    padding-bottom: 70px;
  }
}