@charset "UTF-8";
/* ==========================================================
  ハルデンタルクリニック インプラントLP
  クラス命名: すべて lp- プレフィックス(utilities.css も同様)
  BP: SP 〜767px / タブレット 768〜1023px / PC 1024px〜
  ========================================================== */
/* ---------- Reset (最小限) ---------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}
@media (max-width: 1023px) {
  html {
    scroll-padding-top: clamp(57 * var(--px), 11.3333333333vw, 85 * var(--px));
  }
}

body,
h1, h2, h3, h4, p, ul, ol, dl, dd, figure {
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

ul, ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
}

table {
  border-collapse: collapse;
}

/* ---------- カスタムプロパティ ---------- */
:root {
  --px: 0.0625rem;
  /* 1px換算 (1rem / 16) */
  /* デザイン画像 実測カラー(design/pc.png) */
  --color-navy: #122760;
  --color-navy-deep: #0d1b45;
  --color-dark-01: #313c54;
  --color-dark-02: #2e3e5d;
  --color-accent-gold: #d8c344;
  --color-accent-blue: #2c99d8;
  --color-accent-blue02: #38a1db;
  --color-accent-blue03: #3da3dc;
  --color-dark-blue: #2067bc;
  --color-bg-pale: #eef8ff;
  --color-bg-pale-02: #e5ecfe;
  --color-white: #ffffff;
  --color-text: #1f2733;
  --color-text-sub: #182e32;
  --color-border: #d7e3f5;
  --color-danger: #1c2b39;
  --jp: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --en: "Manrope", var(--jp);
  --inner-width: calc(1300 * var(--px));
  --fs-body: calc(16 * var(--px)); /* 16px */
  --f11: clamp(calc(10 * var(--px)), 100vw * 11 / 1680, calc(11 * var(--px)));
  --f12: clamp(calc(11 * var(--px)), 100vw * 12 / 1680, calc(12 * var(--px)));
  --f13: clamp(calc(12 * var(--px)), 100vw * 13 / 1680, calc(13 * var(--px)));
  --f14: clamp(calc(13 * var(--px)), 100vw * 14 / 1680, calc(14 * var(--px)));
  --f16: clamp(calc(15 * var(--px)), 100vw * 16 / 1680, calc(16 * var(--px)));
  --f18: clamp(calc(17 * var(--px)), 100vw * 18 / 1680, calc(18 * var(--px)));
  --f19: clamp(calc(18 * var(--px)), 100vw * 19 / 1680, calc(19 * var(--px)));
  --f20: clamp(calc(19 * var(--px)), calc(20 / 1680 * 100vw), calc(20 * var(--px)));
  --f21: clamp(calc(19 * var(--px)), 100vw * 21 / 1680, calc(21 * var(--px)));
  --f24: clamp(calc(20 * var(--px)), 100vw * 24 / 1680, calc(24 * var(--px)));
  --f25: clamp(calc(20 * var(--px)), 100vw * 25 / 1680, calc(25 * var(--px)));
  --f26: clamp(calc(20 * var(--px)), 100vw * 26 / 1680, calc(26 * var(--px)));
  --f28: clamp(calc(20 * var(--px)), 100vw * 28 / 1680, calc(28 * var(--px)));
  --f30: clamp(calc(22 * var(--px)), 100vw * 30 / 1680, calc(30 * var(--px)));
  --f32: clamp(calc(22 * var(--px)), 100vw * 32 / 1680, calc(32 * var(--px)));
  --f40: clamp(calc(24 * var(--px)), 100vw * 40 / 1680, calc(40 * var(--px)));
  --f48: clamp(calc(26 * var(--px)), 100vw * 48 / 1680, calc(48 * var(--px)));
  --f56: clamp(calc(28 * var(--px)), 100vw * 56 / 1680, calc(56 * var(--px)));
  --f72: clamp(calc(40 * var(--px)), 100vw * 72 / 1680, calc(72 * var(--px)));
  --f120: clamp(calc(30 * var(--px)), 100vw * 120 / 1680, calc(120 * var(--px)));
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

body {
  font-family: var(--jp);
  font-size: var(--fs-body);
  line-height: 1.8;
  color: var(--color-text-sub);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
}

p {
  line-height: 2;
}

/* ---------- レイアウト ---------- */
.lp-inner {
  max-width: var(--inner-width);
  width: 90%;
  margin-inline: auto;
}
.lp-inner.--s {
  max-width: calc(1100 * var(--px));
}

.lp-main {
  overflow: hidden;
}

.lp-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: -moz-fit-content;
  height: fit-content;
  background: transparent;
  z-index: 100;
}
@media (max-width: 1023px) {
  .lp-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--color-white);
  }
}

.lp-header__inner {
  padding-top: clamp(10 * var(--px), 1.5rem + 1.5vw, 20 * var(--px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 94%;
  margin-inline: auto;
}
@media (max-width: 1023px) {
  .lp-header__inner {
    padding-top: 0;
    padding-left: clamp(10 * var(--px), 2.9333333333vw, 22 * var(--px));
    width: 100%;
    height: clamp(57 * var(--px), 11.3333333333vw, 85 * var(--px));
  }
}

.lp-footer {
  background-color: var(--color-dark-02);
  color: var(--color-white);
}

/* ---------- 汎用コンポーネント ---------- */
.lp-logo {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  gap: calc(12 * var(--px));
}
@media (max-width: 1023px) {
  .lp-logo {
    flex-direction: row;
    gap: clamp(10 * var(--px), 2.6666666667vw, 20 * var(--px));
  }
}

.lp-logo img {
  max-width: clamp(100 * var(--px), 37.7333333333vw, 283 * var(--px));
}

.lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.9em 1.8em;
  border-radius: 100vmax;
  font-weight: 600;
  text-align: center;
  transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
}

.lp-btn:hover {
  opacity: 0.85;
}

.lp-btn--navy {
  background: var(--color-navy);
  color: var(--color-white);
}

.lp-btn--outline {
  background: var(--color-white);
  color: var(--color-navy);
  border: 1px solid var(--color-navy);
}

.lp-btn img {
  width: 1.1em;
  height: 1.1em;
}

.lp-section {
  padding-block: clamp(50 * var(--px), 2.4rem + 2.4vw, 70 * var(--px));
}

.lp-eyebrow {
  position: relative;
  text-align: center;
  margin-bottom: clamp(32 * var(--px), 1.7rem + 1.2vw, 48 * var(--px));
}

.lp-eyebrow__en {
  position: relative;
  z-index: 0;
  display: block;
  font-family: var(--en);
  font-weight: 400;
  font-size: var(--f120);
  color: #f4fafe;
  letter-spacing: 0.04em;
  line-height: 1;
}

.lp-eyebrow__ja {
  position: relative;
  top: -0.2em;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 0.6em;
  margin: -1em auto 0;
  font-size: var(--f40);
  font-weight: 600;
  color: var(--color-dark-blue);
  text-decoration: underline;
  text-decoration-thickness: calc(1 * var(--px));
  text-underline-offset: 0.5em;
}
@media (max-width: 600px) {
  .lp-eyebrow__ja {
    text-underline-offset: 0.2em;
  }
}
@media (max-width: 450px) {
  .lp-eyebrow__ja {
    top: 0.3em;
    font-size: calc(28 * var(--px));
  }
}
.lp-eyebrow__ja span {
  position: relative;
  z-index: 2;
}

.lp-eyebrow__ja::before {
  position: absolute;
  content: "";
  top: -0.4em;
  left: -1.2em;
  z-index: 1;
  width: clamp(40 * var(--px), 4.1071428571vw, 69 * var(--px));
  aspect-ratio: 138/140;
  background: url(../img/implant-lp/deco-circle.webp) no-repeat center/cover;
  flex-shrink: 0;
}
@media (max-width: 450px) {
  .lp-eyebrow__ja::before {
    top: -0.2em;
    left: -0.5em;
  }
}

.lp-eyebrow--light .lp-eyebrow__en {
  color: rgba(255, 255, 255, 0.12);
}

.lp-eyebrow--light .lp-eyebrow__ja {
  color: var(--color-white);
}

.lp-heading-mark {
  background: linear-gradient(transparent 65%, #eee29c 65%);
}

.marker-img {
  background: url(../img/implant-lp/deco-marker.webp) no-repeat bottom 0.1em left 0/100% auto;
}

.fc-blue {
  color: var(--color-dark-blue);
}

.fc-red {
  color: #dd0000;
}

.sp {
  display: none;
}
@media (max-width: 500px) {
  .sp {
    display: block;
  }
}

.lp-badge {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  margin: 0 auto calc(20 * var(--px));
  padding: clamp(10 * var(--px), 1.0119047619vw, 17 * var(--px)) clamp(10 * var(--px), 1.9642857143vw, 33 * var(--px));
  border-radius: 100vmax;
  color: var(--color-dark-blue);
  font-weight: 600;
  font-size: var(--f24);
  line-height: 1;
  background-color: var(--color-white);
}
.lp-badge::before {
  position: absolute;
  content: "";
  width: calc(18 * var(--px));
  aspect-ratio: 1/0.8660254038;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: var(--color-white);
  bottom: calc(-9 * var(--px));
  left: calc(50% - 9 * var(--px));
  z-index: 1;
}

.lp-card {
  background: var(--color-white);
  border-radius: calc(20 * var(--px));
  box-shadow: 0 10px 30px rgba(18, 39, 96, 0.08);
}

.lp-num {
  font-family: var(--en);
  font-weight: 500;
  font-size: var(--f120);
  color: var(--color-accent-gold);
  line-height: 1;
}
@media (max-width: 1200px) {
  .lp-num {
    font-size: calc(60 * var(--px));
  }
}

.lp-accordion__item {
  border-radius: calc(12 * var(--px));
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid #bedbeb;
}

.lp-accordion__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * var(--px));
  padding: clamp(10 * var(--px), 1.4285714286vw, 24 * var(--px)) clamp(15 * var(--px), 2.0833333333vw, 35 * var(--px));
  background: var(--color-navy);
  color: var(--color-white);
  font-weight: 600;
  text-align: left;
}

.lp-accordion__btn::after {
  content: "+";
  font-size: var(--f32);
  font-weight: normal;
  flex-shrink: 0;
  aspect-ratio: 1;
  line-height: 1;
  transition: transform 0.3s var(--ease);
}

.lp-accordion__btn[aria-expanded=true]::after {
  content: "";
  width: clamp(15 * var(--px), 1.0714285714vw, 18 * var(--px));
  height: 1px;
  background-color: var(--color-white);
  font-size: var(--f40);
}

.lp-accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s var(--ease);
}

.lp-accordion__panel[data-open=true] {
  grid-template-rows: 1fr;
}

.lp-accordion__panel-inner {
  overflow: hidden;
}

.lp-accordion__body {
  padding: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(20 * var(--px), 4.1666666667vw, 70 * var(--px));
  font-size: var(--f16);
}

@media (prefers-reduced-motion: reduce) {
  .lp-accordion__panel {
    transition: none;
  }
}
/* フェードイン */
.lp-fade {
  opacity: 0;
  transform: translateY(calc(20 * var(--px)));
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}

.lp-fade.lp-is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .lp-fade {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* 追従CTA */
.lp-fixed-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--color-border);
  transform: translateY(100%);
  transition: transform 0.4s var(--ease);
}

.lp-fixed-cta.lp-is-visible {
  transform: translateY(0);
}

.lp-fixed-cta.lp-is-hidden-footer {
  transform: translateY(100%);
}

.lp-fixed-cta__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 1em;
  font-weight: 600;
  background: var(--color-white);
}

.lp-fixed-cta__link--tel {
  background: var(--color-navy);
  color: var(--color-white);
}

.lp-fixed-cta__link img {
  width: 1.2em;
  height: 1.2em;
}

@media (min-width: 1024px) {
  .lp-fixed-cta {
    display: none;
  }
}
body {
  padding-bottom: 0;
}

@media (max-width: 1023px) {
  body.lp-has-fixed-cta {
    padding-bottom: calc(60 * var(--px));
  }
}
/* ==========================================================
   ページ固有
   ========================================================== */
/* --- ヘッダー --- */
.lp-header__badge {
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  padding: clamp(5 * var(--px), 0.505952381vw, 8.5 * var(--px)) clamp(10 * var(--px), 0.6547619048vw, 11 * var(--px));
  background-color: var(--color-white);
  font-size: var(--f14);
  line-height: 1;
  border-radius: calc(5 * var(--px));
}
@media (max-width: 1023px) {
  .lp-header__badge {
    padding: 0;
    font-size: clamp(10 * var(--px), 0.9523809524vw, 16 * var(--px));
    background-color: var(--color-white);
  }
}

.lp-header__menu {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-direction: column;
  gap: clamp(5 * var(--px), 2vw, 15 * var(--px));
  padding-bottom: clamp(5 * var(--px), 2.2666666667vw, 17 * var(--px));
  height: 100%;
  aspect-ratio: 1;
  background: var(--color-accent-blue02);
  color: var(--color-white);
  font-weight: 600;
  font-family: var(--en);
  font-size: var(--f16);
  line-height: 1;
}

.lp-header__menu-icon {
  width: clamp(20 * var(--px), 6vw, 45 * var(--px));
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: clamp(5 * var(--px), 1.4666666667vw, 11 * var(--px));
}

.lp-header__menu-icon span {
  width: clamp(20 * var(--px), 6vw, 45 * var(--px));
  height: 1px;
  background-color: var(--color-white);
  transition: transform 0.3s var(--ease), opacity 0.3s var(--ease);
}

.lp-header[data-nav-open=true] .lp-header__menu-icon {
  height: calc(5 * var(--px));
}

.lp-header[data-nav-open=true] .lp-header__menu-icon span {
  position: absolute;
  top: -10%;
  left: 50%;
}

.lp-header[data-nav-open=true] .lp-header__menu-icon span:nth-child(1) {
  transform: translatex(-50%) rotate(45deg);
}

.lp-header[data-nav-open=true] .lp-header__menu-icon span:nth-child(2) {
  transform: translatex(-50%) rotate(-45deg);
}

@media (max-width: 1023px) {
  .lp-header .lp-header__pc-cta {
    position: fixed;
    bottom: clamp(10 * var(--px), 1.7333333333vw, 13 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 100%;
    justify-content: center;
    gap: clamp(4 * var(--px), 0.9333333333vw, 7 * var(--px));
  }
  .lp-header .lp-header__pc-btn {
    border-radius: clamp(4 * var(--px), 1.0666666667vw, 8 * var(--px));
  }
  .lp-header .lp-header__pc-btn--web {
    font-size: clamp(10 * var(--px), 3.7333333333vw, 28 * var(--px));
  }
  .lp-header .lp-header__pc-btn--tel {
    font-size: clamp(10 * var(--px), 4vw, 30 * var(--px));
  }
}
.lp-header__nav {
  position: fixed;
  inset: clamp(57 * var(--px), 11.3333333333vw, 85 * var(--px)) 0 0 0;
  background-color: var(--color-bg-pale-02);
  padding-block: clamp(30 * var(--px), 14.9333333333vw, 112 * var(--px)) clamp(30 * var(--px), 20vw, 150 * var(--px));
  transform: translateX(100%);
  transition: transform 0.35s var(--ease);
  overflow-y: auto;
  z-index: 90;
}
.lp-header__nav-en {
  display: block;
  font-family: var(--en);
  font-size: clamp(10 * var(--px), 2.1333333333vw, 16 * var(--px));
  font-weight: normal;
  color: #7e9ec3;
}
.lp-header__nav .lp-header__pc-cta {
  position: relative;
  bottom: auto;
  left: auto;
  transform: translateX(0);
  margin: clamp(30 * var(--px), 12vw, 90 * var(--px)) auto 0;
  width: 90%;
  display: flex;
  justify-content: center;
  gap: clamp(5 * var(--px), 2.4vw, 18 * var(--px));
}
.lp-header__nav a.lp-header__pc-btn {
  width: 100%;
  padding: clamp(0 * var(--px), 3.6vw, 27 * var(--px)) calc(10 * var(--px));
  justify-content: center;
  color: var(--color-dark-blue);
  font-size: clamp(12 * var(--px), 3.4666666667vw, 26 * var(--px));
  background: var(--color-white);
}

.lp-header[data-nav-open=true] .lp-header__nav {
  transform: translateY(0);
}

.lp-header__nav-list {
  padding-inline: 12%;
  display: grid;
  gap: clamp(10 * var(--px), 3.3333333333vw, 25 * var(--px));
  font-weight: 600;
  font-size: calc(17.6 * var(--px));
}

.lp-header__nav-item {
  font-size: clamp(18 * var(--px), 3.6vw, 27 * var(--px));
}

.lp-header__pc-cta {
  display: flex;
  gap: calc(12.8 * var(--px));
}

.lp-header__pc-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: clamp(10 * var(--px), 0.8333333333vw, 14 * var(--px)) clamp(15 * var(--px), 3.3333333333vw, 25 * var(--px));
  border-radius: calc(8 * var(--px));
  font-weight: 600;
  color: var(--color-white);
  transition: opacity 0.25s var(--ease);
  background: linear-gradient(-18deg, rgb(44, 153, 216) 0%, rgb(66, 178, 240) 100%);
}

.lp-header__pc-btn:hover {
  opacity: 0.85;
}

.lp-header__pc-btn img {
  width: 1.2em;
  height: 1.2em;
}

.lp-header__pc-btn--tel {
  font-family: var(--en);
  font-size: var(--f20);
}

.lp-header__pc-btn--web {
  font-size: var(--f19);
}

@media (min-width: 1024px) {
  .lp-header__menu {
    display: none;
  }
  .lp-header__nav {
    display: none;
  }
}
/* --- FV --- */
.lp-fv {
  position: relative;
  background: var(--color-navy);
}
@media (max-width: 834px) {
  .lp-fv {
    margin-top: clamp(10 * var(--px), 11.2vw, 200 * var(--px));
  }
}
@media (max-width: 410px) {
  .lp-fv {
    margin-top: clamp(50 * var(--px), 13.2vw, 200 * var(--px));
  }
}

.lp-fv__visual {
  width: 100%;
}

.lp-fv__visual img {
  width: 100%;
}

.lp-fv__heading {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

/* --- クリニック情報バー --- */
.lp-clinicbar {
  position: absolute;
  bottom: calc(40 * var(--px));
  left: 3%;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  padding: calc(29 * var(--px)) calc(33 * var(--px)) calc(27 * var(--px)) calc(28 * var(--px));
  background-color: var(--color-dark-blue);
  color: var(--color-white);
  border-radius: calc(20 * var(--px));
  box-shadow: calc(10 * var(--px)) 0 calc(29 * var(--px)) rgba(46, 62, 93, 0.5);
}
@media (max-width: 1300px) {
  .lp-clinicbar {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    padding: clamp(20 * var(--px), 5.8666666667vw, 44 * var(--px)) clamp(20 * var(--px), 5.8666666667vw, 44 * var(--px)) clamp(20 * var(--px), 5.4666666667vw, 41 * var(--px)) clamp(20 * var(--px), 5.8666666667vw, 44 * var(--px));
    border-radius: 0;
  }
}
.lp-clinicbar::before {
  position: absolute;
  content: "";
  inset: 0;
  z-index: 2;
  background: linear-gradient(-18deg, rgba(217, 226, 234, 0) 0%, rgba(217, 226, 234, 0) 25%, rgba(217, 226, 234, 0.15) 50%, rgba(217, 226, 234, 0) 75%, rgba(217, 226, 234, 0) 100%);
}

.lp-clinicbar__inner {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(23 * var(--px));
}
@media (max-width: 1300px) {
  .lp-clinicbar__inner {
    justify-content: center;
    gap: clamp(10 * var(--px), 4vw, 30 * var(--px));
  }
}

.lp-clinicbar__photo img {
  max-width: calc(150 * var(--px));
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 3/4;
}
@media (max-width: 1300px) {
  .lp-clinicbar__photo img {
    max-width: clamp(100 * var(--px), 30vw, 225 * var(--px));
  }
}

.lp-clinicbar__body {
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.lp-clinicbar__tag {
  display: inline-block;
  padding: 0.45em 1.1em;
  border: 1px solid rgba(255, 255, 255, 0.6);
  font-size: var(--f12);
  margin-bottom: 1em;
}
@media (max-width: 1300px) {
  .lp-clinicbar__tag {
    font-size: clamp(11 * var(--px), 2.4vw, 18 * var(--px));
  }
}

.lp-clinicbar__title {
  font-size: var(--f24);
  font-weight: 600;
  margin-bottom: 0.6em;
  line-height: 1.4;
  color: var(--color-white);
}
.lp-clinicbar__title .marker-img {
  margin-top: clamp(5 * var(--px), 1.3333333333vw, 10 * var(--px));
  padding-bottom: 0.2em;
  font-size: 1.75em;
  color: var(--color-white);
  background-position: bottom 0 left 0;
}
@media (max-width: 450px) {
  .lp-clinicbar__title .marker-img {
    font-size: 8vw;
  }
}

.lp-clinicbar__addr {
  font-size: var(--f16);
  line-height: 1.625;
}
@media (max-width: 1300px) {
  .lp-clinicbar__addr {
    font-size: clamp(14 * var(--px), 3.2vw, 24 * var(--px));
    line-height: 1.5;
  }
}

/* --- 汎用: 画像+テキスト 2カラム --- */
.lp-split {
  display: grid;
  gap: calc(32 * var(--px));
  align-items: center;
}

@media (min-width: 1024px) {
  .lp-split {
    grid-template-columns: 1fr 1fr;
    gap: clamp(32 * var(--px), 1.5rem + 2vw, 64 * var(--px));
  }
  .lp-split--reverse {
    grid-template-columns: 1fr 1fr;
  }
  .lp-split--reverse > *:first-child {
    order: 2;
  }
}
.lp-split__img img {
  width: 100%;
}

.lp-split__title {
  font-size: var(--f28);
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.8em;
}

.lp-split__body p + p {
  margin-top: 1em;
}

/* --- 「噛む」機能を取り戻す インプラント治療 --- */
.lp-bite {
  padding-block: clamp(30 * var(--px), 2.9761904762vw, 50 * var(--px)) clamp(50 * var(--px), 7.5595238095vw, 127 * var(--px));
  background: url(../img/implant-lp/bite_bg.webp) no-repeat bottom center/cover;
}
.lp-bite__nav .lp-header__nav-list {
  padding: clamp(15 * var(--px), 2.0833333333vw, 35 * var(--px)) clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px));
  display: flex;
  justify-content: center;
  background-color: var(--color-white);
  border-radius: 100vmax;
  gap: calc(10 * var(--px)) 0;
}
@media (max-width: 1023px) {
  .lp-bite__nav .lp-header__nav-list {
    display: none;
  }
}
.lp-bite__nav .lp-header__nav-list li:not(:first-child) .lp-header__nav-item {
  border-left: 1px solid #eeeeee;
}
.lp-bite__nav .lp-header__nav-list li:first-child .lp-header__nav-item {
  padding-left: 0;
}
.lp-bite__nav .lp-header__nav-list li:last-child .lp-header__nav-item {
  padding-right: 0;
}
.lp-bite__nav .lp-header__nav-item {
  display: block;
  padding-inline: clamp(10 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-size: clamp(16 * var(--px), 1.0714285714vw, 18 * var(--px));
  text-align: center;
}
.lp-bite__nav .lp-header__nav-en {
  margin-top: clamp(5 * var(--px), 0.5952380952vw, 10 * var(--px));
  font-size: var(--f11);
}
.lp-bite__ttl {
  margin-top: clamp(50 * var(--px), 6.7857142857vw, 114 * var(--px));
  font-size: var(--f56);
  font-weight: 600;
  text-align: center;
  line-height: 1.21;
}
.lp-bite__ttl .marker-img {
  padding-bottom: 0em;
  font-size: 1.14em;
  color: var(--color-text-sub);
  background-size: calc(103% - 0.3em);
  background-position: bottom 0.05em left 0.3em;
}
.lp-bite__txt {
  font-size: var(--f18);
  text-align: center;
}
@media (max-width: 834px) {
  .lp-bite__txt {
    text-align: left;
  }
  .lp-bite__txt br {
    display: none;
  }
}
.lp-bite__txt:first-of-type {
  margin-top: clamp(30 * var(--px), 2.9761904762vw, 50 * var(--px));
}
.lp-bite__txt + .lp-bite__txt {
  margin-top: clamp(1em, 1.7857142857vw, 30 * var(--px));
}
.lp-bite__box {
  margin-top: clamp(50 * var(--px), 4.1666666667vw, 70 * var(--px));
  padding-block: clamp(30 * var(--px), 3.3928571429vw, 57 * var(--px)) clamp(30 * var(--px), 3.5119047619vw, 59 * var(--px));
  background-color: var(--color-white);
  border-radius: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px));
}
.lp-bite__box .lp-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 834px) {
  .lp-bite__box .lp-inner {
    flex-direction: column-reverse;
    gap: clamp(20 * var(--px), 3.90625vw, 30 * var(--px));
  }
}
@media (min-width: 835px) {
  .lp-bite__box-img {
    width: 45.5%;
  }
}
@media (min-width: 835px) {
  .lp-bite__box-cont {
    width: 45.5%;
  }
}
.lp-bite__box-ttl {
  font-size: var(--f18);
  font-weight: normal;
  color: var(--color-dark-blue);
  text-decoration: underline;
  text-underline-offset: calc(5 * var(--px));
}
.lp-bite__box-catch {
  margin-block: calc(10 * var(--px)) clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-size: var(--f24);
  font-weight: 600;
  line-height: 1.9;
}
@media (max-width: 450px) {
  .lp-bite__box-catch {
    line-height: 1.4;
  }
}

/* --- 1DAYインプラントとは --- */
.lp-intro {
  background: var(--color-white);
}
.lp-intro__inner {
  max-width: calc(1390 * var(--px));
  width: 90%;
}
@media (min-width: 2000px) {
  .lp-intro__inner {
    margin-inline: auto;
  }
}
@media (max-width: 1023px) {
  .lp-intro__inner {
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .lp-intro .lp-split {
    grid-template-columns: 1fr 0.7fr;
    gap: clamp(30 * var(--px), 4.9404761905vw, 83 * var(--px));
  }
}
@media (max-width: 1023px) {
  .lp-intro .lp-split .lp-split__img {
    order: 2;
  }
  .lp-intro .lp-split .lp-split__body {
    order: 1;
  }
}
@media (max-width: 834px) and (min-width: 560px) {
  .lp-intro .lp-split br {
    display: none;
  }
}
.lp-intro .lp-eyebrow__ja {
  font-size: var(--f32);
}
@media (max-width: 600px) {
  .lp-intro .lp-eyebrow__ja .sp {
    display: block;
  }
}
.lp-intro .lp-eyebrow__ja::before {
  top: -0.6em;
  left: -0.8em;
}
.lp-intro .lp-heading-mark {
  background-position: bottom 0.1em left 0;
}
@media (max-width: 450px) {
  .lp-intro .lp-split__title {
    font-size: calc(22 * var(--px));
  }
}

.lp-intro__note {
  margin-top: clamp(30 * var(--px), 3.9880952381vw, 67 * var(--px));
  padding: clamp(20 * var(--px), 1.9642857143vw, 33 * var(--px)) clamp(30 * var(--px), 4.5833333333vw, 77 * var(--px)) clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(30 * var(--px), 4.4047619048vw, 74 * var(--px));
  background-color: #f7fbfe;
  border-radius: calc(16 * var(--px));
  display: flex;
  justify-content: space-between;
  gap: 1em;
  border: 1px solid #e2e5e7;
}
@media (max-width: 834px) {
  .lp-intro__note {
    flex-direction: column;
  }
}

.lp-intro__note-head {
  font-weight: 600;
}

.lp-intro__note-tag {
  display: inline-block;
  padding: clamp(8 * var(--px), 0.6547619048vw, 11 * var(--px)) clamp(10 * var(--px), 0.9821428571vw, 16.5 * var(--px));
  background-color: var(--color-dark-blue);
  color: var(--color-white);
  border-radius: 100vmax;
  font-size: var(--f18);
  line-height: 1;
  margin-bottom: 0.6em;
}

.lp-intro__note-title {
  font-size: var(--f24);
  font-weight: 600;
}

.lp-intro__note-text {
  font-size: var(--f16);
}
@media (min-width: 769px) {
  .lp-intro__note-text {
    max-width: 50%;
  }
}

/* --- こんな方へ(persona) --- */
.lp-persona {
  padding-block: clamp(50 * var(--px), 3.5714285714vw, 60 * var(--px)) clamp(8 * var(--px), 5.9523809524vw, 100 * var(--px));
  background: url(../img/implant-lp/persona-section-bg.webp) no-repeat center/cover;
  color: var(--color-white);
}

.lp-persona__title {
  text-align: center;
  font-size: var(--f32);
  font-weight: 600;
  margin-bottom: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px));
}
.lp-persona__title br {
  display: none;
}
@media (max-width: 450px) {
  .lp-persona__title br {
    display: block;
  }
}

.lp-persona__list {
  display: grid;
  gap: 0.2em;
}

@media (min-width: 835px) {
  .lp-persona__list {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: calc(48 * var(--px));
    column-gap: calc(48 * var(--px));
  }
}
.lp-persona__item {
  display: flex;
  align-items: start;
  gap: 0.7em;
  padding-block: clamp(15 * var(--px), 1.25vw, 21 * var(--px));
  border-bottom: 1px solid var(--color-white);
  font-size: var(--f24);
}
@media (max-width: 450px) {
  .lp-persona__item {
    font-size: calc(18 * var(--px));
  }
}

.lp-persona__item img {
  display: inline-block;
  margin-top: clamp(8 * var(--px), 0.4761904762vw, 8 * var(--px));
  width: clamp(15 * var(--px), 1.25vw, 21 * var(--px));
  aspect-ratio: 1;
  flex-shrink: 0;
}
@media (max-width: 1200px) {
  .lp-persona__item img {
    margin-top: clamp(10 * var(--px), 0.5952380952vw, 10 * var(--px));
  }
}
@media (max-width: 834px) {
  .lp-persona__item img {
    margin-top: calc(1.1em - clamp(15 * var(--px), 1.25vw, 21 * var(--px) / 2));
  }
}

.lp-persona__item span {
  width: calc(100% - (clamp(15 * var(--px), 1.25vw, 21 * var(--px)) + 0.7em));
}

.lp-persona__item mark {
  background: none;
  color: var(--color-accent-gold);
  font-weight: normal;
}

/* --- 比較(compare) --- */
.lp-compare {
  margin-block: clamp(30 * var(--px), 4.1666666667vw, 40 * var(--px)) clamp(30 * var(--px), 4.7619047619vw, 80 * var(--px));
  padding: clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px)) 5%;
  background-color: var(--color-bg-pale);
  border-radius: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
}

.lp-compare__title {
  text-align: center;
  font-weight: 600;
  font-size: var(--f24);
  margin-bottom: clamp(20 * var(--px), 1.4rem + 1vw, 47 * var(--px));
}

.lp-timeline {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* --- メリット --- */
.lp-merit__ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-inline: clamp(20 * var(--px), 2.5vw, 42 * var(--px));
  font-size: var(--f32);
  font-weight: 600;
}
.lp-merit__ttl::before, .lp-merit__ttl::after {
  position: absolute;
  content: "";
  width: calc(2 * var(--px));
  height: 100%;
  bottom: calc(-5 * var(--px));
  z-index: 1;
  background-color: var(--color-dark-blue);
  transform-origin: top left;
}
.lp-merit__ttl::before {
  left: 0;
  transform: rotate(-30deg);
}
.lp-merit__ttl::after {
  right: 0;
  transform: rotate(30deg);
}

.lp-merit__grid {
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(10 * var(--px), 1.7857142857vw, 30 * var(--px));
}
@media (max-width: 930px) {
  .lp-merit__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(30 * var(--px));
  }
}
@media (max-width: 450px) {
  .lp-merit__grid {
    gap: calc(30 * var(--px)) calc(10 * var(--px));
  }
}

.lp-merit__item {
  text-align: center;
}

.lp-merit__circle {
  width: clamp(180 * var(--px), 11.9047619048vw, 200 * var(--px));
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(-18deg, rgb(18, 39, 96) 0%, rgb(32, 103, 188) 100%);
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  margin-bottom: 1em;
  font-weight: 600;
}
@media (max-width: 450px) {
  .lp-merit__circle {
    width: clamp(100 * var(--px), 40vw, 180 * var(--px));
  }
}
.lp-merit__circle img {
  position: relative;
  top: calc(-10 * var(--px));
}
.lp-merit__circle span:first-of-type {
  font-size: var(--f26);
}
.lp-merit__circle span:last-of-type {
  font-size: var(--f18);
  font-weight: normal;
  line-height: 1.33;
}
@media (max-width: 450px) {
  .lp-merit__circle span:last-of-type {
    font-size: clamp(14 * var(--px), 3.5555555556vw, 16 * var(--px));
  }
}

.lp-merit__circle img {
  width: 1.6em;
  height: 1.6em;
  margin-bottom: 0.3em;
}

.lp-merit__badge {
  display: inline-block;
  font-size: var(--f24);
  font-weight: 600;
  margin-bottom: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  line-height: 1.4;
}
@media (max-width: 450px) {
  .lp-merit__badge {
    font-size: clamp(16 * var(--px), 4.5vw, 18 * var(--px));
  }
}

.lp-merit__text {
  font-size: var(--f16);
  text-align: left;
  line-height: 1.875;
}

/* --- 医療体制(support) --- */
.lp-support {
  position: relative;
  padding-bottom: clamp(50 * var(--px), 8.3333333333vw, 140 * var(--px));
  background: var(--color-dark-02) url("../img/implant-lp/support-section-bg.webp") top center/cover no-repeat;
}

.lp-support__lead {
  max-width: calc(951 * var(--px));
  margin: clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px)) auto clamp(32 * var(--px), 1.7rem + 1.5vw, 56 * var(--px));
  font-size: var(--f18);
  color: var(--color-white);
}

.lp-support__list {
  margin-top: clamp(50 * var(--px), 5.3571428571vw, 90 * var(--px));
}

.lp-support__card {
  position: relative;
  background-color: var(--color-white);
  border-radius: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px));
  padding-block: clamp(50 * var(--px), 5.6547619048vw, 95 * var(--px)) clamp(30 * var(--px), 4.7619047619vw, 80 * var(--px));
}
.lp-support__card .lp-split__title {
  font-size: var(--f32);
}
@media (max-width: 1023px) and (min-width: 451px) {
  .lp-support__card:first-child .lp-split__title br {
    display: none;
  }
}
@media (max-width: 1023px) and (min-width: 721px) {
  .lp-support__card:nth-child(3) .lp-split__title br {
    display: none;
  }
}
@media (min-width: 1024px) {
  .lp-support__card:nth-of-type(odd) .lp-split {
    grid-template-columns: 1fr 0.85fr;
  }
  .lp-support__card:nth-of-type(odd) .lp-split:has(.lp-support__flowlist) {
    grid-template-columns: 0.39fr 1fr;
  }
  .lp-support__card:nth-of-type(odd) .lp-split:has(.lp-support__flowlist) .lp-split__img {
    order: 1;
  }
  .lp-support__card:nth-of-type(odd) .lp-split:has(.lp-support__flowlist) .lp-support__flowlist {
    order: 2;
  }
  .lp-support__card:nth-of-type(odd) .lp-split__img {
    order: 1;
  }
  .lp-support__card:nth-of-type(odd) .lp-split__body {
    order: 2;
  }
}
@media (min-width: 1024px) {
  .lp-support__card:nth-of-type(even) .lp-split {
    grid-template-columns: 0.85fr 1fr;
  }
}

.lp-support__card + .lp-support__card {
  margin-top: clamp(40 * var(--px), 6.5476190476vw, 110 * var(--px));
}

.lp-support__card-head {
  position: absolute;
  z-index: 1;
  top: calc(-60 * var(--px));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: clamp(10 * var(--px), 1.7857142857vw, 30 * var(--px));
  line-height: 1;
}
@media (max-width: 1200px) {
  .lp-support__card-head {
    width: 100%;
    justify-content: center;
    top: calc(-30 * var(--px));
  }
}

.lp-support__card-label {
  display: inline-block;
  padding: clamp(10 * var(--px), 1.130952381vw, 19 * var(--px)) clamp(15 * var(--px), 1.4285714286vw, 24 * var(--px));
  background: var(--color-navy);
  color: var(--color-white);
  font-weight: 600;
  border-radius: calc(4 * var(--px));
  font-size: var(--f40);
  line-height: 1;
}
@media (max-width: 450px) and (min-width: 370px) {
  .lp-support__card-label {
    font-size: calc(26 * var(--px));
  }
}

.lp-support__gallery {
  width: 200%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 834px) {
  .lp-support__gallery {
    width: calc(1600 * var(--px));
  }
}
.lp-support__gallery-wrap {
  position: relative;
  overflow: hidden;
  margin-top: calc((var(--f16) + clamp(5 * var(--px), 0.7142857143vw, 12 * var(--px))) / -2);
}
.lp-support__gallery-item {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 834px) {
  .lp-support__gallery-item {
    width: calc(800 * var(--px));
  }
}
.lp-support__gallery-item:first-of-type {
  animation: slide01_r 200s -100s infinite linear;
}
.lp-support__gallery-item:last-of-type {
  animation: slide02_r 200s infinite linear;
}
@keyframes slide01_r {
  0% {
    transform: translate(100%, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}
@keyframes slide02_r {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-200%, 0);
  }
}
.lp-support__gallery-txt {
  position: relative;
  z-index: 2;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(30 * var(--px), 3.2738095238vw, 55 * var(--px)) auto 0;
  padding: clamp(5 * var(--px), 0.6845238095vw, 11.5 * var(--px)) clamp(10 * var(--px), 1.130952381vw, 19 * var(--px));
  font-size: var(--f16);
  line-height: 1;
  color: var(--color-dark-blue);
  border: 1px solid var(--color-dark-blue);
  background-color: var(--color-white);
  border-radius: 100vmax;
}
.lp-support__gallery-img {
  padding-right: clamp(5 * var(--px), 0.8928571429vw, 15 * var(--px));
}
.lp-support__gallery img {
  display: inline-block;
}

.lp-support__gallery img {
  -o-object-fit: cover;
  object-fit: cover;
}

.lp-support__cert {
  margin-top: clamp(20 * var(--px), 2.6785714286vw, 45 * var(--px));
  padding: clamp(20 * var(--px), 2.5vw, 42 * var(--px)) clamp(20 * var(--px), 4.4642857143vw, 75 * var(--px)) clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  background: var(--color-bg-pale);
  border-radius: calc(16 * var(--px));
  display: grid;
  gap: clamp(10 * var(--px), 3.869047619vw, 65 * var(--px));
}
@media (max-width: 834px) {
  .lp-support__cert img {
    order: 2;
  }
  .lp-support__cert div {
    order: 1;
  }
}
.lp-support__cert .lp-split__title {
  font-size: var(--f24);
  color: var(--color-dark-blue);
}

@media (min-width: 835px) {
  .lp-support__cert {
    grid-template-columns: 0.87fr 1fr;
    justify-content: center;
    align-items: center;
  }
}
.lp-support__flowbar {
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(32, 103, 188) 50%, rgb(255, 255, 255) 100%);
  color: var(--color-white);
  text-align: center;
  font-size: var(--f21);
  font-weight: 600;
  padding: calc(2 * var(--px));
  margin-block: clamp(30 * var(--px), 2.9761904762vw, 50 * var(--px));
}
@media (max-width: 400px) {
  .lp-support__flowbar {
    font-size: calc(14 * var(--px));
    background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(32, 103, 188) 20%, rgb(32, 103, 188) 80%, rgb(255, 255, 255) 100%);
  }
}
@media (min-width: 1024px) {
  .lp-support__flowbar + .lp-split {
    grid-template-columns: 0.28fr 0.72fr;
  }
}
@media (max-width: 834px) {
  .lp-support__flowbar + .lp-split .lp-split__img {
    display: flex;
    justify-content: center;
    order: 2;
  }
}
.lp-support__flowbar + .lp-split .lp-split__img img {
  width: 100%;
}
@media (max-width: 834px) {
  .lp-support__flowbar + .lp-split .lp-split__img img {
    max-width: calc(292 * var(--px));
    text-align: center;
  }
}

.lp-support__flowlist {
  display: grid;
  gap: calc(25 * var(--px));
}
@media (max-width: 834px) {
  .lp-support__flowlist {
    order: 1;
  }
}

.lp-support__flowlist li {
  display: flex;
  gap: clamp(18 * var(--px), 1.1904761905vw, 20 * var(--px));
  align-items: baseline;
  background: var(--color-bg-pale);
  padding: clamp(10 * var(--px), 1.0119047619vw, 17 * var(--px)) clamp(10 * var(--px), 2.0833333333vw, 35 * var(--px));
  line-height: 1.4;
}
@media (max-width: 600px) {
  .lp-support__flowlist li {
    flex-direction: column;
    padding-block: clamp(15 * var(--px), 3.3333333333vw, 20 * var(--px));
    gap: calc(10 * var(--px));
  }
}
.lp-support__flowlist li:not(:last-of-type) {
  position: relative;
}
.lp-support__flowlist li:not(:last-of-type)::before {
  position: absolute;
  content: "";
  height: calc(14 * var(--px));
  aspect-ratio: 20/14;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: #d4d4d4;
  bottom: calc(-14 * var(--px) + -5 * var(--px));
  left: clamp(20 * var(--px), 4.1666666667vw, 70 * var(--px));
  z-index: 1;
}

.lp-support__flowlist b {
  font-size: var(--f20);
  color: var(--color-dark-blue);
  flex-shrink: 0;
}
@media (max-width: 450px) {
  .lp-support__flowlist b {
    font-size: calc(18 * var(--px));
  }
}

.lp-support__material {
  margin-top: calc(25.6 * var(--px));
  padding-block: clamp(30 * var(--px), 3.5416666667vw, 59.5 * var(--px));
  padding-inline: clamp(20 * var(--px), 3.869047619vw, 65 * var(--px)) clamp(20 * var(--px), 4.7619047619vw, 80 * var(--px));
  background: var(--color-bg-pale);
  border-radius: calc(16 * var(--px));
  display: grid;
  gap: clamp(20 * var(--px), 5.3571428571vw, 90 * var(--px));
}
@media (max-width: 835px) {
  .lp-support__material img {
    order: 2;
  }
  .lp-support__material div {
    order: 1;
  }
}
.lp-support__material .lp-split__title {
  font-size: var(--f24);
}

@media (min-width: 835px) {
  .lp-support__material {
    grid-template-columns: 0.99fr 1fr;
    align-items: center;
  }
}
/* --- GBR --- */
.lp-gbr {
  padding-bottom: clamp(50 * var(--px), 8.3333333333vw, 140 * var(--px));
  background: url(../img/implant-lp/section-bg-gbr.webp) no-repeat top right/40% auto;
}
@media (max-width: 450px) {
  .lp-gbr {
    background-size: 80% auto;
  }
}
.lp-gbr .lp-eyebrow__ja {
  margin-top: 0;
  font-size: var(--f28);
}
@media (min-width: 1440px) {
  .lp-gbr .lp-eyebrow__ja::before {
    top: -1.2em;
    left: -1.5em;
  }
}
.lp-gbr .lp-support__flowbar {
  margin-block: clamp(30 * var(--px), 2.380952381vw, 40 * var(--px)) clamp(10 * var(--px), 1.130952381vw, 19 * var(--px));
  background: linear-gradient(90deg, rgb(238, 248, 255) 0%, rgb(32, 103, 188) 50%, rgb(238, 248, 255) 100%);
}
@media (max-width: 400px) {
  .lp-gbr .lp-support__flowbar {
    background: linear-gradient(90deg, rgb(238, 248, 255) 0%, rgb(32, 103, 188) 20%, rgb(32, 103, 188) 80%, rgb(238, 248, 255) 100%);
  }
}

.lp-gbr__title {
  font-size: var(--f48);
  font-weight: 600;
  margin-block: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  text-align: center;
  text-underline-offset: 1em;
}
.lp-gbr__title .marker-img {
  display: inline-block;
  padding-inline: clamp(10 * var(--px), 1.5476190476vw, 26 * var(--px)) clamp(10 * var(--px), 1.0714285714vw, 18 * var(--px));
  background-position: bottom 0.3em left 0;
}
.lp-gbr__title span {
  display: inline-block;
  margin-left: clamp(-10 * var(--px), -1.0714285714vw, -18 * var(--px));
}

.lp-gbr__lead {
  max-width: calc(802 * var(--px));
  margin-inline: auto;
  font-size: var(--f18);
}

.lp-gbr__banner {
  position: relative;
  margin-top: clamp(32 * var(--px), 1.7rem + 1.5vw, 56 * var(--px));
  border-radius: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px)) 0 0;
  overflow: hidden;
}

.lp-gbr__banner img {
  width: 100%;
  aspect-ratio: 1300/351;
  -o-object-fit: cover;
  object-fit: cover;
}

.lp-gbr__banner-title {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: var(--f48);
  font-weight: 600;
  background: rgba(10, 20, 50, 0.25);
}

.lp-gbr__body {
  background-color: var(--color-bg-pale);
  border-radius: 0 0 calc(16 * var(--px)) calc(16 * var(--px));
  padding-block: clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px)) clamp(30 * var(--px), 5.2380952381vw, 88 * var(--px));
}
@media (min-width: 1024px) {
  .lp-gbr__body .lp-split {
    grid-template-columns: 1fr 0.9fr;
  }
}
.lp-gbr__body .lp-split__title {
  font-size: var(--f32);
}
@media (min-width: 1024px) {
  .lp-gbr__body .lp-split__img {
    max-width: calc(550 * var(--px));
  }
}
.lp-gbr__body .lp-support__flowbar {
  padding-block: calc(4 * var(--px));
}

.lp-gbr__flowbar {
  text-align: center;
  font-weight: 600;
  color: var(--color-white);
  background: linear-gradient(90deg, var(--color-navy), var(--color-accent-blue));
  padding: 0.7em;
  border-radius: calc(8 * var(--px));
  margin-block: calc(32 * var(--px)) calc(22.4 * var(--px));
}

.lp-gbr__sub {
  position: relative;
  margin-top: clamp(40 * var(--px), 4.7619047619vw, 80 * var(--px));
  padding: clamp(40 * var(--px), 4.7619047619vw, 80 * var(--px)) clamp(20 * var(--px), 4.4642857143vw, 75 * var(--px)) clamp(20 * var(--px), 2.9761904762vw, 50 * var(--px)) clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  background: var(--color-white);
  border-radius: calc(16 * var(--px));
  box-shadow: 0 6px 20px rgba(18, 39, 96, 0.08);
}
.lp-gbr__sub .lp-split__title {
  font-size: var(--f24);
}

.lp-gbr__sub + .lp-gbr__sub {
  margin-top: clamp(30 * var(--px), 3.869047619vw, 65 * var(--px));
}

.lp-gbr__sub-tag {
  position: absolute;
  top: calc((clamp(8 * var(--px), 0.8035714286vw, 13.5 * var(--px)) + var(--f24)) / -2);
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-block: 0;
  padding: clamp(8 * var(--px), 0.8035714286vw, 13.5 * var(--px)) clamp(15 * var(--px), 1.369047619vw, 23 * var(--px));
  border: 1px solid var(--color-dark-blue);
  border-radius: 100vmax;
  color: var(--color-dark-blue);
  font-weight: 600;
  font-size: var(--f24);
  line-height: 1;
  background-color: var(--color-white);
}
@media (max-width: 450px) {
  .lp-gbr__sub-tag {
    min-width: 9em;
    text-align: center;
  }
}

.lp-gbr__sub-grid {
  display: grid;
  gap: clamp(20 * var(--px), 3.8095238095vw, 64 * var(--px));
}

@media (min-width: 835px) {
  .lp-gbr__sub-grid {
    grid-template-columns: 1fr 0.83fr;
    align-items: center;
  }
}
/* --- 治療の流れ --- */
.lp-flow {
  padding-top: clamp(50 * var(--px), 8.9285714286vw, 150 * var(--px));
  background-color: var(--color-bg-pale-02);
}

.lp-flow__lead {
  margin-top: clamp(30 * var(--px), 2.9761904762vw, 50 * var(--px));
  text-align: center;
  margin-bottom: clamp(32 * var(--px), 1.7rem + 1.5vw, 56 * var(--px));
}
@media (max-width: 834px) {
  .lp-flow__lead {
    text-align: left;
  }
}

.lp-flow__wrap {
  display: grid;
  gap: clamp(20 * var(--px), 3.8095238095vw, 64 * var(--px));
}

@media (min-width: 835px) {
  .lp-flow__wrap {
    grid-template-columns: auto 1fr;
  }
}
.lp-flow__period {
  position: relative;
  writing-mode: vertical-lr;
  text-orientation: upright;
  background-color: var(--color-navy);
  color: var(--color-white);
  font-weight: 600;
  justify-self: start;
  display: none;
  width: calc(61 * var(--px));
  height: calc(100% - 28 * var(--px));
  font-size: var(--f21);
}
.lp-flow__period::before {
  position: absolute;
  content: "";
  bottom: calc(-28 * var(--px));
  width: calc(61 * var(--px));
  aspect-ratio: 61/28;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: var(--color-navy);
}

@media (min-width: 835px) {
  .lp-flow__period {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.lp-flow__list {
  display: grid;
  gap: clamp(30 * var(--px), 4.1666666667vw, 70 * var(--px));
}

.lp-flow__step {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: clamp(20 * var(--px), 4.7619047619vw, 80 * var(--px));
}
@media (max-width: 600px) {
  .lp-flow__step {
    flex-direction: column-reverse;
  }
}

.lp-flow__step img {
  max-width: calc(420 * var(--px));
  width: 44%;
  aspect-ratio: 42/30;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (max-width: 834px) {
  .lp-flow__step img {
    width: 30%;
  }
}
@media (max-width: 600px) {
  .lp-flow__step img {
    width: 100%;
    display: inline-block;
    margin-inline: auto;
  }
}

.lp-flow__step-num {
  min-width: -moz-fit-content;
  min-width: fit-content;
  font-family: var(--en);
  font-weight: 100;
  color: var(--color-dark-blue);
  font-size: clamp(26 * var(--px), 1.9047619048vw, 32 * var(--px));
}

.lp-flow__step-title {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(24 * var(--px), 1.9047619048vw, 32 * var(--px));
  gap: 0.72em;
  color: var(--color-dark-blue);
  letter-spacing: calc(-1 * var(--px));
}

.lp-flow__step-head {
  margin-block: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) clamp(15 * var(--px), 1.6071428571vw, 27 * var(--px));
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(10 * var(--px)) calc(var(--f14) * 2);
}
.lp-flow__step-head small {
  font-size: var(--f14);
  color: var(--color-dark-blue);
}

.lp-flow__step-tag {
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  background-color: var(--color-dark-blue);
  color: var(--color-white);
  padding: clamp(4 * var(--px), 0.3571428571vw, 6 * var(--px)) clamp(15 * var(--px), 1.1011904762vw, 18.5 * var(--px));
  border-radius: 100vmax;
  font-size: var(--f21);
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 450px) {
  .lp-flow__step-tag {
    font-size: calc(16 * var(--px));
  }
}

.lp-flow__step-note {
  padding-top: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  padding-right: 1em;
  font-size: var(--f16);
  border-top: 1px solid #8dccef;
}
.lp-flow__step-note + small {
  display: block;
  margin-top: clamp(1em, 1.1904761905vw, 20 * var(--px));
  font-size: var(--f12);
}

.lp-flow__step-sub {
  margin-top: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px));
  padding: clamp(20 * var(--px), 1.4880952381vw, 25 * var(--px)) clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  background: var(--color-white);
  border-radius: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  display: flex;
  gap: clamp(10 * var(--px), 2.1428571429vw, 36 * var(--px));
  align-items: center;
}
@media (max-width: 834px) {
  .lp-flow__step-sub {
    flex-direction: column-reverse;
  }
}
.lp-flow__step-sub__ttl {
  font-size: var(--f14);
}
@media (min-width: 835px) {
  .lp-flow__step-sub__ttl {
    max-width: calc(224 * var(--px));
  }
}
.lp-flow__step-sub__ttl strong {
  display: inline-block;
  margin-bottom: 0.5em;
  font-size: var(--f18);
  line-height: 1.55;
}

.lp-flow__step-sub img {
  width: clamp(80 * var(--px), 8.3333333333vw, 140 * var(--px));
  aspect-ratio: 7/8;
  flex-shrink: 0;
}
@media (max-width: 834px) {
  .lp-flow__step-sub img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
    aspect-ratio: 2/1;
  }
}

/* --- 症例紹介 --- */
.lp-case {
  padding-top: 0;
}

.lp-case__lead {
  text-align: center;
  margin-bottom: clamp(32 * var(--px), 1.7rem + 1.5vw, 56 * var(--px));
}

.lp-case__item {
  background: var(--color-bg-pale);
  border-radius: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  padding-block: clamp(30 * var(--px), 4.1666666667vw, 70 * var(--px)) clamp(50 * var(--px), 4.7619047619vw, 80 * var(--px));
}

.lp-case__item + .lp-case__item {
  margin-top: clamp(30 * var(--px), 3.9285714286vw, 66 * var(--px));
}

.lp-case__title {
  padding-bottom: clamp(10 * var(--px), 1.5476190476vw, 26 * var(--px));
  font-size: var(--f30);
  font-weight: 600;
  border-bottom: 1px solid var(--color-border);
  border-bottom: 1px solid #80abdb;
}

.lp-case__title-en {
  display: inline-block;
  margin-right: clamp(10 * var(--px), 1.7857142857vw, 30 * var(--px));
  color: var(--color-dark-blue);
  font-size: 0.8em;
  font-family: var(--en);
  font-weight: normal;
}
@media (max-width: 600px) {
  .lp-case__title-en {
    display: block;
  }
}
.lp-case__title-en span {
  display: inline-block;
  font-size: 1.67em;
}

.lp-case__photos {
  margin-top: calc(20 * var(--px));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(40 * var(--px), 3.2142857143vw, 54 * var(--px));
  align-items: center;
}
@media (max-width: 600px) {
  .lp-case__photos {
    grid-template-columns: repeat(1, 1fr);
  }
}

.lp-case__photo:first-of-type {
  position: relative;
}
.lp-case__photo:first-of-type::before {
  position: absolute;
  content: "";
  top: 50%;
  right: calc(-21 * var(--px) - clamp(5 * var(--px), 1.0714285714vw, 18 * var(--px)));
  transform: translateY(-50%);
  height: calc(21 * var(--px));
  aspect-ratio: 0.8660254038;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #a5c5eb;
}
@media (max-width: 600px) {
  .lp-case__photo:first-of-type::before {
    top: auto;
    bottom: calc(-21 * var(--px) - clamp(8 * var(--px), 1.0714285714vw, 18 * var(--px)));
    right: auto;
    left: 50%;
    transform: translate(-50%, 0) rotate(90deg);
  }
}
.lp-case__photo dt {
  background-color: var(--color-navy);
  color: var(--color-white);
  text-align: center;
  font-size: var(--f20);
  font-weight: 600;
  padding: clamp(10 * var(--px), 0.6547619048vw, 11 * var(--px));
  border-radius: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) 0 0;
}

.lp-case__photo dd {
  padding: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px)) clamp(20 * var(--px), 2.9761904762vw, 50 * var(--px));
  background-color: var(--color-white);
  border-radius: 0 0 clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
}
.lp-case__meta {
  margin-top: clamp(20 * var(--px), 2.9761904762vw, 50 * var(--px));
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
}
@media (max-width: 450px) {
  .lp-case__meta {
    flex-direction: column;
  }
}
.lp-case__meta-ttl {
  width: -moz-fit-content;
  width: fit-content;
  background-color: #d7eaf8;
  padding: clamp(7 * var(--px), 0.6547619048vw, 11 * var(--px)) clamp(10 * var(--px), 0.9821428571vw, 16.5 * var(--px));
  font-size: var(--f18);
  font-weight: 600;
  line-height: 1;
  border-radius: 100vmax;
}

.lp-case__meta-item {
  display: flex;
  align-items: center;
  gap: clamp(5 * var(--px), 0.8333333333vw, 14 * var(--px));
  font-size: var(--f18);
}

.lp-case__meta b {
  color: var(--color-navy);
  margin-right: 0.4em;
}

.lp-case__detail {
  margin-top: clamp(20 * var(--px), 2.5vw, 42 * var(--px));
  display: flex;
  align-items: start;
  gap: clamp(15 * var(--px), 1.4285714286vw, 24 * var(--px));
}
@media (max-width: 600px) {
  .lp-case__detail {
    flex-direction: column;
  }
}
@media (min-width: 601px) {
  .lp-case__detail dd {
    width: calc(100% - (clamp(15 * var(--px), 1.4285714286vw, 24 * var(--px)) + 105 * var(--px)));
  }
}

.lp-case__detail-title {
  font-size: var(--f20);
  font-weight: 600;
  color: var(--color-dark-blue);
}

.lp-case__detail-text {
  margin-top: clamp(5 * var(--px), 0.5952380952vw, 10 * var(--px));
  font-size: var(--f16);
}

.lp-case__risk {
  margin-top: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  padding: clamp(20 * var(--px), 1.6666666667vw, 28 * var(--px)) clamp(2 * var(--px), 2.9761904762vw, 50 * var(--px));
  background-color: var(--color-white);
  border-radius: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
}

.lp-case__risk-head {
  display: flex;
  align-items: center;
  gap: clamp(5 * var(--px), 0.8333333333vw, 14 * var(--px));
  font-size: var(--f24);
  font-weight: 600;
  margin-bottom: 0.8em;
}
.lp-case__risk-head img {
  max-width: clamp(20 * var(--px), 1.8452380952vw, 31 * var(--px));
}

.lp-case__risk li {
  display: flex;
  align-items: start;
  gap: clamp(8 * var(--px), 0.7142857143vw, 12 * var(--px));
  font-size: var(--f16);
}
.lp-case__risk li + li {
  margin-top: clamp(10 * var(--px), 1.0714285714vw, 18 * var(--px));
}

.lp-case__risk img.lp-icon-check {
  flex-shrink: 0;
  max-width: clamp(15 * var(--px), 1.25vw, 21 * var(--px));
  padding-top: 0.05em;
}
@media (max-width: 1200px) {
  .lp-case__risk img.lp-icon-check {
    padding-top: 0.2em;
  }
}

/* --- 料金 --- */
.lp-price {
  padding-bottom: clamp(50 * var(--px), 8.3333333333vw, 140 * var(--px));
}

.lp-price__list {
  margin-top: clamp(40 * var(--px), 4.7619047619vw, 80 * var(--px));
}

.lp-price__row {
  display: flex;
  align-items: start;
  gap: 1em;
  padding-block: 1.6em;
}
@media (max-width: 620px) {
  .lp-price__row {
    flex-direction: row-reverse;
  }
}

.lp-price__row-img {
  width: clamp(40 * var(--px), 3.4523809524vw, 58 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

.lp-price__row-title {
  margin-top: -0.8em;
  font-weight: 600;
  font-size: var(--f24);
  display: flex;
  align-items: center;
  gap: 1em;
  line-height: 1.4;
  flex-wrap: wrap;
}
@media (max-width: 620px) {
  .lp-price__row-title {
    margin-top: -0.2em;
    flex-direction: column;
    align-items: start;
    gap: 0;
  }
}

.lp-price__row-title-text {
  font-size: var(--f24);
  flex-shrink: 0;
}

.lp-price__row-title-line {
  flex: 1;
  border-bottom: 1px dotted var(--color-border);
  min-width: calc(32 * var(--px));
}
@media (max-width: 620px) {
  .lp-price__row-title-line {
    display: none;
  }
}

.lp-price__row-price {
  font-size: var(--f24);
  font-weight: normal;
  white-space: nowrap;
}
.lp-price__row-price small {
  font-size: 0.75em;
}
.lp-price__row-price span {
  font-family: var(--en);
  font-size: 1.33em;
  font-weight: 600;
  color: var(--color-dark-blue);
}

.lp-price__row-note {
  font-size: var(--f16);
  margin-top: 0.4em;
}

.lp-price__option {
  position: relative;
  margin-top: clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
  padding: clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px));
  border: 1px solid #d7e4ec;
  border-radius: calc(16 * var(--px));
}

.lp-price__option-tag {
  position: absolute;
  top: calc((var(--f21) + clamp(10 * var(--px), 0.8928571429vw, 15 * var(--px)) * 2) / -2);
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: inline-block;
  padding: clamp(10 * var(--px), 0.8035714286vw, 13.5 * var(--px)) clamp(15 * var(--px), 1.6666666667vw, 28 * var(--px));
  border: 1px solid var(--color-dark-blue);
  border-radius: 100vmax;
  background-color: var(--color-white);
  color: var(--color-dark-blue);
  font-weight: 600;
  font-size: var(--f21);
  line-height: 1;
}

.lp-price__option-title {
  padding-left: 0.6em;
  font-size: var(--f21);
  font-weight: 600;
  border-left: clamp(3 * var(--px), 0.3571428571vw, 6 * var(--px)) solid var(--color-dark-blue);
}

.lp-price__option-list {
  margin-top: clamp(10 * var(--px), 0.7738095238vw, 13 * var(--px));
  padding-top: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px));
  border-top: 1px solid #94b2d7;
}

.lp-price__option-row {
  display: flex;
  justify-content: space-between;
  gap: 1em;
  padding-block: 0.6em;
  font-size: var(--f18);
}
@media (max-width: 450px) {
  .lp-price__option-row {
    flex-direction: column;
    gap: calc(5 * var(--px));
  }
}
.lp-price__option-row span {
  font-size: 1.16em;
}
.lp-price__option-row small {
  font-size: 0.77em;
}

/* --- 院長挨拶 --- */
.lp-message {
  color: var(--color-white);
  background-color: var(--color-dark-01);
}
.lp-message .lp-eyebrow__ja::before {
  opacity: 0.29;
}

.lp-message__grid {
  margin-top: clamp(30 * var(--px), 4.1666666667vw, 70 * var(--px));
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: clamp(15 * var(--px), 4.1666666667vw, 70 * var(--px));
}
@media (max-width: 834px) {
  .lp-message__grid {
    flex-direction: column;
  }
}

.lp-message__title {
  font-size: var(--f28);
  font-weight: 600;
  margin-bottom: 0.8em;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .lp-message__title {
    order: 2;
  }
}

.lp-message__body {
  width: 51%;
}
@media (max-width: 834px) {
  .lp-message__body {
    display: contents;
    width: 100%;
  }
}
.lp-message__body p {
  line-height: 1.875;
}
@media (max-width: 834px) {
  .lp-message__body p {
    order: 2;
  }
}
.lp-message__body p + p {
  margin-top: 1.375em;
}
@media (max-width: 834px) {
  .lp-message__body p + p {
    order: 3;
  }
}

.lp-message__photo {
  max-width: calc(480 * var(--px));
  width: 46%;
}
@media (max-width: 834px) {
  .lp-message__photo {
    display: contents;
    max-width: 100%;
    width: 100%;
  }
  .lp-message__photo img {
    order: 1;
  }
}

.lp-message__sign {
  margin: clamp(15 * var(--px), 1.3095238095vw, 22 * var(--px)) 0 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--f14);
}
@media (max-width: 834px) {
  .lp-message__sign {
    order: 4;
  }
}
.lp-message__sign b {
  font-size: 1.714em;
  font-weight: normal;
}
.lp-message__sign span {
  display: inline-block;
  margin-right: 1.5em;
  line-height: 1.142;
}
.lp-message__sign small {
  display: inline-block;
  position: relative;
  top: -0.5em;
  margin-left: clamp(10 * var(--px), 1.0714285714vw, 18 * var(--px));
  font-family: var(--en);
  color: #b1c4da;
}

.lp-message__card {
  margin-top: clamp(30 * var(--px), 3.1547619048vw, 53 * var(--px));
  background-color: var(--color-white);
  border-radius: calc(20 * var(--px));
  padding: clamp(20 * var(--px), 2.9761904762vw, 50 * var(--px));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(40 * var(--px), 4.2261904762vw, 71 * var(--px));
  color: var(--color-text-sub);
  line-height: 2.1;
}
@media (max-width: 600px) {
  .lp-message__card {
    grid-template-columns: repeat(1, 1fr);
  }
}
.lp-message__card ul + h3,
.lp-message__card dl + h3 {
  margin-top: clamp(30 * var(--px), 2.9761904762vw, 50 * var(--px));
}

.lp-message__card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: var(--color-dark-blue);
  font-weight: 600;
  margin-bottom: 0.8em;
  padding-left: clamp(21 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-size: var(--f18);
}
.lp-message__card h3::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: clamp(15 * var(--px), 1.25vw, 21 * var(--px));
  height: calc(1 * var(--px));
  background-color: #88aedb;
}

.lp-message__card dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.4em 1em;
  font-size: var(--f14);
  margin-bottom: 1.6em;
}

.lp-message__card dl:last-child {
  margin-bottom: 0;
}

.lp-message__card ul {
  font-size: var(--f14);
  display: grid;
  gap: 0.4em;
  margin-bottom: 1.6em;
}

.lp-message__card ul:last-child {
  margin-bottom: 0;
}

/* --- FAQ --- */
.lp-faq__list {
  display: grid;
  gap: clamp(20 * var(--px), 2.5vw, 42 * var(--px));
}

.lp-accordion__q {
  display: flex;
  align-items: start;
  gap: 0.6em;
  font-size: var(--f20);
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 450px) {
  .lp-accordion__q {
    font-size: calc(18 * var(--px));
  }
}

.lp-accordion__q b {
  min-width: -moz-fit-content;
  min-width: fit-content;
  padding-top: 0.3em;
  font-family: var(--en);
  font-weight: normal;
  color: var(--color-accent-gold);
  line-height: 1.2;
}

/* --- ブログバナー --- */
.lp-blog {
  margin-block: clamp(50 * var(--px), 7.7380952381vw, 130 * var(--px)) clamp(50 * var(--px), 8.3333333333vw, 140 * var(--px));
  max-width: calc(1100 * var(--px));
}

.lp-blog a {
  display: block;
}

.lp-blog img {
  width: 100%;
}

/* --- 院内写真ギャラリー --- */
.lp-gallery {
  width: 400vw;
  padding-block: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: linear-gradient(0deg, rgb(229, 236, 254) 0%, rgb(229, 236, 254) 49%, rgba(229, 236, 254, 0) 51%, rgba(229, 236, 254, 0) 100%);
}
.lp-gallery__item {
  width: 200vw;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.lp-gallery__item:first-of-type {
  animation: slide01_r 400s -200s infinite linear;
}
.lp-gallery__item:last-of-type {
  animation: slide02_r 400s infinite linear;
}

.lp-gallery img {
  display: inline-block;
  padding-right: clamp(5 * var(--px), 1.1904761905vw, 20 * var(--px));
  width: 100%;
}

/* --- アクセス --- */
.lp-access {
  padding-block: clamp(50 * var(--px), 4.7619047619vw, 80 * var(--px)) clamp(50 * var(--px), 5.9523809524vw, 100 * var(--px));
  background-color: var(--color-bg-pale-02);
}

.lp-access__grid {
  display: grid;
}
@media (max-width: 1000px) {
  .lp-access__grid div:not(.lp-access__map):not(.lp-access__table) {
    display: contents;
  }
}

@media (min-width: 1001px) {
  .lp-access__grid {
    grid-template-columns: 0.82fr 1fr;
    gap: clamp(30 * var(--px), 5.5952380952vw, 94 * var(--px));
  }
}
@media (max-width: 1000px) {
  .lp-access__name {
    order: 1;
  }
  .lp-access__name img {
    max-width: 70%;
  }
}
@media (max-width: 450px) {
  .lp-access__name img {
    max-width: 90%;
  }
}

.lp-access__badge {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  margin-block: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  padding: clamp(8 * var(--px), 0.5952380952vw, 10 * var(--px)) clamp(10 * var(--px), 0.7142857143vw, 12 * var(--px));
  border: 1px solid var(--color-accent-blue03);
  font-size: var(--f14);
  color: var(--color-accent-blue03);
  line-height: 1;
}
@media (max-width: 1000px) {
  .lp-access__badge {
    order: 2;
  }
}

.lp-access__link {
  display: inline-flex;
  align-items: center;
  gap: clamp(3 * var(--px), 0.3571428571vw, 6 * var(--px));
  margin-left: clamp(5 * var(--px), 0.5357142857vw, 9 * var(--px));
  font-family: var(--en);
  font-size: var(--f14);
  text-decoration: underline;
  text-underline-offset: calc(4 * var(--px));
}
.lp-access__link img {
  max-width: clamp(10 * var(--px), 0.7142857143vw, 12 * var(--px));
}

p:has(.lp-access__link) {
  line-height: 1.875;
}
@media (max-width: 1000px) {
  p:has(.lp-access__link) {
    order: 3;
  }
}
@media (max-width: 450px) {
  p:has(.lp-access__link) br {
    display: none;
  }
}

.lp-access__tel {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--en);
  font-size: var(--f25);
  font-weight: 800;
  color: var(--color-accent-blue03);
  margin-block: 0.6em;
}
@media (max-width: 1000px) {
  .lp-access__tel {
    order: 5;
  }
}
.lp-access__tel img {
  max-width: clamp(20 * var(--px), 1.4285714286vw, 24 * var(--px));
}

.lp-access__table {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1em;
  font-size: var(--f14);
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 1000px) {
  .lp-access__table {
    order: 6;
  }
}
@media (max-width: 450px) {
  .lp-access__table {
    width: 100%;
    overflow: auto;
  }
  .lp-access__table table {
    min-width: calc(382 * var(--px));
  }
}

.lp-access__table th,
.lp-access__table td {
  padding: clamp(10 * var(--px), 0.8928571429vw, 15 * var(--px)) 1em;
  text-align: center;
  font-weight: normal;
  border-bottom: 1px solid #d7d7d7;
}

.lp-access__table th:first-child,
.lp-access__table td:first-child {
  text-align: left;
}

.lp-access__table td:not(:first-of-type) {
  font-size: var(--f15);
  color: var(--color-accent-blue03);
}

.lp-access__note {
  margin-top: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-size: var(--f15);
  text-align: left;
  caption-side: bottom;
}

.lp-access__map {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1000px) {
  .lp-access__map {
    margin-block: clamp(20 * var(--px), 3vw, 30 * var(--px));
    order: 4;
  }
}
.lp-access__map iframe {
  width: 100%;
  aspect-ratio: 55/52;
}
@media (max-width: 450px) {
  .lp-access__map iframe {
    aspect-ratio: 16/9;
  }
}

.lp-access__map-link {
  font-weight: 600;
  color: var(--color-navy);
  text-decoration: underline;
}

/* --- フッターCTA --- */
@media (max-width: 1200px) {
  footer {
    padding-bottom: 0;
  }
}

.lp-footer-cta {
  max-width: calc(1255 * var(--px));
  width: 90%;
  margin-inline: auto;
  padding-block: clamp(50 * var(--px), 5.9523809524vw, 100 * var(--px)) clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px));
  text-align: center;
}
@media (max-width: 1023px) {
  .lp-footer-cta {
    padding-bottom: calc(130 * var(--px));
  }
}
@media (max-width: 500px) {
  .lp-footer-cta {
    padding-bottom: 20vw;
  }
}
.lp-footer-cta .lp-split {
  grid-template-columns: 1fr 1fr;
  justify-content: space-between;
}
@media (max-width: 1040px) {
  .lp-footer-cta .lp-split {
    grid-template-columns: repeat(1, 1fr);
  }
}

.lp-footer-cta__title {
  font-size: var(--f32);
  font-weight: 600;
  text-align: left;
}
@media (max-width: 1040px) {
  .lp-footer-cta__title {
    text-align: center;
    font-size: clamp(24 * var(--px), 3.90625vw, 30 * var(--px));
  }
}
@media (max-width: 450px) {
  .lp-footer-cta__title {
    text-align: left;
    font-size: clamp(20 * var(--px), 5.3333333333vw, 24 * var(--px));
  }
}

.lp-footer-cta__lead {
  margin-top: calc(10 * var(--px));
  font-size: var(--f18);
  text-align: left;
}
@media (max-width: 1040px) {
  .lp-footer-cta__lead {
    text-align: center;
  }
}
@media (max-width: 450px) {
  .lp-footer-cta__lead {
    text-align: left;
    font-size: clamp(15 * var(--px), 3.7777777778vw, 17 * var(--px));
  }
}

.lp-footer-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10 * var(--px), 1.0714285714vw, 18 * var(--px));
  margin-inline: auto;
}
@media (max-width: 834px) {
  .lp-footer-cta__btns {
    justify-content: center;
  }
}
.lp-footer-cta__btns .lp-header__pc-btn {
  width: calc(330 * var(--px));
  padding-block: clamp(10 * var(--px), 1.6964285714vw, 28.5 * var(--px));
  justify-content: center;
  font-size: var(--f24);
  color: var(--color-dark-blue);
  background: var(--color-white);
}
@media (max-width: 834px) {
  .lp-footer-cta__btns .lp-header__pc-btn {
    width: calc(232 * var(--px));
  }
}

@media (min-width: 835px) {
  .lp-footer-cta__btns {
    flex-direction: row;
    max-width: none;
    justify-content: center;
  }
}
.lp-footer-cta__btns .lp-btn {
  flex: 1;
}

.lp-footer-copyright {
  padding-top: clamp(30 * var(--px), 3.2142857143vw, 54 * var(--px));
  text-align: right;
  font-family: var(--en);
  font-size: var(--f14);
  opacity: 0.5;
}
@media (max-width: 1040px) {
  .lp-footer-copyright {
    text-align: center;
  }
}

/* --- cta --- */
.lp-cta {
  margin-block: clamp(50 * var(--px), 6.0714285714vw, 102 * var(--px)) clamp(50 * var(--px), 8.3333333333vw, 140 * var(--px));
  padding: clamp(20 * var(--px), 4.1666666667vw, 70 * var(--px)) clamp(5%, 5.9523809524vw, 100 * var(--px)) clamp(50 * var(--px), 3.5714285714vw, 60 * var(--px));
  background: url(../img/implant-lp/cta_bg.webp) no-repeat center/cover;
  border-radius: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px));
}
.lp-cta__ttl01 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-inline: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-size: var(--f24);
  color: var(--color-white);
  text-align: center;
}
@media (max-width: 500px) {
  .lp-cta__ttl01 {
    font-size: calc(15 * var(--px));
  }
}
.lp-cta__ttl01::before, .lp-cta__ttl01::after {
  position: absolute;
  content: "";
  width: calc(1 * var(--px));
  height: 100%;
  bottom: calc(-5 * var(--px));
  z-index: 1;
  background-color: var(--color-white);
  transform-origin: top left;
}
@media (max-width: 834px) {
  .lp-cta__ttl01::before, .lp-cta__ttl01::after {
    height: 1.5em;
  }
}
.lp-cta__ttl01::before {
  left: 0;
  transform: rotate(-20deg);
}
.lp-cta__ttl01::after {
  right: 0;
  transform: rotate(20deg);
}
@media (max-width: 834px) {
  .lp-cta__ttl01 .sp:last-child {
    display: block;
  }
}
.lp-cta__ttl02 {
  margin-top: clamp(15 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-size: clamp(34 * var(--px), 3.3333333333vw, 56 * var(--px));
  color: var(--color-white);
  text-align: center;
  text-shadow: 1px 1px 0 var(--color-navy), -1px 1px 0 var(--color-navy), 1px -1px 0 var(--color-navy), -1px -1px 0 var(--color-navy);
}
.lp-cta__btn {
  position: relative;
  margin: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) auto 0;
  padding: clamp(5 * var(--px), 0.5952380952vw, 10 * var(--px)) clamp(15 * var(--px), 1.9642857143vw, 33 * var(--px));
  max-width: calc(304 * var(--px));
  width: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 304/59;
  text-align: center;
  background-color: var(--color-navy);
  border-radius: 100vmax;
}
.lp-cta__btn-txt {
  font-size: var(--f24);
  color: var(--color-white);
}
.lp-cta__btn-ico {
  position: absolute;
  top: 50%;
  right: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px));
  z-index: 1;
  transform: translateY(-40%);
}
.lp-cta__btn-ico img {
  max-width: clamp(10 * var(--px), 0.8928571429vw, 15 * var(--px));
}
.lp-cta__list {
  margin-top: clamp(20 * var(--px), 2.619047619vw, 44 * var(--px));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20 * var(--px), 2.7380952381vw, 46 * var(--px));
}
@media (max-width: 834px) {
  .lp-cta__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.lp-cta__item {
  padding: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px)) clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) clamp(30 * var(--px), 3.5119047619vw, 59 * var(--px));
  background-color: var(--color-white);
  border-radius: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  box-shadow: 0 0 calc(40 * var(--px)) rgba(18, 39, 96, 0.1);
}
.lp-cta__num {
  max-width: clamp(40 * var(--px), 3.6904761905vw, 62 * var(--px));
  aspect-ratio: 1;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--en);
  font-size: var(--f28);
  font-weight: normal;
  color: var(--color-white);
  background-color: var(--color-accent-gold);
  border-radius: 100vmax;
}
.lp-cta__txt {
  margin-top: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-size: var(--f24);
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 834px) {
  .lp-cta__txt img {
    max-width: calc(240 * var(--px));
    margin-inline: auto;
  }
}
.lp-cta__txt .fc-blue {
  font-size: 1.5em;
}/*# sourceMappingURL=implant-lp.css.map */