.cp-page--implant {
  --implant-blue: #12b7d5;
  --implant-blue-dark: #095f86;
  --implant-blue-pale: #eef9fb;
  --implant-gold: #c3a452;
  --implant-brown: #9b8052;
  --implant-pink: #ed8c96;
  --implant-text: #095f86;
  --implant-border: #bfe9f2;
  --implant-bg: #fbfaf9;
  --implant-white: #fff;
}
.cp-page--implant section {
  padding-top: 4em;
  padding-bottom: 4em;
}
.cp-page--implant .implant-box {
  margin-bottom: 0;
}
.cp-page--implant .implant-kicker {
  margin-bottom: 0.7em;
  color: var(--implant-blue-dark);
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.cp-page--implant .implant-section-label {
  display: block;
  margin-bottom: 0.5em;
  color: var(--implant-blue);
  font-family: "Rubik", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}
.cp-page--implant .implant-section-intro {
  max-width: 780px;
  margin: 0 auto 2.5em;
  text-align: center;
}
.cp-page--implant .implant-lead {
  align-items: center;
}
.cp-page--implant .implant-concern-grid,
.cp-page--implant .implant-policy-grid,
.cp-page--implant .implant-payment-grid,
.cp-page--implant .implant-merit-grid,
.cp-page--implant .implant-equipment-grid {
  display: grid;
  gap: 20px;
}
.cp-page--implant .implant-concern-grid {
  grid-template-columns: repeat(4, 1fr);
}
.cp-page--implant .implant-concern-card {
  position: relative;
  min-height: 185px;
  padding: 26px 22px 22px;
  background: #fff;
  border: 1px solid var(--implant-border);
  border-radius: 10px;
  box-shadow: 0 5px 16px rgba(9, 95, 134, 0.06);
}
.cp-page--implant .implant-concern-no {
  display: block;
  margin-bottom: 12px;
  color: var(--implant-blue);
  font-family: "Rubik", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.cp-page--implant .implant-number-card {
  padding: 22px 12px;
  text-align: center;
  background: #fff;
  border-top: 3px solid var(--implant-blue);
  box-shadow: 0 4px 14px rgba(9, 95, 134, 0.06);
}
.cp-page--implant .implant-number-card--accent {
  background: var(--implant-blue-pale);
}
.cp-page--implant .implant-number-label {
  display: block;
  min-height: 3em;
  margin-bottom: 8px;
  font-size: 1.3rem;
  font-weight: 700;
}
.cp-page--implant .implant-number-value {
  display: block;
  color: var(--implant-blue-dark);
  font-family: "Rubik", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.15;
}
.cp-page--implant .implant-number-value span {
  margin-left: 3px;
  font-size: 1.3rem;
}
.cp-page--implant .implant-intro-answer {
  margin-top: 3em;
  padding: 2.5em 3em;
  text-align: center;
  background: #f2fbfd;
  border-top: 3px solid var(--implant-blue);
}
.cp-page--implant .implant-intro-answer__kicker {
  margin-bottom: 0.6em;
  color: var(--implant-blue);
  font-family: "Rubik", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.cp-page--implant .implant-intro-answer p {
  max-width: 760px;
  margin: 0 auto 1em;
  text-align: left;
  line-height: 2;
}
.cp-page--implant .implant-intro-answer__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  margin-top: 1em;
  padding: 0.8em 1.8em;
  color: #fff;
  background: var(--implant-blue);
  border-radius: 30px;
  font-weight: 700;
}
.cp-page--implant .implant-intro-answer__link:hover {
  opacity: 0.82;
}
.cp-page--implant .implant-feature-fact {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  gap: 4px 14px;
  width: fit-content;
  margin: 0 0 1.2em;
  padding: 12px 16px;
  background: #f5fafb;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.cp-page--implant .implant-feature-fact span {
  font-size: 1.3rem;
  font-weight: 700;
}
.cp-page--implant .implant-feature-fact strong {
  color: var(--implant-blue-dark);
  font-family: "Rubik", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
}
.cp-page--implant .implant-feature-fact small {
  grid-column: 1 / -1;
  color: #666;
  font-size: 1.1rem;
}
.cp-page--implant .implant-case-ba__arrow-icon {
  display: block;
  width: 48px;
  height: 48px;
  fill: currentColor;
}
.cp-page--implant .implant-feature-section {
  background: #f8fcfd;
}
.cp-page--implant .implant-feature-item {
  margin-bottom: 36px;
  padding: 30px;
  background: #fff;
  border: 1px solid #e3f0f3;
  border-radius: 12px;
  box-shadow: 0 7px 24px rgba(9, 95, 134, 0.06);
}
.cp-page--implant .implant-feature-item:last-child {
  margin-bottom: 0;
}
.cp-page--implant .implant-feature-head {
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--implant-border);
}
.cp-page--implant .implant-feature-no {
  display: block;
  margin-bottom: 5px;
  color: var(--implant-blue);
  font-family: "Rubik", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.cp-page--implant .implant-point-list {
  margin: 1.2em 0;
  padding: 18px 20px;
  background: var(--implant-blue-pale);
}
.cp-page--implant .implant-point-list li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 1.5em;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
}
.cp-page--implant .implant-point-list li:last-child {
  margin-bottom: 0;
}
.cp-page--implant .implant-point-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--implant-blue);
  font-weight: 700;
}
.cp-page--implant .implant-note {
  margin-top: 1em;
  color: #666;
  font-size: 1.2rem;
  line-height: 1.7;
}
.cp-page--implant .implant-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
.cp-page--implant .implant-mini-card {
  padding: 18px;
  background: #fbfaf9;
  border-left: 4px solid var(--implant-gold);
}
.cp-page--implant .implant-warranty-box {
  margin: 1.5em 0;
  padding: 22px;
  background: var(--implant-blue-dark);
  color: #fff;
  text-align: center;
}
.cp-page--implant .implant-warranty-box span {
  display: block;
  margin-bottom: 8px;
  font-family: "Rubik", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.18em;
}
.cp-page--implant .implant-warranty-box strong {
  display: block;
  color: #fff;
  font-size: 2.4rem;
}
.cp-page--implant .case-detail {
  max-width: 900px;
  margin: 0 auto;
}
.cp-page--implant .case-ba-wrap {
  margin-bottom: 22px;
}
.cp-page--implant .case-ba {
  display: flex;
  align-items: center;
  gap: 14px;
}
.cp-page--implant .case-ba__col {
  position: relative;
  flex: 1 1 0;
  line-height: 0;
}
.cp-page--implant .case-ba__col img {
  width: 100%;
  height: auto;
  border: 1px solid #e2e2e2;
}
@media screen and (min-width: 768px) {
  .cp-page--implant .case-ba__label {
    position: absolute;
    left: 12px;
    padding: 7px 14px;
    background: rgba(9, 95, 134, 0.9);
    color: #fff;
    font-family: "Rubik", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .cp-page--implant .case-ba__label {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 7px 14px;
    background: rgba(9, 95, 134, 0.9);
    color: #fff;
    font-family: "Rubik", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
  }
}
.cp-page--implant .case-ba__label--after {
  background: rgba(18, 183, 213, 0.92);
}
@media screen and (min-width: 768px) {
  .cp-page--implant .case-ba__arrow {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: var(--implant-blue);
  }
}
@media screen and (max-width: 767px) {
  .cp-page--implant .case-ba__arrow {
    flex: 0 0 auto;
    color: var(--implant-blue);
    font-size: 2.2rem;
  }
}
.cp-page--implant .case-data-box {
  margin-top: 30px;
}
.cp-page--implant .case-total {
  display: inline-block;
  margin-top: 8px;
  color: var(--implant-blue-dark);
  font-size: 1.6rem;
}
.cp-page--implant .case-risk-wrap {
  margin-top: 26px;
}
.cp-page--implant .case-risk-box {
  padding: 18px 22px;
  background: #f8f8f8;
  border: 1px solid #e5e5e5;
}
.cp-page--implant .case-risk-box li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 1.2em;
  font-size: 1.3rem;
  line-height: 1.7;
}
.cp-page--implant .case-risk-box li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.cp-page--implant .implant-price-section {
  background: #f6fbfc;
}
.cp-page--implant .implant-price-hero {
  padding: 34px 30px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--implant-border);
}
.cp-page--implant .implant-price-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--implant-blue-dark);
  font-size: 1.6rem;
  font-weight: 700;
}
.cp-page--implant .implant-price-main {
  display: block;
  margin-bottom: 12px;
  color: var(--implant-blue-dark);
  font-family: "Rubik", sans-serif;
  font-size: 4.6rem;
  line-height: 1.2;
}
.cp-page--implant .implant-price-main span {
  margin-left: 6px;
  font-size: 1.7rem;
}
.cp-page--implant .implant-payment-grid {
  grid-template-columns: repeat(2, 1fr);
}
.cp-page--implant .implant-payment-card {
  padding: 28px 24px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--implant-border);
}
.cp-page--implant .implant-payment-card--loan {
  border: 2px solid var(--implant-blue);
}
.cp-page--implant .implant-payment-label {
  display: block;
  margin-bottom: 8px;
  font-size: 1.4rem;
  font-weight: 700;
}
.cp-page--implant .implant-payment-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--implant-blue-dark);
  font-family: "Rubik", sans-serif;
  font-size: 3.4rem;
  line-height: 1.2;
}
.cp-page--implant .implant-payment-card strong span {
  font-size: 1.4rem;
}
.cp-page--implant .implant-loan-example {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--implant-border);
  border-radius: 10px;
}
.cp-page--implant .implant-loan-example__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 24px;
  background: var(--implant-blue-dark);
  color: #fff;
}
.cp-page--implant .implant-loan-example__head span {
  font-size: 1.4rem;
  font-weight: 700;
}
.cp-page--implant .implant-loan-example__head strong {
  color: #fff;
  font-size: 2rem;
}
.cp-page--implant .implant-loan-example__body {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 30px;
  padding: 28px;
}
.cp-page--implant .implant-loan-monthly {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--implant-blue-pale);
}
.cp-page--implant .implant-loan-monthly > span {
  margin-bottom: 8px;
  font-size: 1.4rem;
  font-weight: 700;
}
.cp-page--implant .implant-loan-monthly strong {
  color: var(--implant-blue-dark);
  font-family: "Rubik", sans-serif;
  font-size: 4.2rem;
  line-height: 1.2;
}
.cp-page--implant .implant-loan-monthly strong small {
  font-size: 1.5rem;
}
.cp-page--implant .implant-loan-monthly em {
  margin-top: 10px;
  font-size: 1.3rem;
  font-style: normal;
}
.cp-page--implant .implant-loan-detail dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 0;
  border-bottom: 1px dotted #ccc;
}
.cp-page--implant .implant-loan-detail dt,
.cp-page--implant .implant-loan-detail dd {
  font-size: 1.3rem;
}
.cp-page--implant .implant-loan-example > .implant-note {
  margin: 0;
  padding: 0 28px 24px;
}
.cp-page--implant .implant-deduction {
  align-items: center;
  padding: 26px 30px;
  background: #fff;
  border-left: 5px solid var(--implant-gold);
}
.cp-page--implant .implant-link-box a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 16px;
  color: #fff;
  background: var(--implant-blue);
  font-size: 1.3rem;
  font-weight: 700;
}
.cp-page--implant .implant-cta-section,
.cp-page--implant .implant-final-cta-section {
  background: var(--implant-blue-dark);
}
.cp-page--implant .implant-cta-box,
.cp-page--implant .implant-final-cta {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}
.cp-page--implant .implant-cta-box h2,
.cp-page--implant .implant-final-cta h2 {
  margin-bottom: 20px;
  padding: 0;
  border: 0;
  background: none;
}
.cp-page--implant .implant-cta-box h2::before,
.cp-page--implant .implant-final-cta h2::before {
  display: none;
}
.cp-page--implant .implant-cta-box p,
.cp-page--implant .implant-final-cta p {
  color: #fff;
}
.cp-page--implant .implant-cta-points,
.cp-page--implant .implant-final-numbers {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 25px 0;
}
.cp-page--implant .implant-cta-points span,
.cp-page--implant .implant-final-numbers > div {
  min-width: 280px;
  padding: 14px 18px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.35);
  font-size: 1.3rem;
}
.cp-page--implant .implant-cta-points strong,
.cp-page--implant .implant-final-numbers strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: 2rem;
}
.cp-page--implant .implant-cta-section .implant-note {
  color: rgba(255,255,255,0.75);
}
.cp-page--implant .flow-box {
  max-width: 900px;
  margin: 0 auto;
}
.cp-page--implant .implant-equipment-grid {
  grid-template-columns: repeat(2, 1fr);
}
.cp-page--implant .implant-equipment-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--implant-border);
  border-radius: 10px;
}
.cp-page--implant .implant-equipment-card--wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
}
.cp-page--implant .implant-equipment-card--wide > img {
  width: 100%;
}
.cp-page--implant .implant-equipment-card__body {
  padding: 24px;
}
.cp-page--implant .implant-equipment-card__body > span {
  display: block;
  margin-bottom: 5px;
  color: var(--implant-blue);
  font-family: "Rubik", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}
.cp-page--implant .implant-policy-section {
  background: #f8fcfd;
}
.cp-page--implant .implant-policy-grid {
  grid-template-columns: repeat(2, 1fr);
}
.cp-page--implant .implant-policy-card {
  padding: 28px;
  background: #fff;
  border-top: 4px solid var(--implant-blue);
}
.cp-page--implant .implant-policy-no {
  display: block;
  margin-bottom: 10px;
  color: var(--implant-blue);
  font-family: "Rubik", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}
.cp-page--implant .implant-merit-grid {
  grid-template-columns: repeat(2, 1fr);
  max-width: 900px;
  margin: 0 auto 30px;
}
.cp-page--implant .implant-merit-card {
  padding: 26px;
  background: #fff;
  border: 1px solid var(--implant-border);
}
.cp-page--implant .implant-merit-card li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 1.8em;
  font-size: 1.4rem;
  line-height: 1.7;
}
.cp-page--implant .implant-merit-card--plus li::before {
  content: "＋";
  position: absolute;
  left: 0;
  color: var(--implant-blue);
  font-weight: 700;
}
.cp-page--implant .implant-merit-card--minus li::before {
  content: "−";
  position: absolute;
  left: 0;
  color: var(--implant-pink);
  font-weight: 700;
}
.cp-page--implant .implant-choice-box {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 28px;
  background: #f8f8f8;
  text-align: center;
}
.cp-page--implant .implant-faq-section .CG-box {
  max-width: 900px;
  margin: 0 auto;
}
.cp-page--implant .implant-faq-section .qa-title {
  margin-top: 10px;
}
.cp-page--implant .implant-final-numbers > div span {
  display: block;
  color: #fff;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .cp-page--implant.cp-page {
    --cp-accent: var(--implant-blue);
    --cp-deep: var(--implant-blue-dark);
    --cp-pale: var(--implant-blue-pale);
    --cp-border: var(--implant-border);
    --cp-text: var(--implant-text);
    --cp-section-y: 4em;
    color: inherit;
  }
  .cp-page--implant > .cp-section {
    padding-top: 4em;
    padding-bottom: 4em;
    padding-right: 0;
    padding-left: 0;
  }
  .cp-page--implant .implant.cp-inner {
    width: auto;
  }
  .cp-page--implant .cp-media-row.Fbox {
    display: flex;
    justify-content: space-between;
  }
  .cp-page--implant .implant-point-list.cp-check-list {
    border-top: 0;
  }
  .cp-page--implant .implant-point-list.cp-check-list li {
    border-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  @media screen and (max-width: 767px) {
    .cp-page--implant {
      width: 100%;
      max-width: 100%;
      overflow-x: clip;
      word-break: normal;
      overflow-wrap: break-word;
    }
    .cp-page--implant section {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }
    .cp-page--implant .implant,
    .cp-page--implant .implant-box,
    .cp-page--implant .case-detail,
    .cp-page--implant .flow-box,
    .cp-page--implant .CG-box,
    .cp-page--implant .implant-cta-box,
    .cp-page--implant .implant-final-cta {
      width: 100%;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      box-sizing: border-box;
    }
    .cp-page--implant .Fbox,
    .cp-page--implant .implant-lead.Fbox,
    .cp-page--implant .implant-deduction.Fbox {
      display: block !important;
    }
    .cp-page--implant .Lbox75,
    .cp-page--implant .Rbox75,
    .cp-page--implant .Lbox65,
    .cp-page--implant .Rbox65,
    .cp-page--implant .Lbox60,
    .cp-page--implant .Rbox60,
    .cp-page--implant .Lbox55,
    .cp-page--implant .Rbox55,
    .cp-page--implant .Lbox50,
    .cp-page--implant .Rbox50,
    .cp-page--implant .Lbox48,
    .cp-page--implant .Rbox48,
    .cp-page--implant .Lbox45,
    .cp-page--implant .Rbox45,
    .cp-page--implant .Lbox40,
    .cp-page--implant .Rbox40,
    .cp-page--implant .Lbox35,
    .cp-page--implant .Rbox35,
    .cp-page--implant .Lbox30,
    .cp-page--implant .Rbox30,
    .cp-page--implant .Lbox25,
    .cp-page--implant .Rbox25,
    .cp-page--implant .Lbox20,
    .cp-page--implant .Rbox20,
    .cp-page--implant .Lbox10,
    .cp-page--implant .Rbox10 {
      width: 100% !important;
      max-width: 100% !important;
      float: none !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      box-sizing: border-box;
    }
    .cp-page--implant img {
      max-width: 100%;
      height: auto;
    }
    .cp-page--implant .implant > .implant-box > h2,
    .cp-page--implant .implant > h2 {
      margin: 0 0 24px;
    }
    .cp-page--implant .implant-kicker {
      margin-bottom: 12px;
      font-size: 2rem;
      line-height: 1.55;
    }
    .cp-page--implant .implant-section-intro {
      margin: 0 0 22px;
      text-align: left;
    }
    .cp-page--implant .implant-lead .Rbox40 {
      margin-top: 18px !important;
    }
    .cp-page--implant .implant-concern-grid,
    .cp-page--implant .implant-policy-grid,
    .cp-page--implant .implant-payment-grid,
    .cp-page--implant .implant-merit-grid,
    .cp-page--implant .implant-equipment-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 14px !important;
    }
    .cp-page--implant .implant-concern-card {
      min-height: 0;
      padding: 18px 18px 17px;
      background: #fff !important;
      border: 1px solid var(--implant-border) !important;
      border-radius: 10px !important;
      box-shadow: 0 5px 16px rgba(9,95,134,.08) !important;
    }
    .cp-page--implant .implant-concern-no {
      margin-bottom: 7px;
    }
    .cp-page--implant .implant-number-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px !important;
    }
    .cp-page--implant .implant-number-card {
      min-width: 0;
      padding: 17px 8px 16px;
      background: #fff !important;
      border-top: 3px solid var(--implant-blue) !important;
      box-shadow: 0 4px 14px rgba(9,95,134,.08) !important;
    }
    .cp-page--implant .implant-number-card--accent {
      background: var(--implant-blue-pale) !important;
    }
    .cp-page--implant .implant-number-label {
      min-height: 3.2em;
      margin-bottom: 7px;
      font-size: 1.05rem;
      line-height: 1.45;
    }
    .cp-page--implant .implant-number-value {
      font-size: clamp(1.8rem, 6.2vw, 2.3rem);
      line-height: 1.2;
      white-space: nowrap;
    }
    .cp-page--implant .implant-number-value span {
      display: block;
      margin: 4px 0 0;
      font-size: 1rem;
      white-space: normal;
    }
    .cp-page--implant .implant-intro-answer {
      margin-top: 24px;
      padding: 22px 16px;
    }
    .cp-page--implant .implant-intro-answer p {
      text-align: left;
    }
    .cp-page--implant .implant-intro-answer__link {
      width: 100%;
      padding: 0.9em 1em;
      box-sizing: border-box;
    }
    .cp-page--implant .implant-feature-fact {
      width: 100%;
      grid-template-columns: 1fr auto;
      box-sizing: border-box;
    }
    .cp-page--implant .implant-feature-fact strong {
      font-size: 2.1rem;
    }
    .cp-page--implant .implant-case-ba__arrow-icon {
      width: 44px;
      height: 44px;
    }
    .cp-page--implant .implant-feature-section {
      background: #f8fcfd !important;
    }
    .cp-page--implant .implant-feature-item {
      margin-bottom: 20px;
      padding: 18px 15px;
      background: #fff !important;
      border: 1px solid #dceff3 !important;
      border-radius: 10px !important;
      box-shadow: 0 6px 20px rgba(9,95,134,.08) !important;
    }
    .cp-page--implant .implant-feature-head {
      margin-bottom: 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--implant-border) !important;
    }
    .cp-page--implant .implant-feature-no {
      margin-bottom: 5px;
    }
    .cp-page--implant .implant-point-list {
      margin: 14px 0;
      padding: 14px 14px;
      background: var(--implant-blue-pale) !important;
      border-radius: 6px;
    }
    .cp-page--implant .implant-point-list li {
      margin-bottom: 8px;
      font-size: 1.3rem;
      line-height: 1.65;
    }
    .cp-page--implant .implant-mini-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
    }
    .cp-page--implant .implant-mini-card {
      padding: 15px 15px 14px;
      background: #fbfaf9 !important;
      border: 0 !important;
      border-left: 4px solid var(--implant-gold) !important;
    }
    .cp-page--implant .implant-feature-images,
    .cp-page--implant .implant-feature-item .Rbox35 {
      margin-top: 16px !important;
    }
    .cp-page--implant .implant-feature-images img + img {
      margin-top: 10px;
    }
    .cp-page--implant .implant-warranty-box {
      margin: 15px 0;
      padding: 18px 12px;
      background: var(--implant-blue-dark) !important;
      color: #fff !important;
    }
    .cp-page--implant .implant-warranty-box strong {
      font-size: 2rem;
      line-height: 1.45;
    }
    .cp-page--implant .case-detail {
      overflow: visible;
    }
    .cp-page--implant .case-ba-wrap {
      margin-bottom: 18px;
    }
    .cp-page--implant .case-ba {
      display: block !important;
      width: 100%;
    }
    .cp-page--implant .case-ba__col {
      position: relative !important;
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      line-height: normal !important;
      overflow: hidden;
    }
    .cp-page--implant .case-ba__col img {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      border: 1px solid #e2e2e2;
    }
    .cp-page--implant .case-ba__arrow {
      display: flex !important;
      align-items: center;
      justify-content: center;
      width: auto !important;
      margin: 8px auto 10px !important;
      color: var(--implant-blue);
      line-height: 1;
      text-align: center;
      transform: rotate(90deg);
    }
    .cp-page--implant .case-ba__label {
      position: absolute !important;
      top: 10px !important;
      right: auto !important;
      bottom: auto !important;
      left: 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: auto !important;
      max-width: max-content !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 7px 11px !important;
      background: rgba(9,95,134,.92) !important;
      color: #fff !important;
      font-size: 1.1rem !important;
      font-weight: 700 !important;
      line-height: 1 !important;
      letter-spacing: .04em;
      writing-mode: horizontal-tb !important;
      text-orientation: mixed !important;
      white-space: nowrap !important;
      transform: none !important;
      z-index: 3;
      box-sizing: border-box;
    }
    .cp-page--implant .case-ba__label--after {
      background: rgba(18,183,213,.94) !important;
    }
    .cp-page--implant .case-data-box {
      margin-top: 24px;
    }
    .cp-page--implant .case-data-box table {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      table-layout: auto !important;
      border-collapse: collapse !important;
      font-size: 1.3rem !important;
      line-height: 1.65 !important;
      letter-spacing: .03em !important;
    }
    .cp-page--implant .case-data-box tbody {
      display: block !important;
      width: 100% !important;
    }
    .cp-page--implant .case-data-box tr {
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      border: 0 !important;
    }
    .cp-page--implant .case-data-box th,
    .cp-page--implant .case-data-box td,
    .cp-page--implant .case-data-box th.alignL,
    .cp-page--implant .price.case-data-box table th,
    .cp-page--implant .price.case-data-box table td {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
      margin: 0 !important;
      text-align: left !important;
    }
    .cp-page--implant .case-data-box th,
    .cp-page--implant .price.case-data-box table th {
      padding: 9px 12px !important;
      background: #eef9fb !important;
      color: var(--implant-blue-dark) !important;
      border: 1px solid #b8e4ed !important;
      border-bottom: 0 !important;
      font-weight: 700 !important;
    }
    .cp-page--implant .case-data-box td,
    .cp-page--implant .price.case-data-box table td {
      padding: 11px 12px 13px !important;
      background: #fff !important;
      color: inherit !important;
      border: 1px solid #b8e4ed !important;
      border-top: 0 !important;
    }
    .cp-page--implant .case-data-box tr + tr th {
      margin-top: -1px !important;
    }
    .cp-page--implant .case-total {
      display: block;
      margin-top: 8px;
      font-size: 1.5rem;
    }
    .cp-page--implant .case-risk-wrap {
      margin-top: 22px;
    }
    .cp-page--implant .case-risk-box {
      padding: 15px 14px;
      background: #f8f8f8 !important;
      border: 1px solid #e5e5e5 !important;
    }
    .cp-page--implant .implant-price-section {
      background: #f6fbfc !important;
    }
    .cp-page--implant .implant-price-hero {
      padding: 24px 15px;
      background: #fff !important;
      border: 1px solid var(--implant-border) !important;
    }
    .cp-page--implant .implant-price-main {
      font-size: clamp(2.8rem, 10vw, 3.5rem);
    }
    .cp-page--implant .implant-price-main span {
      display: block;
      margin: 5px 0 0;
      font-size: 1.25rem;
    }
    .cp-page--implant .implant-payment-card {
      padding: 20px 14px;
      background: #fff !important;
      border: 1px solid var(--implant-border) !important;
    }
    .cp-page--implant .implant-payment-card--loan {
      border: 2px solid var(--implant-blue) !important;
    }
    .cp-page--implant .implant-payment-card strong {
      font-size: 2.7rem;
    }
    .cp-page--implant .implant-loan-example {
      overflow: hidden;
      background: #fff !important;
      border: 1px solid var(--implant-border) !important;
      border-radius: 10px !important;
    }
    .cp-page--implant .implant-loan-example__head {
      display: block !important;
      padding: 14px 15px;
      background: var(--implant-blue-dark) !important;
      color: #fff !important;
    }
    .cp-page--implant .implant-loan-example__head span,
    .cp-page--implant .implant-loan-example__head strong {
      display: block;
      color: #fff !important;
    }
    .cp-page--implant .implant-loan-example__head strong {
      margin-top: 5px;
      font-size: 1.6rem;
      line-height: 1.45;
    }
    .cp-page--implant .implant-loan-example__body {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 14px;
      padding: 14px;
    }
    .cp-page--implant .implant-loan-monthly {
      min-height: 145px;
      padding: 18px 8px;
      background: var(--implant-blue-pale) !important;
    }
    .cp-page--implant .implant-loan-monthly strong {
      font-size: 3rem;
    }
    .cp-page--implant .implant-loan-detail dl > div {
      display: grid !important;
      grid-template-columns: minmax(0,1fr) auto !important;
      gap: 10px;
      padding: 9px 0;
    }
    .cp-page--implant .implant-loan-detail dt,
    .cp-page--implant .implant-loan-detail dd {
      min-width: 0;
      font-size: 1.2rem;
    }
    .cp-page--implant .implant-loan-detail dd {
      white-space: nowrap;
    }
    .cp-page--implant .implant-loan-example > .implant-note {
      padding: 0 14px 16px;
    }
    .cp-page--implant .implant-deduction {
      padding: 19px 16px;
      background: #fff !important;
      border-left: 5px solid var(--implant-gold) !important;
    }
    .cp-page--implant .implant-link-box {
      width: 100%;
      margin-top: 16px !important;
    }
    .cp-page--implant .implant-cta-section,
    .cp-page--implant .implant-final-cta-section {
      background: var(--implant-blue-dark) !important;
    }
    .cp-page--implant .implant-cta-box h2,
    .cp-page--implant .implant-final-cta h2 {
      margin: 0 0 14px !important;
      padding: 0 !important;
      background: none !important;
      border: 0 !important;
    }
    .cp-page--implant .implant-cta-box h2::before,
    .cp-page--implant .implant-final-cta h2::before {
      display: none !important;
    }
    .cp-page--implant .implant-cta-points,
    .cp-page--implant .implant-final-numbers {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 8px !important;
      margin: 18px 0 !important;
    }
    .cp-page--implant .implant-cta-points span,
    .cp-page--implant .implant-final-numbers > div {
      width: 100% !important;
      min-width: 0 !important;
      padding: 12px 10px;
      background: rgba(255,255,255,.1) !important;
      border: 1px solid rgba(255,255,255,.35) !important;
      box-sizing: border-box;
    }
    .cp-page--implant .flow-box ol {
      margin: 0;
      padding: 0;
    }
    .cp-page--implant .flow-box li {
      box-sizing: border-box;
    }
    .cp-page--implant .flow-box .step-title {
      margin-bottom: 10px;
      font-size: 1.55rem;
      line-height: 1.5;
      text-align: left;
    }
    .cp-page--implant .flow-box .step-body {
      display: block !important;
    }
    .cp-page--implant .flow-box .step-body p,
    .cp-page--implant .flow-box .step-body p:first-child {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
    .cp-page--implant .flow-box .step-body p + p {
      margin-top: 10px;
    }
    .cp-page--implant .implant-equipment-card,
    .cp-page--implant .implant-equipment-card--wide {
      display: block !important;
      grid-column: auto !important;
      width: 100%;
      overflow: hidden;
      background: #fff !important;
      border: 1px solid var(--implant-border) !important;
      border-radius: 10px !important;
    }
    .cp-page--implant .implant-equipment-card__body {
      padding: 18px 15px;
    }
    .cp-page--implant .implant-policy-section {
      background: #f8fcfd !important;
    }
    .cp-page--implant .implant-policy-card {
      padding: 19px 15px;
      background: #fff !important;
      border-top: 4px solid var(--implant-blue) !important;
      box-shadow: 0 4px 14px rgba(9,95,134,.05);
    }
    .cp-page--implant .implant-merit-card {
      padding: 19px 15px;
      background: #fff !important;
      border: 1px solid var(--implant-border) !important;
    }
    .cp-page--implant .implant-choice-box {
      width: 100%;
      padding: 18px 15px;
      background: #f8f8f8 !important;
      box-sizing: border-box;
    }
    .cp-page--implant .implant-faq-section .qa-title {
      padding-top: 14px;
      padding-bottom: 14px;
      font-size: 1.3rem;
      line-height: 1.55;
      text-align: left;
    }
    .cp-page--implant .implant-faq-section .qa-text {
      padding: 14px;
      font-size: 1.3rem;
    }
  }
  @media screen and (max-width: 374px) {
    .cp-page--implant section {
      padding-left: 12px;
      padding-right: 12px;
    }
    .cp-page--implant .implant-number-value {
      font-size: 1.8rem;
    }
  }
  @media screen and (max-width: 767px) {
    .cp-page--implant.cp-page {
      --cp-section-y: 3.8em;
    }
    .cp-page--implant > .cp-section {
      padding-top: 4em;
      padding-bottom: 4em;
    }
    .cp-page--implant .cp-media-row.Fbox {
      display: block !important;
    }
    .cp-page--implant .flow-box .step-title {
      display: block;
      box-sizing: border-box;
      min-height: 55px;
      margin-left: 0;
      padding-top: 0.5em;
      padding-left: 72px;
    }
    .cp-page--implant .flow-box .step-label {
      z-index: 2;
    }
    .cp-page--implant .case-ba.cp-case-ba {
      display: block;
    }
    .cp-page--implant .case-ba.cp-case-ba .cp-case-ba__arrow {
      margin: 10px auto;
      transform: rotate(90deg);
    }
    .cp-page--implant .cp-data-table th,
    .cp-page--implant .cp-data-table td {
      display: block;
      width: 100% !important;
    }
  }
}
.cp-page--implant .implant-point-list.cp-check-list li::before {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .cp-page--implant .case-ba.cp-case-ba {
    margin-right: 0;
    margin-left: 0;
  }
  .cp-page--implant .case-ba__col.cp-case-ba__image {
    overflow: visible;
    aspect-ratio: auto;
    background: transparent;
  }
  .cp-page--implant .case-ba__col.cp-case-ba__image img {
    height: auto;
    object-fit: initial;
  }
}
