:root {
  --color-orange-500: #f36a32;
  --color-orange-600: #e95620;
  --color-orange-700: #bd3d12;
  --color-green-500: #00a86b;
  --color-green-550: #07875b;
  --color-green-600: #007e55;
}

.p-mv-home-message > .l-background .c-fig,
.p-home__worries > .l-background figure,
.p-home__about .l-background .c-fig,
.p-home__sec04 .l-background .c-fig {
  position: relative;
}

.p-mv-home-message > .l-background .c-fig::after,
.p-home__worries > .l-background figure::after,
.p-home__about .l-background .c-fig::after,
.p-home__sec04 .l-background .c-fig::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.p-mv-home-message > .l-background .c-fig::after {
  background: linear-gradient(90deg, rgb(4 24 24 / .78), rgb(4 24 24 / .46) 58%, rgb(4 24 24 / .34));
}

.p-home__worries > .l-background figure::after {
  background: rgb(5 22 27 / .67);
}

.p-home__about .l-background .c-fig::after {
  background: linear-gradient(rgb(9 28 31 / .62), rgb(9 28 31 / .5));
}

.p-home__sec04 .l-background .c-fig::after {
  background: rgb(7 23 28 / .58);
}

.p-mv-home-message .grid-content .lead-head,
.p-mv-home-message .grid-content .lead-green,
.p-home__worries .grid-content,
.p-home__about__inner,
.p-home__sec04__inner > .sec-heading {
  text-shadow: 0 2px 12px rgb(0 0 0 / .75);
}

.p-mv-home-message .grid-content .lead-green {
  color: #6fe3a6;
}

.p-mv-home-message .grid-content {
  width: min(1500px, calc(100vw - 40px));
  max-width: calc(100vw - 40px);
}

.p-mv-home-message .grid-content .lead-head {
  font-size: clamp(24px, 2.1vw, 40px);
}

.p-mv-home-message .grid-content .lead-green {
  font-size: clamp(34px, 3.45vw, 66px);
  line-height: 1.45;
}

.p-mv-home-message .grid-content .lead-green span::before {
  top: -.58em;
  left: 50%;
  font-size: .48em;
  line-height: 1;
  translate: -50% 0;
}

.p-mv-home-message .grid-content .lead-bg-green span {
  margin-left: 0;
  font-size: clamp(43px, 4.55vw, 87px);
  line-height: 1.12;
}

.p-mv-home-message .grid-content .lead-bg-green span {
  text-shadow: none;
}

.p-headerbar-cv__btnmenu .c-btn-box {
  --_btn-col-font: #fff;
  min-width: 260px;
  font-weight: 700;
}

.p-home__achievements .flex-logo-list {
  gap: 18px;
  justify-content: center;
}

.p-home__achievements .flex-logo-list .logo_client {
  display: grid;
  place-items: center;
  width: calc((100% - 36px) / 3);
  min-height: 92px;
  padding: 12px 18px;
  border: 1px solid #d8dfdc;
  background: #fff;
}

.p-home__achievements .flex-logo-list .logo_client img {
  width: 100%;
  max-width: 180px;
  height: 70px;
  object-fit: contain;
}

.p-home__sec-banner__inner .c-banner {
  width: min(1200px, 100%);
  margin-inline: auto;
}

.p-home__sec-banner__inner .c-banner img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 768px) and (max-width: 1280px) {
  .p-headerbar-cv__logo .logo,
  .p-headerbar-cv__logo .logo-color {
    width: 140px;
    max-width: 140px;
  }
}

@media (max-width: 767px) {
  .p-mv-home-message .grid-content {
    width: 100%;
    max-width: 100%;
  }

  .p-mv-home-message .grid-content .lead-head {
    padding-inline: 20px;
    font-size: clamp(18px, 5vw, 28px);
  }

  .p-mv-home-message .grid-content .lead-green {
    padding-inline: 12px;
    font-size: clamp(23px, 5.7vw, 36px);
    line-height: 1.45;
  }

  .p-mv-home-message .grid-content .lead-bg-green {
    padding-inline: 30px;
  }

  .p-mv-home-message .grid-content .lead-bg-green span {
    font-size: clamp(27px, 7vw, 38px);
    line-height: 1.28;
  }

  .p-home__worries > .p-home__worries__inner .grid-content {
    padding-inline: 14px;
  }

  .p-home__worries > .p-home__worries__inner .grid-content .ttl,
  .p-home__worries > .p-home__worries__inner .grid-content .ttl span {
    font-size: clamp(24px, 6vw, 34px);
    line-height: 1.4;
  }

  .p-headerbar-cv {
    grid-template-columns: 120px minmax(0, 1fr);
    padding-inline: 12px;
  }

  .p-headerbar-cv__nav {
    justify-self: end;
  }

  .p-headerbar-cv__logo .logo,
  .p-headerbar-cv__logo .logo-color {
    max-width: 120px;
  }

  .p-headerbar-cv__btnmenu .c-btn-box {
    --_btn-width: 94;
    min-width: 0;
    font-size: 14px;
  }

  .p-home__achievements .flex-logo-list {
    gap: 8px;
  }

  .p-home__achievements .flex-logo-list .logo_client {
    width: calc((100% - 8px) / 2);
    min-height: 70px;
    padding: 8px;
  }

  .p-home__achievements .flex-logo-list .logo_client img {
    height: 52px;
  }
}
