:root {
  --page-max: 396px;
  --page-outside: #f2f2f2;
  --panel-blue: #e2ecfb;
  --heading-blue: #032b73;
  --text: #000;
  --yellow: #fbf78d;
  --red: #ff6464;
  --focus: #0b66d8;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--page-outside);
}

body {
  min-width: 320px;
  margin: 0;
  color: var(--text);
  background: var(--page-outside);
  font-family: "A P-OTF Gothic MB101 Pr6N", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
}

.site-shell {
  width: 100%;
}

.lp-page {
  width: min(100%, var(--page-max));
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.upper-design {
  position: relative;
  width: 100%;
  aspect-ratio: 1188 / 19417;
  overflow: hidden;
  background: #fff;
  container-type: inline-size;
}

.design-bg,
.design-card,
.design-image,
.design-text,
.point-heading {
  position: absolute;
}

.design-bg {
  z-index: 0;
  left: 0;
  width: 100%;
  background: var(--panel-blue);
}

.design-bg--knowledge {
  top: 419.191919cqw;
  height: 551.936027cqw;
}

.design-bg--points {
  top: 971.127946cqw;
  height: 663.299663cqw;
}

.design-card {
  z-index: 1;
  left: 2.020202%;
  width: 95.959596%;
  background: #fff;
  border-radius: 2.525253cqw;
  box-shadow: 0 0 2.104377cqw rgba(130, 143, 169, 0.35);
}

.design-card--knowledge {
  top: 423.316498cqw;
  height: 542.255892cqw;
}

.design-card--point1 {
  top: 997.306397cqw;
  height: 254.713805cqw;
}

.design-card--point2 {
  top: 1255.639731cqw;
  height: 193.181818cqw;
}

.design-card--point3 {
  top: 1453.030303cqw;
  height: 176.767677cqw;
}

.design-image {
  z-index: 2;
  display: block;
  max-width: none;
  border: 0;
  object-fit: fill;
  user-select: none;
  -webkit-user-drag: none;
}

.d-header {
  top: 0;
  left: 0;
  width: 100%;
  height: 6.734007cqw;
}

.d-mv {
  top: 6.734007cqw;
  left: -0.042088%;
  width: 100.084175%;
  height: 68.855219cqw;
}

.fv-latest-date {
  position: absolute;
  z-index: 4;
  top: 10.858586cqw;
  left: 3.030303%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36.363636%;
  height: 6.313131cqw;
  padding: 0 2.525253cqw;
  color: #fff;
  background: #c5a51c;
  font-size: 3.535354cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.d-root-callout {
  z-index: 3;
  top: 78.198653cqw;
  left: 3.114478%;
  width: 93.771044%;
  height: 14.029209cqw;
}

.root-callout-double-underline {
  position: absolute;
  z-index: 4;
  top: 86.111111cqw;
  left: 13.552189%;
  width: 72.227609%;
  height: 1.515152cqw;
  border-top: 0.505051cqw solid var(--red);
  border-bottom: 0.505051cqw solid var(--red);
  pointer-events: none;
}

.d-aga-compare {
  top: 88.468013cqw;
  left: 3.703704%;
  width: 92.592593%;
  height: 123.174411cqw;
}

.d-check-lead {
  top: 232.491582cqw;
  left: 4.040404%;
  width: 90.909091%;
  height: 18.939394cqw;
}

.d-checklist {
  top: 251.851852cqw;
  left: 2.861953%;
  width: 94.276094%;
  height: 77.356902cqw;
}

.d-worry {
  top: 330.723906cqw;
  left: 3.367003%;
  width: 92.929293%;
  height: 24.074074cqw;
}

.d-reassurance {
  top: 358.585859cqw;
  left: 3.367003%;
  width: 91.329966%;
  height: 34.511785cqw;
}

.d-knowledge-title {
  z-index: 3;
  top: 397.222222cqw;
  left: 0;
  width: 100%;
  height: 23.569024cqw;
}

.d-label-mechanism {
  top: 427.525253cqw;
  left: 2.020202%;
  width: 43.013468%;
  height: 10.10101cqw;
}

.d-mechanism-diagram {
  top: 463.047138cqw;
  left: 6.397306%;
  width: 87.205387%;
  height: 66.582492cqw;
}

.d-label-method {
  top: 534.680135cqw;
  left: 2.020202%;
  width: 37.626263%;
  height: 10.10101cqw;
}

.d-method-diagram {
  top: 583.417508cqw;
  left: 2.020202%;
  width: 95.959596%;
  height: 87.626263cqw;
}

.d-label-pain {
  top: 674.915825cqw;
  left: 2.020202%;
  width: 54.79798%;
  height: 10.10101cqw;
}

.d-pain-comparison {
  top: 718.013468cqw;
  left: 5.808081%;
  width: 88.383838%;
  height: 54.461279cqw;
}

.d-pain-scratch {
  top: 843.350168cqw;
  left: 9.59596%;
  width: 80.808081%;
  height: 53.451178cqw;
}

.d-care-note {
  top: 902.020202cqw;
  left: 5.723906%;
  width: 87.626263%;
  height: 26.346801cqw;
}

.d-points-title {
  z-index: 3;
  top: 970.37037cqw;
  left: 0;
  width: 100%;
  height: 24.326599cqw;
}

.d-point1-hero {
  top: 1009.175084cqw;
  left: 4.545455%;
  width: 90.909091%;
  height: 59.427609cqw;
}

.d-point1-case {
  top: 1105.050505cqw;
  left: 3.703704%;
  width: 92.592593%;
  height: 103.367003cqw;
}

.design-case-carousel {
  position: absolute;
  z-index: 2;
  overflow: visible;
  touch-action: pan-y;
  cursor: grab;
}

.design-case-carousel.is-dragging {
  cursor: grabbing;
}

.design-case-carousel__viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.design-case-carousel__track {
  display: flex;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.design-case-carousel.is-ready .design-case-carousel__track {
  transition: transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.design-case-carousel.is-dragging .design-case-carousel__track,
.design-case-carousel.is-jumping .design-case-carousel__track {
  transition: none;
}

.design-case-carousel__slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.design-case-carousel__slide > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.design-case-carousel__slide::before,
.design-case-carousel__slide::after {
  position: absolute;
  z-index: 1;
  top: 53.15%;
  width: 8.5%;
  aspect-ratio: 1;
  content: "";
  background: #f0f7fe;
  border-radius: 50%;
}

.design-case-carousel__slide::before {
  left: 3%;
}

.design-case-carousel__slide::after {
  right: 3%;
}

.design-case-carousel__nav {
  position: absolute;
  z-index: 3;
  top: 56.65%;
  width: 5.69%;
  aspect-ratio: 1;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  outline: none;
  transform: translateY(-50%);
  -webkit-tap-highlight-color: transparent;
}

.design-case-carousel__nav--prev {
  left: 4.35%;
}

.design-case-carousel__nav--next {
  right: 5.05%;
}

.design-case-carousel__nav img {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.design-case-carousel__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.d-point2-hero {
  top: 1267.508418cqw;
  left: 4.545455%;
  width: 90.909091%;
  height: 59.259259cqw;
}

.d-point2-table {
  top: 1367.929293cqw;
  left: 3.282828%;
  width: 93.434343%;
  height: 58.501684cqw;
}

.d-point3-hero {
  top: 1464.89899cqw;
  left: 4.545455%;
  width: 90.909091%;
  height: 59.511785cqw;
}

.d-point3-care {
  top: 1561.111111cqw;
  left: 12.205387%;
  width: 75.757576%;
  height: 32.828283cqw;
}

.design-text {
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  color: var(--text);
  font-size: 3.535354cqw;
  line-height: 1.5238095;
  letter-spacing: 0;
  word-break: normal;
  overflow-wrap: normal;
  line-break: strict;
  user-select: text;
  -webkit-user-select: text;
}

.design-text--regular {
  font-weight: 400;
}

.design-text--medium {
  font-weight: 500;
}

.design-text p {
  margin: 0;
}

.t-intro {
  top: 214.646465cqw;
  left: 3.703704%;
  width: 92.592593%;
  height: 16.750842cqw;
}

.t-mechanism {
  top: 440.824916cqw;
  left: 5.808081%;
  width: 88.383838%;
  height: 21.801347cqw;
}

.t-method {
  top: 547.138047cqw;
  left: 5.808081%;
  width: 88.383838%;
  height: 39.309764cqw;
}

.t-pain-intro {
  top: 688.215488cqw;
  left: 5.808081%;
  width: 88.383838%;
  height: 26.936027cqw;
}

.t-pain-detail {
  top: 776.430976cqw;
  left: 5.808081%;
  width: 88.383838%;
  height: 62.542088cqw;
}

.t-care-summary {
  top: 932.659933cqw;
  left: 5.808081%;
  width: 88.383838%;
  height: 26.851852cqw;
}

.point-heading {
  z-index: 3;
  display: flex;
  align-items: center;
  left: 4.545455%;
  width: 90.909091%;
  height: 10.942761cqw;
  margin: 0;
  color: var(--heading-blue);
  font-size: 5.050505cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.point-heading--1 {
  top: 997.306397cqw;
}

.point-heading--2 {
  top: 1255.639731cqw;
}

.point-heading--3 {
  top: 1453.030303cqw;
  font-size: 4.545455cqw;
}

.point-symbol {
  margin-right: 0.18em;
  font-size: 5.47138cqw;
  line-height: 1;
}

.t-point1-intro,
.t-point1-detail,
.t-point2-intro,
.t-point2-detail {
  left: 5.808081%;
  width: 88.383838%;
}

.t-point1-intro {
  top: 1070.875421cqw;
  height: 31.902357cqw;
}

.t-point1-detail {
  top: 1209.59596cqw;
  height: 37.289562cqw;
}

.t-point2-intro {
  top: 1329.377104cqw;
  height: 36.952862cqw;
}

.t-point2-detail {
  top: 1427.441077cqw;
  height: 16.750842cqw;
}

.t-point3-intro,
.t-point3-detail {
  left: 4.545455%;
  width: 90.909091%;
}

.t-point3-intro {
  top: 1528.030303cqw;
  height: 34.006734cqw;
}

.t-point3-detail {
  top: 1597.390572cqw;
  height: 28.535354cqw;
}

.mark-yellow,
.mark-red {
  font-weight: 600;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.mark-yellow {
  background: linear-gradient(transparent 36%, var(--yellow) 36%);
}

.mark-red {
  background: linear-gradient(transparent 76.5%, var(--red) 76.5%);
}

.asset {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  user-select: none;
  -webkit-user-drag: none;
}

.comparison-block {
  width: 100%;
  padding-bottom: 19px;
  background: #fff;
}

.comparison-title {
  position: relative;
  width: 100%;
  aspect-ratio: 1189 / 228;
  overflow: hidden;
  color: #fff;
  background-color: #2370d6;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.105) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.105) 1px, transparent 1px);
  background-size: 7px 7px;
  text-align: center;
}

.comparison-title__date {
  position: absolute;
  z-index: 1;
  top: 18%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.comparison-title__heading {
  position: absolute;
  z-index: 1;
  top: 54%;
  left: 50%;
  width: 100%;
  margin: 0;
  transform: translateX(-50%);
  color: #fcfba1;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

@media (max-width: 360px) {
  .comparison-title__date {
    font-size: 13px;
  }

  .comparison-title__heading {
    font-size: 15px;
  }
}

.clinic-comparison {
  width: 100%;
  height: 1075.333px;
  overflow: hidden;
  color: #000;
  background: #fff;
  font-family: "A P-OTF Gothic MB101 Pr6N", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", Meiryo, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

.comparison-clinics,
.comparison-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.comparison-clinics {
  height: 154px;
}

.comparison-clinic,
.comparison-value {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  text-align: center;
}

.comparison-clinic:not(:last-child),
.comparison-value:not(:last-child) {
  border-right: 1px solid #e9e9e9;
}

.comparison-cell--featured {
  background: #fffdf0;
}

.comparison-crown {
  position: absolute;
  top: 6.333px;
  left: 50%;
  width: 33.333px;
  height: 27px;
  transform: translateX(-50%);
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.comparison-clinic-image {
  position: absolute;
  top: 36.667px;
  left: 7.070707%;
  width: 85.858586%;
  aspect-ratio: 340 / 254;
  overflow: hidden;
}

.comparison-clinic-image img {
  position: absolute;
  display: block;
  max-width: none;
  user-select: none;
  -webkit-user-drag: none;
}

.comparison-clinic-image--shinwa img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.comparison-clinic-image--island img {
  top: -21.46%;
  left: -0.04%;
  width: 100.08%;
  height: 169.69%;
}

.comparison-clinic-image--ask img {
  top: -2.95%;
  left: -0.02%;
  width: 100.04%;
  height: 175.59%;
}

.comparison-clinic-name {
  position: absolute;
  top: 128.667px;
  right: 0;
  left: 0;
  display: block;
  color: #1416ef;
  font-size: 11px;
  line-height: 16px;
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}

.comparison-clinic-name:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 1px;
}

.comparison-clinic-name--long {
  font-size: 9.333px;
}

.comparison-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  height: 20px;
  color: #fff;
  background: #004195;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
}

.comparison-band > span {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.comparison-band > span:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.24);
}

.comparison-band--price {
  height: 36.667px;
  line-height: 14px;
}

.comparison-band--price > span {
  flex-direction: column;
}

.comparison-values--score {
  height: 66px;
}

.comparison-values--detail {
  height: 81.333px;
}

.comparison-values--standard,
.comparison-values--price {
  height: 70.667px;
}

.comparison-values--reviews {
  height: 74px;
}

.comparison-values--cta {
  height: 52px;
  border-top: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
}

.comparison-value p,
.comparison-value small {
  position: absolute;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  text-align: center;
}

.comparison-stars {
  position: absolute;
  top: 10px;
  left: 50%;
  width: 96.667px;
  height: 22.667px;
  transform: translateX(-50%);
  user-select: none;
  -webkit-user-drag: none;
}

.comparison-score {
  top: 32.667px;
  height: 29.667px;
  color: #ed0d1e;
  font-size: 12px;
  line-height: 1;
}

.comparison-score strong {
  font-size: 16.667px;
  font-weight: 800;
}

.comparison-status {
  position: absolute;
  top: 5px;
  left: 50%;
  width: 36.667px;
  height: 36.667px;
  transform: translateX(-50%);
  user-select: none;
  -webkit-user-drag: none;
}

.comparison-status--triangle {
  top: 5px;
  width: 37.308px;
  height: 32.667px;
}

.comparison-values--detail p {
  top: 49px;
  height: 30px;
  font-size: 12px;
  line-height: 15px;
}

.comparison-values--standard p,
.comparison-values--price p {
  top: 45.667px;
  height: 21.667px;
  font-size: 12px;
  line-height: 18px;
}

.comparison-values--reviews p {
  top: 44.667px;
  height: 21px;
  font-size: 12px;
  line-height: 16px;
}

.comparison-values--reviews small {
  top: 63px;
  height: 10.667px;
  font-size: 5.333px;
  font-weight: 400;
  line-height: 8px;
}

.comparison-values--standard small {
  top: 61px;
  height: 8px;
  font-size: 5.333px;
  font-weight: 400;
  line-height: 8px;
}

.comparison-cta {
  position: absolute;
  top: 10px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 31px;
  padding: 0 15px 0 5px;
  transform: translateX(-50%);
  color: #fff;
  background: #ff675b;
  border-radius: 3.333px;
  box-shadow: 0 1px 0 #c1443a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transform-origin: center;
  animation: rank-cta-pulse 1s ease-in-out infinite;
  will-change: transform, filter;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.24);
}

.comparison-cta img {
  position: absolute;
  top: 50%;
  right: 7.333px;
  width: 10px;
  height: 9.928px;
  transform: translateY(-50%);
  user-select: none;
  -webkit-user-drag: none;
}

.comparison-cta:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

@media (max-width: 360px) {
  .comparison-clinic-name {
    font-size: 10px;
  }

  .comparison-clinic-name--long {
    font-size: 8px;
  }

  .comparison-values--detail p,
  .comparison-values--standard p,
  .comparison-values--price p,
  .comparison-values--reviews p {
    font-size: 11px;
  }
}

.ranking-title {
  position: relative;
  width: 100%;
  height: 110px;
  overflow: hidden;
  color: #fff;
  background: #032b73;
  text-align: center;
}

.ranking-title__date {
  position: absolute;
  top: 13.667px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 136.667px;
  height: 20.667px;
  margin: 0;
  transform: translateX(-50%);
  background: #7788ac;
  border-radius: 26.667px;
  font-size: 12.333px;
  font-weight: 700;
  line-height: 1;
}

.ranking-title h2 {
  position: absolute;
  inset: 34px 0 0;
  margin: 0;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}

.ranking-title h2 span,
.ranking-title h2 strong {
  display: block;
}

.ranking-title h2 span {
  font-size: 15px;
  line-height: 32px;
}

.ranking-title h2 strong {
  color: #fefb76;
  font-size: 33.333px;
  line-height: 39px;
}

.ranking-cards {
  width: 100%;
  padding: 9.333px 0 23.333px;
  background: #e2ecfb;
}

.clinic-rank-card {
  --head-height: 157.333px;
  --points-height: 182px;
  --hero-points-gap: 9px;
  --points-metrics-gap: 11.333px;
  --metrics-case-gap: 17.333px;
  --case-height: 453.667px;
  --case-cta-gap: 15.333px;
  position: relative;
  width: calc(100% - 16px);
  max-width: 380px;
  height: 1362.333px;
  margin: 0 auto;
  overflow: hidden;
  color: #000;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 8.333px rgba(130, 143, 169, 0.35);
  font-family: "A P-OTF Gothic MB101 Pr6N", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: 0;
}

.clinic-rank-card + .clinic-rank-card {
  margin-top: 23.333px;
}

.clinic-rank-card--shinwa {
  --points-height: 184px;
  --hero-points-gap: 10.667px;
  --points-metrics-gap: 10.333px;
  --metrics-case-gap: 10.667px;
  --case-height: 896px;
  height: auto;
  padding-bottom: 16.667px;
}

.clinic-rank-card--island {
  height: auto;
  padding-bottom: 19.333px;
}

.clinic-rank-card--ask {
  --head-height: 137.667px;
  --case-cta-gap: 28.667px;
  height: auto;
  padding-bottom: 19.333px;
}

.rank-card-head {
  position: relative;
  width: 100%;
  height: var(--head-height);
  overflow: hidden;
}

.rank-card-head__top {
  position: relative;
  width: calc(100% - 14px);
  height: 70px;
  margin: 0 auto;
  border-bottom: 1px solid #d7d7d7;
}

.rank-card-crown {
  position: absolute;
  top: 18px;
  left: 1.4px;
  width: 45.333px;
  height: 36.667px;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.rank-card-head h2 {
  position: absolute;
  top: 8px;
  left: 49.667px;
  display: flex;
  align-items: center;
  width: calc(100% - 132px);
  height: 57px;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 21.667px;
  letter-spacing: 0;
}

.clinic-rank-card--shinwa .rank-card-head h2 {
  font-size: 23.333px;
}

.rank-card-score {
  position: absolute;
  top: 0;
  right: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 63.667px;
  height: 70px;
  margin: 0;
  color: #ed0d1e;
  font-size: 16.667px;
  font-weight: 700;
  line-height: 1;
}

.rank-card-score strong {
  font-size: 23.333px;
  font-weight: 800;
}

.rank-card-lead {
  position: absolute;
  top: 70px;
  right: 10px;
  bottom: 0;
  left: 10px;
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 14.333px;
  font-weight: 700;
  line-height: 20px;
}

.rank-card-hero {
  display: block;
  width: 94.736842%;
  height: 221px;
  margin: 0 auto;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.rank-points {
  width: 94.736842%;
  height: var(--points-height);
  margin: var(--hero-points-gap) auto 0;
  overflow: hidden;
  border: 1.333px solid #5182e6;
  background: #fff;
}

.rank-points h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 37.667px;
  margin: 0;
  color: #fff;
  background: #5182e6;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.rank-points ul {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  width: 100%;
  height: calc(100% - 37.667px);
  margin: 0;
  padding: 5px 8px 5px 34px;
  list-style: none;
}

.rank-points li {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  font-size: 12.667px;
  font-weight: 600;
  line-height: 15px;
}

.rank-points li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -25px;
  width: 19.333px;
  height: 19.333px;
  transform: translateY(-50%);
  background: url("../assets/ranking/check.svg") center / contain no-repeat;
}

.rank-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, 1fr);
  width: 94.561404%;
  height: 199.667px;
  margin: var(--points-metrics-gap) auto 0;
  overflow: hidden;
  border-top: 1px solid #aeb4bf;
  border-left: 1px solid #aeb4bf;
  background: #fff;
}

.rank-metric {
  min-width: 0;
  overflow: hidden;
  border-right: 1px solid #aeb4bf;
  border-bottom: 1px solid #aeb4bf;
  text-align: center;
}

.rank-metric__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 23.333px;
  margin: 0;
  color: #fff;
  background: #788bac;
  font-size: 11.333px;
  font-weight: 600;
  line-height: 1;
}

.rank-metric__body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 76.5px;
}

.rank-metric__body img {
  width: 36.667px;
  height: 36.667px;
  margin-top: 5px;
  user-select: none;
  -webkit-user-drag: none;
}

.rank-metric__body img.rank-status--triangle {
  width: 37.308px;
  height: 32.667px;
  margin-top: 5px;
  margin-bottom: 4px;
}

.rank-metric__body strong {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  margin-top: 1px;
  padding: 0 2px;
  font-size: 10.667px;
  font-weight: 600;
  line-height: 12px;
}

.rank-metric__body small {
  font-size: 5.333px;
  font-weight: 400;
  line-height: 7px;
}

.case-panel {
  position: relative;
  width: 94.736842%;
  height: var(--case-height);
  margin: var(--metrics-case-gap) auto 0;
  overflow: hidden;
  background: #eefafe;
  border-radius: 2px;
  box-shadow: 0 0 3.333px rgba(130, 143, 169, 0.3);
}

.case-panel--shinwa {
  height: auto;
  aspect-ratio: 1080 / 2688;
  border-radius: 3.333px;
}

.case-panel--island,
.case-panel--ask {
  height: auto;
  aspect-ratio: 1080 / 1361;
  border-radius: 3.333px;
}

.case-panel__figma-visual {
  position: absolute;
  top: 0;
  left: -1.388889%;
  display: block;
  width: 102.777778%;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.case-panel__figma-background {
  position: absolute;
  z-index: 0;
  top: 7.477679%;
  left: -1.388889%;
  display: block;
  width: 102.777778%;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.case-panel--shinwa .case-panel__figma-visual {
  z-index: 1;
  clip-path: inset(0 0 11.024787% 0);
}

.case-panel__figma-visual--core {
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-panel__corrected-title {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 15.566038%;
  color: #fff;
  background: #294e8f;
  font-size: clamp(12px, 4.377vw, 17.333px);
  font-weight: 700;
  line-height: 1.23;
  letter-spacing: 0;
  text-align: center;
  pointer-events: none;
}

.case-panel__corrected-title span {
  display: block;
}

.case-panel__spin-cleanup {
  position: absolute;
  z-index: 1;
  top: 76.190476%;
  left: 70.4%;
  width: 15.8%;
  height: 9%;
  pointer-events: none;
  background: #fff;
}

.case-panel__spin {
  position: absolute;
  z-index: 2;
  top: 57.217262%;
  left: 10%;
  width: 80%;
  height: 29.389881%;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  background: #fff;
  border-radius: 1px;
  outline: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.case-panel__spin.is-dragging {
  cursor: grabbing;
}

.case-panel__spin:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

.case-panel__spin img {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
  object-position: center 20%;
  user-select: none;
  -webkit-user-drag: none;
}

.case-panel__cta-hitarea {
  position: absolute;
  z-index: 3;
  top: 90.104167%;
  left: 6.018519%;
  width: 87.962963%;
  height: 8.519345%;
  color: inherit;
  border-radius: 42.667px;
  text-decoration: none;
}

.case-panel__cta-hitarea .rank-cta__note {
  width: 72.421053%;
}

.case-panel__cta-hitarea .rank-cta__button {
  width: 100%;
}

.case-panel__cta-hitarea:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: -3px;
}

.case-panel__semantic {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.case-panel > h3 {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 71px;
  margin: 0;
  color: #fff;
  background: #294e8f;
  font-size: 17.333px;
  font-weight: 700;
  line-height: 21.333px;
  text-align: center;
}

.case-profile {
  position: absolute;
  top: 78.667px;
  left: 5%;
  display: flex;
  align-items: center;
  width: 90%;
  height: 46.667px;
}

.case-profile > img {
  width: 46.667px;
  height: 46.667px;
  margin-right: 8px;
  border-radius: 50%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.case-panel--shinwa .case-profile > img {
  object-position: center top;
}

.case-profile p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  margin: 0;
}

.case-profile strong {
  font-size: 16px;
  line-height: 20px;
}

.case-profile small {
  color: #ed0d1e;
  font-size: 8.667px;
  font-weight: 600;
  line-height: 12px;
}

.case-info {
  position: absolute;
  top: 132.667px;
  left: 5%;
  width: 90%;
  height: 133px;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 0 3px rgba(130, 143, 169, 0.3);
}

.case-info > div {
  display: grid;
  grid-template-columns: 34% 66%;
  width: 100%;
  height: 44.333px;
  border-bottom: 1px solid #d8e2ed;
}

.case-info > div:last-child {
  border-bottom: 0;
}

.case-info dt,
.case-info dd {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
}

.case-info dt {
  border-right: 1px solid #d8e2ed;
  font-size: 10px;
  font-weight: 500;
  line-height: 12px;
}

.case-info dt img {
  width: 29px;
  height: 29px;
  margin: 0 5px;
  user-select: none;
  -webkit-user-drag: none;
}

.case-info dd {
  position: relative;
  padding-left: 10px;
  font-size: 14px;
  line-height: 16px;
}

.case-info dd strong {
  font-size: 17.333px;
}

.case-info dd em {
  color: #004195;
  font-style: normal;
}

.case-price {
  color: #ed0d1e;
  font-size: 10.667px !important;
  font-weight: 700;
}

.case-price strong {
  font-size: 20.667px !important;
}

.case-price small {
  position: absolute;
  right: 2px;
  bottom: 2px;
  color: #384968;
  font-size: 5px;
  line-height: 1;
}

.case-before-after {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.case-shot {
  position: absolute;
  margin: 0;
}

.case-shot--before {
  top: 324.333px;
  left: 6.296296%;
  width: 35.185185%;
  height: 96.333px;
}

.case-shot--after {
  top: 308px;
  left: 50.37037%;
  width: 41.851852%;
  height: 111.667px;
  border: 2px solid #ffac00;
  border-radius: 2px;
}

.case-panel--shinwa .case-shot--before {
  top: 334.333px;
}

.case-panel--shinwa .case-shot--after {
  top: 318px;
  left: 50.925926%;
  width: 40.740741%;
}

.case-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.667px;
  user-select: none;
  -webkit-user-drag: none;
}

.case-shot figcaption {
  position: absolute;
  z-index: 1;
  top: -17px;
  left: 16px;
  min-width: 80.667px;
  height: 21.667px;
  padding: 0 7px;
  color: #fff;
  background: #7d8da3;
  border-radius: 2px 2px 0 0;
  font-size: 12.667px;
  line-height: 21.667px;
  text-align: center;
}

.case-shot--after figcaption {
  top: -29px;
  left: 50%;
  height: 29px;
  transform: translateX(-50%);
  background: #ffac00;
  font-size: 14.333px;
  font-weight: 700;
  line-height: 29px;
}

.case-arrow {
  position: absolute;
  top: 349px;
  left: 47%;
  color: #294e8f;
  font-size: 18px;
  line-height: 1;
}

.case-panel--shinwa .case-arrow {
  top: 359px;
}

.case-360 {
  position: absolute;
  top: 446.667px;
  left: 5%;
  width: 89.351852%;
  height: 346px;
  overflow: hidden;
  background: #fff;
  border: 2px solid #bfd9f2;
  border-radius: 5px;
  box-shadow: 0 0 7.333px rgba(41, 78, 143, 0.3);
  text-align: center;
}

.case-360 p {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10px 0 0;
  color: #294e8f;
}

.case-360 strong {
  font-size: 25.333px;
  line-height: 28px;
}

.case-360 small {
  font-size: 9.333px;
  font-weight: 600;
  line-height: 14px;
}

.case-360 > img {
  display: block;
  width: 46.321244%;
  height: 263.333px;
  margin: 4px auto 0;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.rank-cta {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 76.333px;
  color: inherit;
  text-decoration: none;
}

.case-panel--shinwa > .rank-cta {
  top: 807.333px;
}

.rank-cta--standalone {
  position: relative;
  margin-top: var(--case-cta-gap);
}

.clinic-rank-card--shinwa > .rank-cta--standalone {
  width: 94.736842%;
  height: 93px;
  margin: 0 auto;
  background: #f5fbff;
}

.rank-cta__note {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60.350877%;
  height: 28.29px;
  padding-bottom: 2.3px;
  transform: translateX(-50%);
  color: #cf3f3c;
  background: url("../assets/ranking/cta-note-bubble.svg") center / 100% 100% no-repeat;
  font-size: 12.167px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
}

.rank-cta__note.rank-cta__note--monitor {
  width: 82%;
}

.rank-cta__button {
  position: absolute;
  top: 19.667px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 83.333333%;
  height: 56.667px;
  transform: translateX(-50%);
  color: #fefb76;
  background: linear-gradient(to top, #ff6e6d, #ff584d 87%);
  border-radius: 42.667px;
  font-size: 17.667px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  transform-origin: center;
  animation: rank-cta-pulse 1s ease-in-out infinite;
  will-change: transform, filter;
}

@keyframes rank-cta-pulse {
  0%,
  100% {
    filter: brightness(1);
    transform: translateX(-50%) scale(1);
  }

  50% {
    filter: brightness(1);
    transform: translateX(-50%) scale(1.025);
  }

  51% {
    filter: brightness(1.3);
    transform: translateX(-50%) scale(1.05);
  }

  75% {
    filter: brightness(1.1);
    transform: translateX(-50%) scale(1.025);
  }
}

.rank-cta__button img {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 17.333px;
  height: 17.217px;
  transform: translateY(-50%);
  user-select: none;
  -webkit-user-drag: none;
}

.rank-cta:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

.rank-interview {
  width: 94.736842%;
  height: auto;
  margin: 17.333px auto 0;
  padding-bottom: 24px;
  overflow: hidden;
  background: #f5fbff;
}

.rank-interview h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 47.667px;
  margin: 0;
  color: #fff;
  background: #294e8f;
  font-size: 17.333px;
  font-weight: 700;
  line-height: 1;
}

.rank-interview--content-slot {
  margin-top: 30px;
  padding-bottom: 16.667px;
}

.rank-interview--content-slot h3 {
  flex-direction: column;
  gap: 4px;
  height: 68px;
  line-height: 1.15;
  text-align: center;
}

.rank-interview--content-slot h3 span:last-child {
  font-size: clamp(12.5px, 3.9vw, 15px);
}

.rank-interview__content-slot {
  min-height: 0;
}

.final-clinic-card.final-clinic-card--embedded {
  height: auto;
  padding: 16.667px 0;
}

.final-clinic-card--embedded .final-clinic-card__hero,
.final-clinic-card--embedded .final-clinic-card__copy,
.final-clinic-card--embedded .final-clinic-card__cta {
  position: relative;
  inset: auto;
}

.final-clinic-card--embedded .final-clinic-card__hero {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  transform: none;
  object-fit: contain;
}

.final-clinic-card--embedded .final-clinic-card__copy {
  left: auto;
  width: 85.701754%;
  margin: 22.333px auto 0;
  transform: none;
}

.final-clinic-card--embedded .final-clinic-card__copy p:last-child {
  margin-bottom: 0;
}

.final-clinic-card--embedded .final-clinic-card__cta {
  left: auto;
  width: calc(100% + 16px);
  margin-top: 16.667px;
  margin-left: -8px;
}

.rank-interview__media {
  position: relative;
  display: block;
  width: 90.37037%;
  aspect-ratio: 281 / 373;
  margin: 14px auto 0;
  overflow: hidden;
  background: #000;
}

.rank-interview__video {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.rank-interview__poster {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  transition: opacity 160ms ease;
}

.rank-interview__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: min(64px, 16.162vw);
  height: min(64px, 16.162vw);
  padding: 0;
  transform: translate(-50%, -50%);
  color: #fff;
  background: rgba(3, 43, 115, 0.9);
  border: 2px solid rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  transition: transform 160ms ease, opacity 160ms ease;
  -webkit-tap-highlight-color: transparent;
}

.rank-interview__play::before {
  content: "";
  width: min(18px, 4.545vw);
  height: min(22px, 5.556vw);
  margin-left: min(4px, 1.01vw);
  background: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.rank-interview__play:active {
  transform: translate(-50%, -50%) scale(0.96);
}

.rank-interview__play:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.rank-interview__media.is-playing .rank-interview__play {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.rank-interview__media.is-playing .rank-interview__poster {
  visibility: hidden;
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .rank-interview__poster,
  .rank-interview__play {
    transition: none;
  }
}

.faq-section {
  width: 100%;
  min-height: 386.667px;
  background: #fff;
}

.faq-section > h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 76.667px;
  margin: 0;
  color: #fff;
  background: #032b73;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.faq-section > h2 span {
  margin: 0 9px;
  font-size: 20px;
  font-weight: 400;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  min-height: 310px;
  padding: 23.333px 11.667px 32.667px;
}

.faq-item {
  flex: none;
  min-width: 0;
  overflow: hidden;
  color: #032b73;
  background: #fff;
  border: 1px solid #032b73;
  border-radius: 7px;
}

.faq-item__heading {
  margin: 0;
}

.faq-trigger {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 40px;
  align-items: center;
  width: 100%;
  height: 48px;
  padding: 0;
  min-width: 0;
  color: #032b73;
  background: transparent;
  border: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(3, 43, 115, 0.12);
}

.faq-trigger:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: -3px;
}

.faq-q,
.faq-a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28.667px;
  height: 28.667px;
  border: 1px solid #032b73;
  border-radius: 50%;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.faq-q {
  margin-left: 15.333px;
}

.faq-question {
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 17px;
  white-space: nowrap;
}

.faq-toggle {
  position: relative;
  justify-self: center;
  width: 13.333px;
  height: 13.333px;
}

.faq-toggle::before,
.faq-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13.333px;
  height: 2.667px;
  transform: translate(-50%, -50%);
  background: #032b73;
}

.faq-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 160ms ease, transform 200ms ease;
}

.faq-trigger[aria-expanded="true"] .faq-toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 220ms ease, opacity 180ms ease;
}

.faq-answer__inner {
  min-height: 0;
  overflow: hidden;
}

.faq-answer__layout {
  display: grid;
  grid-template-columns: 38.667px minmax(0, 1fr);
  align-items: start;
  padding: 11.667px 12.667px 15px 15.333px;
}

.faq-a {
  color: #ed0d1e;
  border-color: #ed0d1e;
}

.faq-answer p {
  margin: 0;
  color: #000;
  font-size: 14px;
  font-weight: 500;
  line-height: 23.333px;
}

.faq-emphasis {
  color: #ed0d1e;
}

.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .faq-toggle::after,
  .faq-answer {
    transition: none;
  }
}

.final-recommendation {
  width: 100%;
  padding-bottom: 22.667px;
  background: #e2ecfb;
}

.final-recommendation__title {
  position: relative;
  width: 100%;
  height: min(93.333px, 23.569vw);
  overflow: hidden;
  background: linear-gradient(
    to bottom,
    #fff 0 min(7.333px, 1.852vw),
    transparent min(7.333px, 1.852vw)
  );
}

.final-recommendation__title::before {
  content: "";
  position: absolute;
  top: min(7.333px, 1.852vw);
  left: min(0.333px, 0.084vw);
  width: 100%;
  height: min(76.667px, 19.36vw);
  background: #032b73;
}

.final-recommendation__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: min(16.166px, 4.082vw);
  height: min(14px, 3.535vw);
  transform: translateX(-50%);
  background: #032b73;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.final-recommendation__title h2 {
  position: absolute;
  z-index: 1;
  top: min(7.333px, 1.852vw);
  left: min(45px, 11.364vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(242.667px, 61.279vw);
  height: min(76.667px, 19.36vw);
  margin: 0;
  color: #fff;
  font-size: min(16.667px, 4.209vw);
  font-weight: 700;
  line-height: min(24.667px, 6.229vw);
}

.final-recommendation__title h2 span,
.final-recommendation__title h2 strong {
  display: block;
  line-height: min(24.667px, 6.229vw);
}

.final-recommendation__title h2 span {
  font-size: min(16.667px, 4.209vw);
}

.final-recommendation__title h2 strong {
  font-size: min(20px, 5.051vw);
}

.final-recommendation__doctor {
  position: absolute;
  z-index: 1;
  top: 0;
  right: min(13.667px, 3.451vw);
  width: min(92px, 23.232vw);
  height: min(84px, 21.212vw);
  overflow: hidden;
  pointer-events: none;
}

.final-recommendation__doctor img {
  position: absolute;
  top: 0;
  left: -0.37%;
  display: block;
  width: 100.73%;
  max-width: none;
  height: 110.44%;
  user-select: none;
  -webkit-user-drag: none;
}

.final-clinic-card {
  position: relative;
  width: calc(100% - 16px);
  max-width: 380px;
  height: 668.667px;
  margin: 16.667px auto 0;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 8.333px rgba(130, 143, 169, 0.35);
}

.final-clinic-card__hero {
  position: absolute;
  top: 28px;
  left: 50%;
  width: 85.701754%;
  height: 200px;
  transform: translateX(-50%);
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.final-clinic-card__heading {
  position: absolute;
  top: 240.667px;
  left: 50%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px 52px;
  align-items: center;
  width: 85.701754%;
  height: 50px;
  transform: translateX(-50%);
  border-bottom: 1.667px dashed #c7c7c7;
}

.final-clinic-card__heading h2 {
  margin: 0;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
}

.final-clinic-rating {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.final-clinic-rating span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 12.667px;
  color: #fff;
  background: #5182e6;
  font-size: 8.667px;
  line-height: 1;
}

.final-clinic-rating img {
  width: 56.667px;
  height: 12.333px;
  margin-top: 1px;
}

.final-clinic-card__heading > p {
  margin: 0;
  color: #ed0d1e;
  font-size: 16.667px;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}

.final-clinic-card__heading > p strong {
  font-size: 23.333px;
}

.final-clinic-card__copy {
  position: absolute;
  top: 313px;
  left: 50%;
  width: 85.701754%;
  transform: translateX(-50%);
  font-size: 14px;
  font-weight: 600;
  line-height: 19px;
}

.final-clinic-card__copy p {
  margin: 0 0 16px;
}

.final-clinic-card__cta {
  top: 558.667px;
  left: -4px;
}

.text-red {
  color: #ed0d1e;
}

.mark-final {
  color: #ed0d1e;
  background: linear-gradient(transparent 70%, #fefb76 70%);
}

.lp-footer {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  height: min(56.667px, 14.31vw);
  background: #294e8f;
}

.lp-footer a {
  position: relative;
  flex: 0 0 min(94.223px, 23.794vw);
  height: 100%;
  min-width: 0;
  color: #fff;
  text-decoration: none;
}

.lp-footer__arrow {
  position: absolute;
  top: min(23.167px, 5.85vw);
  left: min(8.333px, 2.104vw);
  width: min(10.667px, 2.694vw);
  height: min(10.667px, 2.694vw);
}

.lp-footer__arrow::before {
  content: "";
  position: absolute;
  top: 6.7%;
  right: 0;
  width: 75%;
  height: 86.6%;
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.lp-footer__label {
  position: absolute;
  top: min(28.2px, 7.121vw);
  left: min(18.838px, 4.757vw);
  width: min(67.05px, 16.932vw);
  transform: translateY(-50%);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic",
    Meiryo, sans-serif;
  font-size: min(10.333px, 2.609vw);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.lp-footer a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -4px;
}

@media (max-width: 360px) {
  .rank-card-head h2 {
    font-size: 17px;
  }

  .clinic-rank-card--shinwa .rank-card-head h2 {
    font-size: 20px;
  }

  .rank-card-lead {
    font-size: 12px;
    line-height: 17px;
  }

  .rank-points li {
    font-size: 10.5px;
  }

  .case-profile strong {
    font-size: 14px;
  }

  .case-info dt {
    font-size: 8px;
  }

  .case-info dd {
    padding-left: 6px;
    font-size: 11px;
  }

  .case-info dd strong {
    font-size: 14px;
  }

  .case-price strong {
    font-size: 17px !important;
  }

  .rank-cta__button {
    font-size: 15px;
  }

  .faq-section > h2 {
    font-size: 20px;
  }

  .faq-question {
    font-size: 11px;
  }

  .faq-answer p {
    font-size: 12px;
    line-height: 20px;
  }

  .final-clinic-card__heading h2 {
    font-size: 21px;
  }

  .final-clinic-card__copy {
    font-size: 12px;
    line-height: 17px;
  }

}

.hotspot-image {
  position: relative;
  width: 100%;
}

.hotspot {
  position: absolute;
  z-index: 2;
  display: block;
  color: transparent;
  text-decoration: none;
  border-radius: 999px;
  -webkit-tap-highlight-color: rgba(255, 92, 88, 0.24);
}

.hotspot:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.lp-page.is-debug .hotspot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 0, 0, 0.18);
  border-radius: inherit;
  outline: 2px solid rgba(255, 0, 0, 0.7);
}
