@charset "utf-8";

/* ↓↓↓ fv ↓↓↓ */
.fv {
  width: 100%;
  height: min(528px, 41.25vw);
  padding: min(32px, 2.5vw) min(32px, 2.5vw) 0;
  @media (max-width: 768px) {
    height: 588px;
    padding: 20px 16px;
  }
}
.fv .content {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 127, 11, 0.12);
  border-radius: 32px;
  @media (max-width: 768px) {
    border-radius: 20px;
  }
  &::before, &::after {
    content: '';
    position: absolute;
    top: 0;
    left: min(128px, 10vw);
    width: min(33px, 2.578125vw);
    height: min(33px, 2.578125vw);
    background: url(../img/common/corner-deco.png) no-repeat;
    background-size: cover;
    @media (max-width: 768px) {
      width: 20px;
      height: 20px;
      left: 76px;
    }
  }
  &::after {
    top: min(136px, 10.625vw);
    left: 0;
    @media (max-width: 768px) {
      top: 81px;
      left: 0;
    }
  }
}
.fv .content .txt-wrap {
  position: relative;
  padding: min(210px, 16.40625vw) 0 0 min(152px, 11.875cqw);
  z-index: 1;
  @media (max-width: 768px) {
    padding: 124px 0 0 26px;
  }
}
.fv .content .txt-wrap .js-txt {
  display: block;
  transform: translateY(calc(100% + .2em));
}
.fv .content .txt-wrap .sub-ttl {
  overflow: hidden;
}
.fv .content .txt-wrap .sub-ttl .js-txt {
  display: flex;
  gap: min(18px, 1.40625vw);
  align-items: flex-end;
  @media (max-width: 768px) {
    gap: 12px;
  }
}
.fv .content .txt-wrap .sub-ttl .icon {
  display: inline-block;
  width: min(42px, 3.28125vw);
  @media (max-width: 768px) {
    width: 27px;
  }
}
.fv .content .txt-wrap .sub-ttl p {
  font-family: var(--text-dongle);
  font-size: min(3.2rem, 3.28125vw);
  font-weight: 700;
  color: var(--color-orange);
  letter-spacing: 0;
  line-height: 0.8;
  @media (max-width: 768px) {
    font-size: 2.1rem;
  }
}
.fv .content .txt-wrap .ttl {
  font-size: min(5.6rem, 4.375vw);
  font-family: var(--text-zen);
  font-weight: 900;
  letter-spacing: -0.075em;
  margin-top: min(10px, 0.78125vw);
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: 3.2rem;
    margin-top: 10px;
    line-height: 1;
  }
}
.fv .content .txt-wrap .txt {
  font-size: min(1.8rem, 1.40625vw);
  font-family: var(--text-zen);
  font-weight: 500;
  margin-top: min(12px, 1.40625vw);
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: 1.5rem;
    margin-top: 10px;
  }
}
.fv .content .img {
  position: absolute;
  top: 0;
  right: 0;
  width: min(1216px, 95vw);
  @media (max-width: 768px) {
    top: unset;
    bottom: 0;
    width: 344px;
    border-bottom-right-radius: 20px;
    overflow: hidden;
  }
}
.fv .content .star {
  position: absolute;
  top: min(105px, 8.203125cqw);
  left: min(600px, 46.875cqw);
  width: min(121px, 9.453125vw);
  z-index: 1;
  filter: brightness(1.5);
  @media (max-width: 768px) {
    top: 280px;
    left: 30px;
    width: 87px;
  }
}
.fv .content .deco {
  position: absolute;
  bottom: max(-89px, -6.953125vw);
  right: min(430px, 33.59375vw);
  width: min(215px, 16.796875vw);
  scale: 0;
  @media (max-width: 768px) {
    right: unset;
    left: 6px;
    bottom: -42px;
    width: 112px;
  }
}

/* ↑↑↑ fv ↑↑↑ */
/* ↓↓↓ subject ↓↓↓ */
.subject {
  margin-top: min(120px, 9.375vw);
  @media (max-width: 768px) {
    margin-top: 72px;
    padding-inline: 21px;
  }
}
.subject .inner {
  max-width: 1280px;
  margin: 0 auto;
  container-type: inline-size;
  @media (max-width: 768px) {
    max-width: 100%;
  }
}
.subject .inner .content {
  width: 87.5cqw;
  margin: 0 auto;
  @media (max-width: 768px) {
    width: 332px;
  }
}
.subject .inner .content .ttl {
  overflow: hidden;
  @media (max-width: 768px) {
    width: fit-content;
    margin: 0 auto;
  }
}
.subject .inner .content .ttl .js-ttl {
  display: flex;
  gap: 1.484375cqw;
  align-items: flex-end;
  transform: translateY(calc(100% + .2em));
  @media (max-width: 768px) {
    gap: 19px;
  }
}
.subject .inner .content .ttl .icon {
  width: 3.28125cqw;
  @media (max-width: 768px) {
    width: 35px;
  }
}
.subject .inner .content .ttl .txt {
  font-size: 2.5cqw;
  font-family: var(--text-zen);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.5;
  @media (max-width: 768px) {
    font-size: 2.6rem;
  }
}
.subject .inner .content .container {
  display: flex;
  justify-content: space-between;
  margin-top: 5.859375cqw;
  @media (max-width: 768px) {
    flex-wrap: wrap;
    margin-top: 24px;
    row-gap: 16px;
  }
}
.subject .inner .content .container .item {
  width: 13.203124999999998cqw;
  aspect-ratio: 169/182;
  background: url(../img/infomation/teeth-bg.png) no-repeat;
  background-size: cover;
  @media (max-width: 768px) {
    width: 106px;
    aspect-ratio: 106/114;
  }
}
.subject .inner .content .container .item .txt {
  width: max-content;
  font-size: 1.484375cqw;
  font-weight: 500;
  font-family: var(--text-zen);
  padding-top: 3.90625cqw;
  letter-spacing: 0;
  margin: 0 auto;
  @media (max-width: 768px) {
    font-size: 1.4rem;
    padding-top: 30px;
  }
}
/* ↑↑↑ subject ↑↑↑ */
/* ↓↓↓ time ↓↓↓ */
.time {
  margin-top: min(120px, 9.375vw);
  @media (max-width: 768px) {
    margin-top: 72px;
    padding-inline: 27px;
  }
}
.time .inner {
  max-width: 1280px;
  margin: 0 auto;
  container-type: inline-size;
  @media (max-width: 768px) {
    width: 100%;
  }
}
.time .inner .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 87.5cqw;
  margin: 0 auto;
  padding: 6.640625cqw 7.8125cqw 4.53125cqw 3.515625cqw;
  background-color: rgba(255, 127, 11, 0.12);
  border-radius: 32px;
  @media (max-width: 768px) {
    width: 100%;
    flex-direction: column;
    gap: 40px;
    padding: 48px 0 60px;
  }
}
.time .inner .content .ttl {
  overflow: hidden;
  flex: 1;
}
.time .inner .content .ttl .js-ttl {
  display: flex;
  gap: 1.484375cqw;
  align-items: flex-end;
  transform: translateY(calc(100% + .2em));
  @media (max-width: 768px) {
    gap: 19px;
  }
}
.time .inner .content .ttl .icon {
  width: 3.28125cqw;
  @media (max-width: 768px) {
    width: 35px;
  }
}
.time .inner .content .ttl .txt {
  font-size: 2.5cqw;
  font-family: var(--text-zen);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.5;
  @media (max-width: 768px) {
    font-size: 2.6rem;
  }
}
.time .inner .content .img {
  display: block;
  width: 56.875cqw;
  @media (max-width: 768px) {
    width: 283px;
    margin: 0 auto;
  }
}
/* ↑↑↑ time ↑↑↑ */
/* ↓↓↓ access ↓↓↓ */
.access {
  margin-block: min(96px, 7.5vw) min(120px, 9.375vw);
  @media (max-width: 768px) {
    margin-block: 72px 76px;
    padding-inline: 28px;
  }
}
.access .inner {
  max-width: 1280px;
  margin: 0 auto;
  container-type: inline-size;
  @media (max-width: 768px) {
    width: 100%;
  }
}
.access .inner .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 87.5cqw;
  margin: 0 auto;
  @media (max-width: 768px) {
    width: 100%;
    flex-direction: column;
    gap: 20px;
  }
}
.access .inner .content .txt-wrap {
  flex: 1;
}
.access .inner .content .ttl {
  overflow: hidden;
}
.access .inner .content .js-ttl {
  display: block;
  transform: translateY(calc(100% + .2em));
}
.access .inner .content .ttl .js-ttl {
  display: flex;
  gap: 1.484375cqw;
  align-items: flex-end;
  @media (max-width: 768px) {
    width: fit-content;
    margin: 0 auto;
    gap: 19px;
  }
}
.access .inner .content .ttl .icon {
  width: 3.28125cqw;
  @media (max-width: 768px) {
    width: 35px;
  }
}
.access .inner .content .ttl .txt {
  font-size: 2.5cqw;
  font-family: var(--text-zen);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.5;
  @media (max-width: 768px) {
    font-size: 2.6rem;
  }
}
.access .inner .content .address {
  font-size: 1.40625cqw;
  font-family: var(--text-zen);
  font-weight: 500;
  margin-top: 2.34375cqw;
  letter-spacing: 0;
  @media (max-width: 768px) {
    width: fit-content;
    font-size: 1.8rem;
    margin: 20px auto 0;
  }
}
.access .inner .content .map {
  display: block;
  width: 57.49999999999999cqw;
  aspect-ratio: 736/416;
  border-radius: 16px;
  overflow: hidden;
  @media (max-width: 768px) {
    width: 100%;
    aspect-ratio: 318/178;
  }
  iframe {
    width: 100%;
    height: 100%;
  }
}
/* ↑↑↑ access ↑↑↑ */
/* ↓↓↓ clinic ↓↓↓ */

/* ↑↑↑ clinic ↑↑↑ */
/* ↓↓↓ implant ↓↓↓ */

/* ↑↑↑ implant ↑↑↑ */
/* ↓↓↓ staff ↓↓↓ */

/* ↑↑↑ staff ↑↑↑ */
/* ↓↓↓ other ↓↓↓ */

/* ↑↑↑ other ↑↑↑ */
/* ↓↓↓ recruit ↓↓↓ */

/* ↑↑↑ recruit ↑↑↑ */
@media (min-width: 1281px) {}

@media (max-width: 1280px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

@media (max-width: 375px) {}