@charset "UTF-8";

.sub-top {
  height: calc(600px + 17rem);
  background: no-repeat 50% 50% / cover;
  background-attachment: fixed;
}

.about .sub-top {
  background-image: url("/img/sub/sub_top_bg_about.jpg");
}

.checkup .sub-top {
  background-image: url("/img/sub/sub_top_bg_checkup.jpg");
}

.test .sub-top {
  background-image: url("/img/sub/sub_top_bg_test.jpg");
}

.im .sub-top {
  background-image: url("/img/sub/sub_top_bg_im.jpg");
}

.sd .sub-top {
  background-image: url("/img/sub/sub_top_bg_sd.jpg");
}

.infusion .sub-top {
  background-image: url("/img/sub/sub_top_bg_infusion.jpg");
}

.community .sub-top {
  background-image: url("/img/sub/sub_top_bg_community.jpg");
}

.sub-top-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 17rem;
}

.sub-top .eng-tit {
  font-size: 2rem;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0.3em;
  margin-bottom: 4rem;
}

.sub-top .tit {
  font-family: Paperlogy;
  font-size: 6rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.03em;
}

.breadcrumbs {
  margin-top: 10rem;
  width: 100%;
  padding: 0 20px;
}

.breadcrumbs ul {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 9rem;
  row-gap: 0.5em;
}

.breadcrumbs li > * {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: #fff;
}

.breadcrumbs li a.link-home {
  display: block;
  width: 1em;
  height: 1em;
  background: url("/img/common/ico_home.svg") no-repeat 50% 50% / contain;
}

.breadcrumbs li a.link-home span {
  position: absolute;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}

.breadcrumbs li + li {
  position: relative;
}

.breadcrumbs li + li:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -4.5rem;
  transform: translate(-50%, -50%);
  width: 1.5em;
  height: 1.5em;
  background: url("/img/common/ico_breadcrumps_arrow.svg") no-repeat 50% 50% /
    contain;
}

@media (max-width: 1024px) {
  .sub-top {
    height: calc(400px + 60px);
  }

  .sub-top-container {
    padding-top: 60px;
  }

  .breadcrumbs {
    margin-top: 6rem;
  }

  .sub-top .tit {
    font-size: 5rem;
  }

  .sub-top .eng-tit {
    font-size: 1.8rem;
  }
}

@media (max-width: 500px) {
  .breadcrumbs ul {
    column-gap: 4rem;
  }

  .breadcrumbs li + li:before {
    left: -2rem;
  }

  .breadcrumbs li > * {
    font-size: 1.8rem;
  }

  .sub-top {
    background-attachment: scroll;
  }
}
