.v-lower main {
  padding-top: var(--v-header-height);
}

.v-lower .vm-lowerMv {
  align-items: center;
  background: var(--v-lower-hero-image, linear-gradient(135deg, rgba(53, 62, 65, 0.92), rgba(30, 30, 30, 0.78))) center center / cover no-repeat;
  color: var(--v-color-white);
  display: flex;
  min-height: 38rem;
  overflow: hidden;
  position: relative;
}

.v-lower .vm-lowerMv::before,
.v-lower .vm-lowerMv::after {
  content: "";
  display: none;
  inset: 0;
  position: absolute;
}

.v-lower .vm-lowerMv::before {
  background: transparent;
  opacity: 1;
}

.v-lower .vm-lowerMv::after {
  background: transparent;
}

.v-page-about {
  --v-lower-hero-image: url("../img/vamos/shoot-about-04.jpg");
}

.v-page-services {
  --v-lower-hero-image: url("../img/vamos/shoot-service-studio.jpg");
}

.v-page-first-visit {
  --v-lower-hero-image: url("../img/vamos/shoot-first-point-01.jpg");
}

.v-page-price {
  --v-lower-hero-image: url("../img/vamos/shoot-service-pilates-p0067.jpg");
}

.v-page-contact {
  --v-lower-hero-image: url("../img/vamos/shoot-cta-line.webp");
}

.v-page-blog {
  --v-lower-hero-image: url("../img/vamos/shoot-service-align-p0047-small.jpg");
}

.v-page-privacy {
  --v-lower-hero-image: linear-gradient(135deg, rgba(53, 62, 65, 0.98), rgba(30, 30, 30, 0.86));
}

.v-lower .vm-lowerMv__inner {
  padding: 8rem 8rem 8rem 20rem;
  position: relative;
  text-shadow: 0 0.3rem 1.8rem rgba(0, 0, 0, 0.28);
  z-index: 1;
}

.v-lower .vm-lowerMv__subHead {
  color: var(--v-color-white);
  font-size: clamp(5rem, 8vw, 11rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.9;
  margin: 0;
}

.v-lower .vm-lowerMv__head {
  color: var(--v-color-white);
  font-size: clamp(3rem, 4.2vw, 5.8rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 2.2rem 0 0;
}

.v-lower .vm-priceSv {
  background: var(--v-color-white);
}

.v-lower .vm-section__main {
  padding-bottom: 9rem;
}

.v-lower .vm-sectionTxts {
  padding-top: 9.6rem;
}

.v-lower .vm-priceContents01__head,
.v-lower .vm-section__head {
  font-size: clamp(3rem, 4.2vw, 5.6rem);
  line-height: 1.22;
}

.v-lower .vm-priceTxts + .v-price-grid,
.v-lower .vm-priceTxts + .v-service-list,
.v-lower .vm-priceTxts + .v-card-grid,
.v-lower .vm-priceTxts + .v-blog-grid {
  margin-top: 5rem;
}

.v-lower .vm-lower__heads,
.v-lower .v-section-heading,
.v-lower .v-lead,
.v-lower .v-card-grid,
.v-lower .v-icon-grid,
.v-lower .v-price-grid,
.v-lower .v-plan-groups,
.v-lower .v-promise-band,
.v-lower .v-info-table,
.v-lower .v-map,
.v-lower .v-access-guide,
.v-lower .v-anchor-nav,
.v-lower .v-service-list,
.v-lower .v-contact-actions,
.v-lower .v-form,
.v-lower .v-policy,
.v-lower .vm-guideFlow,
.v-lower .vm-pricePoint,
.v-lower .vm-guideFaq,
.v-lower .v-priceSolution,
.v-lower .v-cta-row,
.v-lower .v-service-photo-grid,
.v-lower .v-trainer-section,
.v-lower .v-blog-grid,
.v-lower .v-about-access,
.v-lower .v-cost-chart,
.v-lower .v-cost-summary,
.v-lower .v-cost-note,
.v-lower .v-contact-note {
  margin-left: 8rem;
  margin-right: 8rem;
}

.v-lower .vm-lower__heads {
  margin-top: 8rem;
}

.v-lower .v-lead {
  color: var(--v-color-gray);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 2rem;
  max-width: 78rem;
}

.v-page-about .vm-sectionTxts__txt {
  font-size: 1.7rem;
  line-height: 2.05;
}

.v-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  margin-top: 3.2rem;
}

.vm-hover-inner {
  position: relative;
}

.vm-hover-border {
  background: currentColor;
  bottom: -0.2rem;
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: opacity 0.3s ease, transform 0.3s ease;
  width: 100%;
}

@media (hover: hover) {
  a:hover .vm-hover-border,
  button:hover .vm-hover-border {
    opacity: 0.42;
    transform: scaleX(1);
  }
}

.v-card-grid,
.v-icon-grid {
  display: grid;
  gap: 2.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v-card,
.v-plan,
.v-blog-card {
  background: var(--v-color-white);
  border: 1px solid rgba(30, 30, 30, 0.08);
  box-shadow: var(--v-shadow-card);
  min-width: 0;
  padding: 3rem;
  position: relative;
}

.v-card__en,
.v-plan__label,
.v-blog-card__meta {
  color: var(--v-color-orange-text);
  font-family: var(--v-font-en);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.v-card__title,
.v-blog-card__title {
  color: var(--v-color-ink);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 1.4rem 0 0;
}

.v-card p:not([class]),
.v-blog-card__text {
  color: var(--v-color-gray);
  font-size: 1.4rem;
  line-height: 1.9;
  margin: 1.4rem 0 0;
}

.v-price-grid {
  display: grid;
  gap: 2.2rem;
  grid-template-columns: minmax(0, 1fr);
}

.v-plan.--featured {
  align-items: center;
  background: var(--v-color-tint);
  border-color: rgba(242, 140, 27, 0.28);
  display: grid;
  gap: 2.4rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.v-plan__body {
  min-width: 0;
}

.v-page-first-visit .v-plan.--featured,
.v-page-price .v-plan.--featured {
  background: var(--v-color-white);
  border-color: rgba(30, 30, 30, 0.08);
  box-shadow: var(--v-shadow-card);
}

.v-page-first-visit .v-price-grid,
.v-page-price .v-price-grid {
  max-width: 94rem;
}

.v-plan__name {
  color: var(--v-color-ink);
  font-size: clamp(2.3rem, 2.5vw, 3.4rem);
  font-weight: 700;
  line-height: 1.35;
  margin: 1.2rem 0 0;
}

.v-plan.--featured .v-plan__name,
.v-plan.--featured .v-plan__label {
  color: var(--v-color-orange-text);
}

.v-plan__price {
  color: var(--v-color-ink);
  font-family: var(--v-font-en);
  font-size: clamp(4.4rem, 5vw, 7rem);
  font-weight: 700;
  line-height: 0.95;
  margin: 2rem 0 0;
}

.v-plan__price span {
  color: var(--v-color-gray);
  font-family: var(--v-font-ja);
  font-size: 1.5rem;
  margin-left: 0.4rem;
}

.v-plan__unit {
  color: var(--v-color-orange-text);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1.1rem 0 0;
}

.v-plan__descriptor {
  color: var(--v-color-orange-text);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0.8rem 0 0;
}

.v-plan__meta {
  color: var(--v-color-gray);
  font-size: 1.4rem;
  line-height: 1.9;
  margin: 1.6rem 0 0;
}

.v-plan__features {
  display: grid;
  gap: 0.85rem;
  margin: 1.6rem 0 0;
}

.v-plan__features li {
  color: var(--v-color-gray);
  font-size: 1.35rem;
  line-height: 1.7;
  padding-left: 1.8rem;
  position: relative;
}

.v-plan__features li::before {
  background: currentColor;
  border-radius: 50%;
  content: "";
  height: 0.55rem;
  left: 0.2rem;
  opacity: 0.65;
  position: absolute;
  top: 0.85em;
  width: 0.55rem;
}

.v-plan__features strong {
  color: var(--v-color-orange-text);
  font-weight: 700;
}

.v-plan__badge {
  border: 1px solid rgba(30, 30, 30, 0.14);
  color: var(--v-color-gray);
  display: inline-flex;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 1.5rem;
  padding: 0.7rem 1rem;
}

.v-plan-groups {
  display: grid;
  gap: 2.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 4rem;
}

.v-plan-group {
  background: var(--v-color-white);
  border: 1px solid rgba(30, 30, 30, 0.14);
  box-shadow: var(--v-shadow-card);
  padding: 3rem;
}

.v-plan-group--silver {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(239, 243, 246, 0.92));
  border-color: rgba(160, 170, 180, 0.78);
  box-shadow: 0 2.2rem 5rem rgba(96, 108, 120, 0.16);
}

.v-plan-group--gold {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 244, 220, 0.92));
  border-color: rgba(201, 150, 58, 0.78);
  box-shadow: 0 2.2rem 5rem rgba(171, 118, 30, 0.16);
}

.v-plan-group--silver .v-plan-group__en {
  color: #77818c;
}

.v-plan-group--gold .v-plan-group__en {
  color: #b77b13;
}

.v-page-price .v-plan-group .v-plan {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 2.6rem 0 0;
}

.v-page-price .v-plan-group .v-plan + .v-plan {
  border-top: 1px solid var(--v-color-line);
  margin-top: 2.6rem;
}

.v-plan-group__head {
  align-items: end;
  display: flex;
  gap: 1.6rem;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.v-plan-group__en {
  font-family: var(--v-font-en);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.v-plan-group__ja {
  color: var(--v-color-gray);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0;
}

.v-plan-group .v-plan + .v-plan {
  margin-top: 1.8rem;
}

.v-plan-note {
  border-top: 1px solid var(--v-color-line);
  color: var(--v-color-gray);
  font-size: 1.3rem;
  line-height: 1.8;
  margin: 2.4rem 0 0;
  padding-top: 1.8rem;
}

.v-factcheck {
  color: var(--v-color-gray);
}

.vm-system {
  display: grid;
  gap: clamp(2rem, 2vw, 3.2rem);
  grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
  margin-top: clamp(5.2rem, 4vw, 7.2rem);
}

.vm-system--page {
  display: block;
  margin: clamp(6.4rem, 5vw, 8.4rem) 0;
}

.vm-system__copy {
  margin-top: clamp(3.2rem, 3vw, 4.8rem);
  max-width: 78rem;
}

.vm-system__copy h3 {
  color: var(--v-color-ink);
  font-size: clamp(2rem, 2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.7;
  margin: 0;
}

.vm-system__copy p {
  color: var(--v-color-gray);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  margin: clamp(2.4rem, 2.4vw, 3.6rem) 0 0;
}

@media (min-width: 1241px) {
  .v-page-services .vm-system__copy {
    margin-left: max(10rem, calc((100% - var(--v-content-wide)) / 2));
    margin-right: auto;
    width: min(78rem, calc(100% - 20rem));
  }
}

@media (min-width: 901px) and (max-width: 1240px) {
  .v-page-services .vm-system__copy {
    margin-left: 6rem;
    margin-right: 6rem;
    width: min(78rem, calc(100% - 12rem));
  }
}

@media (max-width: 900px) {
  .v-page-services .vm-system__copy {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
    max-width: none;
    width: auto;
  }
}

.vm-cycle {
  counter-reset: cycle;
  display: grid;
  gap: clamp(2.2rem, 2vw, 3rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: clamp(5.2rem, 4vw, 7.2rem) 0 0;
  padding: 0;
}

.vm-cycle li {
  background: transparent;
  border: 0;
  min-height: 100%;
  padding: 0;
  position: relative;
}

.vm-cycle li:not(:last-child)::after {
  border-right: 2px solid var(--v-color-orange);
  border-top: 2px solid var(--v-color-orange);
  content: "";
  height: 1.2rem;
  position: absolute;
  right: -1.7rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 1.2rem;
  z-index: 2;
}

.vm-cycle li:last-child::after {
  border-bottom: 1px solid rgba(243, 136, 18, 0.7);
  border-left: 1px solid rgba(243, 136, 18, 0.7);
  content: "";
  height: 3.2rem;
  position: absolute;
  right: 2.4rem;
  top: calc(100% + 1rem);
  width: calc(300% + 6.6rem);
}

.vm-cycle__num {
  background: none;
  color: var(--v-color-orange-dark);
  display: block;
  font-size: clamp(3.8rem, 4vw, 5.6rem);
  font-weight: 700;
  height: auto;
  line-height: 1;
  margin-bottom: 1.8rem;
  width: auto;
}

.vm-cycle h3 {
  color: var(--v-color-black);
  font-size: clamp(1.7rem, 1.35vw, 2.1rem);
  line-height: 1.45;
  margin: 0 0 1.2rem;
}

.vm-cycle p {
  color: var(--v-color-gray);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.85;
  margin: 0;
}

.vm-cycle--visual li {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.vm-cycle--visual .vm-cycle__image {
  aspect-ratio: 4 / 3;
  background: var(--v-color-soft);
  margin: 0;
  overflow: hidden;
}

.vm-cycle--visual .vm-cycle__image img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
  width: 100%;
}

.vm-cycle--visual li:hover .vm-cycle__image img {
  transform: scale(1.035);
}

.vm-cycle--visual .vm-cycle__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(2.2rem, 2vw, 3rem) 0 0;
}

.vm-cycle--visual .vm-cycle__num {
  margin-bottom: 1.4rem;
}

.vm-cycle--visual li::after {
  content: none;
  display: none;
}

.v-page-price .vm-section__main {
  padding-bottom: clamp(15rem, 10vw, 19rem);
}

.v-page-price .vm-sectionTxts {
  padding-top: clamp(11rem, 8vw, 14rem);
}

.v-page-price .vm-priceTxts + .v-price-grid {
  margin-top: clamp(7.2rem, 5vw, 9rem);
}

.v-page-price .v-price-grid {
  gap: clamp(3rem, 3vw, 4.6rem);
}

.v-page-price .vm-lower__heads {
  margin-top: clamp(10rem, 8vw, 13rem);
}

.v-page-price .vm-lower__heads + .v-lead {
  margin-top: clamp(4rem, 3vw, 5.6rem);
}

.v-page-price .v-lead + .v-plan-groups,
.v-page-price .v-lead + .v-cost-chart {
  margin-top: clamp(6.4rem, 5vw, 8.4rem);
}

.v-page-price .v-plan-groups,
.v-page-price .v-cost-chart {
  gap: clamp(3.6rem, 3.4vw, 5.2rem);
}

.v-page-price .v-plan-group {
  padding: clamp(3.8rem, 3.6vw, 5rem);
}

.v-page-price .v-plan-group__head {
  margin-bottom: clamp(3rem, 3vw, 4.2rem);
}

.v-page-price .v-plan-group .v-plan {
  padding: clamp(3.2rem, 2.8vw, 4rem) 0 0;
}

.v-page-price .v-plan-group .v-plan + .v-plan {
  margin-top: clamp(3.2rem, 3vw, 4.4rem);
  padding-top: clamp(3.2rem, 3vw, 4.4rem);
}

.v-price-tax-note {
  color: var(--v-color-gray);
  font-size: 1.3rem;
  line-height: 1.7;
  margin: 1.6rem 0 0;
  text-align: right;
}

.v-price-guide .v-info-table {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin-top: clamp(4rem, 3vw, 5.6rem);
  overflow: visible;
}

.v-price-guide .v-info-table dl {
  border-radius: 0;
  grid-template-columns: minmax(12rem, 0.24fr) minmax(0, 0.76fr);
}

.v-price-guide .v-info-table::before,
.v-price-guide .v-info-table::after,
.v-price-guide .v-info-table dl::before,
.v-price-guide .v-info-table dl::after {
  content: none;
}

.v-page-price .v-price-guide {
  margin-top: clamp(10rem, 8vw, 13rem);
}

.v-page-price .v-price-guide .vm-lower__heads {
  margin-top: 0;
}

.v-service-list {
  display: grid;
  gap: 4rem;
}

.v-service-block {
  align-items: stretch;
  border-top: 1px solid rgba(30, 30, 30, 0.16);
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(34rem, 0.56fr) minmax(0, 0.44fr);
  grid-template-rows: auto 1fr;
  padding: 5.2rem 0;
}

.v-service-block:last-child {
  border-bottom: 1px solid rgba(30, 30, 30, 0.16);
}

.v-service-block__image {
  aspect-ratio: 16 / 10;
  grid-column: 1;
  grid-row: 1 / span 2;
  overflow: hidden;
}

.v-service-block > div:first-of-type {
  align-self: end;
  grid-column: 2;
  grid-row: 1;
}

.v-service-block > div:last-child {
  grid-column: 2;
  grid-row: 2;
  margin-top: 2.4rem;
}

.v-service-block__image img,
.v-service-photo-card figure img,
.v-blog-card figure img,
.v-trainer-card__image img,
.vm-pricePoint__list--img img,
.v-home-flow__photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.v-service-block__en {
  color: var(--v-color-red);
  font-family: var(--v-font-en);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.v-service-block__title {
  font-size: clamp(2.8rem, 3vw, 4.4rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 1.4rem 0 0;
}

.v-service-block__text {
  color: var(--v-color-gray);
  font-size: 1.5rem;
  line-height: 2;
  margin: 0;
}

.v-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.v-tags span {
  background: var(--v-color-soft);
  color: var(--v-color-gray);
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0.6rem 1rem;
}

.v-treatment-notice {
  border-bottom: 1px solid var(--v-color-line);
  border-top: 1px solid var(--v-color-line);
  display: grid;
  gap: clamp(4rem, 5vw, 7rem);
  grid-template-columns: minmax(24rem, 0.34fr) minmax(0, 0.66fr);
  margin: clamp(7rem, 7vw, 11rem) 8rem 0;
  padding: clamp(4.8rem, 5vw, 7rem) 0;
}

.v-lower .v-treatment-notice .vm-lower__heads {
  max-width: none;
  margin: 0;
  width: auto;
}

.v-treatment-notice__body {
  margin: 0;
  max-width: none;
}

.v-treatment-notice__body p {
  color: var(--v-color-gray);
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 2;
  margin: 0;
}

.v-treatment-notice__body p + p {
  margin-top: 1.6rem;
}

.v-treatment-notice__sources {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2rem;
}

.v-treatment-notice__sources a {
  color: var(--v-color-ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

@media (min-width: 1241px) {
  .v-treatment-notice {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--v-content-wide);
    width: calc(100% - 20rem);
  }
}

.v-service-photo-grid,
.v-blog-grid {
  display: grid;
  gap: 2.2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 4rem;
}

.v-service-photo-card,
.v-blog-card {
  background: var(--v-color-white);
  border: 1px solid rgba(30, 30, 30, 0.08);
  box-shadow: var(--v-shadow-card);
  overflow: hidden;
}

.v-service-photo-card figure,
.v-blog-card figure {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.v-blog-card figure {
  aspect-ratio: 16 / 9;
}

.v-service-photo-card > div,
.v-blog-card > div {
  padding: 2.4rem;
}

.v-blog-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.v-blog-card:hover {
  box-shadow: 0 1.8rem 4.8rem rgba(30, 30, 30, 0.13);
  transform: translateY(-0.4rem);
}

.v-blog-card__link {
  color: inherit;
  display: flex;
  flex: 1;
  flex-direction: column;
  height: auto;
  min-height: 0;
  text-decoration: none;
}

.v-blog-card__link > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2.4rem;
}

.v-blog-card__body .v-blog-card__title {
  margin: 0;
}

.v-blog-card__footer {
  align-items: center;
  border-top: 1px solid rgba(30, 30, 30, 0.1);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
  justify-content: space-between;
  padding: 1.4rem 2.4rem 2rem;
}

.v-blog-card__tags {
  display: flex;
  flex: 1 1 16rem;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.v-blog-card__tag {
  background: transparent;
  border: 0;
  color: var(--v-color-gray);
  display: inline-flex;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  padding: 0;
}

a.v-blog-card__tag {
  text-underline-offset: 0.3em;
  transition: color 0.2s ease;
}

@media (hover: hover) {
  a.v-blog-card__tag:hover {
    color: var(--v-color-ink);
    text-decoration: underline;
  }
}

.v-blog-card__date {
  color: var(--v-color-gray);
  flex: 0 0 auto;
  font-family: var(--v-font-en);
  font-size: 1.15rem;
  font-weight: 600;
  white-space: nowrap;
}

.v-blog-card__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.2rem;
  justify-content: space-between;
  letter-spacing: 0;
  text-transform: none;
}

.v-blog-card__meta time {
  color: var(--v-color-gray);
  font-family: var(--v-font-en);
  font-size: 1.2rem;
  font-weight: 500;
}

.v-blog-card__more {
  align-items: center;
  color: var(--v-color-ink);
  display: inline-flex;
  font-size: 1.3rem;
  font-weight: 700;
  gap: 0.8rem;
  margin-top: auto;
  padding-top: 2rem;
}

.v-blog-card__more::after {
  content: "↗";
  color: var(--v-color-orange-text);
  font-size: 1.6rem;
}

.v-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
  margin-top: 5rem;
}

.v-pagination .page-numbers {
  align-items: center;
  border: 0;
  color: var(--v-color-ink);
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 700;
  justify-content: center;
  min-height: 3.6rem;
  min-width: 3.2rem;
  padding: 0.6rem;
}

.v-pagination .current {
  background: transparent;
  color: var(--v-color-orange-text);
}

.v-pagination .prev,
.v-pagination .next {
  font-size: 2rem;
}

.v-blog-hero {
  background: var(--v-color-soft);
  overflow: hidden;
  padding: clamp(7rem, 8vw, 12rem) 0 clamp(5rem, 6vw, 8rem);
}

.v-blog-marquee {
  display: flex;
  overflow: hidden;
}

.v-blog-marquee__track {
  align-items: center;
  animation: v-service-marquee 34s linear infinite;
  display: flex;
  flex: 0 0 auto;
  min-width: max-content;
  will-change: transform;
}

.v-blog-marquee__track h1,
.v-blog-marquee__track h2,
.v-blog-marquee__track span {
  color: var(--v-color-ink);
  font-family: var(--v-font-en);
  font-size: clamp(8rem, 15vw, 22rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.86;
  margin: 0;
  padding-right: clamp(4rem, 6vw, 9rem);
  white-space: nowrap;
}

.v-blog-marquee--home {
  padding: clamp(5rem, 6vw, 8rem) 0;
}

.v-blog-marquee--home .v-blog-marquee__track h2,
.v-blog-marquee--home .v-blog-marquee__track span {
  color: #e1e1de;
}

.v-blog-hero__lead {
  color: var(--v-color-gray);
  font-size: clamp(1.5rem, 1.4vw, 1.8rem);
  line-height: 2;
  margin: clamp(4rem, 5vw, 7rem) auto 0;
  max-width: var(--v-content-wide);
  width: calc(100% - 17rem);
}

.v-page-blog .vm-priceSv .vm-section__main {
  padding-top: 0;
}

.v-page-blog .v-blog-grid {
  align-items: stretch;
}

.v-page-blog .v-blog-card__title {
  min-height: 6.4rem;
}

.v-page-single .vm-header {
  background: var(--v-color-white);
  position: relative;
}

.v-article-shell {
  background: var(--v-color-white);
  padding: clamp(8rem, 8vw, 13rem) clamp(2rem, 5vw, 8rem) clamp(10rem, 10vw, 16rem);
}

.v-article {
  margin: 0 auto;
  max-width: 88rem;
}

.v-breadcrumb {
  align-items: center;
  color: var(--v-color-gray);
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  gap: 0.8rem;
  line-height: 1.7;
  margin: 0 auto 4rem;
  max-width: 108rem;
}

.v-breadcrumb a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.v-article__category {
  color: var(--v-color-orange-text);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0;
}

.v-article__title {
  color: var(--v-color-ink);
  font-size: clamp(3.4rem, 5vw, 6.4rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.35;
  margin: 1.8rem 0 0;
}

.v-article__summary {
  color: var(--v-color-gray);
  font-size: clamp(1.6rem, 1.5vw, 1.9rem);
  line-height: 2;
  margin: 3rem 0 0;
  max-width: 74rem;
}

.v-article__meta {
  align-items: center;
  border-top: 1px solid rgba(30, 30, 30, 0.12);
  color: var(--v-color-gray);
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  gap: 1rem 2rem;
  margin-top: 3.2rem;
  padding-top: 2rem;
}

.v-article__hero {
  aspect-ratio: 16 / 9;
  margin: clamp(4rem, 5vw, 6.4rem) 0 0;
  overflow: hidden;
}

.v-article__hero img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.v-article__body {
  color: var(--v-color-ink);
  font-size: clamp(1.6rem, 1.4vw, 1.8rem);
  line-height: 2;
  margin: clamp(5rem, 6vw, 8rem) auto 0;
  max-width: 76rem;
}

.v-article__body > *:first-child {
  margin-top: 0;
}

.v-article__body h2 {
  border-top: 1px solid rgba(30, 30, 30, 0.2);
  font-size: clamp(2.5rem, 3vw, 3.6rem);
  font-weight: 800;
  line-height: 1.5;
  margin: 7rem 0 2.2rem;
  padding-top: 2.8rem;
}

.v-article__body h3 {
  border-left: 0.4rem solid var(--v-color-orange-text);
  font-size: clamp(2rem, 2.2vw, 2.6rem);
  font-weight: 800;
  line-height: 1.55;
  margin: 4.5rem 0 1.6rem;
  padding-left: 1.6rem;
}

.v-article__body p,
.v-article__body ul,
.v-article__body ol {
  margin: 1.8rem 0 0;
}

.v-article__body ul,
.v-article__body ol {
  padding-left: 1.4em;
}

.v-article__body li + li {
  margin-top: 0.8rem;
}

.v-article__body ul li {
  list-style: disc;
}

.v-article__body ol li {
  list-style: decimal;
}

.v-article__body a {
  color: var(--v-color-orange-dark);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

.v-article__body strong {
  font-weight: 800;
}

.v-article-media {
  margin: clamp(3.6rem, 5vw, 5.6rem) 0;
}

.v-article-media img {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.v-article-media figcaption {
  border-bottom: 1px solid rgba(30, 30, 30, 0.14);
  color: var(--v-color-gray);
  font-size: 1.2rem;
  line-height: 1.7;
  margin-top: 1.2rem;
  padding-bottom: 1.2rem;
}

.v-article__answer,
.v-article__checklist {
  background: var(--v-color-soft);
  margin: 3rem 0;
  padding: 2.4rem 2.8rem;
}

.v-article__answer {
  border-top: 0.3rem solid var(--v-color-orange-text);
  font-size: 1.9rem;
  font-weight: 800;
}

.v-article__answer p:first-child,
.v-article__checklist > *:first-child {
  margin-top: 0;
}

.v-article__checklist > strong {
  display: block;
  font-size: 1.7rem;
}

.v-article__checklist ul,
.v-article__checklist ol {
  margin-top: 1.2rem;
}

.v-article__toc,
.v-article__note,
.v-article__sources {
  background: var(--v-color-soft);
  border-left: 0.4rem solid var(--v-color-orange-text);
  margin: 4rem 0;
  padding: 2.4rem 2.8rem;
}

.v-article__toc > strong,
.v-article__sources > strong {
  display: block;
  font-size: 1.7rem;
  margin-bottom: 1rem;
}

.v-article__toc ol,
.v-article__sources ul {
  margin-top: 0.8rem;
}

.v-article__author {
  align-items: flex-start;
  border-bottom: 1px solid rgba(30, 30, 30, 0.14);
  border-top: 1px solid rgba(30, 30, 30, 0.14);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: auto 1fr;
  margin: 6rem auto 0;
  max-width: 76rem;
  padding: 2.8rem 0;
}

.v-article__author-label {
  color: var(--v-color-orange-text);
  font-family: var(--v-font-en);
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
}

.v-article__author-name {
  font-size: 1.7rem;
  font-weight: 800;
  margin: 0;
}

.v-article__author-text {
  color: var(--v-color-gray);
  font-size: 1.3rem;
  line-height: 1.8;
  margin: 0.6rem 0 0;
}

.v-related {
  margin: clamp(8rem, 8vw, 12rem) auto 0;
  max-width: 108rem;
}

.v-related__title {
  font-size: clamp(2.8rem, 3vw, 4rem);
  font-weight: 800;
  margin: 0;
}

.v-related .v-blog-grid {
  margin-top: 3.2rem;
}

.v-home-journal,
.v-home-journal .vm-section__main,
.v-home-journal .vm-section__side,
.v-home-journal .v-blog-marquee,
.v-home-journal .v-blog-grid {
  background: var(--v-color-tint);
}

.v-home-journal .v-section-heading,
.v-home-journal .v-blog-grid,
.v-home-journal .v-section-cta {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--v-content-wide);
  width: calc(100% - 17rem);
}

.v-home-journal .v-section-heading {
  padding-top: clamp(10rem, 10vw, 15rem);
}

.v-home-journal .v-blog-grid {
  margin-top: clamp(4rem, 5vw, 7rem);
}

.v-home-journal .v-blog-card__title {
  min-height: 6.4rem;
}

.v-home-journal .v-blog-card--compact .v-blog-card__title {
  margin: 0;
}

.v-no-posts {
  color: var(--v-color-gray);
  font-size: 1.6rem;
  line-height: 1.9;
  margin-top: 5rem;
}

.v-service-photo-card__en {
  color: var(--v-color-red);
  font-family: var(--v-font-en);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.v-service-photo-card__title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 1.2rem 0 0;
}

.v-service-photo-card__text {
  color: var(--v-color-gray);
  font-size: 1.3rem;
  line-height: 1.8;
  margin: 1rem 0 0;
}

.v-promise-band {
  margin-top: 4rem;
}

.v-promise-accordion {
  border-top: 1px solid var(--v-color-promise-line);
}

.v-promise-item {
  border-bottom: 1px solid var(--v-color-promise-line);
}

.v-promise-item summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 2rem;
  grid-template-columns: 18rem minmax(0, 1fr) 3rem;
  list-style: none;
  padding: 2.4rem 0;
}

.v-promise-item summary::-webkit-details-marker {
  display: none;
}

.v-promise-item__meta {
  color: var(--v-color-red);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.v-promise-item__title {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.5;
}

.v-promise-item__body {
  color: var(--v-color-gray);
  font-size: 1.4rem;
  line-height: 1.9;
  padding: 0 4rem 2.8rem 20rem;
}

.v-promise-item__plus,
.v-trainer-card__plus {
  color: var(--v-color-line-soft);
  display: inline-block;
  height: 2.6rem;
  position: relative;
  width: 2.6rem;
}

.v-promise-item__plus::before,
.v-promise-item__plus::after,
.v-trainer-card__plus::before,
.v-trainer-card__plus::after {
  background: currentColor;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.v-promise-item__plus::before,
.v-trainer-card__plus::before {
  height: 0.2rem;
  width: 100%;
}

.v-promise-item__plus::after,
.v-trainer-card__plus::after {
  height: 100%;
  width: 0.2rem;
}

.v-promise-item[open] .v-promise-item__plus::after,
.v-trainer-card[open] .v-trainer-card__plus::after {
  opacity: 0;
}

.v-trainer-section {
  margin-top: 5.6rem;
  padding-bottom: 3rem;
}

.v-trainer-grid {
  align-items: start;
  display: grid;
  gap: 2.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v-trainer-card {
  background: var(--v-color-charcoal);
  box-shadow: var(--v-shadow-card);
  color: var(--v-color-white);
  min-width: 0;
}

.v-trainer-card summary {
  cursor: pointer;
  list-style: none;
}

.v-trainer-card summary::-webkit-details-marker {
  display: none;
}

.v-trainer-card__image {
  aspect-ratio: 4 / 5;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.v-trainer-card__head {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 2.4rem;
}

.v-trainer-card__num,
.v-trainer-card__en {
  color: rgba(255, 255, 255, 0.62);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.v-trainer-card__name {
  color: var(--v-color-white);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0.8rem 0 0;
}

.v-trainer-card__detail {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.35rem;
  line-height: 1.9;
  padding: 2.4rem;
}

.v-trainer-card__meta {
  display: grid;
  gap: 1rem;
  margin: 0 0 2rem;
}

.v-trainer-card__meta div {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 5rem minmax(0, 1fr);
}

.v-trainer-card__meta dt {
  color: var(--v-color-red);
  font-weight: 700;
}

.v-trainer-card__meta dd,
.v-trainer-card__detail p {
  margin: 0;
}

.v-trainer-card__detail p + p {
  margin-top: 1.4rem;
}

.v-about-access {
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
  margin-top: 4rem;
}

.v-info-table {
  border-top: 1px solid var(--v-color-line);
  box-shadow: var(--v-shadow-card);
}

.v-info-table dl {
  border-bottom: 1px solid var(--v-color-line);
  display: grid;
  gap: 2rem;
  grid-template-columns: 9.6rem minmax(0, 1fr);
  margin: 0;
  padding: 2rem 0;
}

.v-info-table dt {
  color: var(--v-color-red);
  font-family: var(--v-font-en);
  font-size: 1.3rem;
  font-weight: 700;
}

.v-info-table dd {
  color: var(--v-color-ink);
  font-size: 1.4rem;
  line-height: 1.9;
  margin: 0;
}

.v-access-summary dl {
  gap: 1.6rem;
  padding: 1.55rem 0;
}

.v-access-summary dt {
  font-size: 1.15rem;
}

.v-access-summary dd {
  font-size: 1.3rem;
  line-height: 1.75;
}

.v-access-detail {
  color: var(--v-color-gray);
  display: block;
  font-size: 1.15rem;
  line-height: 1.65;
  margin-top: 0.35rem;
}

.v-access-photo-grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.4rem;
}

.v-access-placeholder {
  aspect-ratio: 4 / 3;
  background:
    linear-gradient(135deg, rgba(243, 136, 18, 0.08), rgba(53, 62, 65, 0.04)),
    var(--v-color-soft);
  border: 1px solid rgba(30, 30, 30, 0.14);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0;
  padding: 1.6rem;
}

.v-access-placeholder span {
  color: rgba(53, 62, 65, 0.42);
  font-family: var(--v-font-en);
  font-size: 1.4rem;
  font-weight: 700;
  text-transform: uppercase;
}

.v-access-placeholder figcaption {
  color: var(--v-color-black);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
}

.v-access-photos {
  margin-top: clamp(5.6rem, 5vw, 8rem);
}

.v-access-photos > h3 {
  color: var(--v-color-black);
  font-size: clamp(2rem, 1.8vw, 2.8rem);
  line-height: 1.45;
  margin: 0;
}

.v-access-photo {
  background: var(--v-color-white);
  border: 1px solid rgba(30, 30, 30, 0.12);
  margin: 0;
  overflow: hidden;
}

.v-access-photo img {
  aspect-ratio: 4 / 3;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.v-access-photo figcaption {
  color: var(--v-color-ink);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 1.4rem 1.6rem;
}

.v-access-route {
  border: 1px solid rgba(30, 30, 30, 0.14);
  margin: 2.4rem 8rem 0;
  padding: clamp(2.4rem, 2.4vw, 3.6rem);
}

@media (min-width: 1241px) {
  .v-access-route {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--v-content-wide);
    width: calc(100% - 20rem);
  }
}

.v-access-route h3 {
  color: var(--v-color-black);
  font-size: clamp(1.8rem, 1.5vw, 2.2rem);
  line-height: 1.45;
  margin: 0 0 2rem;
}

.v-access-route ol {
  display: grid;
  gap: 1.6rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.v-access-route li {
  align-items: center;
  border-top: 1px solid rgba(30, 30, 30, 0.12);
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 4.8rem 1fr;
  padding-top: 1.6rem;
}

.v-access-route span {
  color: var(--v-color-orange);
  font-size: 1.5rem;
  font-weight: 700;
}

.v-access-route p {
  color: var(--v-color-gray);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
  margin: 0;
}

.v-nowrap {
  white-space: nowrap;
}

.v-map {
  background: var(--v-color-soft);
  border: 1px solid var(--v-color-line);
  display: block;
  min-height: 34rem;
  overflow: hidden;
  padding: 0;
}

.v-map iframe {
  border: 0;
  height: 100%;
  min-height: 34rem;
  width: 100%;
}

.v-map__text {
  box-sizing: border-box;
  color: var(--v-color-gray);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.8;
  margin: 0;
  padding: 3rem;
  text-align: center;
  width: 100%;
}

.v-map__link {
  color: var(--v-color-red);
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1.4rem 0 0;
  max-width: 100%;
  min-width: min(24rem, 100%);
  text-align: center;
  white-space: normal;
  writing-mode: horizontal-tb;
}

.vm-guideFlow {
  margin-top: 6.4rem;
}

.vm-guideFlow__content {
  overflow-x: auto;
}

.vm-guideFlow__list {
  display: flex;
  min-width: max-content;
}

.vm-guideFlow__list li {
  flex: 0 0 31rem;
}

.v-home-flow .vm-guideFlow__list--content {
  background: var(--v-color-white);
  border: 1px solid rgba(242, 140, 27, 0.24);
  border-left: 0;
  box-shadow: var(--v-shadow-card);
  min-height: 31rem;
  overflow: visible;
  padding: 0 0 5rem;
}

.v-home-flow .vm-guideFlow__list li:first-child .vm-guideFlow__list--content {
  border-left: 1px solid rgba(242, 140, 27, 0.32);
}

.v-home-flow__photo {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.v-home-flow .v-home-flow__icon {
  align-items: center;
  background: var(--v-gradient-orange);
  border: 0.6rem solid var(--v-color-white);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(242, 140, 27, 0.34);
  color: var(--v-color-white);
  display: flex;
  font-family: var(--v-font-en);
  font-size: 1.8rem;
  font-weight: 700;
  height: 7rem;
  justify-content: center;
  line-height: 1;
  margin: -3.5rem 0 0 3.2rem;
  position: relative;
  width: 7rem;
  z-index: 2;
}

.v-home-flow .vm-guideFlow__list--head {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 3rem 2.8rem 0;
  text-align: left;
}

.v-scroll-hint {
  display: none;
}

.vm-pricePoint {
  margin-top: 3.6rem;
}

.vm-pricePoint__list {
  display: grid;
  gap: 2.2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vm-pricePoint__list--content {
  border: 1px solid rgba(30, 30, 30, 0.1);
  background: var(--v-color-white);
}

.vm-pricePoint__list--img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.vm-pricePoint__list--txts {
  padding: 2.4rem;
}

.vm-pricePoint__list--num {
  color: var(--v-color-red);
  font-family: var(--v-font-en);
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
}

.vm-pricePoint__list--head {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 1.2rem 0 0;
}

.vm-pricePoint__list--txt {
  color: var(--v-color-gray);
  font-size: 1.4rem;
  line-height: 1.9;
  margin: 1.2rem 0 0;
}

.v-page-first-visit .v-firstvisit-flow {
  margin-top: clamp(5rem, 5vw, 7rem);
}

.v-page-first-visit .v-firstvisit-flow .vm-lower__heads {
  margin-left: 0;
  margin-right: 0;
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .vm-guideFlow__content {
  margin-top: clamp(4.8rem, 4vw, 6.4rem);
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .vm-guideFlow__list {
  gap: clamp(2rem, 2vw, 3rem);
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .vm-guideFlow__list li {
  flex: 0 0 24rem;
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .vm-guideFlow__list--content {
  align-items: center;
  background: var(--v-color-white);
  border: 1px solid rgba(242, 140, 27, 0.24);
  box-shadow: var(--v-shadow-card);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 23rem;
  padding: 4.6rem 2.6rem 4rem;
  text-align: center;
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .v-home-flow__symbol {
  height: 9rem;
  margin: 0;
  width: 9rem;
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .v-home-flow__symbol img {
  display: block;
  height: 7.6rem;
  object-fit: contain;
  width: 7.6rem;
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .v-home-flow__icon {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--v-color-orange-text);
  display: block;
  font-size: 3rem;
  height: auto;
  left: 1.2rem;
  line-height: 1;
  margin: 0;
  position: absolute;
  top: -4.8rem;
  width: auto;
}

.v-page-first-visit .v-firstvisit-flow.v-home-flow--icons .vm-guideFlow__list--head {
  color: var(--v-color-ink);
  font-size: 1.8rem;
  margin: 2rem 0 0;
  padding: 0;
  position: relative;
  text-align: center;
  text-shadow: none;
}

.vm-guideFaq {
  margin-top: 7rem;
}

.v-cost-chart {
  display: grid;
  gap: 2.4rem;
  margin-top: 4rem;
}

.v-cost-value-row {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 4rem;
}

.v-cost-value-row__item {
  background: var(--v-color-white);
  border: 1px solid rgba(30, 30, 30, 0.1);
  color: var(--v-color-ink);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.65;
  padding: 1.8rem 2rem;
}

.v-cost-value-row__item strong {
  color: var(--v-color-orange-text);
  display: block;
  font-family: var(--v-font-en);
  font-size: 1.9rem;
  line-height: 1.1;
  margin-bottom: 0.8rem;
}

.v-cost-chart__group {
  background: var(--v-color-white);
  border: 1px solid #d7d7d7;
  padding: 3rem 3.4rem;
}

.v-cost-chart__group.--featured {
  border-color: rgba(196, 106, 0, 0.35);
  box-shadow: var(--v-shadow-card-strong);
  padding: 4.2rem 4rem;
}

.v-cost-chart__group.--compact {
  opacity: 0.94;
}

.v-cost-chart__title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 2.6rem;
}

.v-cost-chart__row {
  align-items: center;
  display: grid;
  gap: 2.4rem;
  grid-template-columns: 18rem minmax(0, 1fr);
}

.v-cost-chart__row + .v-cost-chart__row {
  margin-top: 1.6rem;
}

.v-cost-chart__label {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0;
}

.v-cost-chart__track {
  background: #eeeeec;
  min-height: 5rem;
  overflow: hidden;
}

.v-cost-chart__bar {
  align-items: center;
  display: flex;
  height: 5rem;
  min-width: 24rem;
  padding: 0 2rem;
  width: var(--bar-width);
}

.v-cost-chart__bar.--separate {
  background: #9a9a9a;
  color: var(--v-color-white);
}

.v-cost-chart__bar.--vamos {
  background: var(--v-gradient-cta);
  color: var(--v-color-white);
  min-width: 16rem;
}

.v-cost-chart__bar span {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.v-page-price .v-cost-chart__group {
  padding: clamp(3.8rem, 3.4vw, 5.2rem);
}

.v-page-price .v-cost-chart__title {
  margin-bottom: clamp(3rem, 2.8vw, 4rem);
}

.v-page-price .v-cost-chart__row {
  gap: clamp(2.8rem, 2.8vw, 4rem);
}

.v-page-price .v-cost-chart__row + .v-cost-chart__row {
  margin-top: clamp(2.4rem, 2.2vw, 3.4rem);
}

.v-cost-summary {
  color: var(--v-color-ink);
  font-size: clamp(2.2rem, 2.8vw, 3.4rem);
  font-weight: 700;
  line-height: 1.45;
  margin-top: 3rem;
}

.v-cost-summary strong {
  color: var(--v-color-orange-text);
  font-family: var(--v-font-en);
}

.v-cost-note,
.v-contact-note {
  color: var(--v-color-gray);
  font-size: 1.3rem;
  line-height: 1.9;
  margin-top: 2rem;
}

.v-policy {
  color: var(--v-color-ink);
  font-size: 1.5rem;
  line-height: 2;
  margin-top: 8rem;
  max-width: 88rem;
}

.v-policy h2 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 4rem 0 1.2rem;
}

.v-policy h2:first-child {
  font-size: clamp(3rem, 4vw, 5.2rem);
  margin-top: 0;
}

.v-policy p,
.v-policy ul {
  margin: 1.2rem 0 0;
}

.v-policy li {
  list-style: disc;
  margin-left: 1.6em;
}

.v-contact-methods {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v-contact-methods .v-cta-row {
  margin-left: 0;
  margin-right: 0;
}

.v-lower .vm-section__main {
  padding-bottom: clamp(12rem, 8vw, 16rem);
}

.v-lower .vm-sectionTxts {
  row-gap: clamp(6rem, 4.5vw, 8.4rem);
}

.v-lower .vm-sectionTxts__txt {
  margin-top: clamp(3.2rem, 2.6vw, 4.6rem);
}

.v-lower .vm-priceTxts + .v-price-grid,
.v-lower .vm-priceTxts + .v-service-list,
.v-lower .vm-priceTxts + .v-card-grid,
.v-lower .vm-priceTxts + .v-blog-grid,
.v-lower .v-lead + .v-plan-groups,
.v-lower .v-lead + .v-cost-chart,
.v-lower .v-lead + .v-card-grid,
.v-lower .v-lead + .v-service-photo-grid,
.v-lower .v-lead + .v-about-access {
  margin-top: clamp(6.4rem, 5vw, 8.4rem);
}

.v-lower .v-card-grid,
.v-lower .v-icon-grid,
.v-lower .v-plan-groups,
.v-lower .v-service-photo-grid,
.v-lower .v-trainer-section,
.v-lower .v-blog-grid,
.v-lower .v-about-access,
.v-lower .v-cost-chart {
  gap: clamp(3rem, 3vw, 4.6rem);
}

.v-lower .v-cta-row {
  justify-content: flex-end;
  margin-top: clamp(4rem, 3.6vw, 6rem);
  margin-bottom: clamp(2rem, 2.5vw, 4rem);
}

.v-card {
  display: flex;
  flex-direction: column;
}

.v-card .v-cta-row {
  margin-top: auto;
  padding-top: clamp(3rem, 3vw, 4.8rem);
}

.v-lower .vm-sectionTxts {
  grid-template-columns: minmax(0, 1fr);
  max-width: 96rem;
}

.v-lower .vm-sectionTxts__txts {
  max-width: 78rem;
}

.vm-sectionTxts__lead {
  color: var(--v-color-ink);
  font-size: clamp(2rem, 2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.7;
  margin: 0;
}

.v-about-service-overview,
.v-about-staff-band,
.v-about-access-band {
  margin: clamp(8rem, 7vw, 12rem) 0 0;
  padding: clamp(6rem, 5vw, 8rem) 8rem;
}

.v-about-service-overview {
  background: var(--v-gradient-cta);
  border-radius: 0;
  color: var(--v-color-white);
}

.v-about-service-overview .vm-lower__heads,
.v-about-service-overview .v-lead,
.v-about-service-overview .v-service-photo-grid,
.v-about-staff-band .vm-lower__heads,
.v-about-staff-band .v-trainer-section,
.v-about-access-band .vm-lower__heads,
.v-about-access-band .v-about-access {
  margin-left: 0;
  margin-right: 0;
}

.v-about-service-overview .v-service-photo-card {
  background: var(--v-color-white);
  color: var(--v-color-ink);
}

.v-about-service-overview .v-service-photo-card__title,
.v-about-service-overview .v-service-photo-card__btn {
  color: var(--v-color-ink);
}

.v-page-about .v-about-service-overview .vm-lower__heads {
  margin-top: 0;
}

.v-about-service-overview .vm-lower__head,
.v-about-service-overview .vm-lower__subHead,
.v-about-service-overview .v-lead {
  color: var(--v-color-white);
}

.v-about-service-overview .v-lead {
  opacity: 0.9;
}

.v-about-service-overview .v-service-photo-grid {
  margin-top: clamp(5rem, 4vw, 6.8rem);
}

.v-about-staff-band {
  background: var(--v-color-white);
  border-radius: 0;
}

.v-about-staff-band .vm-lower__heads {
  margin-top: 0;
}

.v-about-staff-band .v-trainer-section {
  margin-top: clamp(5rem, 4vw, 6.8rem);
  padding-bottom: 0;
}

.v-about-access-band {
  background: var(--v-color-soft);
  border-radius: 0;
}

.v-about-access-band .vm-lower__heads {
  margin-top: 0;
}

.v-service-photo-card figure {
  border-radius: 0;
  margin: 0;
}

.v-service-photo-card figure img {
  border-radius: 0;
  display: block;
}

.v-service-block {
  border-radius: 0;
}

.v-service-block__image,
.v-service-block__image img {
  border-radius: 0;
}

.v-service-photo-card {
  overflow: hidden;
}

.v-service-photo-card figure {
  border-radius: var(--v-radius-card) var(--v-radius-card) 0 0;
  overflow: hidden;
}

.v-service-photo-card figure img {
  border-radius: 0;
}

.v-page-services .vm-priceSv,
.v-page-first-visit .vm-priceSv,
.v-page-contact .vm-priceSv {
  background: var(--v-color-soft);
}

@media (min-width: 1241px) {
  .v-lower .vm-lowerMv__inner,
  .v-lower .vm-sectionTxts,
  .v-lower .vm-lower__heads,
  .v-lower .v-section-heading,
  .v-lower .v-lead,
  .v-lower .v-card-grid,
  .v-lower .v-icon-grid,
  .v-lower .v-price-grid,
  .v-lower .v-plan-groups,
  .v-lower .v-promise-band,
  .v-lower .v-info-table,
  .v-lower .v-map,
  .v-lower .v-access-guide,
  .v-lower .v-anchor-nav,
  .v-lower .v-service-list,
  .v-lower .v-contact-actions,
  .v-lower .v-form,
  .v-lower .v-policy,
  .v-lower .vm-guideFlow,
  .v-lower .vm-pricePoint,
  .v-lower .vm-guideFaq,
  .v-lower .v-priceSolution,
  .v-lower .v-cta-row,
  .v-lower .v-service-photo-grid,
  .v-lower .v-trainer-section,
  .v-lower .v-blog-grid,
  .v-lower .v-about-access,
  .v-lower .v-cost-chart,
  .v-lower .v-cost-summary,
  .v-lower .v-cost-note,
  .v-lower .v-contact-note {
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 20rem);
  }

  .v-lower .vm-lowerMv__inner,
  .v-lower .vm-sectionTxts,
  .v-lower .vm-lower__heads,
  .v-lower .v-section-heading,
  .v-lower .v-card-grid,
  .v-lower .v-icon-grid,
  .v-lower .v-price-grid,
  .v-lower .v-plan-groups,
  .v-lower .v-promise-band,
  .v-lower .v-info-table,
  .v-lower .v-map,
  .v-lower .v-access-guide,
  .v-lower .v-anchor-nav,
  .v-lower .v-service-list,
  .v-lower .v-contact-actions,
  .v-lower .v-form,
  .v-lower .vm-guideFlow,
  .v-lower .vm-pricePoint,
  .v-lower .vm-guideFaq,
  .v-lower .v-priceSolution,
  .v-lower .v-cta-row,
  .v-lower .v-service-photo-grid,
  .v-lower .v-trainer-section,
  .v-lower .v-blog-grid,
  .v-lower .v-about-access,
  .v-lower .v-cost-chart,
  .v-lower .v-cost-summary,
  .v-lower .v-cost-note,
  .v-lower .v-contact-note {
    max-width: var(--v-content-wide);
  }

  .v-lower .vm-lowerMv__inner,
  .v-lower .vm-sectionTxts {
    padding-left: 0;
    padding-right: 0;
  }

  .v-about-service-overview .vm-lower__heads,
  .v-about-service-overview .v-service-photo-grid,
  .v-about-staff-band .vm-lower__heads,
  .v-about-staff-band .v-trainer-section,
  .v-about-access-band .vm-lower__heads,
  .v-about-access-band .v-about-access {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--v-content-wide);
    width: 100%;
  }

  .v-about-service-overview .v-lead {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--v-content-narrow);
    width: 100%;
  }
}

@media (max-width: 1240px) {
  .v-lower .vm-lower__heads,
  .v-lower .v-section-heading,
  .v-lower .v-lead,
  .v-lower .v-card-grid,
  .v-lower .v-icon-grid,
  .v-lower .v-price-grid,
  .v-lower .v-plan-groups,
  .v-lower .v-promise-band,
  .v-lower .v-info-table,
  .v-lower .v-map,
  .v-lower .v-access-guide,
  .v-lower .v-anchor-nav,
  .v-lower .v-service-list,
  .v-lower .v-contact-actions,
  .v-lower .v-form,
  .v-lower .v-policy,
  .v-lower .vm-guideFlow,
  .v-lower .vm-pricePoint,
  .v-lower .vm-guideFaq,
  .v-lower .v-priceSolution,
  .v-lower .v-cta-row,
  .v-lower .v-service-photo-grid,
  .v-lower .v-trainer-section,
  .v-lower .v-blog-grid,
  .v-lower .v-about-access,
  .v-lower .v-cost-chart,
  .v-lower .v-cost-summary,
  .v-lower .v-cost-note,
  .v-lower .v-contact-note {
    margin-left: 6rem;
    margin-right: 6rem;
  }

  .v-service-block {
    grid-template-columns: minmax(26rem, 0.46fr) minmax(0, 0.54fr);
  }

  .v-service-block__image {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .v-service-block > div:first-of-type {
    grid-column: 2;
    grid-row: 1;
  }

  .v-service-block > div:last-child {
    grid-column: 2;
    grid-row: 2;
  }

  .v-treatment-notice {
    margin-left: 6rem;
    margin-right: 6rem;
  }
}

@media (max-width: 900px) {
  .v-lower .vm-lowerMv {
    min-height: 30rem;
  }

  .v-lower .vm-lowerMv__inner {
    padding: 6rem 2.4rem;
  }

  .v-lower .vm-lowerMv__subHead {
    font-size: clamp(4rem, 18vw, 7.6rem);
  }

  .v-lower .vm-lowerMv__head {
    font-size: 3rem;
  }

  .v-lower .vm-sectionTxts {
    padding-top: 4.8rem;
  }

  .v-lower .vm-lower__heads,
  .v-lower .v-section-heading,
  .v-lower .v-lead,
  .v-lower .v-card-grid,
  .v-lower .v-icon-grid,
  .v-lower .v-price-grid,
  .v-lower .v-plan-groups,
  .v-lower .v-promise-band,
  .v-lower .v-info-table,
  .v-lower .v-map,
  .v-lower .v-access-guide,
  .v-lower .v-anchor-nav,
  .v-lower .v-service-list,
  .v-lower .v-contact-actions,
  .v-lower .v-form,
  .v-lower .v-policy,
  .v-lower .vm-guideFlow,
  .v-lower .vm-pricePoint,
  .v-lower .vm-guideFaq,
  .v-lower .v-priceSolution,
  .v-lower .v-cta-row,
  .v-lower .v-service-photo-grid,
  .v-lower .v-trainer-section,
  .v-lower .v-blog-grid,
  .v-lower .v-about-access,
  .v-lower .v-cost-chart,
  .v-lower .v-cost-summary,
  .v-lower .v-cost-note,
  .v-lower .v-contact-note {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }

  .v-lower .vm-lower__heads {
    margin-top: 5.6rem;
  }

  .v-card-grid,
  .v-icon-grid,
  .v-plan-groups,
  .v-service-photo-grid,
  .v-trainer-grid,
  .v-blog-grid,
  .v-about-access,
  .v-contact-methods,
  .vm-pricePoint__list {
    grid-template-columns: 1fr;
  }

  .v-plan.--featured {
    display: block;
  }

  .v-plan-group,
  .v-card,
  .v-plan,
  .v-blog-card {
    padding: 2.4rem;
  }

  .v-service-block {
    display: block;
    padding: 3.2rem 0;
  }

  .v-service-block__title {
    margin-bottom: 1.8rem;
  }

  .v-service-block__image {
    margin-bottom: 2.2rem;
  }

  .v-treatment-notice {
    display: block;
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }

  .v-treatment-notice__body {
    margin-top: clamp(3rem, 8vw, 4.8rem);
  }

  .v-access-route {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }

  .v-promise-item summary {
    gap: 1.4rem;
    grid-template-columns: minmax(0, 1fr) 2.6rem;
  }

  .v-promise-item__meta {
    grid-column: 1 / -1;
  }

  .v-promise-item__body {
    padding: 0 0 2.4rem;
  }

  .v-info-table dl,
  .v-trainer-card__meta div {
    display: block;
  }

  .v-info-table dd,
  .v-trainer-card__meta dd {
    margin-top: 0.6rem;
  }

  .v-scroll-hint {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
    margin: 1.4rem 2.4rem 0;
  }

  .v-scroll-hint__btn {
    align-items: center;
    background: var(--v-color-charcoal);
    border-radius: 50%;
    color: var(--v-color-white);
    display: flex;
    font-family: var(--v-font-en);
    font-size: 1.8rem;
    font-weight: 700;
    height: 4.2rem;
    justify-content: center;
    width: 4.2rem;
  }

  .vm-guideFlow__list li {
    flex-basis: 28rem;
  }

  .v-cost-chart__group {
    padding: 2.4rem 2rem;
  }

  .v-cost-chart__row {
    display: block;
  }

  .v-cost-chart__track {
    margin-top: 1rem;
  }

  .v-cost-chart__bar {
    min-width: 18rem;
  }

  .vm-guideFaq {
    display: block;
  }

  .vm-guideFaq__right {
    margin-top: 3rem;
  }

  .v-map,
  .v-map iframe {
    min-height: 28rem;
  }
}

@media (max-width: 500px) {
  .v-lower .vm-lowerMv__subHead {
    font-size: 4.8rem;
  }

  .v-cost-chart__bar span {
    font-size: 1.2rem;
  }
}

/* VAMOS service detail drafts 2026-09-03 */
/* Scoped service design. Author: codex / gpt-6 / 2026-09-06. */
/* Preserve the existing overview-to-detail link styling. */
.v-page-services .v-service-block__detail { display:inline-flex; align-items:center; margin-top:2.4rem; padding-bottom:.35rem; border-bottom:1px solid currentColor; color:#252525; font-size:1.4rem; font-weight:700; }
.v-page-services .v-service-block__detail:hover { color:#F28C1B; }
.v-page-service-detail .vsp { --vsp-ink:#252525; --vsp-accent:#F28C1B; --vsp-line:#BABABA; color:var(--vsp-ink); background:#fff; font-size:16px; line-height:1.9; }
.vsp :where(h1,h2,h3,p,ul,ol,figure) { margin:0; }
.vsp .vsp-wrap { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.vsp .vsp-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding-block:28px; font-size:12px; }
.vsp .vsp-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.vsp .vsp-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:64px; align-items:center; padding-bottom:80px; }
.vsp .vsp-kicker { font-family:var(--v-font-en); font-size:12px; letter-spacing:.08em; margin-bottom:18px; }
.vsp .vsp-hero h1 { font-size:clamp(32px,3.6vw,52px); font-weight:700; line-height:1.18; letter-spacing:-.04em; word-break:keep-all; }
.vsp .vsp-english { font-family:var(--v-font-en); font-size:19px; margin:12px 0 36px; color:#353E41; }
.vsp .vsp-lead { font-size:clamp(22px,2.3vw,30px); font-weight:700; line-height:1.5; letter-spacing:-.02em; margin-bottom:20px; }
.vsp .vsp-intro { max-width:34em; font-size:16px; }
.vsp .vsp-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.vsp .vsp-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:15px 24px; min-height:52px; border-radius:10px; background:#252525; color:#fff; font-size:14px; font-weight:700; transition:background .2s; }
.vsp .vsp-button:hover { background:#353E41; }
.vsp .vsp-button span { color:#F28C1B; font-size:20px; }
.vsp .vsp-textlink { display:inline-block; padding:12px 0; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:6px; }
.vsp .vsp-textlink:hover { text-decoration-thickness:2px; }
.vsp a:focus-visible,.vsp summary:focus-visible { outline:3px solid #D96F00; outline-offset:5px; }
.vsp .vsp-hero-photo { position:relative; overflow:hidden; border-radius:18px; aspect-ratio:1.12; background:#F4F4F3; }
.vsp .vsp-hero-photo img { width:100%; height:100%; object-fit:cover; }
.vsp .vsp-hero-photo figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; padding:44px 24px 20px; font:16px var(--v-font-en); color:#fff; background:linear-gradient(transparent,rgba(37,37,37,.7)); }
.vsp .vsp-layout { display:grid; grid-template-columns:176px minmax(0,1fr); gap:64px; align-items:start; }
.vsp .vsp-index { position:sticky; top:116px; border-top:1px solid #252525; font-size:12px; }
.vsp .vsp-index>p { margin:18px 0 8px; font:12px var(--v-font-en); letter-spacing:.1em; }
.vsp .vsp-index a { display:grid; grid-template-columns:22px 1fr; gap:10px; padding:15px 0; line-height:1.6; border-bottom:1px solid #BABABA; }
.vsp .vsp-index a span { font-family:var(--v-font-en); }
.vsp .vsp-index a:hover { box-shadow:inset 3px 0 #F28C1B; padding-left:8px; }
.vsp .vsp-content { min-width:0; }
.vsp .vsp-section { padding:64px 0; border-top:1px solid #BABABA; }
.vsp .vsp-heading { display:flex; align-items:baseline; gap:20px; margin-bottom:30px; }
.vsp .vsp-heading>span { font:20px var(--v-font-en); border-bottom:3px solid #F28C1B; padding-bottom:7px; }
.vsp .vsp-heading h2 { font-size:clamp(24px,2.4vw,32px); font-weight:700; line-height:1.4; text-wrap:pretty; scroll-margin-top:112px; }
.vsp .vsp-section-lead { max-width:42em; margin-bottom:28px; }
.vsp .vsp-fit { padding-top:36px; }
.vsp .vsp-needs { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; list-style:none; padding:0; }
.vsp .vsp-needs li { position:relative; padding:20px 0 20px 28px; border-top:1px solid #BABABA; font-size:16px; }
.vsp .vsp-needs li::before { content:''; position:absolute; top:29px; left:1px; width:13px; height:7px; border-bottom:2px solid #D96F00; border-left:2px solid #D96F00; transform:rotate(-45deg); }
.vsp .vsp-for-you { display:grid; grid-template-columns:120px 1fr; gap:24px; padding:26px 28px; margin-top:16px; border-radius:10px; background:#F4F4F3; }
.vsp .vsp-for-you h3 { font-size:16px; }
.vsp .vsp-for-you p { font-size:15px; }
.vsp .vsp-story { max-width:740px; margin-bottom:42px; }
.vsp .vsp-story h3 { font-size:25px; line-height:1.5; margin-bottom:22px; }
.vsp .vsp-story p+p { margin-top:14px; }
.vsp .vsp-points { display:grid; gap:32px; }
.vsp .vsp-point { display:grid; grid-template-columns:1fr 1.05fr; gap:36px; align-items:center; }
.vsp .vsp-point-no { font:38px/1 var(--v-font-en); display:block; margin-bottom:18px; color:#353E41; }
.vsp .vsp-point h3 { font-size:23px; line-height:1.45; margin-bottom:16px; }
.vsp .vsp-point p { font-size:16px; }
.vsp .vsp-point figure { overflow:hidden; border-radius:10px; aspect-ratio:1.4; }
.vsp .vsp-point img { width:100%; height:100%; object-fit:cover; }
.vsp .vsp-point:nth-child(2) figure { grid-column:1; grid-row:1; }
.vsp .vsp-point:nth-child(2)>div { grid-column:2; }
.vsp .vsp-point-final { display:block; padding:32px 36px; border-radius:18px; background:#353E41; color:#fff; }
.vsp .vsp-point-final>div { display:grid; grid-template-columns:56px 1fr; column-gap:24px; }
.vsp .vsp-point-final .vsp-point-no { grid-row:1 / span 3; color:#F28C1B; }
.vsp .vsp-point-final h3,.vsp .vsp-point-final p,.vsp .vsp-point-final a { grid-column:2; }
.vsp .vsp-point-final a { justify-self:start; margin-top:10px; }
.vsp .v-service-flow__list { list-style:none; padding:0; margin-bottom:14px; }
.vsp .v-service-flow__list li { display:grid; grid-template-columns:48px 1fr; gap:20px; border-top:1px solid #BABABA; padding:23px 0; }
.vsp .v-service-flow__list li>span { font:24px/1.5 var(--v-font-en); }
.vsp .v-service-flow__list h3 { font-size:18px; margin-bottom:7px; }
.vsp .v-service-flow__list p { font-size:16px; }
.vsp .v-service-faq { border-bottom:1px solid #BABABA; }
.vsp .v-service-faq:first-child { border-top:1px solid #BABABA; }
.vsp .v-service-faq summary { display:grid; grid-template-columns:22px 1fr 22px; gap:16px; align-items:center; padding:24px 0; cursor:pointer; list-style:none; font-size:16px; font-weight:700; }
.vsp .v-service-faq summary::-webkit-details-marker { display:none; }
.vsp .v-service-faq summary>span:first-child { font-family:var(--v-font-en); }
.vsp .vsp-toggle { position:relative; width:18px; height:18px; }
.vsp .vsp-toggle::before,.vsp .vsp-toggle::after { content:''; position:absolute; background:#252525; top:8px; left:0; width:18px; height:2px; }
.vsp .vsp-toggle::after { transform:rotate(90deg); }
.vsp details[open] .vsp-toggle::after { transform:none; }
.vsp .v-service-faq>div { padding:0 38px 24px; font-size:16px; }
.vsp .vsp-related-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:18px; }
.vsp .v-service-related__card { display:block; border:1px solid #BABABA; border-radius:10px; overflow:hidden; }
.vsp .v-service-related__card figure { aspect-ratio:1.8; overflow:hidden; }
.vsp .v-service-related__card img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.vsp .v-service-related__card:hover img { transform:scale(1.025); }
.vsp .v-service-related__card>div { position:relative; padding:22px 24px 26px; }
.vsp .vsp-related-en { font:13px var(--v-font-en); margin-bottom:10px; }
.vsp .v-service-related__card h3 { font-size:21px; line-height:1.5; margin-bottom:12px; padding-right:22px; }
.vsp .v-service-related__card p:last-of-type { font-size:14px; }
.vsp .vsp-related-arrow { position:absolute; top:48px; right:22px; font-size:20px; }
.vsp .vsp-close { padding:64px 0; margin-top:16px; background:#F4F4F3; border-top:1px solid #BABABA; }
.vsp .vsp-close h2 { font-size:clamp(30px,3vw,42px); line-height:1.4; margin-bottom:20px; }
.vsp .vsp-close .vsp-wrap { padding-left:240px; }
@media(max-width:1100px) {
 .vsp .vsp-wrap { width:calc(100% - 64px); }
 .vsp .vsp-layout { grid-template-columns:144px minmax(0,1fr); gap:32px; }
 .vsp .vsp-hero { gap:32px; }
 .vsp .vsp-point { gap:24px; }
 .vsp .vsp-close .vsp-wrap { padding-left:176px; }
}
@media(max-width:900px) {
 .vsp .vsp-layout { display:block; }
 .vsp .vsp-index { position:static; display:flex; flex-wrap:wrap; gap:0 20px; margin-bottom:32px; }
 .vsp .vsp-index>p { flex-basis:100%; }
 .vsp .vsp-index a { display:flex; border:0; min-height:44px; }
 .vsp .vsp-close .vsp-wrap { padding-left:0; }
 .vsp .vsp-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .vsp .vsp-hero-photo { aspect-ratio:.85; }
 .vsp .vsp-hero h1 { font-size:34px; }
 .vsp .vsp-lead { font-size:22px; }
}
@media(max-width:640px) {
 .vsp .vsp-wrap { width:calc(100% - 40px); }
 .vsp .vsp-breadcrumb { font-size:11px; gap:7px; padding:18px 0; }
 .vsp .vsp-hero { grid-template-columns:1fr; gap:28px; padding-bottom:36px; }
 .vsp .vsp-kicker { margin-bottom:12px; }
 .vsp .vsp-hero h1 { font-size:32px; }
 .vsp .vsp-english { margin:10px 0 24px; font-size:16px; }
 .vsp .vsp-lead { font-size:23px; line-height:1.5; }
 .vsp .vsp-hero-photo { aspect-ratio:1.55; }
 .vsp .vsp-hero-photo figcaption { padding:32px 18px 16px; font-size:13px; }
 .vsp .vsp-actions { gap:12px 20px; margin-top:22px; }
 .vsp .vsp-button { padding:13px 18px; gap:18px; }
 .vsp .vsp-index { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; margin-bottom:0; }
 .vsp .vsp-index>p { grid-column:1 / -1; }
 .vsp .vsp-index a { font-size:12px; align-items:baseline; padding-block:12px; }
 .vsp .vsp-index a span { flex-shrink:0; }
 .vsp .vsp-section { padding-block:40px; }
 .vsp .vsp-heading { gap:12px; margin-bottom:24px; }
 .vsp .vsp-heading h2 { font-size:24px; }
 .vsp .vsp-heading>span { font-size:17px; flex-shrink:0; }
 .vsp .vsp-needs { grid-template-columns:1fr; }
 .vsp .vsp-needs li { padding-block:16px; }
 .vsp .vsp-needs li::before { top:25px; }
 .vsp .vsp-for-you { display:block; padding:22px; }
 .vsp .vsp-for-you h3 { margin-bottom:10px; }
 .vsp .vsp-story h3 { font-size:22px; }
 .vsp .vsp-point { display:flex; flex-direction:column; align-items:stretch; gap:22px; }
 .vsp .vsp-point-no { font-size:32px; margin-bottom:14px; }
 .vsp .vsp-point h3 { font-size:21px; }
 .vsp .vsp-point figure { aspect-ratio:1.5; }
 .vsp .vsp-point-final { display:block; padding:26px 22px; }
 .vsp .vsp-point-final>div { display:block; }
 .vsp .v-service-flow__list li { grid-template-columns:32px 1fr; gap:14px; }
 .vsp .v-service-faq summary { gap:12px; }
 .vsp .v-service-faq>div { padding-inline:0; }
 .vsp .vsp-related-grid { grid-template-columns:1fr; gap:20px; }
 .vsp .v-service-related__card>div { padding:20px; }
 .vsp .vsp-close { padding-block:40px; }
}
@media(prefers-reduced-motion:reduce) { .vsp *, .vsp *::before, .vsp *::after { transition:none!important; scroll-behavior:auto!important; } }

/* Full-width photographic first view; text remains real selectable HTML. */
.vsp .vsp-hero-fullbleed { position:relative; isolation:isolate; display:flex; align-items:center; min-height:680px; min-height:clamp(680px,calc(100svh - 90px),850px); padding:72px 0; color:#fff; background:#252525; }
.vsp .vsp-hero-fullbleed .vsp-hero-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; aspect-ratio:auto; border-radius:0; }
.vsp .vsp-hero-fullbleed .vsp-hero-photo img { object-position:center; }
.vsp .vsp-hero-fullbleed::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(15,21,22,.85) 0%,rgba(15,21,22,.73) 44%,rgba(15,21,22,.28) 76%,rgba(15,21,22,.16) 100%); }
.vsp .vsp-hero-fullbleed .vsp-hero-copy { max-width:620px; }
.vsp .vsp-hero-fullbleed .vsp-english { color:#fff; }
.vsp .vsp-hero-fullbleed .vsp-kicker { color:#fff; }
.vsp .vsp-hero-fullbleed .vsp-intro { max-width:34em; }
.vsp .vsp-hero-fullbleed .vsp-textlink { color:#fff; }
.vsp .vsp-hero-fullbleed .vsp-button { background:#fff; color:#252525; }
.vsp .vsp-hero-fullbleed .vsp-button span { color:#D96F00; }
.vsp .vsp-hero-fullbleed .vsp-button:hover { background:#FFF8F0; }
.vsp .vsp-hero-fullbleed a:focus-visible { outline-color:#fff; }
.vsp .vsp-breadcrumb { padding-block:28px 40px; }
@media(max-width:900px) {
 .vsp .vsp-hero-fullbleed { min-height:720px; padding:64px 0; }
 .vsp .vsp-hero-fullbleed .vsp-hero-copy { max-width:570px; }
 .vsp .vsp-hero-fullbleed::after { background:linear-gradient(90deg,rgba(15,21,22,.85),rgba(15,21,22,.71) 64%,rgba(15,21,22,.35)); }
}
@media(max-width:640px) {
 .vsp .vsp-hero-fullbleed { min-height:calc(100svh - 67px); padding:48px 0; }
 .vsp .vsp-hero-fullbleed::after { background:linear-gradient(180deg,rgba(15,21,22,.76),rgba(15,21,22,.73) 55%,rgba(15,21,22,.84)); }
 .vsp .vsp-hero-fullbleed .vsp-hero-photo img { object-position:60% center; }
 .vsp .vsp-hero-fullbleed .vsp-actions { gap:10px 18px; }
 .vsp .vsp-breadcrumb { padding-block:22px 28px; }
}
