@charset "UTF-8";
/* CSS Document */

/* ===== 当院について ===== */
.about h1 { text-align: center; }
.about img, .list01 img { width: 100%; }

.list01 h1 {
  text-align: center;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.list01 dl{
  display:flex;
  gap:24px;
  align-items:flex-start;
}

.list01 dt{ width:210px;  } /* 4:3なら 210×157.5≒158 */
.list01 dt img{ width:210px; object-fit:cover; display:block; }


/* ===== 施術TOP ===== */
#list {
  background: #f2f2f2;
  padding: 60px 0;
  margin-bottom: 0;
  max-width: 100%;
}
#list ul {
  display: flex;
  gap: 40px;
  width: 960px;
  margin: 0 auto;
  padding: 0;
}
#list li {
  width: calc(100% / 3);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px 20px;
  box-sizing: border-box;
  text-align: center;
}
#list dl {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex-grow: 1;
}
#list dt {
  text-align: center;
  margin-bottom: 20px;
}
#list dt img {
  width: 100px;
  height: auto;
  display: block;
  margin: 0 auto;
}
#list dd {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
#list dd h2 {
  font-size: 18px;
  margin-bottom: 10px;
  text-align: center;
}
#list dd p { margin-bottom: 20px; }
#list dd a {
  display: inline-block;
  margin-top: auto;
  padding: 12px 24px;
  background: #222;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 0;
}

/* ===== 共通タイトル ===== */
h1.last {
  text-align: center;
  margin-bottom: 80px;
  font-size: clamp(1.125rem, 0.625rem + 2.5vw, 2.5rem);
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
#tit02, #tit03, #tit04, #tit05, #tit06, #tit_tit,#tit07, #tit08,#about_tit {
  background-position: center;
  background-repeat: no-repeat;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(15.625rem, 9.943rem + 28.41vw, 31.25rem);
  position: relative;
  margin-bottom: 40px;
}
#tit07 { margin-bottom: 0; }

#tit_tit { background: url("/img/inspection/tit_img02.png") no-repeat center/cover; }
#tit03 { background: url("/img/treatment/tit_img03.png") no-repeat center/cover; }
#tit04 { background: url("/img/program/tit_img04.png") no-repeat center/cover; }


#tit07 { background: url("/img/tit_img07.png") no-repeat center/cover; }
#tit08 { background: url("/img/tit_img08.png") no-repeat center/cover; }
#about_tit{background: url("/img/about/about_tit.png")no-repeat center/cover;}
#tit02 h1, #tit03 h1, #tit04 h1, #tit05 h1, #tit06 h1, #tit_tit h1,#tit07 h1, #tit08 h1,#about_tit h1 {
  background: #000;
  color: #fff;
  padding: 10px 20px;
  font-size: 24px;
  font-weight: bold;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  text-align: center;
}

/* ===== コンテンツテキスト ===== */
#txt02 dl { display: flex; margin-bottom: 60px; }
#txt02 dt { margin-right: 20px; }
#txt02 img { width: 60px; }
#txt02 h2 { line-height: 40px; margin-bottom: 15px; }
#txt02 dd { line-height: 35px; }

/* ===== FAQ ===== */
#faq dt {
  position: relative;
  padding-left: 40px;
  margin-bottom: 10px;
	text-align: left;
}
#faq dt:before {
  content: "";
  position: absolute;
  width: 29px;
  height: 29px;
  background: url("/img/q.png") no-repeat;
  background-size: cover;
  top: 5px;
  left: 0;
}
#faq dd {
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
#faq dd:before {
  content: "";
  position: absolute;
  width: 29px;
  height: 29px;
  background: url("/img/a.png") no-repeat;
  background-size: cover;
  top: 5px;
  left: 0;
}

/* ===== 料金表 ===== */
.price_tit { text-align: center; margin-bottom: 30px; }
.price_tit h1 { font-size: 30px; margin-bottom: 0; }
.price_tit h2 {
  font-size: 28px;
  font-weight: normal;
  margin-bottom: 0;
  line-height: 30px;
}

.price li {
  margin-bottom: 60px;
  padding-left: 120px;
  position: relative;
}
.price li:nth-child(1):before {
  content: "";
  position: absolute;
  background: url("/img/step01.png") no-repeat;
  background-size: contain;
  width: 76px; height: 76px;
  top: 23px; left: 0;
}
.price li:nth-child(2):before {
  content: "";
  position: absolute;
  background: url("/img/step02.png") no-repeat;
  background-size: contain;
  width: 76px; height: 76px;
  top: 15px; left: 0;
}
.price li:nth-child(3):before {
  content: "";
  position: absolute;
  background: url("/img/step03.png") no-repeat;
  background-size: contain;
  width: 76px; height: 76px;
  top: 23px; left: 0;
}
.price li:nth-child(4):before {
  content: "";
  position: absolute;
  background: url("/img/step04.png") no-repeat;
  background-size: contain;
  width: 76px; height: 76px;
  top: 0; left: 0;
}
.price table {
  max-width: 700px;
  width: 100%;
}
.price tr { border-bottom: 1px solid #ccc; }
.price th {
  text-align: left;
  font-weight: normal;
  line-height: 24px;
  padding: 20px 0 10px;
  max-width: 680px;
  vertical-align: top;
}
.price td {
  text-align: right;
  line-height: 24px;
  padding: 20px 0 25px;
  vertical-align: top;
}

/* ===== アクセス ===== */
.access table {
  max-width: 960px;
  width: calc(100% - 40px);
  margin: 0 auto 60px;
}
.access tr { border-bottom: 1px solid #ccc; }
.access th {
  text-align: left;
  font-weight: normal;
  line-height: 24px;
  padding: 20px 0 10px;
  vertical-align: top;
}
.access td {
  line-height: 24px;
  padding: 20px 0 25px;
  vertical-align: top;
  width: 85%;
}
#access_last {
  text-align: center;
  margin: 0 auto 80px;
}

/* ===== 法律表記 ===== */
.law tr { border-bottom: 1px solid #ccc; }
.law th, .law td { padding: 10px; }
.law th {
  text-align: left;
  font-weight: normal;
  vertical-align: top;
  width: 255px;
}

/* ===== Responsive ===== */
@media screen and (max-width: 880px) {
	.list01 dt{ width:100%;  } 

	
  .list01 dl { display: block; }
  .list01 dt { margin-right: 0; }
  .access th { width: 80px; }
	.list01 dt img {
  width: 100%;
  object-fit: cover;
  display: block;
}
}

/* CSS Document */

/* ▼ タイトル部分 */
#tit02 {
  background: url("/img/about/about_tit.png") no-repeat center center / cover;
  background-repeat: no-repeat;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(15.625rem, 9.943rem + 28.41vw, 31.25rem);
  position: relative;
  margin-bottom: 40px;
}

#tit02 h1 {
  background: #000;
  color: #fff;
  padding: 10px 20px;
  font-size: 24px;
  font-weight: bold;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-align: center;
}

/* ▼ スライダーラッパー */
.slider-wrapper {
  max-width: 960px;
  margin: 0 auto 85px;
  padding: 0 60px;
  position: relative;
  box-sizing: border-box;
  background: #f2f2f2;
}

/* ▼ スライダー本体 */
.slider {
  box-sizing: border-box;
}

.slick-track {
  display: flex !important;
  align-items: stretch;
}

.slick-slide {
  display: flex !important;
  height: auto;
}

/* ▼ スライドアイテム */
.slide-item {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  text-align: center;
 padding: 40px 20px;
  box-sizing: border-box;
  margin: 0 10px;
}

/* ▼ カード内部構造（dl構造用） */
.slide-item dl {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100%;
  width: 100%;
}

.slide-item dt {
  margin-bottom: 10px;
}

.slide-item dt img {
  height: 127px;
  margin: 0 auto;
}

.slide-item dd {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
text-align: left;
}
.slide-item dd h1{
	font-size: 16px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	text-align: center;
}
.slide-item h1 {
  font-size: 16px;
  margin: 10px 0;
  flex-shrink: 0;
}

.slide-item p {
  flex-grow: 1;
  margin: 0 0 10px;
}



/* ▼ 矢印ボタン（外側配置） */
.slick-prev,
.slick-next {
  width: 48px;
  height: 48px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  z-index: 100;
  cursor: pointer;
}

.slick-prev {
  left: -60px;
}

.slick-next {
  right: -60px;
}
#program_list dl{
	display: flex;
	margin-bottom: 60px;
}
#program_list dt {
  margin-right: 20px;
	width:60px;
}
#program_list dd {
  line-height: 35px;
}
#program_list img {
  width: 60px;
}
.slick-prev::before,
.slick-next::before {
  display: none;
}

/* ▼ レスポンシブ対応 */
@media screen and (max-width: 1024px) {
  .slider-wrapper {
    padding: 0 40px;
  }
}

@media screen and (max-width: 768px) {
  .slider-wrapper {
    padding: 0 20px;
  }
}
  .slick-prev {
    left: -20px;
  }
  .slick-next {
   right: -20px;
  }
/* ▼ アコーディオン */
#accordion details {
  max-width: 960px;
  width: 100%;

  border-radius: 4px;
  margin-bottom: 10px;
  padding: 5px;
}

#accordion summary {
  cursor: pointer;
  list-style: none;
  position: relative;
margin-bottom: 10px;
border-bottom: 1px solid #ccc;
}

#accordion summary::before {
  content: "+";
  position: absolute;
  right: 20px;
  top: 0;
}

#accordion details[open] summary::before {
  content: "-";
}

#accordion details dl{
	display:flex;

}
#accordion details dt{
	margin-right: 10px;
}