/* ====================================================
   Root Canal AIO追加施策
   - 定義文 / 比較表 / 地域文脈 / FAQ補足
==================================================== */
#root-canal .area-context {
  width: min(92%, 980px);
  margin: 0 auto 3.5rem;
  padding: 1.8rem 2.4rem;
  line-height: 1.9;
  color: #333;
}

#root-canal .definition {
margin: 1rem 0 1.8rem;
padding: 1.4rem 1.6rem;
background: #fff !important;
border: none !important;
line-height: 1.9;
color: #666 !important;
text-align: left !important;
font-size: 100%;
}

#root-canal .aio-note {
  margin: 1.2rem 0 0;
  padding: 1.2rem 1.4rem;
  background: #fff;
  line-height: 1.8;
}

#root-canal a[target="_blank"] {
  text-decoration: underline;
  text-underline-offset: 0.18em;
  color: #404040;
}

#root-canal .aio-compare {
  padding: 4rem 0;
  background: #f7f4ee;
}

#root-canal .aio-compare--microscope {
  background: #fbfaf7;
}

#root-canal .aio-compare .inner {
  width: min(92%, 1080px);
  margin: 0 auto;
}

#root-canal .aio-compare h3 {
  margin: 0 0 1.8rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid #b9aa8f;
  color: #BDA357;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.45;
}

#root-canal .aio-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#root-canal .aio-compare-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #d8cfbf;
  font-size:1.5rem;
}

#root-canal .aio-compare-table th,
#root-canal .aio-compare-table td {
  padding: 1.4rem 1.6rem;
  border: 1px solid #d8cfbf;
  line-height: 1.7;
  vertical-align: top;
}

#root-canal .aio-compare-table th {
  background: #9B7F4D;
  color: #fff;
  font-weight: 700;
  text-align: left;
}

#root-canal .aio-compare-table th:first-child {
  width: 18%;
  background: #6D5430;
}

#root-canal .aio-compare-table td:first-child {
  background: #f8f5ee;
}

#root-canal .flow .point p:last-child {
  color: #8A5B1F;
  font-weight: 700;
}

#root-canal .faq dd p {
  margin: 0 0 0.8em;
}

#root-canal .faq dd p:last-child {
  margin-bottom: 0;
}

#root-canal .faq-flow {
  margin: 0.8em 0;
  padding: 1rem 1.4rem;
  background: #faf8f3;
}

#root-canal .faq-flow li {
  margin: 0.3em 0;
  line-height: 1.7;
}

#root-canal .doctor .drName span {
  display: inline-block;
  margin-top: 0.35em;
  font-size: 0.78em;
  line-height: 1.5;
}

/* reset */
#root-canal .shindan ul.contentsFlex li {
	display: grid;
	flex-wrap: wrap;
}
#root-canal .shindan ul.contentsFlex li p.definition {
	order:2;
	font-size:90%;
	margin-bottom:0;
}
#root-canal .shindan ul.contentsFlex li h4 {
	width:100%;
}
#root-canal .shindan ul.contentsFlex li ul {
	margin-bottom:0;
}
#root-canal .faq dl dt.active:after {
	top:0;
	bottom:0;
	margin:auto;
}
#root-canal .faq dl dd {
border-radius: 10px;
}
#root-canal .doctor .drInfo p {
text-align:left;
}


@media screen and (min-width: 768px) {
	#root-canal .faq dl dt:hover {
		cursor: pointer;
	}
}

@media screen and (max-width: 767px) {
  #root-canal .area-context {
    margin-bottom: 2.4rem;
    padding: 1.4rem 1.5rem;
  }

  #root-canal .definition {
    padding: 1.2rem 1.3rem;
  }

  #root-canal .aio-compare {
    padding: 3rem 0;
  }

  #root-canal .aio-compare h3 {
    font-size: 1.35em;
  }

  #root-canal .aio-compare-table {
    min-width: 680px;
  }

  #root-canal .aio-compare-table th,
  #root-canal .aio-compare-table td {
    padding: 1rem 1.1rem;
  }
  #root-canal .faq dl dt {
	font-size:1.5rem;
	line-height:1.6;
	}
	#root-canal .faq dl dt.active:after,
	#root-canal .faq dl dt:after {
	right:10px;
	}
}


