@charset "UTF-8";
/* -------------------------------------------
 * reset
 * -------------------------------------------*/
ul {
  list-style-type: none;
}

p {
  margin-block: 0;
}

a {
  color: inherit;
}

/* -------------------------------------------
 * フォントサイズのroot
 * -------------------------------------------*/
:root {
  /* 1px換算 (1rem / 16) */
  --px: 0.0625rem;
  /* --- 1 to 10 --- */
  --f1: calc(1 * var(--px));
  --f2: calc(2 * var(--px));
  --f3: calc(3 * var(--px));
  --f4: calc(4 * var(--px));
  --f5: calc(5 * var(--px));
  --f6: calc(6 * var(--px));
  --f7: calc(7 * var(--px));
  --f8: calc(8 * var(--px));
  --f9: calc(9 * var(--px));
  --f10: calc(10 * var(--px));
  /* --- 11 to 20 --- */
  --f11: calc(11 * var(--px));
  --f12: calc(12 * var(--px));
  --f13: calc(13 * var(--px));
  --f14: clamp(13 * var(--px), 100vw * 14 / 1680, 14 * var(--px));
  --f15: clamp(14 * var(--px), 100vw * 15 / 1680, 15 * var(--px));
  --f16: clamp(14 * var(--px), 100vw * 16 / 1680, 16 * var(--px));
  --f17: clamp(14 * var(--px), 100vw * 17 / 1680, 17 * var(--px));
  --f18: clamp(16 * var(--px), 100vw * 18 / 1680, 18 * var(--px));
  --f19: clamp(18 * var(--px), 100vw * 19 / 1680, 19 * var(--px));
  --f20: clamp(18 * var(--px), 100vw * 20 / 1680, 20 * var(--px));
  /* --- 21 to 30 --- */
  --f21: clamp(18 * var(--px), 100vw * 21 / 1680, 21 * var(--px));
  --f22: clamp(18 * var(--px), 100vw * 22 / 1680, 22 * var(--px));
  --f23: clamp(18 * var(--px), 100vw * 23 / 1680, 23 * var(--px));
  --f24: clamp(18 * var(--px), 100vw * 24 / 1680, 24 * var(--px));
  --f25: clamp(18 * var(--px), 100vw * 25 / 1680, 25 * var(--px));
  --f26: clamp(18 * var(--px), 100vw * 26 / 1680, 26 * var(--px));
  --f27: clamp(18 * var(--px), 100vw * 27 / 1680, 27 * var(--px));
  --f28: clamp(18 * var(--px), 100vw * 28 / 1680, 28 * var(--px));
  --f29: clamp(18 * var(--px), 100vw * 29 / 1680, 29 * var(--px));
  --f30: clamp(18 * var(--px), 100vw * 30 / 1680, 30 * var(--px));
  /* --- 31 to 40 --- */
  --f31: clamp(18 * var(--px), 100vw * 31 / 1680, 31 * var(--px));
  --f32: clamp(18 * var(--px), 100vw * 32 / 1680, 32 * var(--px));
  --f33: clamp(20 * var(--px), 100vw * 33 / 1680, 33 * var(--px));
  --f34: clamp(20 * var(--px), 100vw * 34 / 1680, 34 * var(--px));
  --f35: clamp(20 * var(--px), 100vw * 35 / 1680, 35 * var(--px));
  --f36: clamp(20 * var(--px), 100vw * 36 / 1680, 36 * var(--px));
  --f37: clamp(20 * var(--px), 100vw * 37 / 1680, 37 * var(--px));
  --f38: clamp(20 * var(--px), 100vw * 38 / 1680, 38 * var(--px));
  --f39: clamp(20 * var(--px), 100vw * 39 / 1680, 39 * var(--px));
  --f40: clamp(24 * var(--px), 100vw * 40 / 1680, 40 * var(--px));
  /* --- 41 to 50 --- */
  --f41: clamp(24 * var(--px), 100vw * 41 / 1680, 41 * var(--px));
  --f42: clamp(24 * var(--px), 100vw * 42 / 1680, 42 * var(--px));
  --f43: clamp(24 * var(--px), 100vw * 43 / 1680, 43 * var(--px));
  --f44: clamp(24 * var(--px), 100vw * 44 / 1680, 44 * var(--px));
  --f45: clamp(24 * var(--px), 100vw * 45 / 1680, 45 * var(--px));
  --f46: clamp(24 * var(--px), 100vw * 46 / 1680, 46 * var(--px));
  --f47: clamp(24 * var(--px), 100vw * 47 / 1680, 47 * var(--px));
  --f48: clamp(23 * var(--px), 100vw * 48 / 1680, 48 * var(--px));
  --f49: clamp(25 * var(--px), 100vw * 49 / 1680, 49 * var(--px));
  --f50: clamp(30 * var(--px), 100vw * 50 / 1680, 50 * var(--px));
  /* --- 51 to 60 --- */
  --f51: clamp(30 * var(--px), 100vw * 51 / 1680, 51 * var(--px));
  --f52: clamp(30 * var(--px), 100vw * 52 / 1680, 52 * var(--px));
  --f53: clamp(30 * var(--px), 100vw * 53 / 1680, 53 * var(--px));
  --f54: clamp(30 * var(--px), 100vw * 54 / 1680, 54 * var(--px));
  --f55: clamp(30 * var(--px), 100vw * 55 / 1680, 55 * var(--px));
  --f56: clamp(30 * var(--px), 100vw * 56 / 1680, 56 * var(--px));
  --f57: clamp(30 * var(--px), 100vw * 57 / 1680, 57 * var(--px));
  --f58: clamp(30 * var(--px), 100vw * 58 / 1680, 58 * var(--px));
  --f59: clamp(30 * var(--px), 100vw * 59 / 1680, 59 * var(--px));
  --f60: clamp(30 * var(--px), 100vw * 60 / 1680, 60 * var(--px));
  /* --- 61 to 70 --- */
  --f61: clamp(30 * var(--px), 100vw * 61 / 1680, 61 * var(--px));
  --f62: clamp(30 * var(--px), 100vw * 62 / 1680, 62 * var(--px));
  --f63: clamp(30 * var(--px), 100vw * 63 / 1680, 63 * var(--px));
  --f64: clamp(30 * var(--px), 100vw * 64 / 1680, 64 * var(--px));
  --f65: clamp(30 * var(--px), 100vw * 65 / 1680, 65 * var(--px));
  --f66: clamp(30 * var(--px), 100vw * 66 / 1680, 66 * var(--px));
  --f67: clamp(30 * var(--px), 100vw * 67 / 1680, 67 * var(--px));
  --f68: clamp(30 * var(--px), 100vw * 68 / 1680, 68 * var(--px));
  --f69: clamp(30 * var(--px), 100vw * 69 / 1680, 69 * var(--px));
  --f70: clamp(30 * var(--px), 100vw * 70 / 1680, 70 * var(--px));
  /* --- 71 to 80 --- */
  --f71: clamp(30 * var(--px), 100vw * 71 / 1680, 71 * var(--px));
  --f72: clamp(30 * var(--px), 100vw * 72 / 1680, 72 * var(--px));
  --f73: clamp(30 * var(--px), 100vw * 73 / 1680, 73 * var(--px));
  --f74: clamp(30 * var(--px), 100vw * 74 / 1680, 74 * var(--px));
  --f75: clamp(30 * var(--px), 100vw * 75 / 1680, 75 * var(--px));
  --f76: clamp(30 * var(--px), 100vw * 76 / 1680, 76 * var(--px));
  --f77: clamp(30 * var(--px), 100vw * 77 / 1680, 77 * var(--px));
  --f78: clamp(30 * var(--px), 100vw * 78 / 1680, 78 * var(--px));
  --f79: clamp(30 * var(--px), 100vw * 79 / 1680, 79 * var(--px));
  --f80: clamp(30 * var(--px), 100vw * 80 / 1680, 80 * var(--px));
  /* --- 81 to 90 --- */
  --f81: clamp(30 * var(--px), 100vw * 81 / 1680, 81 * var(--px));
  --f82: clamp(30 * var(--px), 100vw * 82 / 1680, 82 * var(--px));
  --f83: clamp(30 * var(--px), 100vw * 83 / 1680, 83 * var(--px));
  --f84: clamp(30 * var(--px), 100vw * 84 / 1680, 84 * var(--px));
  --f85: clamp(30 * var(--px), 100vw * 85 / 1680, 85 * var(--px));
  --f86: clamp(30 * var(--px), 100vw * 86 / 1680, 86 * var(--px));
  --f87: clamp(30 * var(--px), 100vw * 87 / 1680, 87 * var(--px));
  --f88: clamp(30 * var(--px), 100vw * 88 / 1680, 88 * var(--px));
  --f89: clamp(30 * var(--px), 100vw * 89 / 1680, 89 * var(--px));
  --f90: clamp(30 * var(--px), 100vw * 90 / 1680, 90 * var(--px));
  /* --- 91 to 100 --- */
  --f91: clamp(30 * var(--px), 100vw * 91 / 1680, 91 * var(--px));
  --f92: clamp(30 * var(--px), 100vw * 92 / 1680, 92 * var(--px));
  --f93: clamp(30 * var(--px), 100vw * 93 / 1680, 93 * var(--px));
  --f94: clamp(30 * var(--px), 100vw * 94 / 1680, 94 * var(--px));
  --f95: clamp(30 * var(--px), 100vw * 95 / 1680, 95 * var(--px));
  --f96: clamp(30 * var(--px), 100vw * 96 / 1680, 96 * var(--px));
  --f97: clamp(30 * var(--px), 100vw * 97 / 1680, 97 * var(--px));
  --f98: clamp(30 * var(--px), 100vw * 98 / 1680, 98 * var(--px));
  --f99: clamp(30 * var(--px), 100vw * 99 / 1680, 99 * var(--px));
  --f100: clamp(30 * var(--px), 100vw * 100 / 1680, 100 * var(--px));
  /* --- 101 to 110 --- */
  --f101: clamp(30 * var(--px), 100vw * 101 / 1680, 101 * var(--px));
  --f102: clamp(30 * var(--px), 100vw * 102 / 1680, 102 * var(--px));
  --f103: clamp(30 * var(--px), 100vw * 103 / 1680, 103 * var(--px));
  --f104: clamp(30 * var(--px), 100vw * 104 / 1680, 104 * var(--px));
  --f105: clamp(30 * var(--px), 100vw * 105 / 1680, 105 * var(--px));
  --f106: clamp(30 * var(--px), 100vw * 106 / 1680, 106 * var(--px));
  --f107: clamp(30 * var(--px), 100vw * 107 / 1680, 107 * var(--px));
  --f108: clamp(30 * var(--px), 100vw * 108 / 1680, 108 * var(--px));
  --f109: clamp(30 * var(--px), 100vw * 109 / 1680, 109 * var(--px));
  --f110: clamp(30 * var(--px), 100vw * 110 / 1680, 110 * var(--px));
  /* --- 111 to 120 --- */
  --f111: clamp(30 * var(--px), 100vw * 111 / 1680, 111 * var(--px));
  --f112: clamp(30 * var(--px), 100vw * 112 / 1680, 112 * var(--px));
  --f113: clamp(30 * var(--px), 100vw * 113 / 1680, 113 * var(--px));
  --f114: clamp(30 * var(--px), 100vw * 114 / 1680, 114 * var(--px));
  --f115: clamp(30 * var(--px), 100vw * 115 / 1680, 115 * var(--px));
  --f116: clamp(30 * var(--px), 100vw * 116 / 1680, 116 * var(--px));
  --f117: clamp(30 * var(--px), 100vw * 117 / 1680, 117 * var(--px));
  --f118: clamp(30 * var(--px), 100vw * 118 / 1680, 118 * var(--px));
  --f119: clamp(30 * var(--px), 100vw * 119 / 1680, 119 * var(--px));
  --f120: clamp(30 * var(--px), 100vw * 120 / 1680, 120 * var(--px));
}

/* -------------------------------------------
* カラー変数
* -------------------------------------------*/
:root {
  --base-text: #333;
  --skyblue: #3da3dc;
  --skyblue-light: #e9eff8;
  --yellow: #fffc00;
  --blue: #2d70c0;
  --green: #2db4c0;
}

/* -------------------------------------------
 * フォントファミリー、ウェイト
 * -------------------------------------------*/
:root {
  --ja: "Noto Sans JP", sans-serif;
  --en: "Inter", sans-serif;
  --fwr: 400;
  --fwm: 500;
  --fwsb: 600;
  --fwb: 700;
}

/********************************************************/
html {
  font-size: 100% !important;
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: clip;
  font-size: var(--f16);
  color: var(--base-text);
  background: #fff;
  font-family: var(--ja);
  font-weight: var(--fwr);
  height: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  line-height: 1.75;
  width: 100%;
}

/* -------------------------------------------
 * 共通スタイル
 * -------------------------------------------*/
a[href^="tel:"] {
  pointer-events: none;
}
@media (max-width: 834px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
}

/* --- 視覚的に隠すがスクリーンリーダーには読ませる --- */
.lp-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* -------------------------------------------
 * インナー幅、余白
 * -------------------------------------------*/
.inner-1200 {
  width: min(90%, 1200 * var(--px));
  margin-inline: auto;
}

.inner-1500 {
  width: min(90%, 1500 * var(--px));
  margin-inline: auto;
}

/* -------------------------------------------
 * 改行
 * -------------------------------------------*/
.br-sp {
  display: none;
}
@media (max-width: 834px) {
  .br-sp {
    display: block;
  }
}

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

/* -------------------------------------------
 * 見出し
 * -------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

/* -------------------------------------------
 * 予約ボタン
 * -------------------------------------------*/
.reservation-button {
  background: var(--skyblue);
  color: #fff;
  padding: calc(10 * var(--px)) calc(20 * var(--px));
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(10 * var(--px), 0.8928571429vw, 15 * var(--px));
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: calc(250 * var(--px));
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: calc(60 * var(--px));
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.reservation-button__icon {
  width: calc(31 * var(--px));
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.reservation-button__text-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.28;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.reservation-button__row1 {
  font-weight: var(--fwr);
  font-size: var(--f14);
}

.reservation-button__row2 {
  font-weight: var(--fwsb);
  font-size: var(--f18);
}

/* -------------------------------------------
 * 電話番号
 * -------------------------------------------*/
.tel-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5em;
  font-family: var(--en);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-weight: 600;
}
@media (max-width: 834px) {
  .tel-link {
    font-weight: var(--fwr);
  }
}

.tel-text {
  font-size: calc(20 * var(--px));
  white-space: nowrap;
  line-height: 1;
}

.tel-number {
  font-size: calc(30 * var(--px));
  white-space: nowrap;
  line-height: 1;
}

/* -------------------------------------------
 * ヘッダー
 * -------------------------------------------*/
:root {
  --header-height-pc: calc(80 * var(--px));
  --header-right-padding: max(calc(10 * var(--px)), calc(10 / 1680 * 100vw));
  --nav-button-size: calc(60 * var(--px));
  --header-right-gap: calc(10 * var(--px));
}

.orthodontics-lp-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height-pc);
  -webkit-transition: background 0.3s, -webkit-transform 0.3s;
  transition: background 0.3s, -webkit-transform 0.3s;
  transition: background 0.3s, transform 0.3s;
  transition: background 0.3s, transform 0.3s, -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
}

.orthodontics-lp-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-width: 0;
  padding-left: max(15 * var(--px), 1.8452380952vw);
  padding-right: calc(var(--header-right-padding) + var(--nav-button-size) + var(--header-right-gap));
}
@media (max-width: 1024px) {
  .orthodontics-lp-header__inner {
    width: auto;
    margin-right: auto;
  }
}
.orthodontics-lp-header__inner .reservation-button {
  width: calc(250 * var(--px));
}

.orthodontics-lp-header__site-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.orthodontics-lp-header__site-name-link {
  font-size: clamp(16 * var(--px), 1.4285714286vw, 24 * var(--px));
  font-weight: var(--fwsb);
  color: var(--skyblue);
  white-space: nowrap;
}
@media (max-width: 834px) {
  .orthodontics-lp-header__site-name-link {
    line-height: 1.4;
  }
}

.orthodontics-lp-header__site-name-label {
  font-size: clamp(11 * var(--px), 0.8333333333vw, 14 * var(--px));
  font-weight: var(--fwsb);
  color: var(--skyblue);
  background: #e4f2f9;
  padding: 0.6em 1em;
  border-radius: calc(5 * var(--px));
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-box: trim-both cap alphabetic;
  padding: 0.5em 1em;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .orthodontics-lp-header__site-name-label {
    width: 100%;
    text-align: center;
  }
}

.orthodontics-lp-header__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(10 * var(--px), 0.5952380952vw);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media (max-width: 1024px) {
  .orthodontics-lp-header__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(5 * var(--px));
  }
}

.drawer-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.drawer-nav {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: calc(10 * var(--px));
  right: calc(10 * var(--px));
  height: auto;
  width: min(100%, 350 * var(--px));
  z-index: 300;
  margin: 0;
  border-radius: calc(10 * var(--px));
  background: #fff;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  padding-inline: max(30 * var(--px), 2.6785714286%);
  padding-block: clamp(30 * var(--px), 5.8928571429vw, 99 * var(--px)) clamp(20 * var(--px), 3.0952380952vw, 52 * var(--px));
}
.drawer-nav .tel-link {
  margin-top: calc(31 * var(--px));
}
@media (max-width: 1024px) {
  .drawer-nav .tel-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-inline: auto;
  }
}
.drawer-nav .reservation-button {
  margin-left: 0;
  margin-top: calc(25 * var(--px));
  width: 100%;
  max-width: none;
}
@media (max-width: 1024px) {
  .drawer-nav .reservation-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 834px) {
  .drawer-nav {
    padding-inline: 5%;
    padding-top: calc(90 * var(--px));
    width: 100%;
    border-radius: 0;
    height: 100svh;
    inset: 0;
  }
}

@media screen and (max-width: 1200px) {
  .drawer-nav__link,
  .reservation-btn {
    display: block;
  }
}
.orthodontics-lp-header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: calc(20 * var(--px));
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}

@media (max-width: 1024px) {
  .orthodontics-lp-header .reservation-button {
    display: none;
  }
}
@media (max-width: 1024px) {
  .orthodontics-lp-header .tel-link {
    display: none;
  }
}

/* ヘッダーを隠す */
[data-header-hidden=true] .orthodontics-lp-header,
[data-header-hidden=true] .nav-button {
  -webkit-transform: translateY(-150%);
          transform: translateY(-150%);
}

/* -------------------------------------------
 * ドロワーメニュー（開閉状態）
 * -------------------------------------------*/
html[data-drawer-open=true] {
  overflow: hidden;
  height: 100vh;
}

.drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: color-mix(in srgb, #e4ebf5 90%, transparent);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  border: none;
  padding: 0;
  cursor: pointer;
}

[data-drawer-open=true] .drawer-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
[data-drawer-open=true] .drawer-nav {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

.drawer-nav__link {
  font-size: calc(16 * var(--px));
  color: var(--skyblue);
  font-weight: var(--fwm);
  background-image: radial-gradient(circle, #c0e1f3 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 4px 2px;
  margin-right: 0;
  padding-bottom: 1.3em;
  width: 100%;
  display: block;
}

.drawer-nav__item:not(:first-child) .drawer-nav__link {
  padding-top: 1em;
}

/* -------------------------------------------
 * ハンバーガーボタン
 * -------------------------------------------*/
:root {
  --bars-width: calc(22 * var(--px));
  --bars-height: calc(14 * var(--px));
  --bar-height: calc(2 * var(--px));
  --bars-y-translate: calc((var(--bars-height) - var(--bar-height)) / 2);
  --bars-rotate: 45deg;
}

.nav-button {
  width: var(--nav-button-size);
  height: var(--nav-button-size);
  text-align: center;
  position: fixed;
  top: calc(10 * var(--px));
  right: var(--header-right-padding);
  z-index: 400;
  text-decoration: none;
  border-radius: 10px;
  background: var(--blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  pointer-events: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: none;
  padding: 0;
  -webkit-transition: border-radius 0.4s ease, -webkit-transform 0.3s ease;
  transition: border-radius 0.4s ease, -webkit-transform 0.3s ease;
  transition: border-radius 0.4s ease, transform 0.3s ease;
  transition: border-radius 0.4s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

/* -------------------------------------------
 * ハンバーガーボタン（開閉状態）
 * -------------------------------------------*/
[data-drawer-open=true] .nav-button__bars > span:nth-of-type(1) {
  -webkit-transform: translateY(var(--bars-y-translate)) rotate(calc(-1 * var(--bars-rotate)));
          transform: translateY(var(--bars-y-translate)) rotate(calc(-1 * var(--bars-rotate)));
}
[data-drawer-open=true] .nav-button__bars > span:nth-of-type(2) {
  display: none;
}
[data-drawer-open=true] .nav-button__bars > span:nth-of-type(3) {
  -webkit-transform: translateY(calc(var(--bars-y-translate) * -1)) rotate(var(--bars-rotate));
          transform: translateY(calc(var(--bars-y-translate) * -1)) rotate(var(--bars-rotate));
}
[data-drawer-open=true] .nav-button {
  border-radius: 0 10px 0 10px;
}
@media (max-width: 834px) {
  [data-drawer-open=true] .nav-button {
    border-radius: 10px;
  }
}

.nav-button__bars,
.nav-button__bars span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.nav-button__bars {
  position: relative;
  width: var(--bars-width);
  height: var(--bars-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.nav-button__bars span {
  width: 100%;
  height: var(--bar-height);
  background: #fff;
}

.nav-button__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* -------------------------------------------
 * フッター
 * -------------------------------------------*/
.orthodontics-lp-footer {
  border-top: 1px solid #eee;
  padding-block: clamp(30 * var(--px), 3.630952381vw, 61 * var(--px)) 0;
  background: #fff;
}

.orthodontics-lp-footer__main {
  display: grid;
  grid-template-columns: 530fr 600fr;
  -webkit-column-gap: 5.8333333333%;
     -moz-column-gap: 5.8333333333%;
          column-gap: 5.8333333333%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 834px) {
  .orthodontics-lp-footer__main {
    grid-template-columns: 1fr;
    row-gap: clamp(30 * var(--px), 2.380952381vw, 40 * var(--px));
  }
}

.orthodontics-lp-footer__clinic-name {
  font-size: var(--f24);
  font-weight: var(--fwsb);
  color: var(--skyblue);
}
@media (max-width: 834px) {
  .orthodontics-lp-footer__clinic-name {
    text-align: center;
  }
}

.orthodontics-lp-footer__address {
  margin-top: clamp(16 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-size: var(--f14);
  line-height: 1.7;
}
@media (max-width: 834px) {
  .orthodontics-lp-footer__address {
    text-align: center;
  }
}

.orthodontics-lp-footer__access {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(10 * var(--px), 0.9523809524vw, 16 * var(--px));
  text-box: trim-both cap alphabetic;
  padding: 0.9em 0.8em;
  background: var(--skyblue-light);
  border-radius: calc(5 * var(--px));
  color: var(--skyblue);
  font-size: var(--f14);
  font-weight: var(--fwm);
}
@media (max-width: 834px) {
  .orthodontics-lp-footer__access {
    margin-inline: auto;
  }
}

.orthodontics-lp-footer__tel {
  margin-top: clamp(16 * var(--px), 1.0714285714vw, 18 * var(--px));
}
.orthodontics-lp-footer__tel .tel-link {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (max-width: 834px) {
  .orthodontics-lp-footer__tel .tel-link {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
  }
}
.orthodontics-lp-footer__tel .tel-text {
  font-size: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px));
}
.orthodontics-lp-footer__tel .tel-number {
  font-size: clamp(30 * var(--px), 2.380952381vw, 40 * var(--px));
}

.orthodontics-lp-footer__time {
  width: 100%;
  margin-top: clamp(20 * var(--px), 2.4404761905vw, 41 * var(--px));
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #eee;
  border-radius: calc(10 * var(--px));
  text-align: center;
}

.orthodontics-lp-footer__time th,
.orthodontics-lp-footer__time td {
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding-top: 0.9em;
  padding-bottom: 0.9em;
  font-weight: var(--fwr);
  vertical-align: middle;
}

.orthodontics-lp-footer__time thead th:last-child,
.orthodontics-lp-footer__time tbody tr:first-child td:last-child {
  border-right: none;
}

.orthodontics-lp-footer__time tbody tr:last-child th,
.orthodontics-lp-footer__time tbody tr:last-child td {
  border-bottom: none;
}

.orthodontics-lp-footer__time thead th {
  font-size: var(--f14);
}

.orthodontics-lp-footer__time th:first-child {
  width: 23.0188679245%;
}

.orthodontics-lp-footer__time tbody th {
  font-family: var(--en);
  font-size: var(--f15);
}

.orthodontics-lp-footer__time td[data-mark] {
  position: relative;
}

.orthodontics-lp-footer__time td[data-mark]::before {
  content: "";
  display: inline-block;
  width: clamp(14 * var(--px), 1.0714285714vw, 18 * var(--px));
  aspect-ratio: 1;
  border-radius: 100vmax;
  background: var(--skyblue);
  vertical-align: middle;
}

.orthodontics-lp-footer__time td[rowspan] {
  font-size: var(--f14);
  font-family: var(--ja);
  color: var(--base-text);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  border-bottom: none;
}

.orthodontics-lp-footer__time-note {
  margin-top: clamp(12 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-size: var(--f12);
}

.orthodontics-lp-footer__map {
  position: relative;
  aspect-ratio: 600/440;
}

.orthodontics-lp-footer__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.orthodontics-lp-footer__map-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(3 * var(--px));
  margin-top: clamp(10 * var(--px), 1.0119047619vw, 17 * var(--px));
  color: var(--skyblue);
  font-size: var(--f14);
  text-decoration: underline;
  text-underline-offset: 0.5em;
}

.orthodontics-lp-footer__map-link::after {
  content: "";
  display: inline-block;
  width: calc(8 * var(--px));
  height: calc(8 * var(--px));
  background: url(../img/orthodontics-lp/icon_blank.svg) no-repeat center;
  background-size: contain;
}

.orthodontics-lp-footer__copy {
  margin-top: clamp(20 * var(--px), 2.9166666667vw, 49 * var(--px));
  font-family: var(--en);
  font-size: var(--f10);
  text-align: right;
}

/* -------------------------------------------
 * フッターCTA
 * -------------------------------------------*/
.orthodontics-lp-footer-cta {
  background-color: var(--skyblue);
  color: #fff;
  padding-block: clamp(50 * var(--px), 6.3095238095vw, 106 * var(--px)) clamp(30 * var(--px), 4.1666666667vw, 70 * var(--px));
  margin-top: clamp(50 * var(--px), 6.3095238095vw, 106 * var(--px));
}
@media (max-width: 1024px) {
  .orthodontics-lp-footer-cta {
    padding-bottom: calc(130 * var(--px));
  }
}
@media (max-width: 499px) {
  .orthodontics-lp-footer-cta {
    padding-bottom: 20vw;
  }
}

.orthodontics-lp-footer-cta__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(30 * var(--px), 3.2142857143vw, 54 * var(--px)) clamp(10 * var(--px), 8.5714285714vw, 144 * var(--px));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1024px) {
  .orthodontics-lp-footer-cta__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-footer-cta__title {
  font-size: clamp(24 * var(--px), 3.90625vw, 30 * var(--px));
  font-weight: var(--fwsb);
  line-height: 1.13;
}
@media (max-width: 1024px) {
  .orthodontics-lp-footer-cta__title {
    text-align: center;
  }
}

.orthodontics-lp-footer-cta__lead {
  margin-top: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-size: var(--f18);
}
@media (max-width: 1024px) {
  .orthodontics-lp-footer-cta__lead {
    text-align: center;
  }
}

.orthodontics-lp-footer-cta__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(10 * var(--px)) 2.9498525074%;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 600px) {
  .orthodontics-lp-footer-cta__buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.orthodontics-lp-footer-cta__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(10 * var(--px));
  width: min(100%, 375 * var(--px));
  border-radius: calc(11 * var(--px));
  background: #fff;
  color: var(--skyblue);
  font-size: var(--f24);
  line-height: 1;
  padding: clamp(15 * var(--px), 2.2619047619vw, 38 * var(--px)) 1em;
}
@media (max-width: 600px) {
  .orthodontics-lp-footer-cta__button {
    min-height: calc(54 * var(--px));
    max-width: calc(232 * var(--px));
  }
}

.orthodontics-lp-footer-cta__button--tel {
  font-family: var(--en);
  font-weight: var(--fwsb);
}

.orthodontics-lp-footer-cta__button--reservation {
  font-weight: var(--fwsb);
}

.orthodontics-lp-footer-cta__button-icon {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: var(--skyblue);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.orthodontics-lp-footer-cta__button-icon--tel {
  width: max(8.7878787879%, 24 * var(--px));
  aspect-ratio: 1;
  -webkit-mask-image: url(../img/orthodontics-lp/icon_tel.svg);
  mask-image: url(../img/orthodontics-lp/icon_tel.svg);
}

.orthodontics-lp-footer-cta__button-icon--reservation {
  width: max(11.5151515152%, 28 * var(--px));
  aspect-ratio: 38/31;
  background-color: var(--skyblue);
  -webkit-mask-image: url(../img/orthodontics-lp/icon_reservation.svg);
  mask-image: url(../img/orthodontics-lp/icon_reservation.svg);
}

.lp-footer-copyright {
  grid-column: 1/-1;
  text-align: right;
  font-family: var(--en);
  font-size: var(--f10);
  line-height: 1;
}

/* -------------------------------------------
 * MV
 * -------------------------------------------*/
.orthodontics-lp-mv {
  padding-block: clamp(30 * var(--px), 4.4047619048vw, 74 * var(--px)) clamp(90 * var(--px), 10.9523809524vw, 184 * var(--px));
  margin-top: var(--header-height-pc);
  background: #ecf1f7;
  position: relative;
  overflow: clip;
}
@media (max-width: 834px) {
  .orthodontics-lp-mv {
    padding-bottom: calc(110 * var(--px));
  }
}
@media (max-width: 566px) {
  .orthodontics-lp-mv {
    padding-block: calc(10 * var(--px)) 16vw;
    height: auto;
  }
}
.orthodontics-lp-mv::before {
  background: #93c9e8;
  content: "";
  display: inline-block;
  position: absolute;
  width: min(77.6%, 1182 * var(--px));
  aspect-ratio: 1182/731;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv::before {
    width: 158%;
  }
}

.orthodontics-lp-mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  translate: 0 clamp(18 * var(--px), 18 * var(--px) + (100vw - 1200px) * 32 / 480, 50 * var(--px));
  position: relative;
  z-index: 2;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 499px) {
  .orthodontics-lp-mv__inner {
    translate: 0 calc(10 * var(--px));
  }
}

.orthodontics-lp-mv__intro {
  position: relative;
  z-index: 2;
}

.orthodontics-lp-mv__main-img-pc {
  position: absolute;
  width: clamp(500 * var(--px), 43.4523809524vw, 730 * var(--px));
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  z-index: 1;
}
@media (max-width: 1399px) {
  .orthodontics-lp-mv__main-img-pc {
    left: 44%;
  }
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__main-img-pc {
    display: none;
  }
}

.orthodontics-lp-mv__copy-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: var(--fwsb);
  color: #fff;
  line-height: 1.3;
  text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
}

.orthodontics-lp-mv__main-copy {
  font-size: clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px));
  letter-spacing: 0.05em;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__main-copy {
    text-align: center;
  }
}
.orthodontics-lp-mv__main-copy .highlight {
  font-size: clamp(35 * var(--px), 4.7619047619vw, 80 * var(--px));
}

.orthodontics-lp-mv__sub-copy {
  font-size: clamp(13 * var(--px), 1.4285714286vw, 24 * var(--px));
  margin-top: 0.5em;
  letter-spacing: 0.03em;
}
@media (max-width: 1240px) {
  .orthodontics-lp-mv__sub-copy {
    text-align: center;
  }
}
.orthodontics-lp-mv__sub-copy .highlight {
  color: var(--yellow);
}

.orthodontics-lp-mv__info-wrap {
  width: clamp(350 * var(--px), 25.7738095238vw, 433 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  container-type: inline-size;
  container-name: info-wrap;
  margin-top: clamp(30 * var(--px), 3.8095238095vw, 64 * var(--px));
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__info-wrap {
    display: none;
  }
}

.orthodontics-lp-mv__info-badge {
  position: absolute;
  width: clamp(110 * var(--px), 8.9285714286vw, 150 * var(--px));
  aspect-ratio: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  right: 0;
  top: -8.4905660377%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  background: var(--blue);
  border-radius: 100vmax;
  container-type: inline-size;
  container-name: info-badge;
}

.orthodontics-lp-mv__info-badge-row01 {
  color: #fff;
  font-weight: var(--fwsb);
  font-size: var(--f14);
  line-height: 1;
  letter-spacing: -0.03em;
  margin-left: -0.5em;
}

.orthodontics-lp-mv__info-badge-row02 {
  color: var(--yellow);
  font-weight: var(--fwsb);
  font-size: var(--f28);
  line-height: 1;
}
.orthodontics-lp-mv__info-badge-row02 .number {
  font-family: var(--en);
  font-size: var(--f46);
  font-weight: var(--fwr);
  line-height: 1.15;
}
.orthodontics-lp-mv__info-badge-row02 .unit {
  font-size: var(--f18);
}

.orthodontics-lp-mv__info-labels {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: -2.07852194%;
  bottom: 4.4025157233%;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(5 * var(--px));
}

.orthodontics-lp-mv__info-label {
  text-box: trim-both cap alphabetic;
  padding: 0.5em 0.5em;
  background: var(--skyblue);
  color: #fff;
  font-size: clamp(16 * var(--px), 1.4285714286vw, 24 * var(--px));
  font-weight: var(--fwsb);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* -------------------------------------------
 * 右側 / 詳細エリア
 * -------------------------------------------*/
.orthodontics-lp-mv__detail-wrap {
  width: min(100%, 503 * var(--px));
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__detail-wrap {
    width: 100%;
    margin-top: -12%;
    position: relative;
    z-index: 1;
  }
}

.orthodontics-lp-mv__main-img-wrap-sp {
  display: none;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__main-img-wrap-sp {
    display: block;
    position: relative;
    z-index: 2;
    width: 75%;
    margin-inline: auto;
    max-width: calc(454 * var(--px));
    margin-inline: auto;
  }
}
.orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-badge {
  right: unset;
  left: 66.1943319838%;
  top: unset;
  bottom: 35.2201257862%;
  width: min(46.3562753036%, 150 * var(--px));
  z-index: -1;
  container-type: inline-size;
}
.orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-badge-row01 {
  font-size: 9.5652173913cqi;
}
.orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-badge-row02 {
  font-size: 17.3913043478cqi;
}
.orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-badge-row02 .number {
  font-size: 30.4347826087cqi;
}
.orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-badge-row02 .unit {
  font-size: 17.3913043478cqi;
}
.orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-labels {
  right: 60.7287449393%;
  left: unset;
  bottom: 23.5849056604%;
  white-space: nowrap;
}
@media (max-width: 639px) {
  .orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-labels {
    left: -15%;
  }
}
@media (max-width: 499px) {
  .orthodontics-lp-mv__main-img-wrap-sp .orthodontics-lp-mv__info-labels {
    bottom: 29%;
  }
}

.orthodontics-lp-mv__details {
  width: min(100%, 503 * var(--px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  position: relative;
  z-index: 2;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__details {
    margin-top: -12%;
  }
}
@media (max-width: 499px) {
  .orthodontics-lp-mv__details {
    margin-top: -24%;
  }
}

.orthodontics-lp-mv__details-item {
  background: #fff;
  background-clip: padding-box;
  border-radius: calc(20 * var(--px));
  border: 5px solid rgba(255, 255, 255, 0.6);
}

.orthodontics-lp-mv__details-item--01 {
  grid-column: 1/3;
  grid-row: 1/2;
  padding-block: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px)) clamp(15 * var(--px), 1.4880952381vw, 25 * var(--px));
  padding-inline: clamp(15 * var(--px), 1.8452380952vw, 31 * var(--px));
  position: relative;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__details-item--01 {
    padding-block: calc(20 * var(--px)) calc(15 * var(--px));
    padding-inline: calc(15 * var(--px));
  }
}
.orthodontics-lp-mv__details-item--01::before {
  background: url(../img/orthodontics-lp/mv_detail-img01.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 37.7551020408%;
  aspect-ratio: 400/248;
  top: 7.0833333333%;
  left: -12.8571428571%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__details-item--01::before {
    width: min(30.7692307692%, 200 * var(--px));
    left: -5.6923076923%;
    top: -9.0625%;
  }
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--01::before {
    display: none;
  }
}
.orthodontics-lp-mv__details-item--01::after {
  background: url(../img/orthodontics-lp/mv_detail-img02.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 28.5714285714%;
  aspect-ratio: 312/322;
  top: -20.4166666667%;
  right: -4.8979591837%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 1200px) {
  .orthodontics-lp-mv__details-item--01::after {
    width: min(24.6153846154%, 140 * var(--px));
    right: -5.2307692308%;
    top: -28.125%;
  }
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--01::after {
    top: -18.75%;
    display: none;
  }
}
.orthodontics-lp-mv__details-item--01 .orthodontics-lp-mv__details-main {
  padding-top: clamp(10 * var(--px), 1.3095238095vw, 22 * var(--px));
  margin-top: clamp(10 * var(--px), 1.0119047619vw, 17 * var(--px));
}
.orthodontics-lp-mv__details-item--01 .orthodontics-lp-mv__details-head-row01 {
  font-size: clamp(16 * var(--px), 1.4285714286vw, 24 * var(--px));
}
.orthodontics-lp-mv__details-item--01 .orthodontics-lp-mv__details-head-row02 {
  font-size: clamp(17 * var(--px), 1.4285714286vw, 24 * var(--px));
}
.orthodontics-lp-mv__details-item--01 .orthodontics-lp-mv__details-head-row02 .highlight {
  font-size: clamp(21 * var(--px), 1.9047619048vw, 32 * var(--px));
}
.orthodontics-lp-mv__details-item--01 .orthodontics-lp-mv__details-main {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 clamp(10 * var(--px), 1.130952381vw, 19 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.orthodontics-lp-mv__details-head {
  font-weight: var(--fwsb);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.3;
}

.orthodontics-lp-mv__details-head-row01 {
  font-size: clamp(13 * var(--px), 1.0714285714vw, 18 * var(--px));
}

.orthodontics-lp-mv__details-head-row02 {
  color: var(--skyblue);
  font-size: clamp(12 * var(--px), 1.0714285714vw, 18 * var(--px));
}
.orthodontics-lp-mv__details-head-row02 .highlight {
  font-size: clamp(17 * var(--px), 1.4285714286vw, 24 * var(--px));
}

.orthodontics-lp-mv__details-main {
  border-top: 1px solid #eee;
}

.orthodontics-lp-mv__details-mouthpiece-label {
  background: var(--skyblue);
  color: #fff;
  font-size: clamp(12 * var(--px), 1.0119047619vw, 17 * var(--px));
  font-weight: var(--fwsb);
  padding: 1.3em 0.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-box: trim-both cap alphabetic;
  border-radius: calc(10 * var(--px));
  line-height: 1.29;
  text-align: center;
}

.orthodontics-lp-mv__details-mouthpiece-logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(6 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.orthodontics-lp-mv__details-mouthpiece-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-self: center;
}
.orthodontics-lp-mv__details-mouthpiece-logo:nth-child(1) {
  width: 97%;
}
.orthodontics-lp-mv__details-mouthpiece-logo:nth-child(2) {
  width: 96.2%;
}
.orthodontics-lp-mv__details-mouthpiece-logo:nth-child(3) {
  width: 100%;
}
.orthodontics-lp-mv__details-mouthpiece-logo:nth-child(4) {
  width: 84.3%;
}

.orthodontics-lp-mv__details-item--02,
.orthodontics-lp-mv__details-item--03 {
  padding-block: clamp(20 * var(--px), 1.7261904762vw, 29 * var(--px)) calc(128 * var(--px));
  padding-inline: clamp(15 * var(--px), 1.3095238095vw, 22 * var(--px));
  position: relative;
}
@media (max-width: 834px) {
  .orthodontics-lp-mv__details-item--02,
  .orthodontics-lp-mv__details-item--03 {
    padding-bottom: calc(140 * var(--px));
  }
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--02,
  .orthodontics-lp-mv__details-item--03 {
    padding-bottom: calc(20 * var(--px));
  }
}
.orthodontics-lp-mv__details-item--02 .orthodontics-lp-mv__details-main,
.orthodontics-lp-mv__details-item--03 .orthodontics-lp-mv__details-main {
  padding-top: clamp(10 * var(--px), 0.8333333333vw, 14 * var(--px));
  margin-top: clamp(10 * var(--px), 0.8333333333vw, 14 * var(--px));
}

.orthodontics-lp-mv__details-certification-list {
  font-size: var(--f14);
  --column-gap: 0.3em;
  --marker-size: 1em;
}
.orthodontics-lp-mv__details-certification-list > li {
  position: relative;
  -webkit-padding-start: calc(var(--marker-size) + var(--column-gap));
          padding-inline-start: calc(var(--marker-size) + var(--column-gap));
  line-height: 1.43;
}
.orthodontics-lp-mv__details-certification-list > li::before {
  content: "check";
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: bold;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  position: absolute;
  left: 0;
  top: 0.5lh;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: var(--f15);
  color: var(--skyblue);
}

.orthodontics-lp-mv__details-main-img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.orthodontics-lp-mv__details-item--02 {
  grid-column: 1/2;
  grid-row: 2/3;
  position: relative;
}
.orthodontics-lp-mv__details-item--02 .orthodontics-lp-mv__details-main-img {
  width: 106%;
  left: 52%;
  bottom: -24.7148288973%;
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--02 .orthodontics-lp-mv__details-main-img {
    display: none;
  }
}
.orthodontics-lp-mv__details-item--02::after {
  background: url(../img/orthodontics-lp/intro_certificate01.webp) no-repeat center;
  background-size: contain;
  content: none;
  display: inline-block;
  position: absolute;
  width: 29.1666666667%;
  aspect-ratio: 88/109;
  top: -6.880733945%;
  left: -11.1111111111%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--02::after {
    content: "";
  }
}
@media (max-width: 399px) {
  .orthodontics-lp-mv__details-item--02::after {
    left: -17%;
  }
}
.orthodontics-lp-mv__details-item--02::before {
  background: url(../img/orthodontics-lp/intro_certificate02.webp) no-repeat center;
  background-size: contain;
  content: none;
  display: inline-block;
  position: absolute;
  width: 29.1666666667%;
  aspect-ratio: 88/109;
  bottom: -18.3486238532%;
  right: -4.1666666667%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--02::before {
    content: "";
  }
}

.orthodontics-lp-mv__details-item--03 {
  grid-column: 2/3;
  grid-row: 2/3;
}
.orthodontics-lp-mv__details-item--03 .orthodontics-lp-mv__details-main-img {
  width: 78.2608695652%;
  bottom: -25.4752851711%;
}
@media (max-width: 566px) {
  .orthodontics-lp-mv__details-item--03 .orthodontics-lp-mv__details-main-img {
    display: none;
  }
}

.orthodontics-lp-mv__details-experience-text {
  text-align: center;
  line-height: 1.43;
  font-size: var(--f14);
}

/* -------------------------------------------
 * intro
 * -------------------------------------------*/
.orthodontics-lp-intro {
  padding-block: clamp(50 * var(--px), 6.6071428571vw, 111 * var(--px)) clamp(50 * var(--px), 8.5714285714vw, 144 * var(--px));
  background: url(../img/orthodontics-lp/intro_bg.webp) no-repeat top center/100% auto, var(--skyblue-light);
}
@media (max-width: 834px) {
  .orthodontics-lp-intro {
    background-size: 220% auto;
  }
}

.orthodontics-lp-intro__head-inner {
  margin-left: calc((100vw - min(1410 * var(--px), 90vw)) / 2);
  margin-right: calc((100vw - min(1200 * var(--px), 90vw)) / 2);
}

.orthodontics-lp-intro__title {
  text-align: center;
  line-height: 1.4;
  font-weight: var(--fwsb);
  text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 1;
  letter-spacing: 0.02em;
  margin-left: 9%;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__title {
    margin-left: 0;
  }
}

.orthodontics-lp-intro__title-row01 {
  font-size: var(--f42);
}

.orthodontics-lp-intro__title-row02 {
  font-size: var(--f60);
}
.orthodontics-lp-intro__title-row02 .highlight {
  font-size: var(--f70);
  color: var(--skyblue);
  position: relative;
}
.orthodontics-lp-intro__title-row02 .highlight::before {
  background: url(../img/orthodontics-lp/text_underline01.svg) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  aspect-ratio: 1237/89;
  bottom: 0.05em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
}

.orthodontics-lp-intro__intro {
  display: grid;
  grid-template-columns: 767fr 599fr;
  gap: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: -11.9424460432%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__intro {
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-intro__img-wrap {
  position: relative;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__img-wrap {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: calc(10 * var(--px));
  }
}

.orthodontics-lp-intro__img {
  position: relative;
  z-index: 2;
}

.orthodontics-lp-intro__badge {
  background: var(--skyblue);
  width: 26.075619296%;
  aspect-ratio: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 100vmax;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  container-type: inline-size;
  position: absolute;
  top: 34.964028777%;
  right: 22.9465449804%;
  z-index: 1;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__badge {
    width: 40%;
    top: 22%;
    right: 11%;
  }
}

.orthodontics-lp-intro__badge-text {
  text-align: center;
  line-height: 1.25;
  font-size: 12cqi;
  color: #fff;
  font-weight: var(--fwm);
}

.orthodontics-lp-intro__head-body {
  margin-left: -5%;
  margin-top: 41.7209908735%;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__head-body {
    display: contents;
    margin-top: calc(30 * var(--px));
  }
}

.orthodontics-lp-intro__labels-wrap {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__labels-wrap {
    margin-inline: auto;
    margin-top: calc(30 * var(--px));
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.orthodontics-lp-intro__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(5 * var(--px));
  font-size: clamp(16 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-weight: var(--fwsb);
  position: relative;
  z-index: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.orthodontics-lp-intro__label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  rotate: -5.01deg;
  --column-gap: 0.2em;
  --marker-size: 0.8em;
  --marker-left: .7em;
  background: #fff;
  -webkit-box-shadow: 0px 7px 11px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 7px 11px rgba(0, 0, 0, 0.2);
  text-box: trim-both cap alphabetic;
  padding-block: 0.6em;
  padding-inline: calc(var(--marker-left) + var(--marker-size) + var(--column-gap)) 0.45em;
  position: relative;
}
.orthodontics-lp-intro__label::before {
  background: url(../img/orthodontics-lp/icon_check.svg) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: var(--marker-size);
  height: var(--marker-size);
  left: var(--marker-left);
  top: 0.6lh;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}
.orthodontics-lp-intro__label:nth-child(2) {
  margin-left: 1.3em;
}

.orthodontics-lp-intro__labels-text {
  font-weight: var(--fwb);
  font-size: clamp(20 * var(--px), 1.9047619048vw, 32 * var(--px));
  text-align: right;
  text-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
  margin-left: auto;
  margin-right: 3.5%;
  margin-top: -3.5%;
  position: relative;
  z-index: 1;
}

.orthodontics-lp-intro__head-text {
  margin-top: clamp(30 * var(--px), 2.5vw, 42 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__head-text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.orthodontics-lp-intro__main {
  --wrap-width: calc(720 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 2;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-intro__block {
  background: var(--blue);
  padding-block: clamp(20 * var(--px), 3.1547619048vw, 53 * var(--px)) clamp(20 * var(--px), 3.4523809524vw, 58 * var(--px));
  padding-inline: clamp(80 * var(--px), 5.1785714286vw, 87 * var(--px));
  border-radius: calc(10 * var(--px));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: calc((var(--wrap-width) - 100%) * 999);
      flex-basis: calc((var(--wrap-width) - 100%) * 999);
  color: #fff;
}
@media (max-width: 1200px) {
  .orthodontics-lp-intro__block {
    padding-inline: 7.5%;
  }
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__block {
    padding-inline: calc(15 * var(--px));
  }
}

.orthodontics-lp-intro__block--01 {
  position: relative;
}
.orthodontics-lp-intro__block--01::after {
  background: url(../img/orthodontics-lp/intro_certificate01.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 35.0847457627%;
  aspect-ratio: 443/535;
  bottom: -15.2777777778%;
  left: -20%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__block--01::after {
    width: 20%;
    bottom: unset;
    top: -22%;
    left: -4%;
  }
}

.orthodontics-lp-intro__block--02 {
  position: relative;
}
.orthodontics-lp-intro__block--02::after {
  background: url(../img/orthodontics-lp/intro_certificate02.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 35.0847457627%;
  aspect-ratio: 443/535;
  bottom: -16.1111111111%;
  right: -18.1355932203%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .orthodontics-lp-intro__block--02::after {
    width: 20%;
    bottom: unset;
    top: -22%;
    right: -4%;
  }
}

.orthodontics-lp-intro__block-label {
  text-align: center;
  font-weight: var(--fwsb);
  font-size: var(--f15);
  text-box: trim-both cap alphabetic;
  padding: 1em 1em;
  background: #4483cf;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100vmax;
  margin-inline: auto;
}

.orthodontics-lp-intro__block-title {
  text-align: center;
  font-weight: var(--fwm);
  font-size: var(--f24);
  color: var(--yellow);
  margin-top: clamp(10 * var(--px), 0.9523809524vw, 16 * var(--px));
  line-height: 1.46;
}

.orthodontics-lp-intro__block-text {
  margin-top: clamp(14 * var(--px), 1.0714285714vw, 18 * var(--px));
}

/* -------------------------------------------
 * about
 * -------------------------------------------*/
.orthodontics-lp-about {
  position: relative;
  padding-block: clamp(50 * var(--px), 8.3333333333vw, 140 * var(--px)) clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
  background: url(../img/orthodontics-lp/about_bg.webp) no-repeat top center/100% auto, #fff;
}

.orthodontics-lp-dot-label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--f24);
  font-weight: var(--fwm);
  color: var(--skyblue);
  line-height: 1.3;
  background-image: radial-gradient(circle, #c0e1f3 2px, transparent 2px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 8px 4px;
  padding-bottom: 0.3em;
}

.orthodontics-lp-about__label {
  text-align: center;
  margin-inline: auto;
}

.orthodontics-lp-about__title {
  font-size: var(--f42);
  font-weight: var(--fwsb);
  line-height: 1.35;
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
  text-align: center;
}
.orthodontics-lp-about__title .highlight {
  font-size: var(--f50);
  color: var(--skyblue);
}
.orthodontics-lp-about__title .highlight--sm {
  font-size: var(--f42);
}
.orthodontics-lp-about__title .highlight--underline {
  position: relative;
  z-index: 1;
}
.orthodontics-lp-about__title .highlight--underline::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  aspect-ratio: 530/100;
  bottom: 0.02em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/orthodontics-lp/text_underline02.svg) no-repeat center;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}
.orthodontics-lp-about__title .highlight--dark {
  color: var(--base-text);
}

.orthodontics-lp-about__lead {
  max-width: calc(790 * var(--px));
  margin-inline: auto;
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
  line-height: 1.75;
  letter-spacing: -0.04em;
}

.orthodontics-lp-about__items {
  --wrap-width: calc(888 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: calc(50 * var(--px)) calc(15 * var(--px));
  margin-top: clamp(5 * var(--px), 2.380952381vw, 40 * var(--px));
  padding-top: clamp(40 * var(--px), 4.7619047619vw, 80 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__items {
    margin-top: calc(5 * var(--px));
  }
}

.orthodontics-lp-about__item {
  position: relative;
  border-radius: calc(10 * var(--px));
  padding-block: clamp(65 * var(--px), 6.25vw, 105 * var(--px)) clamp(30 * var(--px), 2.380952381vw, 40 * var(--px));
  padding-inline: clamp(20 * var(--px), 2.6785714286vw, 45 * var(--px));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: calc((var(--wrap-width) - 100%) * 999);
      flex-basis: calc((var(--wrap-width) - 100%) * 999);
}
@media (max-width: 834px) {
  .orthodontics-lp-about__item {
    padding-block: calc(60 * var(--px)) calc(20 * var(--px));
  }
}

.orthodontics-lp-about__item--cosmetic {
  background: #eaf0f9;
}

.orthodontics-lp-about__item--function {
  background: #eaf7f9;
}

.orthodontics-lp-about__item-badge {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
          transform: translate(-50%, -40%);
  width: clamp(80 * var(--px), 7.7380952381vw, 130 * var(--px));
  aspect-ratio: 1;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--f32);
  font-weight: var(--fwsb);
  color: #fff;
  line-height: 1;
}

.orthodontics-lp-about__item--cosmetic .orthodontics-lp-about__item-badge {
  background: var(--blue);
}

.orthodontics-lp-about__item--function .orthodontics-lp-about__item-badge {
  background: var(--green);
}

.orthodontics-lp-about__item-head {
  text-align: center;
}

.orthodontics-lp-about__item-label {
  font-size: clamp(13 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-weight: var(--fwm);
  line-height: 1.4;
}

.orthodontics-lp-about__item--cosmetic .orthodontics-lp-about__item-label,
.orthodontics-lp-about__item--cosmetic .orthodontics-lp-about__item-title {
  color: var(--blue);
}

.orthodontics-lp-about__item--function .orthodontics-lp-about__item-label,
.orthodontics-lp-about__item--function .orthodontics-lp-about__item-title {
  color: var(--green);
}

.orthodontics-lp-about__item-title {
  font-size: var(--f32);
  font-weight: var(--fwm);
  line-height: 1.4;
}

.orthodontics-lp-about__item-lead {
  text-align: center;
  line-height: 1.75;
  margin-top: clamp(10 * var(--px), 0.8928571429vw, 15 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__item-lead {
    text-align: left;
  }
}

.orthodontics-lp-about__item-text {
  line-height: 1.75;
  margin-top: clamp(16 * var(--px), 1.4285714286vw, 24 * var(--px));
}

.orthodontics-lp-about__cosmetic-img {
  width: 100%;
  margin-inline: auto;
  margin-top: clamp(20 * var(--px), 1.6666666667vw, 28 * var(--px));
}

.orthodontics-lp-about__function-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(15 * var(--px));
  margin-top: clamp(20 * var(--px), 2.0238095238vw, 34 * var(--px));
}

.orthodontics-lp-about__function-item {
  display: grid;
  grid-template-columns: 210fr 257fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10 * var(--px), 2.2619047619vw, 38 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 834px) {
  .orthodontics-lp-about__function-item {
    grid-template-columns: 2fr 4fr;
  }
}

.orthodontics-lp-about__function-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.orthodontics-lp-about__function-title {
  font-size: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-weight: var(--fwm);
  color: var(--green);
  line-height: 1.4;
}

.orthodontics-lp-about__function-text {
  font-size: var(--f14);
  line-height: 1.6;
  margin-top: clamp(5 * var(--px), 0.6547619048vw, 11 * var(--px));
}

.orthodontics-lp-about__detail {
  position: relative;
  margin-top: clamp(30 * var(--px), 3.2738095238vw, 55 * var(--px));
}

.orthodontics-lp-about__detail-inner {
  background: #fff;
  border: 3px solid var(--skyblue);
  border-radius: calc(10 * var(--px));
  background-color: #fff;
  background-image: linear-gradient(0deg, #f8f8f8 1px, transparent 1px), linear-gradient(90deg, #f8f8f8 1px, transparent 1px);
  background-size: 15px 15px;
  background-repeat: repeat;
  padding-bottom: clamp(30 * var(--px), 3.1547619048vw, 53 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: 0;
  }
}

.orthodontics-lp-about__detail-point {
  position: absolute;
  top: 3.3039647577%;
  right: 0;
  width: 14.3333333333%;
  z-index: 1;
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-point {
    top: calc(10 * var(--px));
    width: min(30%, 100 * var(--px));
  }
}

.orthodontics-lp-about__detail-img {
  z-index: 1;
  position: absolute;
  width: 53.6666666667%;
  top: -5.5066079295%;
  left: -7.1666666667%;
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-img {
    position: static;
    margin-inline: auto;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: calc(15 * var(--px));
    width: 80%;
  }
}

.orthodontics-lp-about__detail-body {
  padding-block: clamp(40 * var(--px), 4.1666666667vw, 70 * var(--px)) clamp(20 * var(--px), 2.0833333333vw, 35 * var(--px));
  width: min(529 * var(--px), 45%);
  margin-inline: auto clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-body {
    margin-inline: auto;
    width: calc(100% - 40 * var(--px));
    display: contents;
  }
}

.orthodontics-lp-about__detail-label {
  font-size: clamp(14 * var(--px), 1.4285714286vw, 24 * var(--px));
  font-weight: var(--fwm);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-label {
    text-align: center;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: calc(50 * var(--px));
  }
}

.orthodontics-lp-about__detail-title {
  font-size: var(--f32);
  font-weight: var(--fwm);
  color: var(--skyblue);
  line-height: 1.31;
  margin-top: clamp(5 * var(--px), 0.5952380952vw, 10 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-title {
    text-align: center;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.orthodontics-lp-about__detail-text {
  line-height: 1.75;
  margin-top: clamp(16 * var(--px), 1.1904761905vw, 20 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-text {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    width: calc(100% - 40 * var(--px));
    margin-inline: auto;
  }
}

.orthodontics-lp-about__detail-note {
  background: var(--skyblue);
  color: #fff;
  font-weight: var(--fwm);
  line-height: 1.5;
  padding-block: calc(12 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-note {
    text-align: center;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    margin-top: calc(20 * var(--px));
  }
}
.orthodontics-lp-about__detail-note .highlight {
  font-size: var(--f20);
  color: var(--yellow);
}

.orthodontics-lp-about__detail-note-inner {
  width: min(529 * var(--px), 45%);
  margin-inline: auto clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px));
  display: block;
}
@media (max-width: 834px) {
  .orthodontics-lp-about__detail-note-inner {
    margin-inline: auto;
    width: calc(100% - 40 * var(--px));
  }
}

/* -------------------------------------------
 * system
 * -------------------------------------------*/
.orthodontics-lp-system {
  position: relative;
}

.orthodontics-lp-system__bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
}
.orthodontics-lp-system__bg img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right top;
     object-position: right top;
  width: 100%;
  height: 100%;
}

/* 追従コンテンツエリア */
.orthodontics-lp-system__inner {
  padding-block: clamp(50 * var(--px), 9.4047619048vw, 158 * var(--px)) clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
  z-index: 1;
  margin-top: -100vh;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 472fr 600fr;
  gap: calc(30 * var(--px)) clamp(10 * var(--px), 7.0238095238vw, 118 * var(--px));
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 1240px) {
  .orthodontics-lp-system__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.js-location-contents {
  width: min(100%, 600 * var(--px));
  margin-inline: auto;
}

.orthodontics-lp-system__nav {
  position: sticky;
  top: calc(200 * var(--px));
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
  color: #fff;
}
@media (max-width: 1240px) {
  .orthodontics-lp-system__nav {
    top: 0;
    position: static;
    width: min(100%, 600 * var(--px));
    margin-inline: auto;
  }
}

.orthodontics-lp-system__title {
  font-weight: var(--fwsb);
}
@media (max-width: 834px) {
  .orthodontics-lp-system__title {
    text-align: center;
    line-height: 1.4;
  }
}

.orthodontics-lp-system__sub-title {
  display: block;
  font-size: var(--f32);
  line-height: 1.4;
}

.orthodontics-lp-system__main-title {
  font-size: var(--f60);
  line-height: 1.2;
  margin-top: 0.2em;
}
@media (max-width: 834px) {
  .orthodontics-lp-system__main-title {
    margin-top: 0.5em;
  }
}

.orthodontics-lp-system__lead {
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
}

.js-location-nav__list {
  counter-reset: location-nav;
  margin-top: clamp(30 * var(--px), 4.5238095238vw, 76 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0 calc(12 * var(--px));
  min-width: calc(120 * var(--px));
  color: #fff;
}
@media (max-width: 1240px) {
  .js-location-nav__list {
    display: none;
  }
}
.js-location-nav__list > li {
  counter-increment: location-nav;
}
.js-location-nav__list > li:not(:first-child) .js-location-nav__link {
  padding-top: clamp(5 * var(--px), 1.1904761905vw, 20 * var(--px));
}

.js-location-nav__link {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(10 * var(--px));
  padding-bottom: clamp(5 * var(--px), 1.1904761905vw, 20 * var(--px));
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.js-location-nav__link.active .js-location-nav__link-label {
  color: var(--yellow);
}
@media (max-width: 1240px) {
  .js-location-nav__link.active .js-location-nav__link-label {
    color: inherit;
  }
}

.js-location-nav__link-label {
  color: #fff;
  font-weight: var(--fwsb);
  font-size: var(--f24);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

.js-location-nav__link-number {
  text-box: trim-both cap alphabetic;
  font-size: var(--f18);
  font-family: var(--en);
  background: var(--blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100vmax;
  width: clamp(35 * var(--px), 2.380952381vw, 40 * var(--px));
  aspect-ratio: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: var(--fwr);
}
.js-location-nav__link-number::before {
  content: counter(location-nav, decimal-leading-zero);
}

.js-location-content + .js-location-content {
  margin-top: calc(40 * var(--px));
}
@media (max-width: 1240px) {
  .js-location-content + .js-location-content {
    margin-top: calc(20 * var(--px));
  }
}

.js-location-content {
  border-radius: calc(10 * var(--px));
  background: #fff;
  padding-block: clamp(20 * var(--px), 2.6785714286vw, 45 * var(--px)) clamp(20 * var(--px), 3.0952380952vw, 52 * var(--px));
  padding-inline: clamp(20 * var(--px), 2.9761904762vw, 50 * var(--px));
}
.js-location-content + .js-location-content {
  margin-top: clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px));
}

.js-location-content__label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--f14);
  font-weight: var(--fwsb);
  text-box: trim-both cap alphabetic;
  padding: 0.8em 1.2em;
  color: var(--skyblue);
  background: #e4f2f9;
  margin-inline: auto;
  border-radius: 100vmax;
}

.js-location-content__title {
  margin-top: clamp(10 * var(--px), 0.7142857143vw, 12 * var(--px));
  text-align: center;
  line-height: 1.31;
  font-size: var(--f32);
  font-weight: var(--fwm);
}
@media (max-width: 834px) {
  .js-location-content__title {
    line-height: 1.5;
  }
}
.js-location-content__title .highlight {
  color: var(--skyblue);
}

.js-location-content__img {
  margin-top: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
}
.js-location-content__img + .js-location-content__text {
  margin-top: clamp(10 * var(--px), 1.0119047619vw, 17 * var(--px));
}

.js-location-content__lead {
  margin-top: clamp(15 * var(--px), 1.3095238095vw, 22 * var(--px));
}

.js-location-content__lead + .js-location-content__detail-title {
  margin-top: clamp(18 * var(--px), 1.1904761905vw, 20 * var(--px));
}

.js-location-content__detail-title {
  color: var(--skyblue);
  font-size: var(--f20);
  font-weight: var(--fwm);
  padding-bottom: clamp(2 * var(--px), 0.7142857143vw, 12 * var(--px));
  border-bottom: 1px solid #eee;
}
@media (max-width: 834px) {
  .js-location-content__detail-title {
    text-align: center;
  }
}
.js-location-content__detail-title + * {
  margin-top: clamp(18 * var(--px), 1.4285714286vw, 24 * var(--px));
}

.js-location-content__detail-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 193 * var(--px)), 1fr));
  gap: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) clamp(10 * var(--px), 1.130952381vw, 19 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 834px) {
  .js-location-content__detail-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 499px) {
  .js-location-content__detail-list {
    row-gap: calc(15 * var(--px));
  }
}

.js-location-content__detail-list-item-label {
  font-weight: var(--fwm);
  color: var(--blue);
  margin-top: calc(5 * var(--px));
}
@media (max-width: 834px) {
  .js-location-content__detail-list-item-label {
    text-align: center;
    font-size: calc(10 * var(--px));
  }
}

.js-location-content__mouthpiece-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(5 * var(--px), 0.5952380952vw, 10 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: clamp(10 * var(--px), 1.5476190476vw, 26 * var(--px));
}
.js-location-content__mouthpiece-list + .js-location-content__detail-title {
  margin-top: clamp(30 * var(--px), 3.5119047619vw, 59 * var(--px));
}
.js-location-content__mouthpiece-list > li {
  border-radius: clamp(5 * var(--px), 0.5952380952vw, 10 * var(--px));
  background-color: #f8f8f8;
  padding-block: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.js-location-content__mouthpiece-list > li:nth-child(1) img {
  width: 73.4%;
}
.js-location-content__mouthpiece-list > li:nth-child(2) img {
  width: 65.7%;
}
.js-location-content__mouthpiece-list > li:nth-child(3) img {
  width: 75.1%;
}
.js-location-content__mouthpiece-list > li:nth-child(4) img {
  width: 65.7%;
}

.js-location-content__mouthpiece-list-item-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.js-location-content__orthopulse {
  background: var(--skyblue-light);
  border-radius: calc(10 * var(--px));
  padding-block: clamp(20 * var(--px), 2.7976190476vw, 47 * var(--px)) clamp(20 * var(--px), 2.0238095238vw, 34 * var(--px));
  padding-inline: clamp(20 * var(--px), 2.2023809524vw, 37 * var(--px));
  margin-top: clamp(25 * var(--px), 2.619047619vw, 44 * var(--px));
}

.js-location-content__orthopulse-title {
  text-align: center;
  line-height: 1.4;
  font-weight: var(--fwm);
}

.js-location-content__orthopulse-sub-title {
  color: var(--skyblue);
}

.js-location-content__orthopulse-main-title {
  font-size: var(--f24);
}
@media (max-width: 834px) {
  .js-location-content__orthopulse-main-title {
    margin-top: 0.3em;
    display: inline-block;
  }
}

.js-location-content__orthopulse-img {
  max-width: calc(145 * var(--px));
}

.js-location-content__orthopulse-grid {
  display: grid;
  grid-template-columns: 145fr 239fr;
  gap: calc(10 * var(--px)) clamp(10 * var(--px), 2.2619047619vw, 38 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: clamp(18 * var(--px), 1.369047619vw, 23 * var(--px));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 834px) {
  .js-location-content__orthopulse-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.js-location-content__orthopulse-text {
  font-size: var(--f15);
  line-height: 1.6;
}

.js-location-content__oral-care {
  margin-top: clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px));
  padding-top: clamp(25 * var(--px), 1.9047619048vw, 32 * var(--px));
  border-top: 1px solid #eee;
  position: relative;
}
.js-location-content__oral-care::after {
  background: url(../img/orthodontics-lp/system_item03-img02.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  aspect-ratio: 474/380;
  bottom: 57.5079872204%;
  width: clamp(180 * var(--px), 13.3928571429vw, 225 * var(--px));
  right: -4.2%;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .js-location-content__oral-care::after {
    width: 33.2%;
    bottom: unset;
    top: max(-8.3333333333vw, -50 * var(--px));
  }
}
@media (max-width: 499px) {
  .js-location-content__oral-care::after {
    width: 40%;
  }
}

.js-location-content__oral-care-title {
  line-height: 1.4;
  font-weight: var(--fwm);
  color: var(--skyblue);
}

.js-location-content__oral-care-sub-title {
  font-size: clamp(16 * var(--px), 1.1904761905vw, 20 * var(--px));
}

.js-location-content__oral-care-main-title {
  font-size: var(--f24);
}

.js-location-content__oral-care-text {
  margin-top: clamp(20 * var(--px), 1.6666666667vw, 28 * var(--px));
}

.js-location-content__oral-care-label {
  width: 100%;
  margin-inline: auto;
  --column-gap: 0.2em;
  --marker-size: 1.5em;
  --marker-left: .7em;
  background: #fff;
  -webkit-box-shadow: 0px 2px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0px 2px 10px 0 rgba(0, 0, 0, 0.1);
  text-box: trim-both cap alphabetic;
  padding-block: 1em;
  padding-inline: calc(var(--marker-left) + var(--marker-size) + var(--column-gap)) 1em;
  position: relative;
  font-size: var(--f18);
  font-weight: var(--fwm);
  margin-top: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
}
.js-location-content__oral-care-label::before {
  background: url(../img/orthodontics-lp/icon_check.svg) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: var(--marker-size);
  height: var(--marker-size);
  left: var(--marker-left);
  top: calc(1em + 0.5cap - var(--marker-size) / 2);
  z-index: 1;
  pointer-events: none;
}

/* -------------------------------------------
 * cta
 * -------------------------------------------*/
.orthodontics-lp-cta {
  padding-block: clamp(50 * var(--px), 8.8095238095vw, 148 * var(--px)) clamp(50 * var(--px), 7.6785714286vw, 129 * var(--px));
  background: url(../img/orthodontics-lp/cta_bg.webp) no-repeat center center/cover;
}

.orthodontics-lp-cta__title {
  font-size: var(--f50);
  font-weight: var(--fwm);
  line-height: 1;
  text-align: center;
}

.orthodontics-lp-cta__lead {
  margin-top: clamp(15 * var(--px), 1.3095238095vw, 22 * var(--px));
  font-weight: var(--fwm);
  text-align: center;
}

.orthodontics-lp-cta__list {
  counter-reset: cta-item;
  margin-top: clamp(30 * var(--px), 3.869047619vw, 65 * var(--px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10 * var(--px), 1.7857142857vw, 30 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 834px) {
  .orthodontics-lp-cta__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.orthodontics-lp-cta__list > li {
  counter-increment: cta-item;
  font-weight: var(--fwsb);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10 * var(--px), 0.8928571429vw, 15 * var(--px));
  background: #fff;
  border-radius: calc(10 * var(--px));
  background-clip: padding-box;
  border: 5px solid rgba(255, 255, 255, 0.6);
  padding-block: clamp(15 * var(--px), 2.7976190476vw, 47 * var(--px)) clamp(22 * var(--px), 4.1071428571vw, 69 * var(--px));
  padding-inline: calc(20 * var(--px));
  text-align: center;
}
.orthodontics-lp-cta__list .orthodontics-lp-cta__item-text {
  font-size: clamp(16 * var(--px), 1.4880952381vw, 25 * var(--px));
  line-height: 1.35;
}
.orthodontics-lp-cta__list .highlight {
  color: var(--skyblue);
}
.orthodontics-lp-cta__list .strong {
  font-size: clamp(20 * var(--px), 1.9047619048vw, 32 * var(--px));
}

.orthodontics-lp-cta__item-number::before {
  content: counter(cta-item, decimal-leading-zero);
}

.orthodontics-lp-cta__item-number {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2.2em;
  aspect-ratio: 1;
  background: #2d70c0;
  font-family: var(--en);
  font-size: var(--f18);
  font-weight: var(--fwr);
  border-radius: 100vmax;
  text-box: trim-both cap alphabetic;
}

.orthodontics-lp-cta .reservation-button {
  margin-inline: auto;
  width: 100%;
  max-width: calc(470 * var(--px));
  margin-top: clamp(20 * var(--px), 2.4404761905vw, 41 * var(--px));
  padding-block: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  padding-inline: clamp(25 * var(--px), 2.380952381vw, 40 * var(--px));
  height: auto;
  border-radius: 100vmax;
  display: grid;
  grid-template: "icon text ." auto/1fr auto 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 834px) {
  .orthodontics-lp-cta .reservation-button {
    max-width: calc(280 * var(--px));
  }
}
.orthodontics-lp-cta .reservation-button__icon {
  width: max(6.8085106383%, 28 * var(--px));
  grid-area: icon;
}
@media (max-width: 834px) {
  .orthodontics-lp-cta .reservation-button__icon {
    width: calc(25 * var(--px));
  }
}
.orthodontics-lp-cta .reservation-button__text-wrap {
  grid-area: text;
}
.orthodontics-lp-cta .reservation-button__row1 {
  font-size: var(--f14);
}
.orthodontics-lp-cta .reservation-button__row2 {
  font-size: var(--f24);
}

/* -------------------------------------------
 * case
 * -------------------------------------------*/
.orthodontics-lp-case {
  padding-block: clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
}

.orthodontics-lp-case__label {
  text-align: center;
  margin-inline: auto;
}

.orthodontics-lp-case__title {
  font-size: var(--f42);
  font-weight: var(--fwsb);
  line-height: 1.5;
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
  text-align: center;
  letter-spacing: 0.02em;
}

.orthodontics-lp-case__list {
  --wrap-width: 720px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wrap-width) / 2), 1fr));
  gap: 0 clamp(10 * var(--px), 2.380952381vw, 40 * var(--px));
  margin-top: clamp(30 * var(--px), 3.869047619vw, 65 * var(--px));
}
.orthodontics-lp-case__list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
}
@media (max-width: 834px) {
  .orthodontics-lp-case__list > li + li {
    margin-top: calc(40 * var(--px));
  }
}

.orthodontics-lp-case__list-item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(13 * var(--px));
}

.orthodontics-lp-case__list-item-badge {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(80 * var(--px));
  height: calc(32 * var(--px));
  border-radius: 100vmax;
  background: #e4f2f9;
  color: var(--skyblue);
  font-family: var(--en);
  font-size: var(--f14);
  font-weight: var(--fwr);
}

.orthodontics-lp-case__list-item-label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--f24);
  font-weight: var(--fwm);
  color: var(--skyblue);
  line-height: 1.3;
}

.orthodontics-lp-case__photo-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(4 * var(--px));
  margin-top: clamp(20 * var(--px), 2.6785714286vw, 45 * var(--px));
}

.orthodontics-lp-case__photo-list > li {
  position: relative;
}

.orthodontics-lp-case__photo-list-item-label {
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: calc(101 * var(--px));
  text-box: trim-both cap alphabetic;
  padding: 0.1em 0.5em;
  border-radius: 100vmax;
  background: var(--skyblue);
  color: #fff;
  font-family: var(--en);
  font-size: clamp(13 * var(--px), 1.0714285714vw, 18 * var(--px));
  font-weight: var(--fwr);
}
@media (max-width: 834px) {
  .orthodontics-lp-case__photo-list-item-label {
    min-width: calc(60 * var(--px));
  }
}

.orthodontics-lp-case__photo-list > li:last-child .orthodontics-lp-case__photo-list-item-label {
  background: var(--blue);
}

.orthodontics-lp-case__detail-list {
  margin-top: clamp(30 * var(--px), 3.2738095238vw, 55 * var(--px));
  font-size: var(--f15);
  line-height: 1.6;
}

.orthodontics-lp-case__detail-list-item-row {
  display: grid;
  grid-template-columns: 159fr 421fr;
  padding-block: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  border-bottom: 1px solid #eee;
}

.orthodontics-lp-case__detail-list-item-label {
  font-weight: var(--fwm);
  color: var(--skyblue);
  font-size: var(--f15);
  padding-left: 1em;
}
@media (max-width: 834px) {
  .orthodontics-lp-case__detail-list-item-label {
    padding-left: 0;
  }
}

.orthodontics-lp-case__detail-list-item-text {
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}

.orthodontics-lp-case__detail-list-item-text .note {
  font-size: var(--f13);
}

.orthodontics-lp-case__list-item-comment {
  margin-top: clamp(20 * var(--px), 1.9047619048vw, 32 * var(--px));
}

.orthodontics-lp-case__list-item-risk {
  background: var(--skyblue-light);
  border-radius: calc(10 * var(--px));
  padding: clamp(15 * var(--px), 1.4880952381vw, 25 * var(--px)) clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  margin-top: clamp(20 * var(--px), 1.7857142857vw, 30 * var(--px));
}

.orthodontics-lp-case__list-item-risk-title {
  font-size: var(--f15);
  font-weight: var(--fwm);
  color: var(--skyblue);
}
@media (max-width: 834px) {
  .orthodontics-lp-case__list-item-risk-title {
    text-align: center;
  }
}

.orthodontics-lp-case__risk-list {
  margin-top: clamp(10 * var(--px), 0.7142857143vw, 12 * var(--px));
  font-size: var(--f14);
  line-height: 1.8;
}
.orthodontics-lp-case__risk-list > li {
  --column-gap: 0.3em;
  --marker-size: clamp(6 * var(--px), 0.5357142857vw, 9 * var(--px));
  --marker-left: .2em;
  position: relative;
  -webkit-padding-start: calc(var(--marker-left) + var(--marker-size) + var(--column-gap));
          padding-inline-start: calc(var(--marker-left) + var(--marker-size) + var(--column-gap));
  color: var(--base-text);
}
.orthodontics-lp-case__risk-list > li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: var(--marker-size);
  height: var(--marker-size);
  left: var(--marker-left);
  top: calc(0.5lh - var(--marker-size) / 2);
  border-radius: 100vmax;
  background: var(--skyblue);
  z-index: 1;
  pointer-events: none;
}

/* -------------------------------------------
 * flow
 * -------------------------------------------*/
.orthodontics-lp-flow {
  padding-block: clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
  background: url(../img/orthodontics-lp/flow_bg.webp) no-repeat top center/100% auto, var(--skyblue-light);
}

.orthodontics-lp-flow__label {
  text-align: center;
  margin-inline: auto;
}

.orthodontics-lp-flow__title {
  font-size: var(--f42);
  font-weight: var(--fwsb);
  line-height: 1.5;
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
  text-align: center;
}
.orthodontics-lp-flow__title .highlight {
  font-size: var(--f50);
  color: var(--skyblue);
}
.orthodontics-lp-flow__title .highlight--sm {
  font-size: var(--f42);
}
.orthodontics-lp-flow__title .underline {
  position: relative;
  z-index: 1;
}
.orthodontics-lp-flow__title .underline::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  aspect-ratio: 530/100;
  bottom: 0.02em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/orthodontics-lp/text_underline02.svg) no-repeat center;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}

.orthodontics-lp-flow__lead {
  margin-top: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px));
  text-align: center;
}
@media (max-width: 834px) {
  .orthodontics-lp-flow__lead {
    text-align: left;
  }
}

.orthodontics-lp-flow__content {
  background: #fff;
  border-radius: calc(10 * var(--px));
  padding-block: clamp(25 * var(--px), 5.119047619vw, 86 * var(--px)) clamp(25 * var(--px), 5.6547619048vw, 95 * var(--px));
  padding-inline: clamp(15 * var(--px), 4.7619047619vw, 80 * var(--px)) clamp(20 * var(--px), 4.7619047619vw, 80 * var(--px));
  margin-top: clamp(30 * var(--px), 3.6904761905vw, 62 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-flow__content {
    padding-left: calc(15 * var(--px));
  }
}

.orthodontics-lp-flow__list {
  counter-reset: flow-step;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(30 * var(--px), 4.7619047619vw, 80 * var(--px));
}

.orthodontics-lp-flow__list > li {
  counter-increment: flow-step;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  -webkit-column-gap: clamp(10 * var(--px), 1.4285714286vw, 24 * var(--px));
     -moz-column-gap: clamp(10 * var(--px), 1.4285714286vw, 24 * var(--px));
          column-gap: clamp(10 * var(--px), 1.4285714286vw, 24 * var(--px));
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
}
.orthodontics-lp-flow__list > li:not(:last-child)::before {
  content: "";
  position: absolute;
  left: clamp(30 * var(--px), 2.380952381vw, 40 * var(--px));
  top: clamp(30 * var(--px), 2.380952381vw, 40 * var(--px));
  bottom: calc(-1 * clamp(30 * var(--px), 4.7619047619vw, 80 * var(--px)));
  width: 4px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: radial-gradient(circle, #cfdaed 2px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 4px 6px;
  z-index: 0;
  pointer-events: none;
}

.orthodontics-lp-flow__list-item-number {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(60 * var(--px), 4.7619047619vw, 80 * var(--px));
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-family: var(--en);
  font-size: var(--f10);
  font-weight: var(--fwr);
  line-height: 1;
}
.orthodontics-lp-flow__list-item-number::after {
  content: counter(flow-step, decimal-leading-zero);
  font-size: clamp(22 * var(--px), 1.7857142857vw, 30 * var(--px));
  margin-top: 0.15em;
}

.orthodontics-lp-flow__list-item-body {
  display: grid;
  grid-template-columns: 452fr 400fr;
  gap: clamp(10 * var(--px), 4.9404761905vw, 83 * var(--px));
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 834px) {
  .orthodontics-lp-flow__list-item-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-flow__list-item-text-wrap {
  padding-top: calc(clamp(30 * var(--px), 2.380952381vw, 40 * var(--px)) - 1.5em);
}

.orthodontics-lp-flow__list-item-title {
  font-size: var(--f32);
  font-weight: var(--fwm);
  color: var(--blue);
  line-height: 1.1;
}

.orthodontics-lp-flow__list-item-lead {
  font-size: clamp(16 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-weight: var(--fwm);
  line-height: 1.8;
  margin-top: 0.3em;
}

.orthodontics-lp-flow__list-item-text {
  margin-top: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
  line-height: 1.9;
}

/* -------------------------------------------
 * price
 * -------------------------------------------*/
.orthodontics-lp-price {
  padding-block: clamp(50 * var(--px), 6.25vw, 105 * var(--px)) clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
  background: url(../img/orthodontics-lp/price_bg.webp) no-repeat center/cover;
}

.orthodontics-lp-price__title {
  color: #fff;
  font-size: var(--f42);
  margin-inline: auto;
  text-align: center;
  padding-bottom: 0.1em;
}

.orthodontics-lp-price__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(14 * var(--px));
  margin-top: clamp(30 * var(--px), 4.1666666667vw, 70 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-price__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(20 * var(--px));
  }
}

.orthodontics-lp-price__list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  border-radius: calc(10 * var(--px));
  padding: clamp(25 * var(--px), 2.6785714286vw, 45 * var(--px)) clamp(20 * var(--px), 2.6785714286vw, 45 * var(--px));
}

.orthodontics-lp-price__list-item-title {
  font-size: var(--f24);
  font-weight: var(--fwm);
  color: var(--skyblue);
  text-align: center;
  line-height: 1.3;
}

.orthodontics-lp-price__list-item-img {
  margin-inline: auto;
  margin-top: clamp(20 * var(--px), 2.619047619vw, 44 * var(--px));
}

.orthodontics-lp-price__list > li:nth-child(1) .orthodontics-lp-price__list-item-img,
.orthodontics-lp-price__list > li:nth-child(2) .orthodontics-lp-price__list-item-img {
  width: min(63.3333333333%, 190 * var(--px));
}

.orthodontics-lp-price__list > li:nth-child(3) .orthodontics-lp-price__list-item-img {
  width: min(73.6666666667%, 221 * var(--px));
}

.orthodontics-lp-price__detail-list {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  -webkit-column-gap: 0.4em;
     -moz-column-gap: 0.4em;
          column-gap: 0.4em;
  row-gap: calc(12 * var(--px));
  margin-top: clamp(15 * var(--px), 1.0714285714vw, 18 * var(--px));
  padding-bottom: clamp(10 * var(--px), 0.9523809524vw, 16 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-price__detail-list {
    margin-top: calc(20 * var(--px));
  }
}
.orthodontics-lp-price__detail-list > li {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.orthodontics-lp-price__detail-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--f15);
  font-weight: var(--fwm);
  color: var(--skyblue);
}

.orthodontics-lp-price__detail-list-item-leader {
  height: 4px;
  -ms-flex-item-align: center;
      align-self: center;
  background-image: radial-gradient(circle, #cfdaed 1.5px, transparent 1.5px);
  background-position: left center;
  background-repeat: repeat-x;
  background-size: 6px 3px;
}

.orthodontics-lp-price__detail-list-item-value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--en);
  font-size: clamp(24 * var(--px), 1.7857142857vw, 30 * var(--px));
  font-weight: 600;
  color: var(--skyblue);
  line-height: 1;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__detail-list-item-value {
    font-weight: var(--fwr);
  }
}

.orthodontics-lp-price__list-item-price {
  font-family: var(--en);
  font-size: clamp(30 * var(--px), 2.2619047619vw, 38 * var(--px));
  color: var(--skyblue);
  text-align: center;
  line-height: 1;
  margin-top: clamp(20 * var(--px), 2.619047619vw, 44 * var(--px));
  font-weight: 600;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__list-item-price {
    padding-bottom: calc(18 * var(--px));
    font-weight: var(--fwr);
  }
}

.orthodontics-lp-price .unit {
  font-family: var(--ja);
  font-size: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  font-weight: var(--fwb);
}
@media (max-width: 834px) {
  .orthodontics-lp-price .unit {
    -webkit-transform: translateY(0.1em);
            transform: translateY(0.1em);
  }
}

.orthodontics-lp-price__info-list {
  margin-top: auto;
  font-size: var(--f15);
  line-height: 1.6;
}

.orthodontics-lp-price__info-list-item-row {
  display: grid;
  grid-template-columns: 1fr auto;
  padding-block: clamp(15 * var(--px), 1.1904761905vw, 20 * var(--px));
  border-top: 1px solid #eee;
}

.orthodontics-lp-price__info-list-item-row:last-child {
  padding-bottom: 0;
}

.orthodontics-lp-price__info-list-item-label {
  font-weight: var(--fwm);
}

.orthodontics-lp-price__info-list-item-text {
  text-align: right;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}

.orthodontics-lp-price__option {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(15 * var(--px));
  background: #fff;
  border-radius: calc(10 * var(--px));
  padding-block: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  padding-inline: clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px)) 14.5%;
  margin-top: clamp(30 * var(--px), 2.8571428571vw, 48 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-price__option {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-price__option::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -17.5%;
  left: -1.4166666667%;
  width: 14.9166666667%;
  aspect-ratio: 179/60;
  background: url(../img/orthodontics-lp/price_option-text.webp) no-repeat center;
  background-size: contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__option::before {
    top: -10%;
    left: -3%;
    width: 29%;
  }
}

.orthodontics-lp-price__option-title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: var(--f24);
  font-weight: var(--fwm);
  color: var(--skyblue);
  line-height: 1.3;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__option-title {
    text-align: center;
  }
}

.orthodontics-lp-price__option-line {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 4px;
  background-image: radial-gradient(circle, #cfdaed 2px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 8px 4px;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__option-line {
    display: none;
  }
}

.orthodontics-lp-price__option-price {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: var(--en);
  font-size: clamp(30 * var(--px), 2.2619047619vw, 38 * var(--px));
  font-weight: 600;
  color: var(--skyblue);
  line-height: 1;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__option-price {
    font-weight: var(--fwr);
  }
}

.orthodontics-lp-price__option-img {
  position: absolute;
  right: 1%;
  bottom: -37.5%;
  width: 12.0833333333%;
}
@media (max-width: 834px) {
  .orthodontics-lp-price__option-img {
    right: 1%;
    bottom: -15.5%;
    width: 25%;
  }
}

/* -------------------------------------------
 * doctor
 * -------------------------------------------*/
.orthodontics-lp-doctor__head {
  padding-block: clamp(40 * var(--px), 7.3214285714vw, 123 * var(--px)) clamp(40 * var(--px), 5.3571428571vw, 90 * var(--px));
  background-color: #3da3dc;
  background-image: linear-gradient(0deg, #3b9fd6 1px, transparent 1px), linear-gradient(90deg, #3b9fd6 1px, transparent 1px);
  background-size: 15px 15px;
  background-repeat: repeat;
  color: #fff;
  position: relative;
}

.orthodontics-lp-doctor__head-inner {
  position: relative;
  container-type: inline-size;
}
.orthodontics-lp-doctor__head-inner::before {
  background: url(../img/orthodontics-lp/doctor_head-img02.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  aspect-ratio: 814/618;
  width: 32.6666666667cqi;
  bottom: -13.3333333333cqi;
  left: -3.9166666667cqi;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .orthodontics-lp-doctor__head-inner::before {
    bottom: unset;
    top: -16cqi;
    width: 28cqi;
  }
}
@media (max-width: 499px) {
  .orthodontics-lp-doctor__head-inner::before {
    top: -23cqi;
  }
}

.orthodontics-lp-doctor__copy {
  font-weight: var(--fwsb);
  font-size: var(--f32);
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
.orthodontics-lp-doctor__copy::before {
  background: url(../img/orthodontics-lp/doctor_message-text.svg) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 29.9107142857%;
  aspect-ratio: 212/57;
  bottom: 45.1612903226%;
  left: -10.7142857143%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.3;
  rotate: -15deg;
}
@media (max-width: 834px) {
  .orthodontics-lp-doctor__copy::before {
    bottom: 67.16129%;
    left: 9.285714%;
  }
}
.orthodontics-lp-doctor__copy .underline {
  position: relative;
  z-index: 1;
}
.orthodontics-lp-doctor__copy .underline::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  aspect-ratio: 464/58;
  bottom: -0.08em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/orthodontics-lp/text_underline03.svg) no-repeat center;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
  opacity: 0.4;
}

.orthodontics-lp-doctor__title {
  font-size: var(--f40);
  font-weight: var(--fwsb);
  text-align: center;
  line-height: 1.36;
  margin-top: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px));
}
.orthodontics-lp-doctor__title .strong {
  font-size: var(--f50);
}
.orthodontics-lp-doctor__title .highlight {
  color: var(--yellow);
}

.orthodontics-lp-doctor__main {
  background: var(--skyblue-light);
  padding-block: clamp(40 * var(--px), 6.4880952381vw, 109 * var(--px)) clamp(60 * var(--px), 7.1428571429vw, 120 * var(--px));
}

.orthodontics-lp-doctor__message-list {
  container-type: inline-size;
  position: relative;
  container-type: inline-size;
}
.orthodontics-lp-doctor__message-list::before {
  background: url(../img/orthodontics-lp/doctor_head-img01.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  aspect-ratio: 796/1082;
  width: 33.1666666667%;
  bottom: 96%;
  right: -4.1666666667%;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 1680px) {
  .orthodontics-lp-doctor__message-list::before {
    width: 25.0595238095vw;
    right: 0.8333333333vw;
  }
}
@media (max-width: 834px) {
  .orthodontics-lp-doctor__message-list::before {
    display: none;
  }
}
.orthodontics-lp-doctor__message-list > li {
  display: grid;
  gap: calc(20 * var(--px)) clamp(10 * var(--px), 4.9404761905vw, 83 * var(--px));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (max-width: 834px) {
  .orthodontics-lp-doctor__message-list > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.orthodontics-lp-doctor__message-list > li:nth-child(odd) {
  grid-template-columns: 517fr 601fr;
  grid-template-areas: "text img";
}
.orthodontics-lp-doctor__message-list > li:nth-child(even) {
  grid-template-columns: 601fr 517fr;
  grid-template-areas: "img text";
}
.orthodontics-lp-doctor__message-list > li + li {
  margin-top: clamp(30 * var(--px), 3.5714285714vw, 60 * var(--px));
}

.orthodontics-lp-doctor__message-text-area {
  grid-area: text;
}

.orthodontics-lp-doctor__message-list-item-text .highlight {
  font-weight: var(--fwsb);
  font-size: var(--f18);
  color: var(--skyblue);
}

.orthodontics-lp-doctor__message-list-item-img {
  grid-area: img;
}

.orthodontics-lp-doctor__message-signature {
  text-align: right;
  margin-top: clamp(20 * var(--px), 3.1547619048vw, 53 * var(--px));
}

.orthodontics-lp-doctor__message-clinic-name {
  font-weight: var(--fwm);
  font-size: var(--f14);
}

.orthodontics-lp-doctor__message-name-wrap {
  font-weight: var(--fwm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: auto;
  gap: 0.5em;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 0.1em;
}

.orthodontics-lp-doctor__message-position {
  font-size: var(--f14);
}

.orthodontics-lp-doctor__message-name {
  font-size: var(--f32);
  line-height: 1.3;
}

.orthodontics-lp-doctor__profile {
  --block-gap: calc(25 * var(--px));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10 * var(--px), 4.7619047619vw, 80 * var(--px));
  background: #fff;
  border-radius: calc(10 * var(--px));
  padding-block: clamp(25 * var(--px), 3.5714285714vw, 60 * var(--px)) clamp(25 * var(--px), 4.4642857143vw, 75 * var(--px));
  padding-inline: clamp(20 * var(--px), 3.5714285714vw, 60 * var(--px));
  margin-top: clamp(30 * var(--px), 6.6666666667vw, 112 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-doctor__profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-doctor__profile-title {
  font-size: var(--f20);
  font-weight: var(--fwm);
  color: var(--skyblue);
  padding-bottom: clamp(2 * var(--px), 0.4166666667vw, 7 * var(--px));
  border-bottom: 1px solid #eee;
}

.orthodontics-lp-doctor__profile-block + .orthodontics-lp-doctor__profile-block {
  margin-top: clamp(20 * var(--px), 2.9761904762vw, 50 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-doctor__profile-block + .orthodontics-lp-doctor__profile-block {
    margin-top: var(--block-gap);
  }
}

.orthodontics-lp-doctor__year-list,
.orthodontics-lp-doctor__point-list {
  margin-top: clamp(10 * var(--px), 1.6666666667vw, 28 * var(--px));
  font-size: var(--f15);
}

.orthodontics-lp-doctor__year-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(10 * var(--px), 1.1904761905vw, 20 * var(--px)) clamp(10 * var(--px), 2.0833333333vw, 35 * var(--px));
  line-height: 1.3;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.orthodontics-lp-doctor__year-list-item-year {
  font-family: var(--en);
  font-weight: var(--fwr);
}

.orthodontics-lp-doctor__year-list-item-text {
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}

.orthodontics-lp-doctor__point-list {
  line-height: 1.7;
}

.orthodontics-lp-doctor__point-list > li {
  --column-gap: 0.7em;
  --marker-size: calc(5 * var(--px));
  --marker-left: 0.2em;
  position: relative;
  -webkit-padding-start: calc(var(--marker-left) + var(--marker-size) + var(--column-gap));
          padding-inline-start: calc(var(--marker-left) + var(--marker-size) + var(--column-gap));
}

.orthodontics-lp-doctor__point-list > li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: var(--marker-size);
  height: var(--marker-size);
  left: var(--marker-left);
  top: calc(0.5lh - var(--marker-size) / 2);
  border-radius: 100vmax;
  background: var(--skyblue);
  z-index: 1;
  pointer-events: none;
}

/* -------------------------------------------
 * faq
 * -------------------------------------------*/
.orthodontics-lp-faq {
  padding-block: clamp(50 * var(--px), 5.9523809524vw, 100 * var(--px)) clamp(50 * var(--px), 7.1428571429vw, 120 * var(--px));
}

.orthodontics-lp-faq__title {
  font-size: var(--f42);
  margin-inline: auto;
  text-align: center;
}

.orthodontics-lp-faq__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  margin-top: clamp(30 * var(--px), 3.9285714286vw, 66 * var(--px));
}
@media (max-width: 834px) {
  .orthodontics-lp-faq__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.orthodontics-lp-faq__list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #f9f9f9;
  border-radius: calc(10 * var(--px));
  -webkit-box-shadow: 9px 9px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 9px 9px 10px rgba(0, 0, 0, 0.1);
}

.orthodontics-lp-faq__list-item-question {
  --label-size: var(--f30);
  --lh: 1.75;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: clamp(5 * var(--px), 1.7261904762vw, 29 * var(--px));
  padding: clamp(20 * var(--px), 2.1428571429vw, 36 * var(--px)) clamp(20 * var(--px), 1.9642857143vw, 33 * var(--px));
  background: var(--blue);
  color: #fff;
  font-size: var(--f20);
  font-weight: var(--fwm);
  line-height: var(--lh);
  border-radius: calc(10 * var(--px)) calc(10 * var(--px)) 0 0;
}

.orthodontics-lp-faq__list-item-question::before {
  content: "Q";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: var(--en);
  font-size: var(--label-size);
  font-weight: var(--fwr);
  line-height: 1;
  margin-top: calc((var(--lh) * var(--f20) - var(--label-size)) / 2);
}
@media (max-width: 834px) {
  .orthodontics-lp-faq__list-item-question::before {
    margin-top: 0.3lh;
  }
}

.orthodontics-lp-faq__list-item-answer {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: clamp(20 * var(--px), 2.380952381vw, 40 * var(--px));
  line-height: 1.9;
}

.orthodontics-lp-faq__banner {
  display: block;
  margin-top: clamp(30 * var(--px), 6.3095238095vw, 106 * var(--px));
}

/* -------------------------------------------
 * SP時下部固定ボタン
 * -------------------------------------------*/
.fixed-cta {
  margin-inline: auto;
  width: 90%;
  display: none;
}

.fixed-cta__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          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: #fff;
  -webkit-transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  background: linear-gradient(-18deg, rgb(44, 153, 216) 0%, rgb(66, 178, 240) 100%);
}

.fixed-cta__btn:hover {
  opacity: 0.85;
}

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

.fixed-cta__btn--tel {
  font-family: var(--en);
  font-size: var(--f20);
}

.fixed-cta__btn--web {
  font-size: var(--f19);
}

@media (max-width: 1023px) {
  .fixed-cta {
    position: fixed;
    bottom: clamp(10 * var(--px), 1.7333333333vw, 13 * var(--px));
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 10;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(4 * var(--px), 0.9333333333vw, 7 * var(--px));
  }
  .fixed-cta__btn {
    border-radius: clamp(4 * var(--px), 1.0666666667vw, 8 * var(--px));
  }
  .fixed-cta__btn--web {
    font-size: clamp(10 * var(--px), 3.7333333333vw, 28 * var(--px));
  }
  .fixed-cta__btn--tel {
    font-size: clamp(10 * var(--px), 4vw, 30 * var(--px));
  }
}/*# sourceMappingURL=orthodontics-lp.css.map */