/* Flat surface treatment: hierarchy comes from spacing, borders and solid tones. */
body {
  background: #f5f6f7;
}

body::before,
.section::before,
.nav-box::after,
.section-heading > div::before,
.section-heading-ja::after,
.newface-copy::after,
.price-visual-copy::after,
.guide-panel::after,
.guide-panel.wide::before {
  background: none;
}

.topbar,
.brand-row,
.global-nav,
.nav-box,
.news-ticker,
.section-frame,
.schedule-card,
.therapist-mini-card,
.schedule-card-body,
.therapist-mini-body,
.newface-copy,
.relaxy-widget-container,
.price-board,
.price-visual-board,
.price-visual-copy,
.access-map-card,
.recruit-copy,
.recruit-card,
.information-card,
.mobile-menu-sheet,
.terms-panel,
.terms-item,
.terms-static-block,
.ranking-coming-card,
.therapist-detail-frame,
.therapist-detail-copy,
.therapist-detail-block-stack,
.therapist-detail-schedule-block,
.therapist-detail-block-stack > [data-therapist-reviews],
.therapist-detail-block-stack > [data-therapist-social] {
  background: #fff;
}

.campaign-section,
.information-section,
.links-section,
.price-section,
.terms-section,
.terms-page-section,
.ranking-page-section {
  background: #fff;
}

.schedule-section,
.new-face-section,
.access-section,
.recruit-section,
.recruit-page,
.therapist-detail-page {
  background: #f8f8f7;
}

.nav-box:hover,
.nav-box.is-active,
.mobile-menu-link.is-active,
.mobile-menu-link:focus-visible {
  background: #f2f0ee;
}

@media (hover:hover) and (pointer:fine) {
  body:not(.ui-touch-session) .mobile-menu-link:hover { box-shadow:inset 0 0 0 1px rgba(48,52,58,.12); }
}

.pill-link.primary,
.filter-tabs button.is-active,
.area-tabs button.is-active,
.section-button,
.ghost-button,
.detail-link {
  background: #41454b;
  border-color: #41454b;
  color: #fff;
}

/* Therapist contact actions should feel light and consistent with the profile card. */
.therapist-detail-actions .section-button,
.therapist-detail-actions .ghost-button {
  background: #fff;
  border-color: #c9cdd2;
  color: #41454b;
  box-shadow: none;
}

.therapist-detail-actions .section-button:hover,
.therapist-detail-actions .section-button:focus-visible,
.therapist-detail-actions .ghost-button:hover,
.therapist-detail-actions .ghost-button:focus-visible {
  background: #f5f5f4;
  border-color: #8f959d;
  color: #292d32;
  box-shadow: none;
}

.therapist-detail-weekly-day {
  grid-template-columns: 160px 220px minmax(180px, 1fr);
  background: #fff;
}

.therapist-detail-weekly-day.is-today {
  border-color: #d7b7c0;
  border-left: 4px solid #a85f74;
  background: #fbf7f8;
  box-shadow: none;
}

.therapist-detail-date-cell {
  display: grid;
  grid-template-columns: 54px 90px;
  align-items: center;
}

.therapist-detail-today-label.is-empty,
.therapist-detail-room.is-empty {
  visibility: hidden;
}

.therapist-detail-today-label {
  margin-right: 12px;
  padding: 4px 8px;
  background: #41454b;
  color: #fff;
  font-style: normal;
  font-size: .68rem;
  font-weight: 700;
}

.therapist-detail-weekly-day strong {
  color: #30353b;
  font-size: .9rem;
  font-weight: 700;
}

.therapist-detail-weekly-day .therapist-detail-room {
  justify-self: end;
  box-sizing: border-box;
  width: 180px;
  text-align: center;
}

@media (max-width: 640px) {
  .therapist-detail-weekly-day {
    grid-template-columns: 90px minmax(0, 1fr) auto;
  }

  .therapist-detail-date-cell {
    display: flex;
  }

  .therapist-detail-today-label.is-empty {
    display: none;
  }

  .therapist-detail-weekly-day .therapist-detail-room {
    width: auto;
  }

  .therapist-detail-today-label {
    margin-right: 6px;
    padding: 3px 5px;
    font-size: .58rem;
  }
}

@media (min-width: 901px) {
  .therapist-detail-block-stack {
    grid-template-columns: minmax(0, 1fr);
    width: min(100% - 96px, 980px);
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }

  .therapist-detail-block-stack > .therapist-detail-schedule-block,
  .therapist-detail-block-stack > .therapist-detail-message,
  .therapist-detail-block-stack > .therapist-detail-widget,
  .therapist-detail-block-stack > .therapist-detail-actions {
    grid-column: 1 / -1;
    width: 100%;
    background: #fff;
  }

  .therapist-detail-block-stack > .therapist-detail-message p {
    max-width: 820px;
  }
}

/* Keep the profile and following blocks on one continuous page surface. */
.therapist-detail-block-stack {
  gap: 20px;
  padding-top: 24px;
  background: #f8f8f7;
}

.therapist-detail-block-stack > .therapist-detail-schedule-block,
.therapist-detail-block-stack > .therapist-detail-message,
.therapist-detail-block-stack > .therapist-detail-widget,
.therapist-detail-block-stack > .therapist-detail-actions {
  background: #fff;
}

@media (min-width: 901px) {
  .therapist-detail-page,
  .therapist-detail-block-stack {
    background: #fff;
  }
}

.therapist-detail-weekly-day strong {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .therapist-detail-block-stack {
    gap: 16px;
    padding-top: 16px;
  }

  .therapist-detail-weekly-day {
    gap: 6px;
  }

  .therapist-detail-weekly-day strong {
    font-size: .64rem;
  }
}

.filter-tabs button,
.area-tabs button,
.mobile-fixed-nav a,
.mobile-fixed-icon,
.reservation-strip {
  background: #fff;
}

.is-available { background: #6685dd; }
.is-time { background: #e99465; }
.is-sold { background: #8874d5; }
.is-last { background: #dc779c; }
.is-new { background: #e6bfd0; }

.tag-row span { background: #eef3f8; }
.tag-row span:nth-child(3n + 2) { background: #f8edf1; }
.tag-row span:nth-child(3n) { background: #f6f1df; }

.price-discount-card,
.legacy-system-campaign,
.legacy-system-card,
.price-simulator {
  background: #fdfbf9;
}

body[data-page="home"] .campaign-section,
body[data-page="home"] .top-campaign-section,
body[data-page="home"] .review-cta-section,
body[data-page="home"] .review-cta-banner,
body[data-page="home"] .recruit-banner-link {
  background: #fff;
}

body[data-page="home"] .campaign-section .promo-card-title-band {
  background: rgba(255, 255, 255, .92);
}

body[data-page="home"] .campaign-section .promo-card-title-band::before {
  background: #d4b55d;
}

body[data-page="home"] .review-cta-mark {
  background: #ead19a;
}

body[data-page="home"] .review-cta-copy b,
body[data-page="home"] .review-cta-copy .button-primary {
  background: #df8095;
}

body[data-page="information"] .information-page-title,
body[data-page="reviews"],
body[data-page="reviews"] .reviews-page-title,
.review-form-section {
  background: #f9f9f8;
}

.review-form button {
  background: #f0e8ec;
}

body[data-page="reviews"] .review-helpful-button.is-voted,
body[data-page="reviews"] .review-card--picked,
body[data-page="reviews"] .review-card--picked .review-category-badge {
  background: #fffaf0;
}

.recruit-lp-final {
  background: #fffaf7;
}

.recruit-flow-list::before {
  background: #d7c9c4;
}

/* Desktop home hero: simplify the chrome and strengthen the central visual. */
@media (min-width: 641px) {
  body[data-page="home"] .hero-corner-wordmark,
  body[data-page="home"] .hero-social-rail,
  body[data-page="home"] .hero-scroll-cue {
    display: none !important;
  }

  body[data-page="home"] .hero-copy--otona {
    width: min(100%, 850px);
  }

  body[data-page="home"] .hero-handwritten-logo {
    width: 680px;
    max-width: min(72vw, 680px);
    overflow: visible;
  }

  body[data-page="home"] .hero-handwritten-word--one {
    font-size: 95px;
  }

  body[data-page="home"] .hero-handwritten-word--two {
    font-size: 98px;
  }

  body[data-page="home"] .hero-shape--blue {
    width: 190px;
    height: 270px;
  }

  body[data-page="home"] .hero-shape--yellow {
    width: 190px;
    height: 145px;
  }

  body[data-page="home"] .hero-shape--pink {
    width: 270px;
    height: 172px;
  }

  body[data-page="home"] .hero-shape--sky {
    width: 215px;
    height: 88px;
  }

  body[data-page="home"] .hero-shape--small {
    width: 56px;
    height: 56px;
  }

  body[data-page="home"] .hero-glass-orbs i:nth-child(1) {
    width: 66px;
    height: 66px;
  }

  body[data-page="home"] .hero-glass-orbs i:nth-child(2) {
    width: 108px;
    height: 108px;
  }

  body[data-page="home"] .hero-glass-orbs i:nth-child(3) {
    width: 62px;
    height: 62px;
  }
}
[data-filter-group="therapists"]{display:none!important}
