/* /find/ v36 key visual. All rules are intentionally page-scoped. */
.reien-find-page .kv-layered-kv {
  position: relative;
  width: calc(100vw - 165px);
  height: 610px;
  overflow: hidden;
  isolation: isolate;
  background-color: #f0ece6;
}

.reien-find-page .kv-layered-kv::before {
  position: absolute;
  z-index: 0;
  top: -30px;
  right: -5%;
  bottom: -20px;
  left: -5%;
  content: "";
  background-image: url("../img/company-bgimage.jpg");
  background-position: center 43%;
  background-size: cover;
  transform: scale(1.02) translate3d(-1%, -0.5%, 0);
  animation: kv-layered-fabric-drift 24s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes kv-layered-fabric-drift {
  from {
    transform: scale(1.02) translate3d(-1%, -0.5%, 0);
  }
  to {
    transform: scale(1.055) translate3d(1%, 0.7%, 0);
  }
}

.reien-find-page .kv-layered-photo-band {
  position: absolute;
  z-index: 2;
  top: 246px;
  left: 0;
  width: 100%;
  height: 210px;
  overflow: hidden;
}

.reien-find-page .kv-layered-photo {
  position: absolute;
  inset: -4% -2%;
  display: block;
  width: 104%;
  height: 108%;
  max-width: none;
  object-fit: cover;
  opacity: 0;
  transform: var(--kv-pan-from, scale(1.04));
  will-change: opacity, transform;
}

.reien-find-page .kv-layered-photo-band.is-ready .kv-layered-photo {
  transition: opacity var(--kv-crossfade-duration, 2000ms) linear;
}

.reien-find-page .kv-layered-photo.is-visible {
  opacity: 1;
}

.reien-find-page .kv-layered-photo.is-panning {
  animation: kv-layered-pan var(--kv-photo-motion-duration, 8000ms) linear infinite alternate;
}

.reien-find-page .kv-layered-photo--456364222 {
  --kv-pan-from: scale(1.055) translate3d(0, 3.6%, 0);
  --kv-pan-to: scale(1.015) translate3d(0, -3.5%, 0);
  object-position: 50% calc(50% + 15px);
  filter: brightness(0.84) saturate(0.86) contrast(1.1);
}

.reien-find-page .kv-layered-photo--482112365 {
  --kv-pan-from: scale(1.03) translate3d(0, -3.3%, 0);
  --kv-pan-to: scale(1.065) translate3d(0, 3.3%, 0);
  object-position: 50% calc(68% + 15px);
  filter: brightness(0.88) saturate(0.86) contrast(1.08);
}

.reien-find-page .kv-layered-photo--773620520 {
  --kv-pan-from: scale(1.045) translate3d(0, 3.4%, 0);
  --kv-pan-to: scale(1.015) translate3d(0, -3.3%, 0);
  object-position: 50% 64%;
  filter: brightness(0.9) saturate(0.9) contrast(1.07);
}

.reien-find-page .kv-layered-photo--2075563702 {
  --kv-pan-from: scale(1.02) translate3d(0, 3.3%, 0) scaleX(-1);
  --kv-pan-to: scale(1.055) translate3d(0, -3.5%, 0) scaleX(-1);
  object-position: 50% 61%;
  filter: brightness(0.86) saturate(0.88) contrast(1.09);
}

.reien-find-page .kv-layered-photo--226419725 {
  --kv-pan-from: scale(1.03) translate3d(0, 3.4%, 0);
  --kv-pan-to: scale(1.012) translate3d(0, -3.2%, 0);
  object-position: 50% 58%;
  filter: brightness(0.97) saturate(0.97) contrast(1.025);
}

.reien-find-page .kv-layered-photo--544762916 {
  --kv-pan-from: scale(1.045) translate3d(0, 3.5%, 0);
  --kv-pan-to: scale(1.015) translate3d(0, -3.2%, 0);
  object-position: 50% 56%;
  filter: brightness(0.88) saturate(0.9) contrast(1.08);
}

.reien-find-page .kv-layered-photo--65951457 {
  --kv-pan-from: scale(1.035) translate3d(0, -3.3%, 0);
  --kv-pan-to: scale(1.06) translate3d(0, 3.4%, 0);
  object-position: 50% 56%;
  filter: brightness(0.9) saturate(0.92) contrast(1.07);
}

.reien-find-page .kv-layered-photo--472491707 {
  --kv-pan-from: scale(1.025) translate3d(0, 3.4%, 0);
  --kv-pan-to: scale(1.012) translate3d(0, -3.1%, 0);
  object-position: 50% 56%;
  filter: brightness(0.965) saturate(0.97) contrast(1.03);
}

.reien-find-page .kv-layered-photo--390618091 {
  --kv-pan-from: scale(1.03) translate3d(0, 3.2%, 0);
  --kv-pan-to: scale(1.055) translate3d(0, -3.2%, 0);
  object-position: 50% 58%;
  filter: brightness(0.96) saturate(0.9) contrast(1.045);
}

.reien-find-page .kv-layered-photo--1952923972 {
  --kv-pan-from: scale(1.02) translate3d(-1.2%, 0, 0);
  --kv-pan-to: scale(1.055) translate3d(1.2%, 0, 0);
  object-position: 50% 57%;
  filter: brightness(0.94) saturate(0.88) contrast(1.055);
}

.reien-find-page .kv-layered-photo--2041820471 {
  --kv-pan-from: scale(1.025) translate3d(0, 3.2%, 0);
  --kv-pan-to: scale(1.055) translate3d(0, -3.2%, 0);
  object-position: 50% 56%;
  filter: brightness(0.95) saturate(0.9) contrast(1.05);
}

.reien-find-page .kv-layered-photo--896784516 {
  --kv-pan-from: scale(1.025) translate3d(-1.4%, 0, 0);
  --kv-pan-to: scale(1.055) translate3d(1.4%, 0, 0);
  object-position: 65% 56%;
  filter: brightness(0.92) saturate(0.86) contrast(1.055);
}

.reien-find-page .kv-layered-photo--264068764 {
  --kv-pan-from: scale(1.03) translate3d(0, -3.1%, 0);
  --kv-pan-to: scale(1.06) translate3d(0, 3.2%, 0);
  object-position: 50% 54%;
  filter: brightness(0.92) saturate(0.88) contrast(1.06);
}

.reien-find-page .kv-layered-photo--338669037 {
  --kv-pan-from: scale(1.025) translate3d(-1.3%, 0, 0);
  --kv-pan-to: scale(1.055) translate3d(1.3%, 0, 0);
  object-position: 50% 65%;
  filter: brightness(0.93) saturate(0.86) contrast(1.06);
}

.reien-find-page .kv-layered-photo--495889722 {
  --kv-pan-from: scale(1.03) translate3d(1.2%, 0, 0);
  --kv-pan-to: scale(1.055) translate3d(-1.2%, 0, 0);
  object-position: 58% 52%;
  filter: brightness(0.96) saturate(0.9) contrast(1.045);
}

@keyframes kv-layered-pan {
  from {
    transform: var(--kv-pan-from, scale(1.04));
  }
  to {
    transform: var(--kv-pan-to, scale(1.01));
  }
}

.reien-find-page .kv-layered-small-people {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: visible;
}

.reien-find-page .kv-layered-people-segment {
  position: absolute;
  top: 0;
  left: var(--kv-people-segment-offset, 0px);
  width: 1170px;
  height: 600px;
}

.reien-find-page .kv-layered-person {
  position: absolute;
  display: block;
  bottom: 0;
  overflow: visible;
  visibility: visible;
}

.reien-find-page .kv-layered-person img {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  filter: none;
  animation: none;
}

.reien-find-page .kv-layered-person--family {
  left: 528.8px;
  width: 202.4px;
  height: 248.5px;
}

.reien-find-page .kv-layered-person--family img {
  bottom: -18.8px;
  left: -92px;
  width: 407px;
}

.reien-find-page .kv-layered-person--brothers {
  left: 743.55px;
  width: 162.9px;
  height: 154.1px;
}

.reien-find-page .kv-layered-person--brothers img {
  bottom: -6.3px;
  left: -60.8px;
  width: 300px;
}

.reien-find-page .kv-layered-person--girl {
  left: 1166.5px;
  width: 97px;
  height: 85.9px;
}

.reien-find-page .kv-layered-person--girl img {
  bottom: -11px;
  left: -43.7px;
  width: 188px;
}

.reien-find-page .kv-layered-person--grandfather {
  left: 900.9px;
  width: 238.2px;
  height: 221.4px;
}

.reien-find-page .kv-layered-person--grandfather img {
  bottom: -11.75px;
  left: -79.8px;
  width: 426px;
}

.reien-find-page .kv-layered-person--cat {
  left: 1294px;
  width: 72px;
  height: 66.7px;
}

.reien-find-page .kv-layered-person--cat img {
  bottom: -3.4px;
  left: -19px;
  width: 106.9px;
}

.reien-find-page .kv-layered-person--friend {
  left: 1404px;
  width: 221.65px;
  height: 144.17px;
}

.reien-find-page .kv-layered-person--friend img {
  bottom: -9.1px;
  left: -12.74px;
  width: 299px;
}

.reien-find-page .kv-layered-large-person {
  position: absolute;
  z-index: 4;
  bottom: 10px;
  left: 20px;
  width: 492px;
  height: 563px;
  overflow: visible;
}

.reien-find-page .kv-layered-large-person img {
  position: absolute;
  bottom: -9.9px;
  left: -231.1px;
  display: block;
  width: 1033px;
  height: auto;
  max-width: none;
}

.reien-find-page .kv-layered-large-person-image:not(.kv-layered-large-person-image--couple) {
  display: none;
}

.reien-find-page .kv-layered-copy {
  position: absolute;
  z-index: 5;
  top: 42px;
  left: 544px;
  color: #111111;
  font-family: Roboto, "Noto Sans JP", "Yu Gothic", YuGothic, sans-serif;
}

.reien-find-page .kv-layered-title {
  margin: 0;
  font-family: inherit;
  font-size: 48px;
  font-weight: 100;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

.reien-find-page .kv-layered-title > .kv-layered-copy-line,
.reien-find-page .kv-layered-lead > .kv-layered-copy-line {
  display: block;
}

.reien-find-page .kv-layered-copy-run {
  display: inline;
  font-weight: 200;
}

.reien-find-page .kv-layered-copy-run--light {
  font-weight: 300;
}

.reien-find-page .kv-layered-copy-run--normal {
  font-weight: 400;
}

.reien-find-page .kv-layered-title .kv-layered-copy-run:not(.kv-layered-copy-run--light) {
  font-weight: 100;
}

.reien-find-page .kv-layered-lead {
  margin: 8px 0 0;
  font-size: 18px;
  font-weight: 200;
  line-height: 1.7;
  letter-spacing: 0.025em;
}

.reien-find-page .kv-layered-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 767px) {
  .reien-find-page .kv-layered-kv {
    width: 100%;
    height: clamp(500px, 133.333vw, 520px);
  }

  .reien-find-page .kv-layered-photo-band {
    inset: 40% 0 auto;
    width: 100%;
    height: 40%;
  }

  .reien-find-page .kv-layered-kv::after {
    display: none;
  }

  .reien-find-page .kv-layered-small-people {
    inset: 0;
    width: auto;
    height: auto;
    clip-path: none;
    transform: none;
  }

  .reien-find-page .kv-layered-people-segment {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .reien-find-page .kv-layered-person {
    display: none;
  }

  .reien-find-page .kv-layered-person--cat {
    inset: 0;
    display: none;
    width: auto;
    height: auto;
  }

  .reien-find-page .kv-layered-person--cat img {
    top: 26px;
    right: 0;
    bottom: auto;
    left: auto;
    width: 120px;
  }

  .reien-find-page .kv-layered-large-person {
    inset: 0;
    width: auto;
    height: auto;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image {
    display: block;
    opacity: 0;
    transition: opacity var(--kv-crossfade-duration, 2000ms) linear;
    will-change: opacity;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image.is-visible {
    opacity: 1;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--couple {
    bottom: -6px;
    left: calc(-26.6vw - 10px);
    width: 166vw;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--family {
    bottom: -22px;
    left: calc(-19.7vw - 10px);
    width: 147vw;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--grandfather {
    bottom: -5px;
    left: calc(-31.75vw - 3.25px);
    width: 175vw;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--friend {
    bottom: -13px;
    left: calc(-5.47vw - 0.375px);
    width: 134vw;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--cat {
    right: auto;
    bottom: 10px;
    left: 50%;
    width: clamp(126px, 33.6vw, 144px);
    transform: translateX(-50%);
  }

  .reien-find-page .kv-layered-copy {
    top: 20px;
    right: 20px;
    left: 20px;
  }

  .reien-find-page .kv-layered-title {
    max-width: none;
    font-size: clamp(34px, 8.974vw, 35px);
    line-height: 1.16;
  }

  .reien-find-page .kv-layered-title > .kv-layered-copy-line {
    white-space: nowrap;
  }

  .reien-find-page .kv-layered-lead {
    margin-top: 7px;
    font-size: clamp(12.5px, 3.333vw, 13px);
    line-height: 1.65;
    letter-spacing: 0;
  }

  .reien-find-page .kv-layered-copy-run--sp-line-start::before {
    display: none;
  }
}

@media (min-width: 391px) and (max-width: 767px) {
  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--couple {
    left: calc(50% - 308.735095507px);
    width: 647.4px;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--family {
    left: calc(50% - 281.829608154px);
    width: 573.3px;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--grandfather {
    left: calc(50% - 322.0703125px);
    width: 682.5px;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image--friend {
    left: calc(50% - 216.705709877px);
    width: 522.6px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .reien-find-page .kv-layered-kv {
    height: 610px;
  }

  .reien-find-page .kv-layered-people-segment {
    left: calc(var(--kv-people-segment-offset, 0px) + 100vw - 1200px);
  }

  .reien-find-page .kv-layered-large-person {
    left: calc(100vw - 1180px);
  }

  .reien-find-page .kv-layered-copy {
    right: 12.5234375px;
    left: auto;
  }

  .reien-find-page .kv-layered-title > .kv-layered-copy-line,
  .reien-find-page .kv-layered-lead > .kv-layered-copy-line {
    white-space: nowrap;
  }

  .reien-find-page .kv-layered-copy-run--sp-line-start::before {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .reien-find-page .kv-layered-large-person {
    left: calc(57.575757576vw - 798.181818182px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reien-find-page .kv-layered-kv::before {
    animation: none;
  }

  .reien-find-page .kv-layered-photo-band.is-ready .kv-layered-photo {
    transition: none;
  }

  .reien-find-page .kv-layered-photo.is-panning {
    animation: none;
  }

  .reien-find-page .kv-layered-large-person .kv-layered-large-person-image {
    transition: none;
  }
}

/* Integration: keep the key visual and search panel in normal document flow. */
.reien-find-page #block-find-kv {
  padding: 0;
}

.reien-find-page #block-search-panel {
  margin-top: 0;
  padding-top: var(--rl-block-gap);
}

@media (min-width: 769px) {
  .reien-find-page .rf-find-kv-search-stage {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #ffffff;
  }

  .reien-find-page .rf-find-kv-search-stage:has(.rl-search-type-details[open], .rl-search-feature-details[open]) {
    z-index: 200;
    overflow: visible;
  }

  .reien-find-page .rf-find-kv-search-stage::before {
    position: absolute;
    z-index: 0;
    inset: -30px -5% -24px;
    content: "";
    background-image: url("../img/company-bgimage.jpg");
    background-position: center 43%;
    background-size: cover;
    transform: scale(1.02) translate3d(-1%, -0.5%, 0);
    animation: kv-layered-fabric-drift 24s ease-in-out infinite alternate;
    will-change: transform;
  }

  .reien-find-page .rf-find-kv-search-stage::after {
    position: absolute;
    z-index: 0;
    top: 739px;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: #ffffff;
  }

  .reien-find-page .rf-find-kv-search-stage > #block-find-kv,
  .reien-find-page .rf-find-kv-search-stage > #block-search-panel {
    position: relative;
    z-index: 1;
  }

  .reien-find-page .rf-find-kv-search-stage > #block-find-kv {
    background: transparent;
  }

  .reien-find-page .rf-find-kv-search-stage > #block-find-kv::before {
    content: none;
  }

  .reien-find-page #block-search-panel {
    padding: 16px 12px 72px;
    background: transparent;
  }

  .reien-find-page #block-search-panel > .reien-search-panel {
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 768px) {
  .reien-find-page .rf-find-kv-search-stage {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #ffffff;
  }

  .reien-find-page .rf-find-kv-search-stage::before {
    position: absolute;
    z-index: 0;
    inset: -24px -8% -20px;
    content: "";
    background-image: url("../img/company-bgimage.jpg");
    background-position: center 43%;
    background-size: cover;
    transform: scale(1.02) translate3d(-1%, -0.5%, 0);
    animation: kv-layered-fabric-drift 24s ease-in-out infinite alternate;
    will-change: transform;
  }

  .reien-find-page .rf-find-kv-search-stage::after {
    position: absolute;
    z-index: 0;
    top: calc(clamp(500px, 133.333vw, 520px) + 132px);
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: #ffffff;
  }

  .reien-find-page .rf-find-kv-search-stage > #block-find-kv,
  .reien-find-page .rf-find-kv-search-stage > #block-search-panel {
    position: relative;
    z-index: 1;
  }

  .reien-find-page .rf-find-kv-search-stage > #block-find-kv {
    background: transparent;
  }

  .reien-find-page .rf-find-kv-search-stage > #block-find-kv::before {
    content: none;
  }

  .reien-find-page #block-search-panel {
    margin-top: 0;
    padding-top: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reien-find-page .rf-find-kv-search-stage::before {
    animation: none;
  }
}
