body {
  font-family: "Noto Sans JP", sans-serif;
}
.lead-wrap {
  text-align: center;
}
.lead {
  background: #dbdbdb;
  border-radius: min(100px, 5.2vw);
  color: #4b5566;
  display: inline-block;
  font-size: min(24px, 1.25vw);
  font-weight: 700;
  line-height: 180%;
  width: min(437px, 22.76vw);
}
@media screen and (max-width: 767px) {
  .lead {
    font-size: max(16px, 4.26vw);
    width: max(240px, 64vw);
  }
}
.hidden-pc {
  display: none;
}
@media screen and (max-width: 767px) {
  .hidden-pc {
    display: block;
  }
  .hidden-sp {
    display: none;
  }
}
.header {
  border-bottom: min(1px, 0.05vw) solid #ddd;
}
.header__inner {
  align-items: center;
  display: flex;
  height: min(114px, 5.93vw);
  justify-content: space-between;
  margin: 0 auto;
  max-width: min(1920px, 100vw);
  padding-left: min(136px, 7.08vw);
  padding-right: min(110px, 5.72vw);
}
@media screen and (max-width: 767px) {
  .header__inner {
    height: max(40px, 10.66vw);
    padding-inline: max(20px, 5.33vw);
  }
}
.header__inner-left {
  align-items: center;
  display: flex;
}
.header__logo img {
  width: min(620px, 32.29vw);
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: max(200px, 53.33vw);
  }
}
.header__badge {
  margin-left: min(13px, 0.67vw);
  padding-top: min(12px, 0.62vw);
}
@media screen and (max-width: 767px) {
  .header__badge {
    margin-left: max(5px, 1.33vw);
    padding-top: max(7px, 1.86vw);
  }
}
.header__badge img {
  width: min(258px, 13.43vw);
}
@media screen and (max-width: 767px) {
  .header__badge img {
    width: max(60px, 16vw);
  }
  .header__nav-lists {
    display: none;
  }
}
.header__nav-list {
  align-items: flex-end;
  display: flex;
  gap: min(12px, 0.62vw);
}
.header__nav-item {
  border-radius: min(30px, 1.56vw);
  color: #fff;
  display: grid;
  font-size: min(23px, 1.19vw);
  font-weight: 500;
  height: min(50px, 2.6vw);
  place-content: center;
  text-align: center;
  width: min(200px, 10.41vw);
}
.header-nav__btn--contact {
  background: #ca2c51;
}
.header-nav__btn--contact:hover,
.header-nav__btn--document:hover {
  opacity: 1;
  -webkit-animation: flash 1.5s;
  animation: flash 1.5s;
}
@keyframes flash {
  0% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}
.header-nav__btn--document {
  background: #003d86;
}
.header-nav__item--tel img {
  width: min(245px, 12.76vw);
}
.header__tel-btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .header__tel-btn {
    display: block;
    margin-left: max(10px, 2.66vw);
  }
  .header__tel-btn img {
    width: max(87px, 23.2vw);
  }
}
.fv {
  background: url(../img/fv_bg.webp) no-repeat center center/cover;
  height: min(630px, 32.81vw);
}
@media screen and (max-width: 767px) {
  .fv {
    height: 100%;
  }
}
.fv__inner {
  align-items: center;
  display: flex;
  margin: 0 auto;
  padding-top: min(52px, 2.7vw);
  width: min(1360px, 70.83vw);
}
@media screen and (max-width: 767px) {
  .fv__inner {
    padding-bottom: max(50px, 13.33vw);
    padding-top: max(20px, 5.33vw);
    position: relative;
    width: max(335px, 89.33vw);
  }
}
.fv__container-logo img {
  width: min(1047px, 54.53vw);
}
@media screen and (max-width: 767px) {
  .fv__container-logo img {
    width: max(300px, 80vw);
  }
}
.fv__container-badge {
  margin-left: min(185px, 9.63vw);
  padding-top: min(17px, 0.88vw);
}
@media screen and (max-width: 767px) {
  .fv__container-badge {
    padding-top: min(2px, 0.53vw);
	margin-left: min(119px, 15.51vw);
  }
}
.fv__container-badge img {
  width: min(350px, 18.22vw);
}
@media screen and (max-width: 767px) {
  .fv__container-badge img {
    width: max(100px, 26.66vw);
  }
}
.fv__container-desc {
  background: #333;
  clip-path: polygon(0 0, 89% 0, 100% 100%, 0 100%);
  color: #fff;
  display: inline-block;
  font-size: min(38px, 1.97vw);
  font-weight: 700;
  line-height: 180%;
  margin-top: min(67px, 3.48vw);
  padding: min(14px, 0.72vw) min(76px, 3.95vw) min(15px, 0.78vw)
    min(35px, 1.82vw);
}
.fv__container-desc span {
  background: linear-gradient(transparent 92%, #fff 0%);
}
@media screen and (max-width: 767px) {
  .fv__container-desc {
    font-size: max(16px, 4.26vw);
    margin-top: max(20px, 5.33vw);
	width: 107%;
    transform: translateX(-10px);
    margin-top: 10px;
  }
  .fv__sp-button {
	display: flex;
    align-items: center;
	gap: 10px;
    bottom: 5%;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    right: auto;
	position: absolute;
  }
}
.fv__sp-button-contact,
.fv__sp-button-document {
  display: none;
}
@media screen and (max-width: 767px) {
  .fv__sp-button-contact,
  .fv__sp-button-document {
    border-radius: max(30px, 8vw);
    color: #fff;
    display: grid;
    font-size: max(14px, 3.73vw);
    font-weight: 500;
    height: max(30px, 8vw);
    place-content: center;
    width: max(120px, 32vw);
  }
}
.fv__sp-button-contact {
  background: #ca2c51;
}
.fv__sp-button-document {
  background: #003d86;
}
.fv__right-image {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .fv__right-image {
    bottom: 0;
    position: absolute;
    right: 0;
  }
}
.fv__right-image img {
  width: min(398px, 20.72vw);
}
@media screen and (max-width: 767px) {
  .fv__right-image img {
    width: max(40px, 10.66vw);
  }
}
.feature-intro {
  padding-bottom: min(113px, 5.88vw);
  padding-top: min(95px, 4.94vw);
}
@media screen and (max-width: 767px) {
  .feature-intro {
    padding-bottom: max(60px, 16vw);
    padding-top: max(40px, 10.66vw);
  }
}
.feature-intro__inner {
  margin: 0 auto;
  max-width: min(1920px, 100vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__inner {
    padding-inline: max(20px, 5.33vw);
  }
}
.feature-intro__wrap {
  align-items: flex-end;
  display: flex;
  gap: min(158px, 8.22vw);
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .feature-intro__wrap {
    align-items: center;
    flex-direction: column;
  }
}
.feature-intro__container-text {
  font-size: min(32px, 1.66vw);
  line-height: 180%;
  width: min(769px, 40.05vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__container-text {
    font-size: max(16px, 4.26vw);
    text-align: center;
    width: 100%;
  }
}
.logo-text {
  bottom: min(15px, 0.78vw);
  margin-right: min(10px, 0.52vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  .logo-text {
    bottom: max(6px, 1.6vw);
    margin-right: max(4px, 1.06vw);
  }
}
.logo-text img {
  width: min(613px, 31.92vw);
}
@media screen and (max-width: 767px) {
  .logo-text img {
    width: max(292px, 77.86vw);
  }
}
.highlight-blue {
  color: #003d86;
  font-weight: 700;
}
.feature-intro__labels {
  display: flex;
  gap: min(30px, 1.56vw);
  margin-top: min(34px, 1.77vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__labels {
    justify-content: center;
  }
}
.feature-intro__label {
  background: #333;
  border-radius: min(6px, 0.31vw);
  color: #fff;
  display: grid;
  font-size: min(36px, 1.87vw);
  font-weight: 700;
  height: min(130px, 6.77vw);
  line-height: 140%;
  padding-left: min(38px, 1.97vw);
  place-content: center;
  position: relative;
  width: min(396px, 20.62vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__label {
    font-size: max(16px, 4.26vw);
    height: max(70px, 18.66vw);
    padding-left: max(20px, 5.33vw);
    width: max(177px, 47.19vw);
  }
}
.feature-intro__label::before {
  background: url(../img/feature_check.webp) no-repeat center center/contain;
  content: "";
  height: min(49px, 2.55vw);
  left: min(22px, 1.14vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(57px, 2.96vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__label::before {
    height: max(25px, 6.66vw);
    left: max(10px, 2.66vw);
    width: max(29px, 7.73vw);
  }
}
.feature-intro__image {
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature-intro__image {
    margin-left: auto;
  }
}
.feature-intro__image::before {
  background: url(../img/feature_icon.webp) no-repeat center center/contain;
  content: "";
  height: min(233px, 12.13vw);
  left: -38%;
  position: absolute;
  top: 15%;
  width: min(221px, 11.51vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__image::before {
    height: max(100px, 26.66vw);
    left: -22%;
    top: 31%;
    width: max(100px, 26.66vw);
  }
}
.feature-intro__image img {
  width: min(501px, 26.09vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__image img {
    width: max(288px, 76.8vw);
  }
}
.feature-intro__bottom {
  background: #fffbf0;
  border-radius: min(6px, 0.31vw);
  height: min(832px, 43.33vw);
  margin: 0 auto;
  margin-top: min(113px, 5.88vw);
  position: relative;
  width: min(1520px, 79.16vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__bottom {
    height: max(200px, 53.33vw);
    width: 100%;
  }
}
.feature-intro__text {
  display: inline-block;
  font-size: min(28px, 1.45vw);
  font-weight: 700;
  line-height: 180%;
  position: absolute;
  right: 7%;
  top: 10%;
}
@media screen and (max-width: 767px) {
  .feature-intro__text {
    font-size: max(7px, 1.86vw);
    right: -1%;
  }
}
.feature-intro__overview {
  left: min(63px, 3.28vw);
  position: absolute;
  text-align: center;
  top: min(58px, 3.02vw);
}
.feature-intro__overview img {
  width: min(1411px, 73.48vw);
}
@media screen and (max-width: 767px) {
  .feature-intro__overview img {
    width: 100%;
  }
}
.features {
  background: #d9e3f4;
  padding-bottom: min(100px, 5.2vw);
  padding-top: min(96px, 5vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  .features {
    padding-top: max(60px, 16vw);
  }
}
.features::before {
  background: url(../img/features_polygon.webp) no-repeat center center/contain;
  content: "";
  height: min(50px, 2.6vw);
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: min(100px, 5.2vw);
}
@media screen and (max-width: 767px) {
  .features::before {
    height: max(20px, 5.33vw);
    width: max(40px, 10.66vw);
  }
  .features__inner {
    padding-inline: max(20px, 5.33vw);
  }
}
.features__ttl {
  margin: 0 auto;
  position: relative;
  width: min(1077px, 56.09vw);
}
@media screen and (max-width: 767px) {
  .features__ttl {
    width: max(320px, 85.33vw);
  }
}
.features__ttl-logo img {
  width: min(1077px, 56.09vw);
}
@media screen and (max-width: 767px) {
  .features__ttl-logo img {
    width: max(320px, 85.33vw);
  }
}
.features__ttl-badge {
	left: calc(20% - 4px);
	bottom: -105%;
	position: absolute;
}
.features__ttl-badge img {
  width: min(340px, 17.7vw);
}
@media screen and (max-width: 767px) {
  .features__ttl-badge img {
    width: max(120px, 32vw);
  }
}
.features__ttl-text {
  bottom: -117%;
  font-size: min(50px, 2.6vw);
  font-weight: 700;
  letter-spacing: 2.5px;
  line-height: 180%;
  position: absolute;
  right: 33%;
}
@media screen and (max-width: 767px) {
  .features__ttl-text {
    font-size: max(16px, 4.26vw);
    right: 25%;
  }
}
.features__lists {
  display: flex;
  flex-direction: column;
  gap: min(20px, 1.04vw);
  margin: 0 auto;
  margin-top: min(181px, 9.42vw);
  width: min(1360px, 70.83vw);
}
@media screen and (max-width: 767px) {
  .features__lists {
    gap: max(20px, 5.33vw);
    margin-top: max(50px, 13.33vw);
    width: 100%;
  }
}
.features__list {
  background: #fff;
  border-radius: min(10px, 0.52vw);
  height: min(296px, 15.41vw);
  padding-bottom: min(33px, 1.71vw);
  padding-inline: min(44px, 2.29vw);
  padding-top: min(17px, 0.88vw);
}
@media screen and (max-width: 767px) {
  .features__list {
    height: 100%;
    padding: max(14px, 3.73vw);
    width: 100%;
  }
}
.features__list-flex {
  display: flex;
  gap: max(41px, 10.93vw);
}
.features__list-head {
  align-items: center;
  display: flex;
}
.features__list-num {
  color: #043c86;
  font-family: Roboto, sans-serif;
  font-size: min(90px, 4.68vw);
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .features__list-num {
    font-size: max(40px, 10.66vw);
  }
}
.features__list-ttl {
  color: #043c86;
  display: inline-block;
  font-size: min(34px, 1.77vw);
  font-weight: 700;
  line-height: 180%;
  margin-left: min(16px, 0.83vw);
}
@media screen and (max-width: 767px) {
  .features__list-ttl {
    font-size: max(14px, 3.73vw);
  }
}
.features__list-text {
  font-size: min(26px, 1.35vw);
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .features__list-text {
    font-size: max(12px, 3.2vw);
  }
}
.features__list-note {
  font-size: min(18px, 0.93vw);
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .features__list-note {
    font-size: max(10px, 2.66vw);
  }
}
.features__list-sp-image {
  flex-shrink: 0;
  margin-right: min(57px, 2.96vw);
  margin-top: min(29px, 1.51vw);
}
@media screen and (max-width: 767px) {
  .features__list-sp-image {
    display: none;
  }
}
.features__list-sp-image img {
  width: min(139px, 7.23vw);
}
.features__list-pc-image {
  flex-shrink: 0;
  margin-right: min(-6px, -0.31vw);
  margin-top: min(-6px, -0.31vw);
}
@media screen and (max-width: 767px) {
  .features__list-pc-image {
    display: none;
  }
}
.features__list-pc-image img {
  width: min(278px, 14.47vw);
}
.flow {
  padding-top: min(144px, 7.5vw);
}
@media screen and (max-width: 767px) {
  .flow {
    padding-top: max(60px, 16vw);
  }
}
.flow__container {
  background: #fffbf0;
  border-radius: min(6px, 0.31vw);
  margin: 0 auto;
  margin-top: min(60px, 3.12vw);
  padding-bottom: min(77px, 4.01vw);
  padding-top: min(46px, 2.39vw);
  width: min(1510px, 78.64vw);
}
@media screen and (max-width: 767px) {
  .flow__container {
    margin-top: max(40px, 10.66vw);
    padding: max(40px, 10.66vw) max(20px, 5.33vw) max(40px, 10.66vw)
      max(20px, 5.33vw);
    width: 100%;
  }
}
.flow__container-lists {
  display: flex;
  gap: min(60px, 3.12vw);
  margin-inline: min(60px, 3.12vw);
}
@media screen and (max-width: 767px) {
  .flow__container-lists {
    flex-direction: column;
    gap: max(80px, 21.33vw);
  }
}
.flow-container__item {
  position: relative;
  text-align: center;
  width: min(300px, 15.62vw);
}
@media screen and (max-width: 767px) {
  .flow-container__item {
    width: 100%;
  }
}
.flow-container__item:not(:last-child)::after {
  background: url(../img/flow_icon.webp) no-repeat center center/contain;
  content: "";
  height: min(93px, 4.84vw);
  position: absolute;
  right: -17%;
  top: 46%;
  width: min(35px, 1.82vw);
}
@media screen and (max-width: 767px) {
  .flow-container__item:not(:last-child)::after {
    bottom: -25%;
    height: max(93px, 24.8vw);
    left: 50%;
    top: auto;
    transform: translateX(-50%) rotate(90deg);
    width: max(35px, 9.33vw);
  }
}
.flow-container__item-head {
  background: #003d86;
  clip-path: polygon(0 0, 90% 0, 100% 50%, 90% 100%, 0 100%);
  color: #fff;
  font-size: min(26px, 1.35vw);
  font-weight: 700;
  height: min(41px, 2.13vw);
  margin: 0 auto;
  width: min(142px, 7.39vw);
}
@media screen and (max-width: 767px) {
  .flow-container__item-head {
    font-size: max(18px, 4.8vw);
    height: max(30px, 8vw);
    width: max(100px, 26.66vw);
  }
}
.flow-container__item-lead {
  display: grid;
  font-size: min(30px, 1.5vw);
  font-weight: 700;
  height: min(79px, 4.11vw);
  line-height: 140%;
  margin-top: min(11px, 0.57vw);
  place-content: center;
}
@media screen and (max-width: 767px) {
  .flow-container__item-lead {
    font-size: max(18px, 4.8vw);
    margin-top: max(20px, 5.33vw);
  }
}
.flow-container__item-image {
  margin-top: min(30px, 1.5vw);
}
@media screen and (max-width: 767px) {
  .flow-container__item-image {
    margin-top: max(18px, 4.8vw);
  }
}
.flow-container__item-image img {
  width: min(293px, 15.26vw);
}
@media screen and (max-width: 767px) {
  .flow-container__item-image img {
    width: 100%;
  }
}
.flow-container__item-text {
  font-size: min(22px, 1.14vw);
  line-height: 140%;
  margin-top: min(16px, 0.83vw);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .flow-container__item-text {
    font-size: max(16px, 4.26vw);
  }
}
.flow-container__item-text span {
  font-size: min(16px, 0.83vw);
}
@media screen and (max-width: 767px) {
  .flow-container__item-text span {
    font-size: max(14px, 3.73vw);
  }
}
.flow__cloud {
  background: #d9e3f4;
  border-radius: min(6px, 0.31vw);
  margin-inline: min(100px, 5.2vw);
  margin-top: min(76px, 3.95vw);
  padding: min(56px, 2.91vw) min(36px, 1.87vw) min(54px, 2.81vw)
    min(70px, 3.64vw);
}
@media screen and (max-width: 767px) {
  .flow__cloud {
    margin-inline: 0;
    margin-top: max(40px, 10.66vw);
    padding-inline: max(16px, 4.26vw);
  }
}
.flow__cloud-head {
  align-items: center;
  display: flex;
  gap: min(24px, 1.25vw);
}
@media screen and (max-width: 767px) {
  .flow__cloud-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
.flow__cloud-head-setting {
  background: #043c86;
  border-radius: min(6px, 0.31vw);
  color: #fff;
  display: inline-block;
  font-size: min(30px, 1.56vw);
  font-weight: 700;
  height: min(58px, 3.02vw);
  line-height: 180%;
  padding-left: min(70px, 3.64vw);
  position: relative;
  width: min(220px, 11.45vw);
}
@media screen and (max-width: 767px) {
  .flow__cloud-head-setting {
    display: grid;
    font-size: max(14px, 3.73vw);
    height: max(26px, 6.93vw);
    place-content: center;
    width: max(90px, 24vw);
  }
}
.flow__cloud-head-setting::before {
  background: url(../img/flow_setting-icon.webp) no-repeat center center/contain;
  content: "";
  height: min(36px, 1.87vw);
  left: min(21px, 1.09vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(36px, 1.87vw);
}
@media screen and (max-width: 767px) {
  .flow__cloud-head-setting::before {
    height: max(14px, 3.73vw);
    left: max(6px, 1.6vw);
    width: max(14px, 3.73vw);
  }
}
.flow__cloud-head-text {
  color: #003b8e;
  font-size: min(32px, 1.66vw);
  font-weight: 700;
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .flow__cloud-head-text {
    font-size: max(16px, 4.26vw);
  }
}
.flow__cloud-body {
  align-items: center;
  display: flex;
  gap: min(44px, 2.29vw);
  margin-top: min(35px, 1.82vw);
}
@media screen and (max-width: 767px) {
  .flow__cloud-body {
    flex-direction: column;
  }
}
.flow__cloud-body-image {
  flex-shrink: 0;
}
.flow__cloud-body-image img {
  width: min(598px, 31.14vw);
}
@media screen and (max-width: 767px) {
  .flow__cloud-body-image img {
    width: 100%;
  }
}
.flow__cloud-body-text {
  font-size: min(26px, 1.35vw);
  line-height: 140%;
}
@media screen and (max-width: 767px) {
  .flow__cloud-body-text {
    font-size: max(16px, 4.26vw);
  }
}
.price {
  padding-top: min(108px, 5.62vw);
}
@media screen and (max-width: 767px) {
  .price {
    padding-top: max(40px, 10.66vw);
  }
  .price__inner {
    padding-inline: max(20px, 5.33vw);
  }
}
.price__table {
  border-collapse: collapse;
  font-size: min(25px, 1.3vw);
  margin: 0 auto;
  width: min(1184px, 61.66vw);
}
@media screen and (max-width: 767px) {
  .price__table {
    font-size: max(12px, 3.2vw);
    width: 100%;
  }
}
.price__head {
  background: #74758b;
  font-size: min(25px, 1.30vw);
}
@media screen and (max-width: 767px) {
  .price__head {
    font-size: max(10px, 2.66vw);
  }
}
.price__head {
  border: min(1px, 0.05vw) solid #ccc;
  color: #fff;
  font-weight: 700;
  height: min(70px, 3.64vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .price__head {
    height: max(45px, 12vw);
  }
}
.price__head-title {
  color: #fff;
  font-weight: 700;
  padding: min(12px, 0.62vw) min(16px, 0.83vw);
  text-align: left;
  vertical-align: middle;
  width: min(580px, 30.2vw);
}
@media screen and (max-width: 767px) {
  .price__head-title {
    width: max(150px, 40vw);
  }
}
.price__head-col {
  vertical-align: middle;
}
.col-width {
  width: min(211px, 10.98vw);
}
.price__row td,
.price__row th {
  border: min(1px, 0.05vw) solid #ccc;
  font-weight: 700;
  height: min(90px, 4.68vw);
  padding: min(12px, 0.62vw) min(16px, 0.83vw);
  vertical-align: middle;
  width: min(185px, 9.63vw);
}
.price__item-title {
  font-weight: 700;
  text-align: left;
}
.price__item-title sup {
  vertical-align: text-bottom;
}
.price__item {
  text-align: right;
}
.price__item span {
  font-size: min(20px, 1.04vw);
}
@media screen and (max-width: 767px) {
  .price__item {
    font-size: max(9px, 2.4vw);
  }
}
.price__note {
  font-size: min(20px, 1.04vw);
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .price__note {
    font-size: max(10px, 2.66vw);
  }
}
.price__body .price__row:nth-child(2),
.price__body .price__row:nth-child(4) {
  background: #f5f5f5;
}
.price__body .price__row:nth-child(1),
.price__body .price__row:nth-child(3) {
  background: #fff;
}
.price__table-bottom-wrap {
  margin-bottom: min(50px, 2.6vw);
  text-align: center;
}
.price__table-bottom {
  display: flex;
  justify-content: center;
  margin-top: min(17px, 0.88vw);
}
.price__table-bottom span {
  font-size: min(22px, 1.14vw);
  line-height: 140%;
  margin-left: min(16px, 0.83vw);
}
@media screen and (max-width: 767px) {
  .price__table-bottom span {
    font-size: max(10px, 2.66vw);
  }
}
.price__table-bottom-text {
  text-align: left;
}
.price__contact-text {
  border: min(2px, 0.1vw) solid #333;
  border-radius: min(6px, 0.31vw);
  color: #333;
  font-size: min(22px, 1.14vw);
  line-height: 140%;
  margin: 0 auto;
  margin-top: min(36px, 1.87vw);
  padding: min(12px, 0.62vw) 0 min(12px, 0.62vw) min(63px, 3.28vw);
  position: relative;
  width: min(1184px, 61.66vw);
}
@media screen and (max-width: 767px) {
  .price__contact-text {
    border-radius: max(6px, 1.6vw);
    font-size: max(12px, 3vw);
    margin-top: max(20px, 5.33vw);
    padding: max(6px, 1.6vw) max(10px, 2.66vw) max(6px, 1.6vw) max(24px, 6.4vw);
    width: 100%;
  }
}
.price__contact-text::before {
  background: url(../img/feature_info-icon.webp) no-repeat center center/contain;
  content: "";
  height: min(32px, 1.66vw);
  left: min(18px, 0.93vw);
  position: absolute;
  top: min(10px, 0.93vw);
  width: min(32px, 1.66vw);
}
@media screen and (max-width: 767px) {
  .price__contact-text::before {
    height: max(14px, 3.73vw);
    top: max(13px, 3.46vw);
    width: max(14px, 3.73vw);
  }
}
.qa {
  padding-top: min(125px, 6.51vw);
}
@media screen and (max-width: 767px) {
  .qa {
    padding-top: max(60px, 16vw);
  }
  .qa__inner {
    padding-inline: max(20px, 5.33vw);
  }
}
.qa__container {
  display: flex;
  flex-direction: column;
  gap: min(24px, 1.25vw);
  margin: 0 auto;
  margin-top: min(60px, 3.12vw);
  width: min(1360px, 70.83vw);
}
@media screen and (max-width: 767px) {
  .qa__container {
    gap: max(20px, 5.33vw);
    margin-top: max(30px, 8vw);
    width: 100%;
  }
}
.qa__question {
  align-items: center;
  background: #0661ae;
  color: #fff;
  display: flex;
  font-size: min(25px, 1.3vw);
  font-weight: 700;
  height: min(70px, 3.64vw);
  line-height: 140%;
  padding-left: min(40px, 2.08vw);
}
@media screen and (max-width: 767px) {
  .qa__question {
    font-size: min(16px, 4.26vw);
    height: max(28px, 7.46vw);
  }
}
.qa__answer-text,
.qa__question-text {
  margin-left: min(28px, 1.45vw);
}
.qa__answer {
  align-items: flex-start;
  color: #333;
  display: flex;
  font-size: min(25px, 1.3vw);
  font-weight: 700;
  line-height: 140%;
  margin-top: min(20px, 1.04vw);
  padding-left: min(40px, 2.08vw);
}
@media screen and (max-width: 767px) {
  .qa__answer {
    font-size: min(16px, 4.26vw);
    margin-top: max(10px, 2.66vw);
  }
}
.cta {
  background: url(../img/cta_bg.webp) no-repeat center center/cover;
  margin: min(250px, 13.02vw) auto 0 auto;
  max-width: min(1920px, 100vw);
  padding-block: min(76px, 3.95vw);
  text-align: center;
}
.cta img {
  width: min(530px, 27.6vw);
}
@media screen and (max-width: 767px) {
  .cta img {
    width: max(240px, 64vw);
  }
}
.contact {
  background: #fff;
  padding-top: min(100px, 0.52vw);
}
@media screen and (max-width: 767px) {
  .contact {
    padding-top: max(60px, 16vw);
  }
  .contact__inner {
    padding-inline: max(20px, 5.33vw);
  }
}
.contact__ttl {
  font-size: min(36px, 1.87vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact__ttl {
    font-size: max(20px, 5.33vw);
  }
}
.contact__seb {
  font-size: min(26px, 1.35vw);
  font-weight: 500;
  margin-top: min(20px, 1.04vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact__seb {
    font-size: max(14px, 3.73vw);
  }
}
.p-contact__title {
  font-weight: 500;
}
.contact__container {
  padding: min(40px, 2.08vw) min(20px, 1.04vw);
}
@media screen and (max-width: 767px) {
  .contact__container {
    padding: 0;
  }
}
.contact__title {
  font-size: min(24px, 1.25vw);
  font-weight: 700;
  line-height: normal;
}
.contact__form {
  margin: 0 auto;
  margin-top: min(38px, 1.97vw);
  max-width: min(768px, 40vw);
}
@media screen and (max-width: 767px) {
  .contact__form {
    margin-top: max(30px, 8vw);
    max-width: 100%;
  }
}
.contact__fields {
  display: flex;
  flex-direction: column;
  gap: min(20px, 1.04vw);
}
.contact__field {
  font-size: min(16px, 0.83vw);
}
@media screen and (max-width: 767px) {
  .contact__field {
    font-size: max(16px, 4.26vw);
  }
}
.contact__field-error {
  color: #dc3232;
  display: none;
  font-weight: 500;
}
.contact__field-error.is-error {
  display: block;
}
.contact__field-label {
  font-weight: 700;
  line-height: normal;
}
.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: min(1px, 0.05vw) solid #ddd;
  border-radius: min(5px, 0.26vw);
  color: #ccc;
  margin-top: min(8px, 0.41vw);
  padding: min(12px, 0.62vw) min(14px, 0.72vw);
  width: 100%;
}
.form-select:focus {
  outline: 2px solid #fcb900;
}
.form-textarea {
  border: min(1px, 0.05vw) solid #ddd;
  border-radius: min(5px, 0.26vw);
  height: min(190px, 9.89vw);
  margin-top: min(16px, 0.83vw);
  padding: min(12px, 0.62vw) min(16px, 0.83vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-textarea {
    height: max(150px, 40vw);
    margin-top: max(10px, 2.66vw);
  }
}
.form-textarea:focus {
  outline: 0;
}
.form-text {
  border: min(1px, 0.05vw) solid #ddd;
  border-radius: min(5px, 0.26vw);
  margin-bottom: min(18px, 0.93vw);
  margin-top: min(16px, 0.83vw);
  padding: 9px 13px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-text {
    margin-top: max(10px, 2.66vw);
  }
}
.form-text:focus {
  outline: 0;
}
.form-textarea::-moz-placeholder {
  color: #ccc;
}
.form-textarea::placeholder {
  color: #ccc;
}
.form-text::-moz-placeholder {
  color: #ccc;
}
.form-text::placeholder {
  color: #ccc;
}
.contact__field-tag {
  background: #ff7f00;
  color: #fff;
  font-weight: 700;
  margin-left: min(5px, 0.26vw);
  padding: min(1px, 0.05vw) min(8px, 0.41vw);
}
@media screen and (max-width: 767px) {
  .contact__field-tag {
    margin-left: max(5px, 1.33vw);
  }
}
.contact__privacy {
  margin-top: min(24px, 1.25vw);
  text-align: center;
}
.contact__privacy-text {
  font-size: min(16px, 0.83vw);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contact__privacy-text {
    font-size: min(16px, 4.26vw);
  }
}
.contact__privacy-text a {
  color: #1571da;
  font-weight: 700;
  margin-right: min(5px, 0.26vw);
  position: relative;
  text-decoration-line: underline;
}
.contact__form-button-link {
  cursor: pointer;
  border: none;
  background: #ca2c51;
  border-radius: min(5px, 0.26vw);
  color: #fff;
  display: grid;
  font-size: min(21px, 1.09vw);
  font-weight: 700;
  height: min(84px, 4.37vw);
  margin: min(40px, 2.08vw) auto 0 auto;
  place-content: center;
  width: min(444px, 23.12vw);
}
.contact__form-button-link:hover {
  opacity: 1;
  -webkit-animation: flash-contact 1.5s;
  animation: flash-contact 1.5s;
}
@keyframes flash-contact {
  0% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .contact__form-button-link {
    border-radius: max(6px, 1.6 vw);
    font-size: max(16px, 4.26vw);
    height: max(46px, 12.26vw);
    margin: max(18px, 4.8vw) auto 0 auto;
    width: max(200px, 53.33vw);
  }
  .footer {
    padding-top: max(40px, 10.66vw);
  }
}
.footer__image {
  background: #d8e2f3;
  text-align: center;
  transition: opacity 0.3s ease;
}
.footer__image:hover {
  opacity: 0.7;
}
.footer__image img {
  width: min(1744px, 90.83vw);
}
@media screen and (max-width: 767px) {
  .footer__image img {
    width: 100%;
  }
}
.footer__bottom {
  align-items: center;
  background: #fff;
  display: flex;
  height: min(90px, 4.68vw);
  justify-content: space-between;
  margin: min(20px, 1.04vw) auto 0 auto;
  max-width: min(1920px, 100vw);
  padding-inline: min(40px, 2.08vw);
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    display: block;
    height: 100%;
    margin-top: max(20px, 5.33vw);
  }
}
.footer__logo img {
  width: min(266px, 13.85vw);
  transition: opacity 0.3s ease;
}
.footer__logo img:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .footer__logo img {
    width: max(200px, 53.33vw);
  }
}
.footer__links {
  font-size: min(14px, 0.72vw);
}
@media screen and (max-width: 767px) {
  .footer__links {
    font-size: max(14px, 3.73vw);
    margin-top: max(20px, 5.33vw);
    text-align: right;
  }
}
.footer__link-text {
  transition: opacity 0.3s ease;
}
.footer__link-text:not(:first-child) {
  margin-left: min(15px, 0.78vw);
  position: relative;
}
.footer__link-text:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .footer__link-text:not(:first-child) {
    margin-left: max(15px, 4vw);
  }
}
.footer__link-text:not(:first-child)::before {
  background: #333;
  content: "";
  height: min(16px, 0.83vw);
  left: -5%;
  position: absolute;
  top: min(2px, 0.1vw);
  width: min(1px, 0.05vw);
}
@media screen and (max-width: 767px) {
  .footer__link-text:not(:first-child)::before {
    height: max(16px, 4.26vw);
    top: max(2px, 0.53vw);
    width: max(1px, 0.26vw);
  }
}
.Copyright {
  background: #fff;
  font-size: min(16px, 0.83vw);
  padding-block: min(16px, 0.83vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .Copyright {
    font-size: max(10px, 2.66vw);
    margin-top: max(10px, 2.66vw);
  }
}
.hidden-fields-container {
  display: none;
}
.screen-reader-response {
  display: none;
}
.request__hero {
  background: url(../img/cta_bg.webp) no-repeat center center / cover;
  padding-block: 64px;
}
.request__hero-text {
  font-size: 40px;
  text-align: center;
  color: #fff;
}
.wpcf7-response-output {
  text-align: center;
  margin-top: 18px;
  padding: 10px;
}
.wpcf7-not-valid-tip {
  color: #dc3232;
}
