.c-hero {
  background-color: transparent !important;
  background-color: var(--block-color-background, transparent) !important;
}
.c-hero .block_inner {
  display: flex;
  flex-direction: column;
  row-gap: 36px;
  padding-bottom: 50px;
  padding-top: 132px;
}
@media (min-width: 769px) {
  .c-hero .block_inner:has(.text):has(.scroll-btn) {
    display: grid;
    grid-gap: 36px 60px;
    gap: 36px 60px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 482px);
    grid-template-areas: "heading heading" "scroll-btn text";
  }
  .c-hero .block_inner:has(.text):has(.scroll-btn) .heading {
    min-height: 425px;
    padding-bottom: 145px;
    position: relative;
  }
  .c-hero .block_inner:has(.text):has(.scroll-btn) .heading:after {
    background-color: transparent;
    border-left: 1px solid var(--color--7);
    border-right: 1px solid var(--color--7);
    border-top: 1px solid var(--color--7);
    border-radius: 8px 8px 0 0;
    content: "";
    opacity: 0.1;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 12px;
  }
}
@media (min-width: 1281px) {
  .c-hero .block_inner:has(.text):not(:has(.scroll-btn)) {
    align-items: flex-end;
    display: grid;
    grid-gap: 36px 60px;
    gap: 36px 60px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 482px);
    grid-template-areas: "heading text";
    min-height: 498px;
  }
}
.c-hero .heading {
  color: var(--block-color-heading, var(--base--text-color));
  font-size: max(2.8rem, min(calc(2.8rem + 0.09 * (100vw - 27.5rem)), 6.75rem));
  grid-area: heading;
  letter-spacing: -0.03em;
  line-height: 1em;
  text-wrap: pretty;
  width: 100%;
}
.c-hero .text {
  color: var(--block-color-text, var(--base--text-color));
  font-size: max(
    1.0625rem,
    min(calc(1.0625rem + 0.007 * (100vw - 27.5rem)), 1.5rem)
  );
  grid-area: text;
  letter-spacing: -0.02em;
  line-height: 1.2em;
  max-width: 482px;
  text-wrap: pretty;
  width: 100%;
}
.c-hero .scroll-btn {
  background-color: transparent;
  background-color: var(--color--7);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: transparent;
  display: none;
  font-size: 0;
  grid-area: scroll-btn;
  overflow: hidden;
  position: relative;
  width: 48px;
  height: 48px;
  transition-duration: 0.1s, 0.4s;
  transition-property: background-color, border-color;
  transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  z-index: 1;
}
@media (min-width: 769px) {
  .c-hero .scroll-btn {
    display: flex;
  }
}
.c-hero .scroll-btn:before,
.c-hero .scroll-btn:after {
  content: "";
  margin: auto;
  inset: 0;
  position: absolute;
  transition-duration: 0.4s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
}
.c-hero .scroll-btn:before {
  background: transparent
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M5.25 2.869V12h1.5V2.869l4.2 4.2L12 6 6 0 0 6l1.05 1.069 4.2-4.2Z'/%3E%3C/svg%3E")
    no-repeat center / 12px;
  width: 12px;
  height: 12px;
  transform: translateY(0) scaleY(-1);
  z-index: 0;
}
.c-hero .scroll-btn:after {
  background: var(--color--3)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3E%3Cpath fill='%23000015' d='M5.25 2.869V12h1.5V2.869l4.2 4.2L12 6 6 0 0 6l1.05 1.069 4.2-4.2Z'/%3E%3C/svg%3E")
    no-repeat center / 12px;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  transform: translateY(-110%) scaleY(-1);
  z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
  .c-hero .scroll-btn:hover {
    background-color: var(--color--3);
    border-color: var(--color--3);
    transition-delay: 0.3s, 0s;
  }
  .c-hero .scroll-btn:hover:before {
    transform: translateY(32px) scaleY(-1);
  }
  .c-hero .scroll-btn:hover:after {
    transform: translateY(0) scaleY(-1);
  }
}
@media (min-width: 769px) {
  .c-hero:has(+ .c-posts-archive) .block_inner {
    padding-bottom: 60px;
  }
}
body.page-template-template-policy .c-hero {
  border-bottom: 1px solid rgba(var(--color--7-rgb), 0.1);
  margin-bottom: 70px;
}
@media (min-width: 769px) {
  body.page-template-template-policy .c-hero .block_inner {
    padding-top: 220px;
    padding-bottom: 148px;
  }
}
