@charset "UTF-8";

/* ==========
common
=============*/
:root {
  --primary-charcoalgray: #4E454A;
  --primary-lightgreen: #C8E6C9;
  --primary-turquoise: #7FD6DA;
  --primary-bluegreen: #47969A;
  --primary-white: #FDFDFD;
  --contentWidth: 34.7%;
  --contentPadding: 32.7%;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  color: var(--primary-charcoalgray);
  line-height: 1.5;
  background-color: #EBF2F4
}




/* 院内紹介 */
.Guide_introduction {
  text-align: center;
  padding: 100px 16px 0 16px;

}


.Guide_introduction-title {
  padding: 15px 60px;
  font-size: 2rem;
  border: 3px solid var(--primary-charcoalgray);
  border-radius: 20px;
  background-color: var(--primary-white);
}

.title_sp-only {
  margin-top: 64px;
  text-align: left;
  font-weight: bold;
  font-size: 2rem;
}

.title_pc-only {
  display: none;
}


.zoom-btn {
  padding: 5px 20px;
  font-weight: bold;
  font-size: 1.1rem;
  border: 1px solid var(--primary-charcoalgray);
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  position: absolute;
  top: 70%;
  right: 10%;
}

.exterioor1,
.exterioor2,
.exterioor3 {
  width: 346px;
  height: 200px;
  border-radius: 50px;
  object-fit: cover;
}

.exterioor1.active {
  object-position: 50% 50%;
}
.exterioor3.active {
  object-position:bottom;
}

.image-slider {
  position: relative;
  display: inline-block;
}


.explanation {
  margin-top: 64px;
  text-align: left;
  font-size: 1.6rem;
}

.image-slider img {
  width: 346px;
  height: 200px;
  display: none;
  border-radius: 50px;
}

.image-slider img.active {
  display: block;
}

.dots {
  margin-top: 10px;
  text-align: center;
}

.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  background-color: #ccc;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

.dot.active {
  background-color: var(--primary-charcoalgray);
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* 拡大画像 */
.modal-img {
  max-width: 90%;
  max-height: 80%;
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
  object-fit: contain;
}



.pc-only {
  display: none;
}

/* 受付 */

.explanation2 {
  margin-top: 10px;
  text-align: left;
  font-size: 1.6rem;
}

.waitingroom,
.waitingroom3 {
  object-fit: cover;
}

.waitingroom {
  object-position: 70% 75%;

}

.Note{
  font-size: 1.6rem;
  color: #FF7A7D;
}

/* 待合室 */
.Guide_introduction3 {
  text-align: center;
  margin-top: 30px;
}

/* 診療室 */
.examroom {
  object-fit: cover;
  object-position: 50% 60%;
}


.Guide_introduction1,
.Guide_introduction2,
.Guide_introduction3 {
  display: block;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}


.Guide_introduction1.show,
.Guide_introduction2.show,
.Guide_introduction3.show {
  opacity: 1;
  transform: translateY(0);
}

.fadeIn {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}

.fadeIn.show {
  opacity: 1;
  transform: translateY(0);
}


/* 院内紹介pc */
@media screen and (min-width:769px) {
  .Guide_introduction {
    padding: 160px 140px 0 140px;
    display: flex;
    flex-direction: column;
  }

  .center {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
    padding: 0 15px;
  }

  .Guide_introduction-title {
    padding: 48px 60px;
    font-size: 3.6rem;
    border-radius: 50px;

  }

  .Guide_introduction1,
  .Guide_introduction2,
  .Guide_introduction3 {
    display: block;
  }



  .image-slider img {
    width: 472px;
    height: 260px;
  }

  .exterioor1 {
    object-position: bottom;

  }

  .content-wrap {
    margin-top: 120px;
    display: flex;
    gap: 20px;
    align-items: center;


  }

  .pc-only {
    display: block;
  }

  .title_pc-only {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 2rem;
  }

  .title_sp-only {
    display: none;
  }

  .Guide_introduction1_pc-only {
    text-align: left;

  }

  .explanation {
    margin-top: 20px;
  }

  .title_pc-only::before {
    content: "";
    position: absolute;
    left: -2.5em;
    top: 55%;
    width: 46px;
    height: 3px;
    background-color: var(--primary-turquoise);
    border-radius: 2px
  }








}