/* 六本木クリニックティザーサイトcss */
.font-jp {
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
}
.font-en {
  font-family: "Noto Serif Display", serif;
  font-weight: 400;
  font-variation-settings: "wdth" 87.5;
}
.font-ss3 {
  font-family: "Source Sans 3", sans-serif;
  font-weight: 400;
}
* {
  box-sizing: border-box;
}
html {
  width: 100%;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
  overflow-x: hidden;
  color: #222222;
}
body {
  width: 100%;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
  overflow-x: clip;
  margin: 0;
}
@media (max-width: 768px) {
  br.pc {
    display: none;
  }
}
@media (min-width: 769px) {
  br.sp {
    display: none;
  }
}
p,
h3,
h4 {
  margin: 0;
}
header {
  width: 100%;
  aspect-ratio: 1 / 1.13;
  position: relative;
}
header #title,
header #titleDate,
header #subTitle {
  opacity: 0;
}
header div.fv-img,
header h1,
header h2,
header h3 {
  position: absolute;
}
header div.fv-img img {
  width: 100%;
  aspect-ratio: 1 / 1.13;
  object-fit: cover;
  object-position: 0 -7.94vw;
  animation: objectMove 2s ease-out forwards;
}
header h1 {
  top: 2vw;
  right: 2vw;
  width: 10.87vw;
}
header h1 img {
  width: 100%;
  height: 100%;
}
header h2#title {
  font-size: 12.5vw;
  font-family: "Noto Serif Display", serif;
  font-weight: 400;
  font-variation-settings: "wdth" 87.5;
  top: 4vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: fit-content;
  line-height: 0.9;
  height: 46vw;
  overflow: hidden;
}
header h3#titleDate {
  font-size: 4.4vw;
  font-family: "Noto Serif Display", serif;
  font-weight: 400;
  font-variation-settings: "wdth" 87.5;
  top: 43.5vw;
  right: 2vw;
}
header h3#subTitle {
  top: 16.8vw;
  right: 3vw;
  width: 26vw;
}
header .char {
  width: 1.2ch;
  text-align: center;
}
header .scroll-guide {
  position: absolute;
  top: 32vw;
  right: -3.5vw;
  transform: rotate(90deg);
  display: flex;
  align-items: flex-end;
  font-size: 1.16vw;
  z-index: 3;
  opacity: 0;
}
header .scroll-guide .scroll-label {
  margin-right: 0.2em;
}
header .scroll-guide .scroll-arrow {
  width: 8vw;
  height: auto;
  overflow: visible;
}
header .scroll-guide .scroll-arrow .line-group {
  transform-origin: left center;
  animation: lineScale 1.6s ease-in-out infinite;
}
header .scroll-guide .scroll-arrow .line {
  stroke: #000;
  stroke-width: 1;
}
header .scroll-guide .scroll-arrow .arrow {
  stroke: #000;
  stroke-width: 1;
  fill: none;
  transform: translateX(85px);
  animation: arrowFollow 1.6s ease-in-out infinite;
}
@media (max-width: 768px) {
  header {
    aspect-ratio: 1 / 2.17;
    overflow: hidden;
  }
  header div.fv-img img {
    aspect-ratio: 1 / 2.17;
    object-position: 0 0;
    animation: objectMoveSp 2s ease-out forwards;
  }
  header h1 {
    top: 1.4vw;
    right: 3vw;
    width: 21.33vw;
  }
  header h2#title {
    font-size: 14.4vw;
    top: 43vw;
    height: 51vw;
  }
  header h3#titleDate {
    top: 87vw;
    right: 7vw;
    font-size: 6.4vw;
  }
  header h3#subTitle {
    top: 98vw;
    left: 7.7vw;
    width: 47vw;
  }
  header .scroll-guide {
    top: 138vw;
    right: -13vw;
    font-size: 3.2vw;
  }
  header .scroll-guide .scroll-arrow {
    width: 29vw;
    margin-bottom: -0.53vw;
  }
}
@keyframes objectMove {
  from {
    object-position: 0 0;
    opacity: 0;
  }
  to {
    object-position: 0 -7.94vw;
    opacity: 1;
  }
}
@keyframes objectMoveSp {
  from {
    object-position: 0 7.94vw;
    opacity: 0;
  }
  to {
    object-position: 0 0;
    opacity: 1;
  }
}
@keyframes lineScale {
  0% {
    transform: scaleX(1);
  }
  50% {
    transform: scaleX(1.6);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes arrowFollow {
  0% {
    transform: translateX(85px);
  }
  50% {
    transform: translateX(calc(85px * 1.6));
  }
  100% {
    transform: translateX(85px);
  }
}
main section {
  position: relative;
  width: 100%;
  aspect-ratio: 1.83 / 1;
}
main section h3 {
  font-family: "Noto Serif Display", serif;
  font-weight: 400;
  font-variation-settings: "wdth" 87.5;
  font-size: 4.35vw;
  margin-bottom: 2.6vw;
  opacity: 0;
  z-index: 3;
  line-height: 1;
}
main section h4 {
  font-size: 1.74vw;
  line-height: 1.33;
}
main section div.dummy-space {
  height: 1.74vw;
}
main section p {
  font-size: 1.16vw;
  line-height: 1.625;
}
main section picture,
main section img {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 768px) {
  main section {
    aspect-ratio: 1 / 2.08;
  }
  main section h3 {
    font-size: 12.27vw;
    margin-bottom: 7vw;
  }
  main section h4 {
    font-size: 5.87vw;
    line-height: 1.27;
  }
  main section div.dummy-space {
    height: 3.8vw;
  }
  main section p {
    font-size: 3.73vw;
    line-height: 1.71;
  }
}
main section.message div.message-wrapper {
  position: absolute;
  left: 13.8%;
  top: 13%;
}
@media (max-width: 768px) {
  main section.message div.message-wrapper {
    left: 7%;
    top: 7.5%;
  }
}
main section.advanced-modality div.advanced-modality-wrapper {
  position: absolute;
  left: 13.8%;
  top: 13%;
}
@media (max-width: 768px) {
  main section.advanced-modality div.advanced-modality-wrapper {
    left: 7%;
    top: 7.5%;
  }
}
main section.accurate {
  color: #ffffff;
}
main section.accurate div.accurate-wrapper {
  position: absolute;
  left: 13.8%;
  top: 42%;
}
@media (max-width: 768px) {
  main section.accurate div.accurate-wrapper {
    left: 7%;
    top: 52.5%;
  }
}
main section.follow-up {
  background-image: url("../img/earthen-wall.webp");
}
main section.follow-up div.follow-up-img-1,
main section.follow-up div.follow-up-img-2 {
  position: absolute;
  top: -4vw;
  width: 70vw;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
main section.follow-up div.follow-up-img-1 svg,
main section.follow-up div.follow-up-img-2 svg {
  width: 100%;
  height: 100%;
}
main section.follow-up div.follow-up-img-1 {
  left: 63vw;
}
main section.follow-up div.follow-up-img-2 {
  left: 34vw;
}
main section.follow-up div.follow-up-wrapper {
  position: absolute;
  left: 13.8%;
  top: 45%;
}
@media (max-width: 768px) {
  main section.follow-up div.follow-up-wrapper {
    left: 7%;
    top: 7.5%;
  }
}
@media (max-width: 768px) {
  main section.follow-up div.follow-up-img-1,
  main section.follow-up div.follow-up-img-2 {
    width: 130vw;
  }
  main section.follow-up div.follow-up-img-1 {
    left: 38vw;
  }
  main section.follow-up div.follow-up-img-2 {
    left: -2vw;
  }
  main section.follow-up div.follow-up-wrapper {
    top: 53%;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  main section.follow-up div.img-mask-wrapper {
    height: 48.5%;
  }
}
main section.ladies-area {
  color: #ffffff;
}
main section.ladies-area div.ladies-area-wrapper {
  position: absolute;
  left: 13.8%;
  top: 13%;
}
@media (max-width: 768px) {
  main section.ladies-area div.ladies-area-wrapper {
    left: 7%;
    top: 58.5%;
  }
}
main section.executive {
  color: #ffffff;
}
main section.executive div.executive-wrapper {
  position: absolute;
  left: 13.8%;
  top: 13%;
}
@media (max-width: 768px) {
  main section.executive div.executive-wrapper {
    left: 7%;
    top: 7.5%;
  }
}
main section.interior {
  overflow: hidden;
}
main section.interior div.interior-wrapper {
  position: absolute;
  left: 13.8%;
  top: 67%;
  z-index: 10;
}
main section.interior div.interior-slider {
  position: relative;
  width: 100%;
  height: auto;
}
main section.interior div.interior-slider div.image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 1;
  transition: none;
}
main section.interior div.interior-slider div.image-wrapper img {
  height: auto;
}
main section.interior div.interior-slider div.image-wrapper.active {
  left: 0;
  opacity: 1;
  z-index: 0;
}
main section.interior div.interior-slider div.slider-dots {
  position: absolute;
  top: 48vw;
  left: 76%;
  transform: translateX(-50%);
  display: flex;
  gap: 1.16vw;
  z-index: 3;
}
main section.interior div.interior-slider div.slider-dots .dot {
  width: 2.9vw;
  height: 0.36vw;
  background-color: rgba(34, 34, 34, 0.3);
  cursor: pointer;
  transition: background-color 0.3s;
}
main section.interior div.interior-slider div.slider-dots .dot.active {
  background-color: #222222;
}
main section.interior div.interior-content {
  position: absolute;
  top: 11%;
  right: 13.8%;
  z-index: 10;
}
main section.interior div.interior-content p.interior-overview {
  color: #222222;
  opacity: 0;
  text-align: right;
}
@media (max-width: 768px) {
  main section.interior div.interior-wrapper {
    top: 6.5%;
    left: 7%;
  }
  main section.interior div.interior-slider div.slider-dots {
    top: 40.7vw;
    left: 61%;
    transform: rotate(90deg);
    gap: 1.33vw;
  }
  main section.interior div.interior-slider div.slider-dots span.dot {
    width: 8.8vw;
    height: 1.33vw;
  }
  main section.interior div.interior-content {
    top: unset;
    bottom: 4%;
    left: 7%;
    width: 86%;
  }
  main section.interior div.interior-content p.interior-overview {
    margin-top: 0;
    font-size: 3.73vw;
    text-align: center;
  }
}
main section.access {
  background-image: url("../img/earthen-wall.webp");
}
main section.access div.access-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
main section.access div.access-img svg {
  width: 100%;
  height: 100%;
}
main section.access div.access-wrapper {
  position: absolute;
  top: 13%;
  left: 13.8%;
}
@media (max-width: 768px) {
  main section.access div.access-img {
    width: 280%;
    height: auto;
    top: 67vw;
    left: -133vw;
  }
  main section.access div.access-img svg {
    clip-path: inset(8% 0 8% 0);
  }
  main section.access div.access-wrapper {
    left: 7%;
    top: 7.5%;
  }
}
main section.recruit {
  background-color: #f4f4f4;
  display: flex;
  aspect-ratio: 4 / 1;
}
main section.recruit h3 {
  position: absolute;
  margin-left: 13.8%;
  padding-top: 9%;
}
main section.recruit p {
  position: absolute;
  top: 37%;
  left: 36%;
}
main section.recruit p a {
  color: #222222;
  text-decoration: none;
  display: block;
}
main section.recruit p a:hover {
  font-weight: 500;
}
main section.recruit p div:nth-child(2) {
  margin-bottom: 1.74vw;
}
@media (max-width: 768px) {
  main section.recruit {
    aspect-ratio: 1 / 1.32;
  }
  main section.recruit h3 {
    margin-left: 7%;
    padding-top: 29.85vw;
  }
  main section.recruit p {
    left: 7%;
  }
  main section.recruit p div:nth-child(2) {
    margin-bottom: 6.44vw;
  }
}
footer {
  width: 100%;
  aspect-ratio: 2.9 / 1;
  position: relative;
}
footer p.footer-contact {
  text-align: center;
  padding: 6vw 0;
  font-size: 1.16vw;
}
footer p.footer-contact a {
  color: #222222;
  text-decoration: none;
}
footer p.footer-contact a:hover {
  font-weight: 500;
}
footer h2.footer-copy {
  font-size: 12.5vw;
  font-family: "Noto Serif Display", serif;
  font-weight: 400;
  font-variation-settings: "wdth" 87.5;
  margin: 0 auto;
  width: fit-content;
  line-height: 0.9;
}
footer h3 {
  position: absolute;
  top: 26vw;
  right: 12.3vw;
  width: 14.3vw;
  opacity: 0;
}
footer h3 img {
  width: 100%;
  height: 100%;
}
footer .char {
  width: 1.2ch;
  text-align: center;
}
footer p.copyright {
  text-align: center;
  padding: 5em 0;
}
@media (max-width: 768px) {
  footer {
    aspect-ratio: 1.34 / 1;
  }
  footer p.footer-contact {
    padding: 17.33vw 0;
    font-size: 4.27vw;
  }
  footer h2.footer-copy {
    font-size: 14.5vw;
  }
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-300%);
  }
}
/* GSAP用css */
.interior-description {
  opacity: 0;
}
.footer-contact {
  opacity: 0;
  transform: translateY(50px);
}
.img-mask-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.message-mask,
.advanced-modality-mask,
.accurate-mask,
.ladies-area-mask,
.executive-mask,
.recruit-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 2;
}
.line-child {
  overflow: hidden;
  display: block;
}
