.el__title { margin-bottom: 20px; }

#s01 section section { margin-top: 0; margin-bottom: 0; }
#s01 section section + section { margin-top: 20px; }
#s01 .el__box { margin-top: 0; margin-bottom: 0; padding-top: 12px; padding-bottom: 12px; }
#s01 .el__header { margin-bottom: 32px; }
#s02 .el__header { margin-bottom: 40px; }
#s02 > .container-1024 > section:first-of-type { margin-top: 40px; }
#s03 > .container-1024 > .caries__lead { margin-bottom: 48px; }

#s04 .el__box {
  padding: 60px 60px 60px;
  background:
    url(../images/page/page-border-1.png) no-repeat center top,
    url(../images/page/page-border-3.png) no-repeat center bottom,
    url(../images/page/page-border-2.png) repeat-y;
  background-size: 100% auto, 100% auto, 100% 100%;
  position: relative;
  margin-top: -28px;
}
#s04 .el__header { position: relative; z-index: 2; margin-bottom: 0; text-align: center; }
#s04 .el__header__title { display: inline-block; background: #fff; padding: 0 28px; margin: 0; }
#s04 .el__header__title::after { display: none !important; }
@media (max-width: 767px) {
  #s04 .el__box { padding: 40px 24px 30px; margin-top: -20px; }
  #s04 .el__header__title { padding: 0 14px; }
}

#s03 .el__item.d-md-flex {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
#s03 .el__item.d-md-flex > .el__thumb {
  flex: 0 0 360px;
  max-width: 360px;
  margin-right: 0;
  margin-bottom: 0;
}
#s03 .el__item.d-md-flex > div:not(.el__thumb) {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 767px) {
  #s03 .el__item.d-md-flex {
    display: block;
  }
  #s03 .el__item.d-md-flex > .el__thumb {
    max-width: 100%;
    flex: none;
    margin: 0 0 20px;
  }
}

.regen__list { margin: 0; padding: 0; }
.regen__list dt {
  font-weight: 700;
  color: #1c4a5a;
  margin-top: 14px;
  padding-left: 18px;
  position: relative;
  line-height: 1.5;
}
.regen__list dt:first-child { margin-top: 0; }
.regen__list dt::before {
  content: "・";
  color: #6cc6e0;
  position: absolute;
  left: 0;
  top: 0;
}
.regen__list dd {
  margin: 4px 0 0 18px;
  line-height: 1.7;
}

.regen__badge {
  display: inline-block;
  font-size: 0.7em;
  font-weight: 700;
  color: #1c4a5a;
  vertical-align: middle;
  margin-left: 6px;
}
.regen__step__title {
  font-weight: 700;
  color: #1c4a5a;
  margin: 18px 0 8px;
}
.regen__step {
  list-style: none;
  counter-reset: regen-step;
  padding: 0;
  margin: 0;
}
.regen__step li {
  counter-increment: regen-step;
  position: relative;
  padding-left: 32px;
  margin-bottom: 10px;
  line-height: 1.7;
}
.regen__step li::before {
  content: counter(regen-step);
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  background: #6cc6e0;
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
}

.regen__check__list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}
.regen__check__list li {
  position: relative;
  padding: 12px 16px 12px 36px;
  margin-bottom: 10px;
  background: #f3fbfd;
  border-radius: 6px;
  line-height: 1.7;
}
.regen__check__list li::before {
  content: "✓";
  position: absolute;
  left: 12px;
  top: 12px;
  color: #6cc6e0;
  font-weight: 700;
  font-size: 18px;
}
.regen__check__cond {
  display: inline;
}
.regen__check__ans {
  display: inline-block;
  margin-left: 4px;
  padding: 2px 12px;
  background: #6cc6e0;
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  white-space: nowrap;
}
.regen__check__ans::before {
  content: "→ ";
}
@media (max-width: 767px) {
  .regen__check__list li { padding-left: 32px; }
  .regen__check__ans { margin-top: 6px; margin-left: 0; }
}

.regen__subtitle {
  font-size: 20px;
  font-weight: 700;
  color: #1c4a5a;
  margin: 0 0 12px;
  padding-left: 24px;
  position: relative;
  line-height: 1.5;
}
.regen__subtitle::before {
  content: "●";
  color: #6cc6e0;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
  line-height: inherit;
}
@media (max-width: 767px) {
  .regen__subtitle { font-size: 17px; padding-left: 20px; }
  .regen__subtitle::before { font-size: 15px; }
}

@media (max-width: 767px) {
    .regen__badge { display: block; margin-top: 8px; }
}
