@charset "UTF-8";

/* root-canal
---------------------------------------------------------------------------*/
.title-sub strong {
  font-size: 17px;
}

/* .root-canal-lead
------------------------------------*/
.root-canal-lead {
  margin: 0 auto 135px;
  padding-top: 135px;
}

.root-canal-lead .inner1 {
  display: flex;
	justify-content: space-between;
  width: 960px;
  margin: 0 auto 80px;
}

.root-canal-lead .inner1 figure {
  width: 460px;
  min-width: 460px;
}

.root-canal-lead .inner1 .txt {
  padding: 2px 0 0 60px;
}

.root-canal-lead .inner1 h2 {
  margin-bottom: 15px;
}

.root-canal-lead .inner1 h3,
.root-canal-lead .inner2 h3 {
  margin: 0 0 22px -2px;
  font-size: 31px;
  line-height: 1.65;
  letter-spacing: 0.1em;
}

.root-canal-lead .inner1 p,
.root-canal-lead .inner2 .txt p {
  margin-bottom: 12px;
  margin-left: 1px;
  font-size: 16px;
  line-height: 2.15;
  letter-spacing: 0.11em;
  text-align: justify;
}

.root-canal-lead .inner2 {
  display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
  width: 960px;
  margin: 0 auto;
}

.root-canal-lead .inner2 .img {
  position: relative;
  width: 430px;
  margin-right: -15px;
}

.root-canal-lead .inner2 .img2 {
  display: block;
  transform: translate(-10px,-10px);
}

.root-canal-lead .inner2 .img3 {
  display: block;
  margin: 64px 0 0 52px;
}

.root-canal-lead .inner2 .with {
  display: block;
  position: absolute;
  top: -65px;
  left: 315px;
}

.root-canal-lead .inner2 .txt {
  padding: 5px 35px 0 28px;
}

.root-canal-lead .inner2 .txt p {
  line-height: 2.2;
  text-align: left;
}

.root-canal-lead .inner2 .btn-arrow {
  margin: 35px 0 0 -2px;
}

/* .service-detail-bg-wrap
------------------------------------*/
.service-detail-sec-title {
  padding-bottom: 20px;
}

.service-detail-sec-title h2 {
  font-size: 24px;
}

.service-detail-anchor-wrap nav {
  padding-top: 60px;
}

.service-detail-anchor-inner #point2 {
  margin-bottom: 40px;
}

.service-detail-anchor-inner #point2 .img {
  position: relative;
  margin-bottom: 50px;
}

.service-detail-anchor-inner #point2 .img figure:nth-of-type(1) figcaption {
  margin: 17px 0 8px;
  color: #5B4023;
  font-size: 17px;
}

.service-detail-anchor-inner #point2 .img figure:nth-of-type(1) p {
  font-size: 14px;
  line-height: 1.9;
}

.service-detail-anchor-inner #point2 .img figure:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 0;
}

.service-detail-anchor-inner #point2 .img figure:nth-of-type(2) .rad {
  width: 324px;
}

.service-detail-anchor-inner #point2 .img figure:nth-of-type(2) .zoom {
  position: absolute;
  bottom: -65px;
	right: -53px;
}

.service-detail-anchor-inner #point2 .img figure:nth-of-type(2) figcaption {
  display: block;
  position: absolute;
  bottom: -102px;
  left: 148px;
  color: #7FA401;
}

.service-detail-anchor-inner .img-txt {
  display: flex;
	align-items: flex-end;
  margin-bottom: 21px;
}

.service-detail-anchor-inner .img-txt figure {
  width: 200px;
  min-width: 200px;
}

.service-detail-anchor-inner .img-txt figure img {
  border-radius: 5px;
}

.service-detail-anchor-inner .img-txt .txt {
  padding: 0 45px 0 30px;
}

.service-detail-anchor-inner .img-txt .txt h6 {
  margin-bottom: 16px;
  font-size: 17px;
  letter-spacing: 0.1em;
}

.service-detail-anchor-inner .img-txt .txt p {
  font-size: 14px;
  line-height: 1.9;
  text-align: justify;
}

.service-detail-anchor-inner .img-txt + .btn-color {
  margin: 55px -10px 0;
}

.service-detail-anchor-inner .btn-color > a {
  padding-top: 20px;
  padding-bottom: 22px;
  font-size: 18px;
}

/* .root-canal-fee
------------------------------------*/
.root-canal-fee {
  box-sizing: border-box;
  background-color: #F6EFDD;
  width: 100%;
  margin-bottom: 105px;
  padding: 95px 0;
}

.root-canal-fee .sec-inner {
  width: 900px;
  margin: 0 auto;
}

.root-canal-fee h2 {
  margin-bottom: 25px;
}

.root-canal-fee h3 {
  margin-bottom: 18px;
  color: #7FA401;
  font-size: 17px;
  letter-spacing: 0.17em;
}

.root-canal-fee p {
  font-size: 15px;
  letter-spacing: 0.15em;
}

.root-canal-fee table {
  margin: 35px 0 35px -5px;
}

.root-canal-fee .box {
  display: inline-block;
  background-color: #FDFBF2;
  border-radius: 4px;
  margin: 0 0 15px;
  padding: 16px 28px 16px 34px;
}

/* .root-canal-contact
------------------------------------*/
.root-canal-contact {
  position: relative;
  width: 880px;
  margin: 140px auto 0;
}

.root-canal-contact figure {
  position: absolute;
  top: 0;
  right: -10px;
  width: 400px;
}

.root-canal-contact h2 {
  margin-bottom: 26px;
}

.root-canal-contact h3 {
  margin-bottom: 18px;
  font-size: 22px;
  line-height: 1.9;
  letter-spacing: 0.2em;
}

.root-canal-contact p {
  font-size: 15px;
  line-height: 2.2;
  letter-spacing: 0.12em;
}


/* root-canal detail
---------------------------------------------------------------------------*/
.service-detail-bg-wrap + .service-detail-bg-wrap {
  border-top: none;
  padding-top: 0;
}

/* .service-detail-target .message
------------------------------------*/
.service-detail-target .message .txt1 { top: 0px; left: 20px; }
.service-detail-target .message .txt2 { top: 35px; left: 390px; }
.service-detail-target .message .txt3 { top: 220px; left: 50px; }
.service-detail-target .message .txt4 { top: 257px; left: 460px; }

.service-detail-target .message .txt1:after { transform: scaleX(-1); }
.service-detail-target .message .txt2:after { left: 70px; }
.service-detail-target .message .txt3:after { left: 70px; }
.service-detail-target .message .txt4:after { left: 190px; transform: scaleX(-1); }

/* .service-detail-flow
------------------------------------*/
.service-detail-flow .list:before {
  height: calc(100% - 90px);
}

.service-detail-flow .number {
  display: flex;
	justify-content: space-between;
  margin: 70px 0 0 230px;
}

.service-detail-flow .number h3 {
  box-sizing: border-box;
  background-color: #FFFFFF;
  width: 197px;
  min-width: 197px;
  margin-right: 35px;
  padding: 35px 0;
  color: #7FA401;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.13em;
  text-align: center;
}

.service-detail-flow .number h3 span {
  display: block;
  margin-top: 4px;
  font-size: 13px;
}

.service-detail-flow .number > div {
  width: 100%;
  color: #5B4023;
}

.service-detail-flow .number .attention-list {
  margin-top: 12px;
}

.service-detail-flow .number .attention-list li {
  font-size: 12px;
}

.dl-line dl {
  display: flex;
	justify-content: space-between;
  border-bottom: 1px solid #D7CDBB;
  padding: 16px 9px 8px 3px;
}

.dl-line dt {
  font-size: 18px;
  letter-spacing: 0.12em;
}

.dl-line dt span {
  font-size: 15px;
}

.dl-line dd {
  font-size: 17px;
  letter-spacing: 0.12em;
  text-align: right;
}

.dl-line dd span {
  font-size: 13px;
}

/* .service-detail-fee
------------------------------------*/
#detailContents .service-detail-fee {
  position: relative;
  box-sizing: border-box;
  margin-top: -80px !important;
  padding: 80px 0 0 220px !important;
}

#detailContents .service-detail-fee .service-detail-anchor-wrap {
  margin-top: 0;
}

#detailContents .service-detail-fee .title-sub {
  position: absolute;
  top: 80px;
  left: 0;
}

#detailContents .service-detail-fee .table-price {
  margin-top: 0;
}