#pagestemp .pagessec_a.firstsec{ padding: 120px 0 270px; }
#pagestemp .faq-marquee{ margin-top: 10px; }
#pagestemp .pagessec_left{ min-width: 335px; }
#pagestemp .pagessec_content .pagewrap{ gap: 65px; }
#pagestemp .guide-slider {
  position: relative;
  display: flex;
  align-items: center;
}

#pagestemp .guide-viewport {
  overflow: hidden;
  width: 100%;
}

#pagestemp .guide-track {
  display: flex;
  transition: transform 0.4s ease;
}

#pagestemp .guide-tbldiv {
  min-width: 50%;
  padding: 0 10px;
}

/* TABLE */
#pagestemp .guide-table {
  width: 100%;
  border-collapse: separate;
	border-spacing: 0;
  border-radius: 15px;
  overflow: hidden;
  width: 390px;
	font-size: 17px;
  border: 1px solid #D5D5D5;
}

#pagestemp .guide-table th {
  background: #00AC97;
  color: #fff;
  padding: 15px;
  text-align: left;
}

#pagestemp .guide-table td {
  padding: 15px;
  border-bottom: 1px solid #D5D5D5;
}
#pagestemp .guide-table th:nth-child(2){ width: 70px; }
#pagestemp .guide-table td:nth-child(2){
  background: #00AC971A;
  width: 70px;
  text-align: center;
  vertical-align: middle;
}
#pagestemp .guide-table td:nth-child(2),
#pagestemp .guide-table th:nth-child(2) {
  border-left: 1px solid #D5D5D5;
}
#pagestemp .guide-table tr:last-child td{ border-bottom: none; }

/* DOT */
#pagestemp .guide-dot {
  width: 17px;
  height: 17px;
  background: #00AC97;
  border-radius: 100%;
  display: inline-block;
  vertical-align: middle;
}

/* BUTTONS */
#pagestemp .guide-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  cursor: pointer;
  z-index: 2;
  background: none;
}

#pagestemp .guide-prev { left: -55px; }
#pagestemp .guide-next { right: -65px; }
#pagestemp .guide-btn img { width: 48px; height: 48px; }

#pagestemp .clinic-card { display: flex; border-radius: 20px; overflow: hidden; background: #f7f7f7; margin-bottom: 10px; }
#pagestemp .clinic-image { position: relative; }
#pagestemp .clinic-image img { object-fit: cover; display: block; }
#pagestemp .clinic-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: red;
  font-weight: bold;
  font-size: 24px;
}

#pagestemp .clinic-content { display: flex; flex-direction: column; justify-content: center; padding: 0 25px; }
#pagestemp .clinic-title { font-family: fot-tsukuardgothic-std, sans-serif; font-size: 28px; font-weight: 700; line-height: 1.3; margin-bottom: 10px; }
#pagestemp .clinic-address { font-size: 15px; margin-bottom: 20px; line-height: 1.7; }
#pagestemp .clinic-box { display: flex; background: #cfe1df; border-radius: 15px; overflow: hidden; margin-bottom: 20px; }
#pagestemp .clinic-box-label { background: #00AC97; color: #fff; padding: 15px 10px; writing-mode: vertical-rl; text-orientation: upright; font-size: 15px; letter-spacing: 3px; display: flex; justify-content: center; }
#pagestemp .clinic-box-text { padding: 15px; font-size: 15px; line-height: 1.7; }
#pagestemp .clinic-link { font-size: 15px; line-height: 1.7; text-decoration: underline; color: #222; display: inline-flex; align-items: center; gap: 8px; }


.flow-steps { display: flex; flex-direction: column; gap: 20px; }
.flow-item { display: flex; border-radius: 16px; overflow: hidden; background: #00AC971A; min-height: 150px; }

.flow-left {
  background: #00AC97;
  color: #fff;
  padding: 20px 15px;
  text-align: center;
  min-width: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.flow-step {
  font-family: "Outfit", sans-serif;
  font-size: 14px;
}

.flow-num {
  font-family: "Outfit", sans-serif;
  font-size: 38px;
  font-weight: 600;
}
.flow-content {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
}
.flow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flow-text h3 {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-size: 35px;
	line-height: 1.3;
  color: #00AC97;
  margin-bottom: 5px;
}
.flow-text p {
  font-size: 15px;
  color: #222;
  line-height: 1.7;
}
.flow-arrow { width: 16px; height: auto; margin: 0 auto; }

/* WRAPPER */
.cost-box {
  background: #f7f7f7;
  border-radius: 20px;
  padding: 30px;
	font-family: fot-tsukuardgothic-std, sans-serif;
}

/* ROW */
.cost-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

/* LEFT */
.cost-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

.cost-num {
  background: #00ac97;
  color: #fff;
  font-family: "Outfit", sans-serif;
  width: 45px;
  height: 45px;
	font-size: 30px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.cost-left h3 {
  font-size: 35px;
  color: #00ac97;
  font-family: fot-tsukuardgothic-std, sans-serif;
}

.cost-left small {
  font-size: 25px;
}

/* RIGHT */
.cost-right {
  font-size: 35px;
  font-weight: 700;
	line-height: 1.3;
  color: #222;
}

/* BREAKDOWN */
.cost-breakdown {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cost-item span{ min-width: 150px; }
.cost-item span, .cost-item strong { font-size: 35px; line-height: 1.5; }

.cost-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cost-item strong {
  margin-left: auto;
}

/* TOTAL */
.cost-total {
  margin-top: 10px;
  font-size: 18px;
}

/* NOTES */
.cost-notes {
  margin: 25px 0 25px 55px;
  padding: 0;
  font-family: ryo-gothic-plusn, sans-serif;
}

.cost-notes li {
  list-style: none;
  position: relative;
  padding-left: 15px;
  font-size: 15px;
	line-height: 1.7;
}

.cost-notes li::before {
  content: "";
  width: 12px;
  height: 12px;
  background: #00ac97;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 8px;
}

/* DIVIDER */
.cost-box hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 25px 0;
}

	@media (max-width: 900px) {

		/* START DON'T REMOVE ON THIS FILE */
		#pagestemp .pagessec_a.firstsec{ padding: 120px 0 200px; }
		#pagestemp .pagesnav{ margin-top: -450px; }
		#pagestemp .pagessec_a.firstsec{ margin-top: 280px; }
		/* END DON'T REMOVE ON THIS FILE */

		#pagestemp .faq-q p{ font-size: 18px; line-height: 1.4; }
		#pagestemp .faq-label{ font-size: 25px; }
		#pagestemp .faq-q .faq-label{ width: 36px; height: 36px; font-size: 26px; }
		#pagestemp .pagessec_a.firstsec .faqwrap .pagessec_left{ margin: 40px auto 0 !important; }
		#pagestemp .pagessec_content .pagewrap{ gap: 40px; }
		#pagestemp .pagesnav ul a{ width: 100%; }
		#pagestemp .faq-marquee{ margin-top: 50px; }

		#pagestemp .guide-table{ width: 100%; }
		#pagestemp .guide-tbldiv { min-width: 100%; padding: 0 15px; box-sizing: border-box; }
		#pagestemp .guide-btn { top: 50%; transform: translateY(-50%); }
		#pagestemp .guide-prev { left: -10px; }
  		#pagestemp .guide-next { right: -10px; }
		#pagestemp .guide-btn img { width: 36px; height: 36px; }


  .clinic-card {
    flex-direction: column;
  }

  .clinic-image,
  .clinic-content {
    width: 100%;
  }
		#pagestemp .clinic-content{ padding: 20px; }
		#pagestemp .clinic-image img{ width: 100%; }

  .clinic-content {
    padding: 20px;
  }

  .clinic-box {
    flex-direction: row;
  }

  .clinic-box-label {
    writing-mode: horizontal-tb;
  }
  .flow-content {
    display: grid;
    grid-template-columns: 50px 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 8px;
    padding: 15px;
    align-items: center;
  }

  .flow-icon {
    grid-column: 1;
    grid-row: 1;
    width: 50px;
    height: 50px;
    align-self: center;
  }
  .flow-icon img {
    width: 50px;
    height: 50px;
    object-fit: contain;
  }

  .flow-text {
    display: contents;
  }

  .flow-text h3 {
    grid-column: 2;
    grid-row: 1;
    font-size: 18px;
    margin-bottom: 0;
    align-self: center;
  }

  .flow-text p {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: 13px;
    margin-top: 0;
  }

  .cost-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .cost-num {
    width: 45px;
    height: 45px;
    min-width: 45px;
    font-size: 30px;
    flex-shrink: 0;
  }

  .cost-left h3 {
    font-size: 28px;
  }

  .cost-left small {
    font-size: 18px;
  }

  .cost-right {
    font-size: 20px;
    width: 100%;
  }

  .cost-item span,
  .cost-item strong {
    font-size: 25px;
  }

  .cost-item strong small.yen {
    font-size: 18px;
  }

  .cost-item span {
    min-width: unset;
    flex: 1;
  }

  .cost-item {
    gap: 8px;
    padding: 4px 0;
  }

  .cost-breakdown {
    padding-left: 20px;
  }

  .cost-icon {
    width: 28px;
    height: 28px;
  }

  .cost-notes li {
    font-size: 13px;
  }

  .cost-notes {
    margin-left: 0;
  }


}
