@charset "UTF-8";
.sec-fv {
  --fv-u: min(1px, 0.05208333vw);
  --fv-c-muted:       #666666;
  --fv-c-navy:        #244496;
  --fv-c-navy-deep:   #000032;
  --fv-c-orange-alt:  #F1900A;
  --fv-c-beige:       #E2D8C2;
  --fv-c-line:        #EEEEEE;
  position: relative;
  width: 100%;
  background: #fff;
  font-feature-settings: normal;
}
.sec-fv .fv-brpc { display: inline; }
.sec-fv .fv-brsp { display: none; }
.fv-header {
  position: absolute;
  inset: 0 0 auto 0;
  height: calc(76 * var(--fv-u));
  z-index: 20;
}
.fv-logo {
  position: absolute;
  left: calc(105.79 * var(--fv-u));
  top: calc(11.23 * var(--fv-u));
  width: calc(279.75 * var(--fv-u));
  height: calc(48.1 * var(--fv-u));
  display: block;
}
.fv-logo-pc { display: block; }
.fv-logo-sp { display: none; }
.fv-logo-mark {
  position: absolute;
  left: 0;
  top: calc(16.03 * var(--fv-u));
  width: calc(26.6557 * var(--fv-u));
  height: calc(32.1271 * var(--fv-u));
}
.fv-logo-tagline {
  position: absolute;
  left: calc(37.63 * var(--fv-u));
  top: 0;
  width: calc(199.198 * var(--fv-u));
  height: calc(12.8481 * var(--fv-u));
}
.fv-logo-name {
  position: absolute;
  left: calc(37.63 * var(--fv-u));
  top: calc(17.57 * var(--fv-u));
  width: calc(242.009 * var(--fv-u));
  height: calc(29.0407 * var(--fv-u));
}
.fv-clinics {
  position: absolute;
  left: calc(398.65 * var(--fv-u));
  top: calc(30.18 * var(--fv-u));
  font-family: var(--font-body);
  font-weight: 300;
  font-size: calc(12 * var(--fv-u));
  line-height: 1.36;
  color: var(--fv-c-muted);
  white-space: nowrap;
}
.fv-gnav {
  position: absolute;
  left: calc(755 * var(--fv-u));
  top: calc(15.93 * var(--fv-u));
}
.fv-gnav-list {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--fv-u));
}
.fv-gnav-item {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--fv-u));
}
.fv-gnav-item::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(41.5 * var(--fv-u));
  background: var(--fv-c-line);
}
.fv-gnav-link {
  font-family: var(--font-heading);
  font-weight: 300;
  font-size: calc(15 * var(--fv-u));
  line-height: 1;
  color: var(--c-text);
  white-space: nowrap;
  transition: color .2s;
}
.fv-gnav-link:hover { color: var(--c-primary); }
.fv-hcta-tel,
.fv-hcta-btn {
  position: absolute;
  display: block;
}
.fv-hcta-corner {
  position: absolute;
  left: calc(170 * var(--fv-u));
  top: calc(52.78 * var(--fv-u));
  width: calc(15 * var(--fv-u));
  height: calc(15 * var(--fv-u));
}
.fv-hcta-tel {
  left: calc(1384 * var(--fv-u));
  top: calc(-2 * var(--fv-u));
  width: calc(159 * var(--fv-u));
  height: calc(77 * var(--fv-u));
  background: #fff;
  border: 1px solid var(--fv-c-beige);
}
.fv-hcta-tel .fv-hcta-corner {
  left: calc(136.77 * var(--fv-u));
  top: calc(54.78 * var(--fv-u));
  width: calc(14.998 * var(--fv-u));
  height: calc(14.998 * var(--fv-u));
}
.fv-hcta-tel-inner {
  position: absolute;
  left: calc(6 * var(--fv-u));
  top: calc(16 * var(--fv-u));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(5 * var(--fv-u));
}
.fv-hcta-tel-label {
  display: block;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: calc(14 * var(--fv-u));
  line-height: 1;
  letter-spacing: calc(0.84 * var(--fv-u));
  color: var(--fv-c-muted);
  font-feature-settings: normal;
  white-space: nowrap;
}
.fv-hcta-tel-num {
  position: relative;
  display: block;
  padding-left: calc(11.8 * var(--fv-u));
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: calc(21 * var(--fv-u));
  line-height: 1;
  color: var(--c-primary);
  white-space: nowrap;
}
.fv-hcta-tel-icon {
  position: absolute;
  left: 0;
  top: calc(5.67 * var(--fv-u));
  width: calc(12.6937 * var(--fv-u));
  height: calc(15.3273 * var(--fv-u));
}
.fv-hcta-btn {
  top: 0;
  width: calc(190 * var(--fv-u));
  height: calc(75 * var(--fv-u));
  padding: calc(9 * var(--fv-u)) 0 calc(12 * var(--fv-u));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(7 * var(--fv-u));
}
.fv-hcta-btn--web     { left: calc(1540 * var(--fv-u)); background: var(--fv-c-navy); }
.fv-hcta-btn--consult { left: calc(1730 * var(--fv-u)); background: var(--c-primary); }
.fv-hcta-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(150 * var(--fv-u));
  height: calc(22 * var(--fv-u));
  border-radius: calc(4 * var(--fv-u));
  background: #fff;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: calc(13 * var(--fv-u));
  line-height: 1;
  white-space: nowrap;
}
.fv-hcta-btn--web     .fv-hcta-pill { color: var(--fv-c-navy); }
.fv-hcta-btn--consult .fv-hcta-pill { color: var(--c-primary); }
.fv-hcta-btn-text {
  position: relative;
  display: block;
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: calc(17 * var(--fv-u));
  line-height: 1;
  color: #fff;
  white-space: nowrap;
  font-feature-settings: normal;
}
.fv-hcta-btn--web     .fv-hcta-btn-text { padding-left: calc(23.38 * var(--fv-u)); }
.fv-hcta-btn--consult .fv-hcta-btn-text { padding-left: calc(10.53 * var(--fv-u)); }
.fv-hcta-btn-icon { position: absolute; left: 0; }
.fv-hcta-btn-icon--web {
  top: calc(1.24 * var(--fv-u));
  width: calc(19.8739 * var(--fv-u));
  height: calc(17.7606 * var(--fv-u));
}
.fv-hcta-btn-icon--consult {
  top: calc(1.01 * var(--fv-u));
  width: calc(12.4505 * var(--fv-u));
  height: calc(17.5213 * var(--fv-u));
}
.fv-kern1 { letter-spacing: calc(-3.23 * var(--fv-u)); }
.fv-kern2 { letter-spacing: calc(-5.95 * var(--fv-u)); }
.fv-kern3 { letter-spacing: calc(-1.7  * var(--fv-u)); }
.fv-menu { display: none; }
.fv-mv {
  position: relative;
  width: 100%;
  height: calc(960 * var(--fv-u));
  overflow: hidden;
  background: #fff;
}
.fv-mv-bg { position: absolute; inset: 0; }
.fv-mv-layer { position: absolute; display: block; max-width: none; }
.fv-mv-layer--a {
  top: calc(71.96875 * var(--fv-u));
  right: 0;
  width: calc(884 * var(--fv-u));
  height: calc(502 * var(--fv-u));
}
.fv-mv-layer--b {
  top: calc(573.96875 * var(--fv-u));
  right: 0;
  width: calc(810.93 * var(--fv-u));
  height: calc(386.03 * var(--fv-u));
}
.fv-mv-layer--c {
  top: calc(75.328125 * var(--fv-u));
  left: 0;
  width: calc(1354.5 * var(--fv-u));
  height: calc(884.671875 * var(--fv-u));
}
.fv-mv-layer--sp-bg,
.fv-mv-layer--sp-implant,
.fv-mv-layer--sp-veil { display: none; }
.fv-mv-veil {
  position: absolute;
  left: 0;
  top: calc(75.328125 * var(--fv-u));
  width: calc(1495 * var(--fv-u));
  height: calc(884.672 * var(--fv-u));
  background: linear-gradient(to left, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 100%);
}
.fv-mv-figure {
  position: absolute;
  left: calc(850.83 * var(--fv-u));
  top: calc(75.328125 * var(--fv-u));
  width: calc(596.482 * var(--fv-u));
  height: calc(977.305 * var(--fv-u));
  overflow: hidden;
  pointer-events: none;
}
.fv-mv-figure img {
  position: absolute;
  left: -14.52%;
  top: -7.35%;
  width: 119.67%;
  height: 109.56%;
  max-width: none;
}
.fv-catch {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(619 * var(--fv-u));
  height: calc(104 * var(--fv-u));
  padding: calc(10 * var(--fv-u)) calc(24 * var(--fv-u));
  background: #fff;
  opacity: .88;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: calc(64 * var(--fv-u));
  line-height: 1;
  color: var(--c-text);
  white-space: nowrap;
}
.fv-catch--1 { left: calc(241.39 * var(--fv-u)); top: calc(284.66 * var(--fv-u)); }
.fv-catch--2 { left: calc(308.66 * var(--fv-u)); top: calc(414.03 * var(--fv-u)); }
.fv-lead {
  position: absolute;
  left: calc(239.77 * var(--fv-u));
  top: calc(543.41 * var(--fv-u));
  width: calc(487 * var(--fv-u));
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: calc(20 * var(--fv-u));
  line-height: 2;
  letter-spacing: calc(1 * var(--fv-u));
  color: var(--c-text);
  font-feature-settings: normal;
}
.fv-cta-btn {
  position: absolute;
  top: calc(796 * var(--fv-u));
  width: calc(362 * var(--fv-u));
  height: calc(83 * var(--fv-u));
  border-radius: calc(53 * var(--fv-u));
  box-shadow: 0 0 calc(4 * var(--fv-u)) rgba(0,0,0,.4);
  transition: opacity .2s;
}
.fv-cta-btn:hover { opacity: .88; }
.fv-cta-btn--consult  { left: calc(238.93 * var(--fv-u)); background: var(--c-primary); }
.fv-cta-btn--pamphlet { left: calc(623.89 * var(--fv-u)); background: var(--c-gold); }
.fv-cta-text {
  position: absolute;
  top: calc(41.5 * var(--fv-u));
  transform: translate(-50%, -50%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: calc(20 * var(--fv-u));
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
.fv-cta-btn--consult  .fv-cta-text { left: calc(181 * var(--fv-u)); }
.fv-cta-btn--pamphlet .fv-cta-text { left: calc(178 * var(--fv-u)); }
.fv-cta-pill {
  position: absolute;
  left: calc(50% - 0.5 * var(--fv-u));
  top: calc(-0.5 * var(--fv-u));
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(177 * var(--fv-u));
  height: calc(33 * var(--fv-u));
  border-radius: calc(24 * var(--fv-u));
  background: #fff;
  border: 1px solid var(--fv-c-orange-alt);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: calc(20 * var(--fv-u));
  line-height: calc(24 * var(--fv-u));
  color: var(--c-primary);
  white-space: nowrap;
}
.fv-cta-icon { position: absolute; }
.fv-cta-icon--consult {
  left: calc(34.57 * var(--fv-u));
  top: calc(28.79 * var(--fv-u));
  width: calc(18.0635 * var(--fv-u));
  height: calc(25.4219 * var(--fv-u));
}
.fv-cta-icon--pamphlet {
  left: calc(54.12 * var(--fv-u));
  top: calc(31.74 * var(--fv-u));
  width: calc(29.6087 * var(--fv-u));
  height: calc(23.0249 * var(--fv-u));
}
.fv-cta-arrow {
  position: absolute;
  top: calc(32 * var(--fv-u));
  width: calc(11 * var(--fv-u));
  height: calc(19 * var(--fv-u));
}
.fv-cta-btn--consult  .fv-cta-arrow { left: calc(327.97 * var(--fv-u)); }
.fv-cta-btn--pamphlet .fv-cta-arrow { left: calc(326.41 * var(--fv-u)); }
.fv-badge {
  position: absolute;
  left: calc(1149 * var(--fv-u));
  top: calc(861.046 * var(--fv-u));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(279 * var(--fv-u));
  height: calc(48 * var(--fv-u));
  padding: calc(10 * var(--fv-u));
  background: var(--fv-c-navy-deep);
  border: 1px solid #fff;
  opacity: .8;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: calc(20 * var(--fv-u));
  line-height: calc(35 * var(--fv-u));
  color: #fff;
  white-space: nowrap;
}
.fv-sidenav {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 68px;
  transition: transform .3s ease, opacity .3s ease;
}
.fv-sidenav.is-hidden {
  transform: translate(100%, -50%);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: transform .3s ease, opacity .3s ease, visibility 0s linear .3s;
}
.fv-sidenav-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 68px;
  padding: 16px 24px;
  border-radius: 8px 0 0 8px;
  box-shadow: 0 10px 7.5px rgba(0,0,0,.1), 0 4px 3px rgba(0,0,0,.1);
  transition: opacity .2s;
}
.fv-sidenav-link:hover { opacity: .88; }
.fv-sidenav-link--consult  { height: 263px; background: var(--fv-c-orange-alt); }
.fv-sidenav-link--web      { height: 180px; background: var(--fv-c-navy); }
.fv-sidenav-link--pamphlet { height: 179px; background: var(--c-gold); }
.fv-sidenav-link--consult  .fv-sidenav-icon { width: 15.591px;  height: 31.5px; }
.fv-sidenav-link--web      .fv-sidenav-icon { width: 26.9065px; height: 22.7422px; }
.fv-sidenav-link--pamphlet .fv-sidenav-icon { width: 21.22px;   height: 16.5px; }
.fv-sidenav-text {
  margin-top: 4px;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.04;
  color: #fff;
  text-align: center;
  font-feature-settings: normal;
}
.fv-gnav-item {
  position: relative;
  --pcnav-u: min(1px, 0.09259259vw);
}
.fv-gnav-item > .fv-gnav-link { position: relative; }
.fv-gnav-item--implant > .fv-gnav-link::after,
.fv-gnav-item--trouble > .fv-gnav-link::after,
.fv-gnav-item--clinics > .fv-gnav-link::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: calc(13 * var(--fv-u));
  width: 0;
  height: 0;
  border-left: calc(24 * var(--pcnav-u)) solid transparent;
  border-right: calc(24 * var(--pcnav-u)) solid transparent;
  border-bottom: calc(24 * var(--pcnav-u)) solid rgba(255, 255, 255, .8);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
  pointer-events: none;
}
.fv-gnav-item:hover > .fv-gnav-link::after,
.fv-gnav-item:focus-within > .fv-gnav-link::after {
  opacity: 1;
  visibility: visible;
}
.fv-gnav-item > .pcnav-panel {
  position: fixed;
  top: calc(50 * var(--fv-u));
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
}
.fv-gnav-item:hover > .pcnav-panel,
.fv-gnav-item:focus-within > .pcnav-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (max-width: 767px) {
  .sec-fv {
    --fv-u: calc(100vw / 390);
  }
  .sec-fv .fv-brpc { display: none; }
  .sec-fv .fv-brsp { display: inline; }
  .fv-header { height: calc(70 * var(--fv-u)); }
  .fv-logo {
    left: calc(12 * var(--fv-u));
    top: calc(8.68 * var(--fv-u));
    width: calc(228 * var(--fv-u));
    height: calc(27 * var(--fv-u));
  }
  .fv-logo-pc { display: none; }
  .fv-logo-sp { display: block; }
  .fv-logo-sp-mark {
    position: absolute;
    left: calc(0.75 * var(--fv-u));
    top: calc(-0.3 * var(--fv-u));
    width: calc(21.6635 * var(--fv-u));
    height: calc(26.2746 * var(--fv-u));
  }
  .fv-logo-sp-name {
    position: absolute;
    left: calc(31.44 * var(--fv-u));
    top: calc(1.02 * var(--fv-u));
    width: calc(196.666 * var(--fv-u));
    height: calc(23.752 * var(--fv-u));
  }
  .fv-clinics {
    left: calc(12.21 * var(--fv-u));
    top: calc(41.05 * var(--fv-u));
    font-size: calc(11 * var(--fv-u));
    line-height: 1.2;
  }
  .fv-gnav,
  .fv-hcta { display: none; }
  .fv-menu {
    position: absolute;
    left: calc(342 * var(--fv-u));
    top: calc(20.18 * var(--fv-u));
    width: calc(37 * var(--fv-u));
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(9 * var(--fv-u));
  }
  .fv-menu-bars {
    display: block;
    position: relative;
    width: calc(22.75 * var(--fv-u));
    height: calc(15.5 * var(--fv-u));
  }
  .fv-menu-bars span {
    position: absolute;
    left: 0;
    width: calc(22.75 * var(--fv-u));
    height: calc(1.75 * var(--fv-u));
    background: var(--fv-c-muted);
  }
  .fv-menu-bars span:nth-child(1) { top: 0; }
  .fv-menu-bars span:nth-child(2) { top: calc(6.88 * var(--fv-u)); }
  .fv-menu-bars span:nth-child(3) { top: calc(13.75 * var(--fv-u)); }
  .fv-menu-label {
    display: block;
    font-family: var(--font-body);
    font-weight: 300;
    font-size: calc(13 * var(--fv-u));
    line-height: 1.2;
    color: var(--fv-c-muted);
    text-align: center;
  }
  .fv-mv { height: calc(542 * var(--fv-u)); }
  .fv-mv-layer--a,
  .fv-mv-layer--b,
  .fv-mv-layer--c,
  .fv-mv-veil { display: none; }
  .fv-mv-layer--sp-bg {
    display: block;
    left: calc(-3.04 * var(--fv-u));
    top: calc(72.02 * var(--fv-u));
    width: calc(399.039 * var(--fv-u));
    height: calc(469.62 * var(--fv-u));
    object-fit: cover;
    object-position: bottom;
  }
  .fv-mv-layer--sp-veil {
    display: block;
    position: absolute;
    left: calc(-3.04 * var(--fv-u));
    top: calc(72.02 * var(--fv-u));
    width: calc(399.039 * var(--fv-u));
    height: calc(469.62 * var(--fv-u));
    background: rgba(255,255,255,.64);
  }
  .fv-mv-layer--sp-implant {
    display: block;
    left: calc(141.39 * var(--fv-u));
    top: calc(64.23 * var(--fv-u));
    width: calc(319.64 * var(--fv-u));
    height: calc(179.531 * var(--fv-u));
  }
  .fv-mv-figure {
    left: calc(150.39 * var(--fv-u));
    top: calc(157.13 * var(--fv-u));
    width: calc(272.105 * var(--fv-u));
    height: calc(384.51 * var(--fv-u));
  }
  .fv-mv-figure img {
    left: -14.52%;
    top: -6.53%;
    width: 119.67%;
    height: 127.03%;
  }
  .fv-catch {
    height: calc(52 * var(--fv-u));
    font-size: calc(26 * var(--fv-u));
  }
  .fv-catch--1 {
    left: calc(-3 * var(--fv-u));
    top: calc(185 * var(--fv-u));
    width: calc(238 * var(--fv-u));
    padding: calc(4.642 * var(--fv-u)) calc(4 * var(--fv-u));
  }
  .fv-catch--2 {
    left: calc(10 * var(--fv-u));
    top: calc(251 * var(--fv-u));
    width: calc(239 * var(--fv-u));
    padding: calc(4.642 * var(--fv-u)) calc(11.14 * var(--fv-u));
  }
  .fv-lead {
    left: calc(24 * var(--fv-u));
    top: calc(310.24 * var(--fv-u));
    width: calc(174.5 * var(--fv-u));
    font-size: calc(14 * var(--fv-u));
    letter-spacing: normal;
    text-align: justify;
  }
  .fv-cta-btn { display: none; }
  .fv-badge {
    left: calc(17.42 * var(--fv-u));
    top: calc(489.5 * var(--fv-u));
    width: calc(189 * var(--fv-u));
    height: calc(32 * var(--fv-u));
    border: none;
    border-radius: calc(22 * var(--fv-u));
    font-size: calc(15 * var(--fv-u));
    line-height: calc(35 * var(--fv-u));
  }
  .fv-sidenav { display: none; }
}
.fv-gnav { left: calc(747 * var(--fv-u)); }
.fv-gnav-list, .fv-gnav-item { gap: calc(6 * var(--fv-u)); }
.fv-gnav-link { line-height: 1.3; text-align: center; }
.fv-hcta { position: absolute; top: 0; right: calc(8 * var(--fv-u)); width: calc(536 * var(--fv-u)); height: calc(77 * var(--fv-u)); }
.fv-hcta-tel { left: 0; }
.fv-hcta-btn--web { left: calc(156 * var(--fv-u)); }
.fv-hcta-btn--consult { left: calc(346 * var(--fv-u)); }
.fv-gnav-item--know > .fv-gnav-link::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: calc(13 * var(--fv-u));
  width: 0;
  height: 0;
  border-left: calc(24 * var(--pcnav-u)) solid transparent;
  border-right: calc(24 * var(--pcnav-u)) solid transparent;
  border-bottom: calc(24 * var(--pcnav-u)) solid rgba(255, 255, 255, .8);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
  pointer-events: none;
}
.fv-gnav-item--know:hover > .fv-gnav-link::after,
.fv-gnav-item--know:focus-within > .fv-gnav-link::after { opacity: 1; visibility: visible; }
.pcnav-card-3l { display: inline-block; line-height: 1.2; }
@media (max-width: 767px) { .fv-hcta { display: none; } }
