@charset "UTF-8";
/*===========================================================================*/
/*  function  */
/*===========================================================================*/
/*===========================================================================*/
/*  mixin  */
/*===========================================================================*/
/*===========================================================================*/
/*  mv  */
/*===========================================================================*/
.mv {
  position: relative;
  padding: 0 30px;
}
@media (max-width: 900px) {
  .mv {
    padding: 0 10px;
  }
}
.mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1280px;
  width: clamp(896px, 318.3973288815px + 64.1068447412vw, 1280px);
  height: clamp(896px, 318.3973288815px + 64.1068447412vw, 1280px);
  top: clamp(-203px, -72.1368948247px + -14.5242070117vw, -290px);
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/mv_bg.svg) no-repeat center center/cover;
  z-index: -1;
}
@media (max-width: 900px) {
  .mv::before {
    width: 100%;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/mv_bg_sp.svg) no-repeat center center/cover;
  }
}
.mv__inner {
  margin: 0 auto;
  text-align: center;
  max-width: clamp(910px, 323.3722871452px + 65.1085141903vw, 1300px);
  padding-top: clamp(52.5px, 18.6560934891px + 3.7562604341vw, 75px);
}
@media (max-width: 900px) {
  .mv__inner {
    padding-top: 79px;
  }
}
.mv__title {
  font-size: clamp(56px, 19.8998330551px + 4.0066777963vw, 80px);
  margin-bottom: clamp(9.1px, 3.2337228715px + 0.6510851419vw, 13px);
  font-weight: 900;
  line-height: 1;
  text-transform: capitalize;
  text-align: center;
}
@media (max-width: 900px) {
  .mv__title {
    font-size: 50px;
    margin-bottom: 7px;
  }
}
.mv__title__num {
  font-kerning: none;
  font-size: clamp(109.2px, 38.8046744574px + 7.8130217028vw, 156px);
  font-weight: 700;
  text-transform: capitalize;
  background: linear-gradient(149deg, #e78d96 10.01%, #e03445 60.3%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 900px) {
  .mv__title__num {
    font-size: 98px;
  }
}
.mv__title__byou {
  color: #e03445;
  font-size: clamp(67.2px, 23.8797996661px + 4.8080133556vw, 96px);
  font-weight: 900;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .mv__title__byou {
    font-size: 58px;
  }
}
.mv__description {
  text-align: center;
  font-size: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  margin-bottom: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  font-weight: 900;
  line-height: 1.3;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .mv__description {
    font-size: 16px;
    line-height: 1.4;
    text-transform: capitalize;
    text-align: left;
    padding-left: 11px;
    margin-bottom: 15px;
  }
}
.mv {
  /* Figma 536:40 */
}
.mv__btn {
  box-sizing: border-box;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-width: 279px;
  min-height: 63px;
  padding: 0 28px;
  border-radius: 9px;
  background-color: #0bb454;
  color: #fff;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
  font-feature-settings:
    "palt" 1,
    "kern" 0,
    "calt" 0;
  text-decoration: none;
  text-align: center;
}
@media (min-width: 901px) {
  .mv__btn.pc-only {
    display: inline-flex;
  }
}
@media (max-width: 900px) {
  .mv__btn.sp-only {
    display: inline-flex;
  }
}
@media (max-width: 900px) {
  .mv__btn {
    gap: 12px;
    min-width: 0;
    width: 100%;
    max-width: 335px;
    min-height: 60px;
    padding: 0 20px;
    border-radius: 5px;
    margin-top: 18px;
    position: relative;
  }
}
@media (max-width: 900px) {
  .mv__btn-wrapper {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 22px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
}
.mv__btn-text {
  white-space: nowrap;
}
.mv__btn-divider {
  flex-shrink: 0;
  display: block;
  width: 1px;
  height: 18px;
  background-color: #fff;
}
@media (max-width: 900px) {
  .mv__btn-divider {
    height: 20px;
  }
}
.mv__btn-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 9px;
  height: 9px;
  line-height: 0;
}
@media (max-width: 900px) {
  .mv__btn-icon {
    width: 10px;
    height: 10px;
  }
}
.mv__btn-chevron {
  display: block;
  width: 9px;
  height: 9px;
  object-fit: contain;
  transform: rotate(90deg);
  transform-origin: center;
}
@media (max-width: 900px) {
  .mv__btn-chevron {
    width: 10px;
    height: 10px;
  }
}
.mv__image {
  max-width: clamp(910px, 323.3722871452px + 65.1085141903vw, 1300px);
  margin-top: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
}
@media (max-width: 900px) {
  .mv__image {
    margin-top: 0;
    max-width: 100%;
    width: 100%;
  }
}
.mv__image video {
  width: 100%;
  border-radius: 20px;
}
.mv__image-wrapper {
  position: relative;
}
.mv__image__caption {
  position: absolute;
  width: clamp(126px, 44.774624374px + 9.0150250417vw, 180px);
  height: clamp(126px, 44.774624374px + 9.0150250417vw, 180px);
  top: clamp(-100px, 20.3338898164px + -13.3555926544vw, -180px);
  right: clamp(43.4px, 15.4223706177px + 3.1051752922vw, 62px);
}
@media (max-width: 900px) {
  .mv__image__caption {
    width: 99px;
    height: 98px;
    top: -66px;
    right: 0;
  }
}

/*===========================================================================*/
/*  reason  */
/*===========================================================================*/
.reason {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
}
@media (max-width: 900px) {
  .reason {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.reason__title {
  text-align: center;
  font-size: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .reason__title {
    font-size: 38px;
    margin-bottom: 25px;
  }
}
.reason__title span {
  color: #e03445;
}
.reason__description {
  color: #818181;
  text-align: center;
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  margin-bottom: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  font-weight: 700;
  line-height: 1.8;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .reason__description {
    font-size: 15px;
    margin-bottom: 35px;
    text-align: left;
  }
}
.reason__content {
  padding-block: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  padding-inline: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  border-radius: 20px;
  background: #f8f8f8;
}
@media (max-width: 900px) {
  .reason__content {
    padding-top: 35px;
    padding-bottom: 70px;
    padding-inline: 20px;
    border-radius: 15px;
  }
}
.reason__content__title {
  text-align: center;
  font-size: clamp(26.6px, 9.4524207012px + 1.9031719533vw, 38px);
  padding-bottom: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  margin-bottom: clamp(36.4px, 12.9348914858px + 2.6043405676vw, 52px);
  border-bottom: 1px solid #d9d9d9;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.76px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .reason__content__title {
    font-size: 24px;
    padding-bottom: 30px;
    margin-bottom: 36px;
  }
}
.reason__content__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
}
@media (max-width: 900px) {
  .reason__content__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 45px;
  }
}
.reason__content__item.w-small {
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .reason__content__item.w-small {
    width: 100%;
  }
}
.reason__content__item__image {
  width: 51px;
  margin: 4px auto 30px;
}
@media (max-width: 900px) {
  .reason__content__item__image {
    width: 42px;
    margin: 0 auto 17px;
  }
}
.reason__content__item__image.icon2 {
  width: 53px;
  margin-bottom: 27px;
  margin-top: 1px;
}
@media (max-width: 900px) {
  .reason__content__item__image.icon2 {
    width: 42px;
    margin-bottom: 17px;
    margin-top: 0;
  }
}
.reason__content__item__image.icon3 {
  width: 51px;
  margin-bottom: 25px;
  margin-top: 0;
}
@media (max-width: 900px) {
  .reason__content__item__image.icon3 {
    width: 42px;
    margin-bottom: 17px;
    margin-top: 0;
  }
}
.reason__content__item__title {
  text-align: center;
  font-size: clamp(18.9px, 6.7161936561px + 1.3522537563vw, 27px);
  margin-bottom: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.54px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .reason__content__item__title {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
.reason__content__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}
@media (max-width: 900px) {
  .reason__content__tags {
    gap: 7px;
  }
}
.reason__content__tags li {
  color: #fff;
  font-feature-settings: "palt" on;
  font-size: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  line-height: 1.6;
  padding: 3px 10px 4px;
  border-radius: 5px;
  background-color: #818181;
}
@media (max-width: 900px) {
  .reason__content__tags li {
    font-size: 12px;
    padding: 3px 10px 4px;
  }
}

/*===========================================================================*/
/*  start  */
/*===========================================================================*/
.start {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  background: #f8f8f8;
}
@media (max-width: 900px) {
  .start {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.start__title {
  text-align: center;
  font-size: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  margin-bottom: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  padding-bottom: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.2px;
  text-transform: capitalize;
  border-bottom: 1px solid #d9d9d9;
}
@media (max-width: 900px) {
  .start__title {
    font-size: 38px;
    margin-bottom: 40px;
    padding-bottom: 25px;
    line-height: 1.3;
  }
}
.start__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .start__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 35px;
  }
}
.start__list__item__num {
  color: #818181;
  font-feature-settings: "palt" on;
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  margin-bottom: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .start__list__item__num {
    font-size: 13px;
    margin-bottom: 10px;
  }
}
.start__list__item__title {
  font-size: clamp(19.6px, 6.9649415693px + 1.4023372287vw, 28px);
  margin-bottom: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.56px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .start__list__item__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
.start__list__item__image {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/*===========================================================================*/
/*  solution  */
/*===========================================================================*/
.solution {
  padding-top: clamp(79.1px, 28.1085141903px + 5.6594323873vw, 113px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
}
@media (max-width: 900px) {
  .solution {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.solution__title {
  text-align: center;
  font-size: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  margin-bottom: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .solution__title {
    font-size: 40px;
    line-height: 1.3;
    margin-bottom: 25px;
  }
}
.solution__title span {
  display: block;
  text-align: center;
  font-size: clamp(23.8px, 8.4574290484px + 1.7028380634vw, 34px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.68px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .solution__title span {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
.solution__title span span {
  display: inline-block;
  color: #e03445;
  margin-bottom: 0;
}
.solution__image {
  width: clamp(574px, 203.9732888147px + 41.0684474124vw, 820px);
  height: auto;
  margin: 0 auto;
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
}
@media (max-width: 900px) {
  .solution__image {
    width: 100%;
    margin-bottom: 36px;
  }
}
.solution__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  padding-block: clamp(56px, 19.8998330551px + 4.0066777963vw, 80px);
  padding-inline: clamp(63px, 22.387312187px + 4.5075125209vw, 90px);
  margin-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  border-radius: 20px;
  background: #f8f8f8;
}
@media (max-width: 900px) {
  .solution__list {
    grid-template-columns: repeat(1, 1fr);
    padding-block: 50px;
    padding-inline: 33px;
    margin-bottom: 60px;
    gap: 45px;
  }
}
.solution__list__item__image {
  width: 51px;
  margin: 4px auto 30px;
}
@media (max-width: 900px) {
  .solution__list__item__image {
    width: 42px;
    margin: 0 auto 20px;
  }
}
.solution__list__item__image.icon1 {
  width: 54px;
  margin-bottom: 30px;
  margin-top: 0;
}
@media (max-width: 900px) {
  .solution__list__item__image.icon1 {
    width: 42px;
    margin-bottom: 20px;
  }
}
.solution__list__item__title {
  text-align: center;
  font-size: clamp(18.9px, 6.7161936561px + 1.3522537563vw, 27px);
  margin-bottom: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.54px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .solution__list__item__title {
    font-size: 22px;
    margin-bottom: 10px;
  }
}
.solution__list__item__description {
  color: #818181;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.3px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .solution__list__item__description {
    font-size: 13px;
    letter-spacing: 0.26px;
  }
}
.solution__appeal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 900px) {
  .solution__appeal {
    flex-direction: column;
    gap: 30px;
  }
}
.solution__appeal__text__title {
  font-size: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  margin-bottom: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.4px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .solution__appeal__text__title {
    font-size: 40px;
    margin-bottom: 15px;
    letter-spacing: 0.8px;
  }
}
.solution__appeal__text__description {
  color: #818181;
  font-size: 18px;
  font-weight: clamp(490, 174.1235392321px + 35.0584307179vw, 700);
  line-height: 1.8;
  letter-spacing: 0.36px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .solution__appeal__text__description {
    font-feature-settings:
      "pwid" on,
      "palt" on,
      "calt" off;
    font-size: 15px;
    letter-spacing: 0.3px;
    font-weight: 700;
  }
}
.solution__appeal__image {
  width: clamp(519.4px, 184.570951586px + 37.1619365609vw, 742px);
  height: auto;
}
@media (max-width: 900px) {
  .solution__appeal__image {
    width: 100%;
  }
}

/*===========================================================================*/
/*  onecable  */
/*===========================================================================*/
.onecable {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  background-color: #f8f8f8;
}
@media (max-width: 900px) {
  .onecable {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.onecable__title {
  text-align: center;
  font-size: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  margin-bottom: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .onecable__title {
    font-size: 40px;
    margin-bottom: 22px;
    line-height: 1.3;
  }
}
.onecable__title small {
  font-size: clamp(23.8px, 8.4574290484px + 1.7028380634vw, 34px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.68px;
  text-transform: capitalize;
  display: block;
}
@media (max-width: 900px) {
  .onecable__title small {
    font-size: 22px;
    margin-bottom: 15px;
    letter-spacing: 0.44px;
  }
}
.onecable__title span {
  color: #e03445;
}
.onecable__compare {
  --compare-pos: 50%;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.onecable__compare-area {
  position: relative;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1200/672;
  user-select: none;
  -webkit-user-select: none;
  cursor: ew-resize;
  touch-action: pan-y;
  background-color: #303030;
}
@media (max-width: 900px) {
  .onecable__compare-area {
    aspect-ratio: 335/240;
    border-radius: 12px;
  }
}
.onecable__compare-pane {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.onecable__compare-pane--after {
  clip-path: inset(0 0 0 var(--compare-pos));
  will-change: clip-path;
}
.onecable__compare-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.onecable__compare-content {
  position: absolute;
  top: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  pointer-events: none;
}
@media (max-width: 900px) {
  .onecable__compare-content {
    display: none;
  }
}
.onecable__compare-content--before {
  left: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
}
.onecable__compare-content--after {
  right: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  text-align: right;
}
.onecable__compare-label {
  margin: 0;
  font-size: clamp(22.4px, 7.959933222px + 1.6026711185vw, 32px);
  font-weight: 600;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.02em;
  font-feature-settings: "palt" 1;
}
.onecable__compare-label--after {
  color: #e03445;
}
.onecable__compare-tags {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  gap: clamp(7px, 2.4874791319px + 0.5008347245vw, 10px);
}
.onecable__compare-tags--after {
  align-items: flex-end;
}
.onecable__compare-tag {
  background-color: #919191;
  color: #fff;
  border-radius: 5px;
  line-height: 1.6;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  padding-top: clamp(3.5px, 1.2437395659px + 0.2504173623vw, 5px);
  padding-bottom: clamp(2.8px, 0.9949916528px + 0.2003338898vw, 4px);
  padding-left: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
  padding-right: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
}
.onecable__compare-tag--after {
  background-color: #e03445;
  font-weight: 700;
}
.onecable__compare-meta {
  display: none;
}
@media (max-width: 900px) {
  .onecable__compare-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 4px;
    margin-top: 10px;
  }
}
.onecable__compare-meta-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
}
.onecable__compare-meta-label {
  margin: 0;
  font-size: clamp(20px, 13.8775510204px + 1.6326530612vw, 28.5714285714px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #919191;
  font-feature-settings: "palt" 1;
}
.onecable__compare-meta-label--after {
  color: #e03445;
}
.onecable__compare-meta-tags {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
}
.onecable__compare-meta-tag {
  background-color: #919191;
  color: #fff;
  border-radius: 5px;
  line-height: 1.6;
  font-weight: 400;
  padding: 3px 10px;
  font-size: clamp(13px, 9.0204081633px + 1.0612244898vw, 18.5714285714px);
  font-feature-settings: "palt" 1;
}
.onecable__compare-meta-tag--after {
  background-color: #e03445;
  font-weight: 900;
}
.onecable__compare-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--compare-pos);
  width: 0;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 2;
  will-change: left;
}
.onecable__compare-handle-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
}
@media (max-width: 900px) {
  .onecable__compare-handle-line {
    width: 3px;
  }
}
.onecable__compare-handle-knob {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #fff;
  color: #303030;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease;
}
@media (max-width: 900px) {
  .onecable__compare-handle-knob {
    width: 44px;
    height: 44px;
  }
}
.onecable__compare-handle-knob svg {
  width: 60%;
  height: 60%;
}
.onecable__compare:active .onecable__compare-handle-knob,
.onecable__compare.is-dragging .onecable__compare-handle-knob {
  transform: translate(-50%, -50%) scale(0.95);
}
.onecable__compare-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  opacity: 0;
  cursor: ew-resize;
  z-index: 3;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: none;
}
.onecable__compare-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 56px;
  height: 100%;
  cursor: ew-resize;
}
.onecable__compare-range::-moz-range-thumb {
  width: 56px;
  height: 100%;
  border: none;
  cursor: ew-resize;
}
.onecable__compare-range:focus-visible {
  outline: none;
}
.onecable__compare-range:focus-visible ~ .onecable__compare-handle .onecable__compare-handle-knob {
  outline: 3px solid #0bb454;
  outline-offset: 3px;
}

/*===========================================================================*/
/*  clear  */
/*===========================================================================*/
.clear {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
}
@media (max-width: 900px) {
  .clear {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.clear__title {
  text-align: center;
  font-size: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  margin-bottom: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .clear__title {
    font-size: 40px;
    margin-bottom: 30px;
    line-height: 1.3;
  }
}
.clear__title span {
  color: #e03445;
}
.clear__image {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .clear__image {
    width: 100%;
  }
}
.clear__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  gap: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
}
@media (max-width: 900px) {
  .clear__list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 30px;
    gap: 15px;
  }
}
.clear__list__item {
  padding-block: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  border-radius: 20px;
  background: #f8f8f8;
}
.clear__list__item__title {
  font-size: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  margin-bottom: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.6px;
  text-transform: capitalize;
  text-align: center;
}
@media (max-width: 900px) {
  .clear__list__item__title {
    font-size: 24px;
    margin-bottom: 10px;
  }
}
.clear__list__item__title span {
  color: #e03445;
}
.clear__list__item__description {
  color: #818181;
  text-align: center;
  font-size: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.3px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .clear__list__item__description {
    font-size: 15px;
  }
}

/*===========================================================================*/
/*  available（Figma 569:71 PC / 569:81 SP） */
/*===========================================================================*/
.available {
  padding-top: clamp(48px, 12vw, 120px);
  padding-bottom: clamp(56px, 10vw, 120px);
  background-color: #f8f8f8;
  text-transform: none;
}
.available__intro {
  position: relative;
  margin-bottom: clamp(28px, 4vw, 40px);
}
@media (min-width: 901px) {
  .available__intro {
    padding-right: 120px;
  }
}
@media (max-width: 900px) {
  .available__intro {
    margin-bottom: 24px;
    padding-right: 0;
  }
}
.available__title {
  margin: 0;
  font-weight: 900;
  font-size: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  line-height: 1;
  letter-spacing: 0;
  text-align: left;
  color: #303030;
  font-feature-settings:
    "palt" 1,
    "pwid" 1,
    "kern" 0,
    "calt" 0;
}
@media (max-width: 900px) {
  .available__title {
    font-weight: 700;
    font-size: 3.8rem;
    line-height: 1.3;
    text-align: center;
  }
}
@media (min-width: 901px) {
  .available__title-row1,
  .available__title-row2 {
    display: inline;
  }
}
@media (max-width: 900px) {
  .available__title-row1,
  .available__title-row2 {
    display: block;
  }
}
.available__title-accent {
  color: #e03445;
}
.available__lead {
  margin: 30px 0 0;
  color: #818181;
  font-weight: 700;
  font-size: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  line-height: 2;
  letter-spacing: 0.4px;
  text-align: left;
}
@media (max-width: 900px) {
  .available__lead {
    max-width: 335px;
    margin: 16px auto 0;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.32px;
    text-align: justify;
    font-feature-settings:
      "palt" 1,
      "pwid" 1,
      "kern" 0,
      "calt" 0;
  }
}
.available__nav {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 15px;
}
.available__nav--pc {
  position: absolute;
  right: 0;
  bottom: 0;
  display: none;
}
@media (min-width: 901px) {
  .available__nav--pc.pc-only {
    display: flex;
  }
}
.available__nav-btn {
  position: relative;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.available__nav-btn.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.available__nav-btn-bg {
  position: absolute;
  inset: 0;
  display: block;
  line-height: 0;
}
.available__nav-btn-bg img {
  width: 100%;
  height: auto;
  display: block;
}
.available__nav-btn-icon {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  line-height: 0;
  pointer-events: none;
}
.available__nav-btn-icon img {
  display: block;
  width: 10px;
  height: auto;
}
.available__nav-btn--prev .available__nav-btn-icon img {
  transform: rotate(-135deg);
}
.available__nav-btn--next .available__nav-btn-icon img {
  transform: rotate(45deg);
}
.available {
  /* 左へはみ出し + overflow:hidden（ビューポート基準） */
}
.available__sliderViewport {
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .available__sliderViewport {
    width: 100%;
    margin-left: 0;
  }
}
.available__sliderPad {
  padding-left: max(20px, (100vw - 1200px) / 2);
}
@media (max-width: 900px) {
  .available__sliderPad {
    padding-left: 0;
  }
}
.available__swiper {
  overflow: visible;
}
.available .swiper-slide {
  width: clamp(266px, 94.5242070117px + 19.0317195326vw, 380px);
  height: auto;
}
@media (max-width: 900px) {
  .available .swiper-slide {
    width: 290px;
  }
}
.available__navSpWrap {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}
.available__nav--sp {
  display: none;
  justify-content: center;
}
@media (max-width: 900px) {
  .available__nav--sp.sp-only {
    display: flex;
  }
}
.available__nav-spBtn {
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 0;
  cursor: pointer;
}
.available__nav-spBtn img {
  display: block;
  width: 42px;
  height: 42px;
}
.available__nav-spBtn:disabled,
.available__nav-spBtn.is-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.available-card {
  position: relative;
  width: 100%;
  height: 405px;
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .available-card {
    height: 309px;
    border-radius: 15px;
  }
}
.available-card__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #ddd;
}
@media (max-width: 900px) {
  .available-card__media {
    border-radius: 15px;
  }
}
.available-card__img {
  position: absolute;
  display: block;
  max-width: none;
  pointer-events: none;
}
.available-card__img--1 {
  width: 169.82%;
  height: 109.06%;
  left: -19.14%;
  top: -4.62%;
  object-fit: cover;
}
.available-card__img--2 {
  width: 159.87%;
  height: 100%;
  left: -17.71%;
  top: 0;
  object-fit: cover;
}
.available-card__img--3 {
  width: 155.59%;
  height: 100%;
  left: -30.2%;
  top: 0;
  object-fit: cover;
}
.available-card__img--4 {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.available-card__gradient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70.12%;
  border-radius: 0 0 20px 20px;
  background: linear-gradient(to bottom, rgba(48, 48, 48, 0) 31.85%, rgba(48, 48, 48, 0.65) 100%);
  pointer-events: none;
}
@media (max-width: 900px) {
  .available-card__gradient {
    height: 69.9029126214%;
    border-radius: 0 0 15px 15px;
  }
}
.available-card__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding-top: 0;
  padding-inline: clamp(18.2px, 6.4674457429px + 1.3021702838vw, 26px);
  padding-bottom: clamp(22.4px, 7.959933222px + 1.6026711185vw, 32px);
  color: #fff;
  text-align: left;
}
@media (max-width: 900px) {
  .available-card__content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 15px 24px;
  }
}
.available-card__heading {
  margin: 0 0 12px;
  font-weight: 700;
  font-size: clamp(19.6px, 6.9649415693px + 1.4023372287vw, 28px);
  line-height: 1.4;
  letter-spacing: 0.56px;
  color: #fff;
  font-feature-settings:
    "palt" 1,
    "kern" 0,
    "calt" 0;
}
@media (max-width: 900px) {
  .available-card__heading {
    margin: 0;
    font-size: 2.2rem;
    letter-spacing: 0.44px;
  }
}
.available-card__list {
  margin: 0;
  padding-left: 0;
  font-weight: 500;
  font-size: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  line-height: 1.5;
  letter-spacing: 0.28px;
  list-style: none;
  list-style-type: none;
  list-style-image: none;
  -webkit-padding-start: 0;
  font-feature-settings:
    "palt" 1,
    "kern" 0,
    "calt" 0;
}
@media (max-width: 900px) {
  .available-card__list {
    padding-left: 0;
    font-size: 1.2rem;
    letter-spacing: 0.24px;
  }
}
.available-card__list li {
  margin-bottom: 0.15em;
  font-weight: 500;
  list-style: none;
  list-style-type: none;
  list-style-image: none;
}
.available-card__list li::marker {
  content: "";
  display: none;
  font-size: 0;
  color: transparent;
}
.available-card__list li::before {
  content: none;
}

/*===========================================================================*/
/*  simple
/*===========================================================================*/
.simple {
  position: relative;
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
}
@media (max-width: 900px) {
  .simple {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.simple__lead {
  text-align: center;
  font-size: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .simple__lead {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
.simple__title {
  text-align: center;
  font-size: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .simple__title {
    font-size: 40px;
    margin-bottom: 15px;
  }
}
.simple__title span {
  color: #e03445;
}
.simple__description {
  color: #818181;
  text-align: center;
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.36px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .simple__description {
    font-size: 15px;
    line-height: 1.6;
    text-align: left;
  }
}
.simple__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 851px;
  margin: 0 auto;
  margin-top: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
}
@media (max-width: 900px) {
  .simple__content {
    margin-top: 40px;
    gap: 5px;
    max-width: 500px;
    align-items: flex-start;
  }
}
.simple__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (max-width: 900px) {
  .simple__list {
    gap: 18px;
  }
}
.simple__item__content {
  padding-bottom: 30px;
  border-bottom: 1px solid #d9d9d9;
  text-align: center;
}
@media (max-width: 900px) {
  .simple__item__content {
    padding-bottom: 18px;
  }
}
@media (max-width: 900px) {
  .simple__item__content.simple__item__content--logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.simple__item__content div {
  min-height: 24px;
  text-align: center;
  font-feature-settings:
    "pwid" on,
    "palt" on,
    "calt" off;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.44px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .simple__item__content div {
    font-size: 15px;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.simple__item__content small {
  color: var(--6-c-6-c-6-c, #818181);
  text-align: center;
  font-feature-settings:
    "pwid" on,
    "palt" on,
    "calt" off;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.28px;
  text-transform: capitalize;
  margin-bottom: 15px;
  display: block;
}
@media (max-width: 900px) {
  .simple__item__content small {
    font-size: 10px;
    letter-spacing: 0.2px;
    margin-bottom: 5px;
  }
}
.simple__item__content span {
  display: block;
  text-align: center;
  font-feature-settings:
    "pwid" on,
    "palt" on,
    "calt" off;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.4px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .simple__item__content span {
    font-size: 13px;
    letter-spacing: 0.26px;
    min-height: 34px;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.simple__item__content span.color-red {
  color: #e03445;
}
.simple__item__content img {
  width: 196px;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .simple__item__content img {
    width: 113px;
    min-height: 24px;
  }
}

/*===========================================================================*/
/*  voice  */
/*===========================================================================*/
.voice {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  background: #f8f8f8;
}
@media (max-width: 900px) {
  .voice {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.voice__title {
  text-align: center;
  font-size: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  margin-bottom: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .voice__title {
    font-size: 26px;
    margin-bottom: 30px;
  }
}
.voice__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
}
@media (max-width: 900px) {
  .voice__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
}
.voice__item {
  padding-top: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  padding-bottom: clamp(44.1px, 15.6711185309px + 3.1552587646vw, 63px);
  padding-inline: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  border-radius: 20px;
  background: #fff;
}
@media (max-width: 900px) {
  .voice__item {
    padding-top: 45px;
    padding-bottom: 55px;
    padding-inline: 25px;
  }
}
.voice__item__top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  margin-bottom: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .voice__item__top {
    gap: 10px;
    margin-bottom: 17px;
  }
}
.voice__item__icon {
  width: 36px;
  height: 36px;
}
@media (max-width: 900px) {
  .voice__item__icon {
    width: 30px;
    height: 30px;
  }
}
.voice__item__who {
  color: #818181;
  font-feature-settings: "palt" on;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .voice__item__who {
    font-size: 13px;
  }
}
.voice__item__title {
  font-size: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  margin-bottom: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .voice__item__title {
    font-size: 26px;
    margin-bottom: 15px;
  }
}
.voice__item__title span {
  color: #e03445;
}
.voice__item__description {
  color: #818181;
  text-align: justify;
  font-size: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.3px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .voice__item__description {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}
.voice__annotation {
  color: #818181;
  text-align: right;
  font-feature-settings: "palt" on;
  font-size: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  font-weight: 500;
  line-height: 1.6;
  margin-top: 12px;
}
@media (max-width: 900px) {
  .voice__annotation {
    font-size: 10px;
    margin-top: 8px;
  }
}

/*===========================================================================*/
/*  beyond  */
/*===========================================================================*/
.beyond {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
}
@media (max-width: 900px) {
  .beyond {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.beyond__title {
  text-align: center;
  font-size: clamp(49px, 17.4123539232px + 3.5058430718vw, 70px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  text-transform: capitalize;
}
.beyond__title span {
  color: #e03445;
}
@media (max-width: 900px) {
  .beyond__title {
    font-size: 39px;
    margin-bottom: 15px;
  }
}
.beyond__description {
  color: #818181;
  text-align: center;
  font-feature-settings:
    "pwid" on,
    "palt" on,
    "calt" off;
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.36px;
  text-transform: capitalize;
}
@media (max-width: 900px) {
  .beyond__description {
    margin-bottom: 22px;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.3px;
    text-align: left;
  }
}
.beyond__image {
  max-width: clamp(840px, 298.4974958264px + 60.1001669449vw, 1200px);
  width: 100%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .beyond__image {
    width: 100%;
  }
}

/*===========================================================================*/
/*  faq（Figma 571:96 PC / 572:98 SP） */
/*===========================================================================*/
.faq {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  background-color: #f8f8f8;
  text-transform: none;
}
@media (max-width: 900px) {
  .faq {
    padding-top: 70px;
    padding-bottom: 117px;
  }
}
.faq__title {
  margin: 0 0 clamp(32px, 5vw, 48px);
  text-align: center;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1;
  color: #303030;
  font-feature-settings:
    "palt" 1,
    "kern" 0,
    "calt" 0;
}
@media (max-width: 900px) {
  .faq__title {
    margin: 0 0 30px;
    font-size: 2.6rem;
    line-height: 1;
  }
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 860px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .faq__list {
    gap: 12px;
    max-width: 335px;
  }
}
.faq__item {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 900px) {
  .faq__item {
    gap: 0;
    align-items: center;
  }
}
.faq__question {
  display: flex;
  gap: 4px;
  align-items: flex-start;
  padding: 24px 32px;
  border-radius: 6px;
  background-color: #fff;
}
@media (max-width: 900px) {
  .faq__question {
    gap: 10px;
    width: 100%;
    max-width: 335px;
    padding: 15px 20px;
    border-radius: 10px;
  }
}
.faq__q-index {
  flex: 0 0 36px;
  width: 36px;
  min-height: 32px;
  padding-top: 2px;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.7px;
  color: #e03445;
}
@media (max-width: 900px) {
  .faq__q-index {
    flex: 0 0 auto;
    width: auto;
    min-height: 0;
    padding-top: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.56px;
  }
}
.faq__q-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding-top: 2px;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.7px;
  color: #303030;
  font-feature-settings: "palt" 1;
}
@media (max-width: 900px) {
  .faq__q-text {
    flex: 1;
    min-width: 0;
    max-width: 264px;
    padding-top: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.56px;
    text-align: justify;
  }
}
.faq__answer {
  display: flex;
  gap: 25px;
  align-items: flex-start;
  padding-left: 4px;
  font-weight: 500;
  padding: 16px 32px;
}
@media (max-width: 900px) {
  .faq__answer {
    gap: 12px;
    width: 100%;
    max-width: 335px;
    padding-left: 20px;
    align-self: center;
  }
}
.faq__a-mark {
  flex: 0 0 auto;
  width: 1.2em;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.7px;
  text-align: center;
  color: #a8a8a8;
}
@media (max-width: 900px) {
  .faq__a-mark {
    flex: 0 0 15px;
    width: 15px;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0.56px;
  }
}
.faq__a-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.56px;
  color: #303030;
  font-feature-settings: "palt" on;
}
@media (max-width: 900px) {
  .faq__a-text {
    max-width: 264px;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.49px;
    font-feature-settings: "palt" on;
  }
}
.faq__a-text--multi p {
  margin: 0 0 0.4em;
}
.faq__a-text--multi p:last-child {
  margin-bottom: 0;
}
.faq__a-gap {
  margin-top: 0.75em;
}
@media (max-width: 900px) {
  .faq__a-gap {
    margin-top: 0.6em;
  }
}

/*===========================================================================*/
/*  specification  */
/*===========================================================================*/
.specification {
  padding-top: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  padding-bottom: clamp(98px, 34.8247078464px + 7.0116861436vw, 140px);
  color: #303030;
  font-feature-settings: "palt" 1;
}
@media (max-width: 900px) {
  .specification {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.specification__title {
  text-align: center;
  font-size: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  margin-bottom: clamp(56px, 19.8998330551px + 4.0066777963vw, 80px);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 900px) {
  .specification__title {
    font-size: clamp(26px, 18.0408163265px + 2.1224489796vw, 37.1428571429px);
    margin-bottom: 32px;
  }
}
.specification__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(26.25px, 9.3280467446px + 1.878130217vw, 37.5px);
  align-items: start;
}
@media (max-width: 900px) {
  .specification__grid {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 30px;
  }
}
.specification__col {
  display: flex;
  flex-direction: column;
  gap: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  min-width: 0;
}
@media (max-width: 900px) {
  .specification__col {
    gap: 30px;
  }
}
.specification__group {
  min-width: 0;
}
.specification__cat {
  margin: 0;
  font-size: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .specification__cat {
    font-size: clamp(12px, 8.3265306122px + 0.9795918367vw, 17.1428571429px);
  }
}
.specification__rule {
  margin-top: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  margin-bottom: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  height: 1px;
  width: 100%;
  background-color: #d9d9d9;
}
@media (max-width: 900px) {
  .specification__rule {
    margin-top: 12px;
    margin-bottom: 10px;
  }
}
.specification__list {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(5.6px, 1.9899833055px + 0.4006677796vw, 8px);
}
@media (max-width: 900px) {
  .specification__list {
    gap: 8px;
  }
}
.specification__row {
  display: grid;
  grid-template-columns: 36% minmax(0, 1fr);
  column-gap: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  align-items: start;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .specification__row {
    grid-template-columns: 40% minmax(0, 1fr);
    column-gap: 14px;
  }
}
.specification__row--subhead {
  grid-template-columns: 1fr;
}
@media (max-width: 900px) {
  .specification__row--subhead {
    grid-template-columns: 1fr;
  }
}
.specification__dt {
  margin: 0;
  font-size: clamp(7.7px, 2.7362270451px + 0.550918197vw, 11px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .specification__dt {
    font-size: clamp(10px, 6.9387755102px + 0.8163265306vw, 14.2857142857px);
  }
}
.specification__dd {
  margin: 0;
  font-size: clamp(7.7px, 2.7362270451px + 0.550918197vw, 11px);
  font-weight: 400;
  line-height: 1.6;
  text-align: start;
}
@media (max-width: 900px) {
  .specification__dd {
    font-size: clamp(10px, 6.9387755102px + 0.8163265306vw, 14.2857142857px);
  }
}
.specification__subhead {
  margin: 0;
  font-size: clamp(7.7px, 2.7362270451px + 0.550918197vw, 11px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .specification__subhead {
    font-size: clamp(10px, 6.9387755102px + 0.8163265306vw, 14.2857142857px);
  }
}
.specification__dd-line {
  margin: 0;
}

/*===========================================================================*/
/*  contact  */
/*===========================================================================*/
.contact {
  background-color: #f5f5f5;
  color: #303030;
  padding-top: clamp(105px, 37.3121869783px + 7.5125208681vw, 150px);
  padding-bottom: clamp(105px, 37.3121869783px + 7.5125208681vw, 150px);
  padding-left: clamp(56px, 19.8998330551px + 4.0066777963vw, 80px);
  padding-right: clamp(56px, 19.8998330551px + 4.0066777963vw, 80px);
  font-feature-settings:
    "palt" 1,
    "kern" 0,
    "calt" 0;
}
@media (max-width: 900px) {
  .contact {
    background-color: #f8f8f8;
    padding: 70px 20px;
  }
}
.contact__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 525fr 1px 555fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "info    divider form" ".       divider form" "footer  divider form";
  column-gap: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
}
@media (max-width: 900px) {
  .contact__inner {
    display: flex;
    flex-direction: column;
    max-width: 500px;
  }
}
.contact__info {
  grid-area: info;
}
@media (max-width: 900px) {
  .contact__info {
    text-align: center;
  }
}
.contact__title {
  margin: 0;
  font-size: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  font-weight: 700;
  line-height: 1.3;
  color: #303030;
}
@media (max-width: 900px) {
  .contact__title {
    font-size: clamp(38px, 26.3673469388px + 3.1020408163vw, 54.2857142857px);
  }
}
.contact__title-accent {
  color: #e03445;
}
.contact__lead {
  margin: 0;
  margin-top: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #818181;
}
@media (max-width: 900px) {
  .contact__lead {
    margin-top: 6px;
    font-size: clamp(14px, 9.7142857143px + 1.1428571429vw, 20px);
  }
}
.contact__sub {
  margin: 0;
  margin-top: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-size: clamp(16.8px, 5.9699499165px + 1.2020033389vw, 24px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #303030;
}
@media (max-width: 900px) {
  .contact__sub {
    margin-top: 12px;
    font-size: clamp(18px, 12.4897959184px + 1.4693877551vw, 25.7142857143px);
  }
}
.contact__points {
  list-style: none;
  margin: 0;
  background-color: #fff;
  border-radius: 4px;
  display: grid;
  grid-template-columns: max-content max-content;
  margin-top: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  padding-top: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  padding-bottom: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  padding-left: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  padding-right: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  column-gap: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  row-gap: clamp(15.4px, 5.4724540902px + 1.101836394vw, 22px);
}
@media (max-width: 900px) {
  .contact__points {
    grid-template-columns: 45% 53%;
    justify-content: center;
    margin-top: 28px;
    padding: 25px 15px;
    column-gap: 10px;
    row-gap: 13px;
  }
}
.contact__point {
  display: flex;
  align-items: center;
  gap: clamp(5.6px, 1.9899833055px + 0.4006677796vw, 8px);
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  font-weight: 700;
  line-height: 1;
  color: #303030;
}
@media (max-width: 900px) {
  .contact__point {
    gap: 5px;
    font-size: clamp(13px, 9.0204081633px + 1.0612244898vw, 18.5714285714px);
  }
}
.contact__point-icon {
  flex-shrink: 0;
  display: block;
  width: clamp(11.9px, 4.2287145242px + 0.8514190317vw, 17px);
  height: clamp(11.9px, 4.2287145242px + 0.8514190317vw, 17px);
  background-image: url("../images/contact_check.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media (max-width: 900px) {
  .contact__point-icon {
    width: 13px;
    height: 13px;
  }
}
.contact__divider {
  grid-area: divider;
  background-color: #525252;
  width: 1px;
}
@media (max-width: 900px) {
  .contact__divider {
    width: 100%;
    height: 1px;
    margin: 30px 0 22px;
  }
}
.contact__form-wrap {
  grid-area: form;
}
.contact__form-title {
  margin: 0;
  font-size: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #303030;
}
@media (max-width: 900px) {
  .contact__form-title {
    text-align: center;
    font-size: clamp(24px, 16.6530612245px + 1.9591836735vw, 34.2857142857px);
  }
}
.contact__form {
  display: flex;
  flex-direction: column;
  margin-top: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  gap: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .contact__form {
    margin-top: 22px;
    gap: 10px;
  }
}
.contact__field {
  display: flex;
  flex-direction: column;
  gap: clamp(7px, 2.4874791319px + 0.5008347245vw, 10px);
}
@media (max-width: 900px) {
  .contact__field {
    gap: 5px;
  }
}
.contact__label {
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #303030;
}
@media (max-width: 900px) {
  .contact__label {
    font-size: clamp(14px, 9.7142857143px + 1.1428571429vw, 20px);
  }
}
.contact__required {
  color: #303030;
}
.contact__input {
  width: 100%;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  color: #303030;
  height: clamp(44.8px, 15.9198664441px + 3.2053422371vw, 64px);
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  padding-left: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  padding-right: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  transition: border-color 0.2s;
}
@media (max-width: 900px) {
  .contact__input {
    height: 45px;
    font-size: clamp(14px, 9.7142857143px + 1.1428571429vw, 20px);
    padding-left: 14px;
    padding-right: 14px;
  }
}
.contact__input:focus {
  outline: none;
  border-color: #0bb454;
}
.contact__agree {
  display: flex;
  align-items: center;
  gap: clamp(4.41px, 1.5671118531px + 0.3155258765vw, 6.3px);
  margin-top: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .contact__agree {
    justify-content: center;
    gap: 8px;
    margin-top: 13px;
  }
}
.contact__checkbox {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  margin: 0;
  background-color: #fff;
  border: 0.79px solid #b6b6b6;
  border-radius: 3.17px;
  cursor: pointer;
  width: clamp(8.89px, 3.1590984975px + 0.6360601002vw, 12.7px);
  height: clamp(8.89px, 3.1590984975px + 0.6360601002vw, 12.7px);
}
@media (max-width: 900px) {
  .contact__checkbox {
    width: 16px;
    height: 16px;
    border-width: 1px;
    border-radius: 4px;
  }
}
.contact__checkbox:checked {
  background-color: #e03445;
  border-color: #e03445;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 80%;
}
.contact__agree-label {
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #303030;
  cursor: pointer;
}
@media (max-width: 900px) {
  .contact__agree-label {
    font-size: clamp(15px, 10.4081632653px + 1.2244897959vw, 21.4285714286px);
  }
}
.contact__agree-link {
  color: #e03445;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.contact__agree-link:hover {
  opacity: 0.75;
}
.contact__submit {
  margin-top: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  width: clamp(195.3px, 69.4006677796px + 13.9732888147vw, 279px);
  height: clamp(44.1px, 15.6711185309px + 3.1552587646vw, 63px);
  background-color: #0bb454;
  color: #fff;
  border: none;
  border-radius: 9px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  transition: opacity 0.3s;
}
.contact__submit:hover {
  opacity: 0.85;
}
@media (max-width: 900px) {
  .contact__submit {
    width: 100%;
    height: 60px;
    border-radius: 5px;
    gap: 12px;
    margin-top: 26px;
  }
}
.contact__submit-text {
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
@media (max-width: 900px) {
  .contact__submit-text {
    font-size: 1.8rem;
  }
}
.contact__submit-divider {
  width: 1px;
  background-color: rgba(255, 255, 255, 0.6);
  height: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
}
@media (max-width: 900px) {
  .contact__submit-divider {
    height: 20px;
  }
}
.contact__submit-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  width: clamp(6.3px, 2.2387312187px + 0.4507512521vw, 9px);
  height: clamp(6.3px, 2.2387312187px + 0.4507512521vw, 9px);
}
@media (max-width: 900px) {
  .contact__submit-arrow {
    width: 10px;
    height: 10px;
  }
}
.contact__submit-arrow svg {
  width: 100%;
  height: 100%;
}
.contact__footer {
  grid-area: footer;
  align-self: end;
}
@media (max-width: 900px) {
  .contact__footer {
    align-self: stretch;
    text-align: center;
    margin-top: 36px;
  }
}
.contact__links {
  margin: 0;
  font-size: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #818181;
}
@media (max-width: 900px) {
  .contact__links {
    font-size: clamp(10px, 6.9387755102px + 0.8163265306vw, 14.2857142857px);
  }
}
.contact__link {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
.contact__link:hover {
  opacity: 0.7;
}
.contact__link-sep {
  display: inline-block;
  margin: 0 0.4em;
}
.contact__copy {
  margin: 0;
  margin-top: clamp(13.3px, 4.7262103506px + 0.9515859766vw, 19px);
  font-size: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #818181;
}
@media (max-width: 900px) {
  .contact__copy {
    margin-top: 10px;
    font-size: clamp(10px, 6.9387755102px + 0.8163265306vw, 14.2857142857px);
  }
}

/*===========================================================================*/
/*  video  */
/*===========================================================================*/
.video-wrapper {
  position: relative;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
}

video {
  display: block;
  width: 100%;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}

video.visible {
  opacity: 1;
}
