/* =========================================================
   BASE / 既存サイトCSS対策
========================================================= */

.impossible-lp {
  --blue: #0068d9;
  --deep-blue: #004ca5;
  --light-blue: #eaf5ff;
  --yellow: #fff100;
  --black: #111;
  --white: #fff;

  position: relative !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;

  padding: 0 !important;

  overflow: clip;

  color: var(--black);

  line-height: 1.6;

  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
}


/*
既存サイト側でコンテンツ幅が設定されている場合の解除
*/
body:has(.impossible-lp) main {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


/*
main直下のラッパー対策
*/
body:has(.impossible-lp) main > div {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


/*
100vwは使用しない
*/
.impossible-lp section {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}


.impossible-lp *,
.impossible-lp *::before,
.impossible-lp *::after {
  box-sizing: border-box;
}


.impossible-lp img {
  display: block;

  max-width: 100%;

  height: auto;

  margin: 0;

  padding: 0;

  border: 0;

  box-shadow: none;
}


.impossible-lp h1,
.impossible-lp h2,
.impossible-lp h3,
.impossible-lp p {
  margin-top: 0;
}


.impossible-lp a {
  text-decoration: none;
}


.sp-only {
  display: none;
}


/* =========================================================
   SCROLL FADE
========================================================= */

.js-ready .js-fade-up {
  opacity: 0;

  transform:
    translate3d(0, 45px, 0);

  transition:
    opacity .85s cubic-bezier(.22,.61,.36,1),
    transform .85s cubic-bezier(.22,.61,.36,1);

  will-change:
    opacity,
    transform;
}


.js-ready .js-fade-up.is-show {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}


.js-delay-1 {
  transition-delay: .15s !important;
}

.js-delay-2 {
  transition-delay: .3s !important;
}

.js-delay-3 {
  transition-delay: .45s !important;
}

.js-delay-4 {
  transition-delay: .6s !important;
}


/* =========================================================
   HERO
========================================================= */

.impossible-hero {
  position: relative;

  min-height: 760px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 80% 30%,
      rgba(255,255,255,.17) 0,
      rgba(255,255,255,0) 34%
    ),
    var(--blue);

  color: #fff;
}


.impossible-hero::before {
  content: "";

  position: absolute;

  width: 680px;
  height: 680px;

  right: -260px;
  top: -280px;

  border:
    1px solid rgba(255,255,255,.25);

  border-radius: 50%;
}


.impossible-hero::after {
  content: "";

  position: absolute;

  width: 520px;
  height: 520px;

  left: -350px;
  bottom: -300px;

  border:
    90px solid rgba(255,255,255,.06);

  border-radius: 50%;
}


.impossible-hero__inner {
  position: relative;

  z-index: 2;

  width:
    min(1280px, calc(100% - 60px));

  min-height: 760px;

  margin:
    0 auto;

  display: grid;

  grid-template-columns:
    50% 50%;

  align-items: center;
}


.impossible-hero__copy {
  position: relative;

  z-index: 3;

  animation:
    heroCopy 1s ease both;
}


.impossible-hero__sub {
  margin:
    0 0 20px !important;

  color:
    #fff !important;

  font-size:
    15px !important;

  font-weight:
    700;

  letter-spacing:
    .18em;
}
.impossible-hero__sub span {
    font-size: 2em;
    color: yellow;
}

.impossible-hero__title {
  margin:
    0 !important;

  color:
    #fff !important;

  font-size:
    clamp(64px, 7vw, 108px) !important;

  line-height:
    1.1 !important;

  letter-spacing:
    -.05em;

  font-weight:
    900;
}
.impossible-hero__title span {
    font-size: 2em;
}

.impossible-hero__label {
  display: flex;

  gap: 8px;

  margin-top: 36px;
}


.impossible-hero__label span {
  padding:
    8px 13px;

  border:
    1px solid rgba(255,255,255,.65);

  border-radius:
    50px;

  color: #fff;

  font-size:
    13px;

  font-weight:
    700;
}


.impossible-hero__visual {
  align-self:
    end;

  animation:
    heroVisual 1.1s .2s
    cubic-bezier(.22,.8,.3,1)
    both;
}


.impossible-hero__visual img {
  width:
    100%;

  max-height:
    720px;

  object-fit:
    contain;

  object-position:
    bottom center;
}


.scroll-guide {
  position:
    absolute;

  z-index:
    5;

  left:
    50%;

  bottom:
    22px;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  gap:
    8px;

  transform:
    translateX(-50%);
}


.scroll-guide span {
  color:
    #fff;

  font-size:
    10px;

  font-weight:
    700;

  letter-spacing:
    .2em;
}


.scroll-guide i {
  position:
    relative;

  width:
    1px;

  height:
    48px;

  overflow:
    hidden;

  background:
    rgba(255,255,255,.35);
}


.scroll-guide i::before {
  content:
    "";

  position:
    absolute;

  top:
    -100%;

  left:
    0;

  width:
    100%;

  height:
    100%;

  background:
    #fff;

  animation:
    scrollLine 1.8s infinite;
}


/* =========================================================
   TALK
========================================================= */

.talk-section {
  position:
    relative;

  min-height:
    660px;

  overflow:
    hidden;
}


.talk-section--white {
  background:
    #fff;
}


.talk-section--blue {
  background:
    /*var(--blue)*/none;
}


.talk-section__inner {
  width:
    min(1160px, calc(100% - 80px));

  min-height:
    660px;

  margin:
    0 auto;

  display:
    grid;

  grid-template-columns:
    1fr 1fr;

  align-items:
    center;

  gap:
    80px;
}


.talk-section__inner--image-right
.talk-visual {
  order:
    2;
}


.talk-section__inner--image-right
.talk-content {
  order:
    1;
}


.talk-visual {
  align-self:
    end;
}


.talk-visual img {
  max-height:
    620px;

  margin:
    0 auto;

  object-fit:
    contain;

  object-position:
    bottom;
}


.talk-content {
  position:
    relative;

  z-index:
    2;
}


/* =========================================================
   SPEECH
========================================================= */

.speech {
  position:
    relative;

  display:
    inline-block;

  max-width:
    540px;

  padding:
    36px 44px;

  border-radius:
    32px;

  background:
    var(--blue);

  color:
    #fff;

  filter:
    drop-shadow(
      0 14px 22px rgba(0,0,0,.12)
    );
}


.speech p {
  margin:
    0 !important;

  color:
    inherit !important;

  font-size:
    clamp(24px, 2.4vw, 36px) !important;

  line-height:
    1.55 !important;

  font-weight:
    900;

  letter-spacing:
    -.03em;
}


.speech--white {
  background:
    #fff;

  color:
    var(--black);
}


.speech--right::after {
  content:
    "";

  position:
    absolute;

  left:
    -25px;

  bottom:
    52px;

  border-top:
    15px solid transparent;

  border-bottom:
    15px solid transparent;

  border-right:
    30px solid var(--blue);
}


.talk-section--blue
.speech--right.speech--white::after {
  border-right-color:
    #fff;
}


.speech--left::after {
  content:
    "";

  position:
    absolute;

  right:
    -25px;

  bottom:
    52px;

  border-top:
    15px solid transparent;

  border-bottom:
    15px solid transparent;

  border-left:
    30px solid var(--blue);
}


.talk-section--blue
.speech--left.speech--white::after {
  border-left-color:
    #fff;
}


.speech-note {
  display:
    inline-block;

  margin-top:
    8px;

  font-size:
    15px;

  font-weight:
    700;
}


/* =========================================================
   TALK ONLY
========================================================= */

.talk-only {
  position:
    relative;

  min-height:
    380px;

  display:
    flex;

  align-items:
    center;
}


.talk-only--blue {
  background:
    /*var(--blue)*/none;
}


.talk-only--white {
  background:
    #fff;
}


.talk-only__inner {
  width:
    min(1000px, calc(100% - 80px));

  margin:
    0 auto;

  text-align:
    center;
}


.speech--center {
  padding:
    42px 70px;
}


/*
通常の下向き吹き出し
*/
.speech--center::after {
  content:
    "";

  position:
    absolute;

  left:
    50%;

  bottom:
    -25px;

  transform:
    translateX(-50%);

  border-left:
    18px solid transparent;

  border-right:
    18px solid transparent;

  border-top:
    30px solid var(--blue);
}


.speech--center.speech--white::after {
  border-top-color:
    #fff;
}


/*
上向き吹き出し
*/
.speech--center.speech--up::after {
  left:
    50%;

  top:
    -25px;

  bottom:
    auto;

  transform:
    translateX(-50%);

  border-left:
    18px solid transparent;

  border-right:
    18px solid transparent;

  border-top:
    0;

  border-bottom:
    30px solid var(--blue);
}


.speech--center.speech--white.speech--up::after {
  border-bottom-color:
    #fff;
}


.speech--impact {
  background:
    #111;

  transform:
    rotate(-2deg);
}


.speech--impact::after {
  border-top-color:
    #111;
}


.speech--impact.speech--up::after {
  border-top:
    0;

  border-bottom-color:
    #111;
}


.speech--impact p {
  font-size:
    clamp(38px, 5vw, 70px) !important;
}


/* =========================================================
   TRUTH
========================================================= */

.truth-section {
  padding:
    150px 30px;

  background:
    #111;

  color:
    #fff;

  text-align:
    center;
}


.truth-section__inner {
  max-width:
    1000px;

  margin:
    0 auto;
}


.truth-section__small {
  margin:
    0 !important;

  color:
    rgba(255,255,255,.58) !important;

  font-size:
    14px !important;

  font-weight:
    700;

  letter-spacing:
    .18em;
}


.truth-section__line {
  width:
    1px;

  height:
    90px;

  margin:
    35px auto;

  background:
    rgba(255,255,255,.3);
}


.truth-section__talk {
  margin:
    0 0 35px !important;

  color:
    #fff !important;

  font-size:
    28px !important;

  font-weight:
    900;
}


.truth-section__message {
  margin:
    0 !important;

  color:
    #fff !important;

  font-size:
    clamp(34px, 4.6vw, 66px) !important;

  line-height:
    1.5 !important;

  font-weight:
    900;

  letter-spacing:
    -.04em;
}


/* =========================================================
   REVEAL
========================================================= */

.reveal-section {
  position:
    relative;

  overflow:
    hidden;

  background:
    var(--blue);

  color:
    #fff;
}


.reveal-section__bg-text {
  position:
    absolute;

  left:
    50%;

  top:
    3%;

  transform:
    translateX(-50%);

  white-space:
    nowrap;

  color:
    rgba(255,255,255,.055);

  font-size:
    clamp(110px, 18vw, 280px);

  font-weight:
    900;

  letter-spacing:
    -.08em;

  pointer-events:
    none;
}


/*
1カラム
上：コピー
下：画像
*/
.reveal-section__inner {
  position:
    relative;

  z-index:
    2;

  width:
    min(1180px, calc(100% - 80px));

  margin:
    0 auto;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;
}


/* -------------------------
   COPY
------------------------- */

.reveal-section__copy {
  position:
    relative;

  z-index:
    3;

  width:
    100%;

  max-width:
    900px;

  padding:
    110px 0 45px;

  text-align:
    center;
}


.reveal-section__speech {
  display:
    table;

  margin:
    0 auto 35px;

  padding:
    24px 48px;

  border-radius:
    30px;

  transform:
    rotate(-3deg);
}


.reveal-section__speech p {
  font-size:
    36px !important;
}


.reveal-section__pre {
  margin:
    0 0 10px !important;

  color:
    #fff !important;

  font-size:
    22px !important;

  font-weight:
    900;
}


.reveal-section__title {
  margin:
    0 !important;

  color:
    #fff !important;

  font-size:
    clamp(54px, 6vw, 86px) !important;

  line-height:
    1.2 !important;

  font-weight:
    900;

  letter-spacing:
    -.06em;
}


.reveal-section__title span {
  position:
    relative;

  z-index:
    1;

  display:
    inline-block;

  margin:
    0 .1em;

  color:
    #111;
}


.reveal-section__title span::before {
  content:
    "";

  position:
    absolute;

  z-index:
    -1;

  left:
    -8px;

  right:
    -8px;

  bottom:
    5px;

  height:
    45%;

  background:
    var(--yellow);

  transform:
    rotate(-2deg);
}


.reveal-section__description {
  margin:
    30px 0 35px !important;

  color:
    #fff !important;

  font-size:
    17px !important;

  line-height:
    2 !important;

  font-weight:
    700;
}


.reveal-section__copy
.main-cta {
  margin:
    0 auto;

  text-align:
    left;
}


/* -------------------------
   IMAGE
------------------------- */

.reveal-section__visual {
  position:
    relative;

  z-index:
    2;

  width:
    100%;

  margin-top:
    10px;

  display:
    flex;

  justify-content:
    center;

  align-items:
    flex-end;
}


.reveal-section__visual img {
  display:
    block;

  width:
    auto;

  max-width:
    min(100%, 1050px);

  max-height:
    720px;

  margin:
    0 auto;

  object-fit:
    contain;

  object-position:
    center bottom;
}


/* =========================================================
   CTA
========================================================= */

.main-cta {
  position:
    relative;

  display:
    flex;

  flex-direction:
    column;

  justify-content:
    center;

  width:
    100%;

  max-width:
    500px;

  min-height:
    105px;

  padding:
    18px 80px 18px 34px;

  border-radius:
    12px;

  background:
    #fff;

  color:
    var(--blue) !important;

  box-shadow:
    0 14px 30px rgba(0,0,0,.13);

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


.main-cta:hover {
  transform:
    translateY(-5px);

  box-shadow:
    0 18px 38px rgba(0,0,0,.2);
}


.main-cta__small {
  margin-bottom:
    4px;

  font-size:
    12px;

  font-weight:
    700;
}


.main-cta strong {
  font-size:
    22px;

  font-weight:
    900;
}


.main-cta i {
  position:
    absolute;

  right:
    30px;

  top:
    50%;

  font-style:
    normal;

  font-size:
    30px;

  transform:
    translateY(-50%);

  transition:
    transform .25s;
}


.main-cta:hover i {
  transform:
    translate(6px, -50%);
}


/* =========================================================
   SERVICE
========================================================= */

.service-section {
  padding:
    130px 30px;

  background:
    #fff;
}


.section-heading {
  text-align:
    center;
}


.section-heading > p {
  margin:
    0 0 15px !important;

  color:
    var(--blue) !important;

  font-size:
    13px !important;

  font-weight:
    900;

  letter-spacing:
    .18em;
}


.section-heading h2 {
  margin:
    0 !important;

  color:
    #111 !important;

  font-size:
    clamp(42px, 5vw, 70px) !important;

  line-height:
    1.3 !important;

  font-weight:
    900;

  letter-spacing:
    -.05em;
}


.service-section__lead {
  max-width:
    820px;

  margin:
    35px auto 0 !important;

  color:
    #111 !important;

  text-align:
    center;

  font-size:
    16px !important;

  line-height:
    2 !important;
}


.service-points {
  width:
    min(1100px, 100%);

  margin:
    80px auto 0;

  display:
    grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap:
    28px;
}


.service-point {
  position:
    relative;

  min-height:
    330px;

  padding:
    50px 30px 38px;

  border-radius:
    20px;

  background:
    var(--light-blue);

  text-align:
    center;
}


.service-point__number {
  position:
    absolute;

  left:
    18px;

  top:
    15px;

  color:
    var(--blue);

  font-size:
    12px;

  font-weight:
    900;

  letter-spacing:
    .12em;
}


.service-point__icon {
  width:
    94px;

  height:
    94px;

  margin:
    0 auto 25px;

  border-radius:
    50%;

  display:
    flex;

  justify-content:
    center;

  align-items:
    center;

  background:
    var(--blue);

  color:
    #fff;

  font-size:
    12px;

  font-weight:
    900;

  letter-spacing:
    .1em;
}


.service-point h3 {
  margin:
    0 0 16px !important;

  color:
    #111 !important;

  font-size:
    23px !important;

  font-weight:
    900;
}


.service-point p {
  margin:
    0 !important;

  color:
    #111 !important;

  font-size:
    14px !important;

  line-height:
    1.9 !important;
}


.service-catch {
  margin:
    120px 0;

  text-align:
    center;

  font-size:
    clamp(34px, 5vw, 72px);

  line-height:
    1.5;

  font-weight:
    900;
}


.service-catch span {
  display:
    inline-block;
}


.service-catch strong {
  display:
    block;

  color:
    var(--blue);

  font-size:
    1.25em;
}


.bottom-cta {
  max-width:
    900px;

  margin:
    0 auto;

  padding:
    70px 30px;

  border-radius:
    30px;

  background:
    #f2f8ff;

  text-align:
    center;
}


.bottom-cta__catch {
  margin:
    0 0 30px !important;

  color:
    #111 !important;

  font-size:
    clamp(28px, 4vw, 48px) !important;

  line-height:
    1.45 !important;

  font-weight:
    900;
}


.main-cta--blue {
  margin:
    0 auto;

  background:
    var(--blue);

  color:
    #fff !important;
}


/* =========================================================
   FV ANIMATION
========================================================= */

@keyframes heroCopy {

  from {
    opacity:
      0;

    transform:
      translateX(-35px);
  }

  to {
    opacity:
      1;

    transform:
      translateX(0);
  }

}


@keyframes heroVisual {

  from {
    opacity:
      0;

    transform:
      translateY(50px)
      scale(.96);
  }

  to {
    opacity:
      1;

    transform:
      translateY(0)
      scale(1);
  }

}


@keyframes scrollLine {

  0% {
    top:
      -100%;
  }

  100% {
    top:
      100%;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 900px) {

  .impossible-hero {
    min-height:
      auto;
  }


  .impossible-hero__inner {
    width:
      calc(100% - 40px);

    min-height:
      auto;

    grid-template-columns:
      1fr;

    padding-top:
      70px;
  }


  .impossible-hero__copy {
    text-align:
      center;
  }


  .impossible-hero__label {
    justify-content:
      center;
  }


  .impossible-hero__visual {
    margin-top:
      20px;
  }


  .talk-section__inner {
    width:
      calc(100% - 50px);

    gap:
      30px;
  }


  .reveal-section__inner {
    width:
      calc(100% - 50px);
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media screen and (max-width: 767px) {

  .sp-only {
    display:
      block;
  }


  /* -------------------------
     FADE
  ------------------------- */

  .js-ready .js-fade-up {
    transform:
      translate3d(0, 35px, 0);
  }


  /* -------------------------
     HERO
  ------------------------- */

  .impossible-hero__inner {
    width:
      100%;

    padding:
      10px 10px 0;
  }


  .impossible-hero__sub {
    margin-bottom:
      0px !important;

    font-size:
      11px !important;
  }
.impossible-hero__sub span {
    font-size: 1.5em;
}

  .impossible-hero__title {
    font-size:
      14vw !important;

    /*line-height:
      1 !important;*/
  }
.impossible-hero__title span {
    font-size: 1.5em;
}

  .impossible-hero__label {
    flex-wrap:
      wrap;

    margin-top:
      22px;
      display: none;
  }


  .impossible-hero__label span {
    padding:
      6px 10px;

    font-size:
      10px;
  }


  .impossible-hero__visual {
    width:
      calc(100% + 40px);

    margin-left:
      -20px;

    margin-top:
      18px;
  }


  .impossible-hero__visual img {
    max-height:
      none;
  }


  .scroll-guide {
    display:
      none;
  }


  /* -------------------------
     TALK
  ------------------------- */

  .talk-section {
    min-height:
      auto;

    padding-top:
      70px;
  }


  .talk-section__inner,
  .talk-section__inner--image-right {
    width:
      100%;

    min-height:
      auto;

    padding:
      0 20px;

    display:
      flex;

    flex-direction:
      column;

    gap:
      25px;
  }


  .talk-content {
    order:
      1 !important;

    width:
      100%;

    text-align:
      center;
  }


  .talk-visual {
    order:
      2 !important;

    width:
      100%;
  }


  .talk-visual img {
    width:
      100%;

    max-height:
      460px;
  }


  /* -------------------------
     SPEECH
  ------------------------- */

  .speech {
    max-width:
      92%;

    padding:
      24px 25px;

    border-radius:
      22px;
  }


  .speech p {
    font-size:
      20px !important;

    line-height:
      1.5 !important;
  }


  /*
  左右向き吹き出しは
  SPでは下向きにする
  */
  .speech--right::after,
  .speech--left::after {
    left:
      50%;

    right:
      auto;

    top:
      auto;

    bottom:
      -22px;

    transform:
      translateX(-50%);

    border-left:
      15px solid transparent;

    border-right:
      15px solid transparent;

    border-top:
      25px solid var(--blue);

    border-bottom:
      0;
  }


  .talk-section--blue
  .speech--right.speech--white::after,
  .talk-section--blue
  .speech--left.speech--white::after {
    border-left-color:
      transparent;

    border-right-color:
      transparent;

    border-top-color:
      #fff;
  }


  /* -------------------------
     TALK ONLY
  ------------------------- */

  .talk-only {
    min-height:
      280px;

    padding:
      70px 20px;
  }


  .talk-only__inner {
    width:
      100%;
  }


  .speech--center {
    padding:
      25px 30px;
  }


  /*
  上向き吹き出しは
  SPでも上向きを維持
  */
  .speech--center.speech--up::after {
    top:
      -20px;

    bottom:
      auto;

    border-left:
      14px solid transparent;

    border-right:
      14px solid transparent;

    border-top:
      0;

    border-bottom:
      22px solid var(--blue);
  }


  .speech--center.speech--white.speech--up::after {
    border-bottom-color:
      #fff;
  }


  .speech--impact.speech--up::after {
    border-bottom-color:
      #111;
  }


  .speech--impact p {
    font-size:
      35px !important;
  }


  /* -------------------------
     TRUTH
  ------------------------- */

  .truth-section {
    padding:
      110px 22px;
  }


  .truth-section__line {
    height:
      60px;
  }


  .truth-section__talk {
    font-size:
      22px !important;
  }


  .truth-section__message {
    font-size:
      31px !important;

    line-height:
      1.6 !important;
  }


  /* -------------------------
     REVEAL
  ------------------------- */

  .reveal-section__inner {
    width:
      100%;

    padding:
      0 20px;

    display:
      flex;

    flex-direction:
      column;

    align-items:
      center;
  }


  .reveal-section__copy {
    width:
      100%;

    padding:
      80px 0 35px;

    text-align:
      center;
  }


  .reveal-section__speech {
    margin:
      0 auto 30px;

    padding:
      18px 30px;
  }


  .reveal-section__speech p {
    font-size:
      25px !important;
  }


  .reveal-section__pre {
    font-size:
      18px !important;
  }


  .reveal-section__title {
    font-size:
      13vw !important;

    line-height:
      1.2 !important;
  }


  .reveal-section__description {
    margin:
      25px 0 30px !important;

    font-size:
      14px !important;

    line-height:
      1.9 !important;
  }


  .reveal-section__visual {
    width:
      calc(100% + 40px);

    margin-left:
      -20px;

    margin-right:
      -20px;

    margin-top:
      10px;
  }


  .reveal-section__visual img {
    width:
      100%;

    max-width:
      700px;

    max-height:
      none;
  }


  /* -------------------------
     CTA
  ------------------------- */

  .main-cta {
    width:
      100%;

    min-height:
      90px;

    margin:
      0 auto;

    padding:
      15px 55px 15px 20px;

    text-align:
      left;
  }


  .main-cta strong {
    font-size:
      18px;
  }


  .main-cta i {
    right:
      20px;
  }


  /* -------------------------
     SERVICE
  ------------------------- */

  .service-section {
    padding:
      90px 20px;
  }


  .section-heading h2 {
    font-size:
      39px !important;
  }


  .service-section__lead {
    margin-top:
      25px !important;

    text-align:
      left;

    font-size:
      14px !important;
  }


  .service-section__lead br {
    display:
      none;
  }


  .service-points {
    margin-top:
      50px;

    grid-template-columns:
      1fr;

    gap:
      16px;
  }


  .service-point {
    min-height:
      auto;

    padding:
      45px 25px 35px;
  }


  .service-catch {
    margin:
      80px 0;

    font-size:
      32px;
  }


  .service-catch span {
    display:
      block;
  }


  .bottom-cta {
    padding:
      45px 20px;

    border-radius:
      20px;
  }


  .bottom-cta__catch {
    font-size:
      29px !important;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .js-ready .js-fade-up {
    opacity:
      1 !important;

    transform:
      none !important;

    transition:
      none !important;
  }

}