/* Drew SPA theme: retain all standard layout, menu and hero geometry. */
body { background: #fffcfd; }
.site-hero-main { box-shadow: none; background: #fff7fa; }
.site-nav-bar { box-shadow: 0 2px 8px rgba(100, 61, 77, .04); }
.site-card { box-shadow: 0 5px 18px rgba(100, 61, 77, .045); }
.site-section-title-main { color: #ac5876; }
.site-section-title-sub { color: #76646c; }
.site-section-link { color: #8e4560; }
.public-card-reserve-btn { color: #533440; }
.sticky-bar { border-color: #f0d4de; }
.sticky-bar-line { color: #32796b; }
.sticky-bar-reserve { color: #8e4560; }
a:focus-visible, button:focus-visible { outline: 2px solid #32796b; outline-offset: 3px; }
.preview-note { margin: 0; padding: 10px 16px; background: #f8edf1; color: #674e59; text-align: center; font: 13px/1.6 sans-serif; }
.preview-notice { max-width: 460px; border: 1px solid #efd4de; padding: 28px; background: #fff; color: #59454e; }
.preview-notice::backdrop { background: rgba(59, 41, 48, .3); }
@media (max-width: 640px) {
  .site-hero-wide .public-hero-thumb { content: url('/client_hp/drewspa/assets/MV_sp.png'); }
}

/* Replace fixed gold/cyan colors without changing standard geometry. */
body { --site-shadow: 0 8px 22px rgba(100, 61, 77, .06); }
.site-pill, .site-cta, .site-section-link, .public-card-reserve-btn,
.site-section-foot .site-section-link { box-shadow: none; }
.site-pill:hover, .site-pill:focus, .site-cta:hover, .site-cta:focus,
.site-section-link:hover, .site-section-link:focus,
.site-section-foot .site-section-link:hover, .site-section-foot .site-section-link:focus,
.public-card-reserve-btn:hover, .public-card-reserve-btn:focus { box-shadow: none; }
.site-schedule-tab.current { background: #f1adc2; color: #533440; }
.site-schedule-tab.current small { color: #533440; }
.site-schedule-tab:not(.current), .site-schedule-tab-nav { background: #fff; }
.site-schedule-tab:hover, .site-schedule-tab-nav:hover { background: #f8e5ed; }
.site-schedule-tab.current:hover { background: #e59bb2; }
.site-pill { background: #fff7fa; border-color: var(--site-line); }
.site-panel-band, .public-pricing-band { background: #fff7fa; }
.public-pricing-section, .public-pricing-band, .public-pricing-group-copy,
.public-photo-thumb, .public-therapist-blog-card { border-color: var(--site-line); }
.slide-nav-link { color: #59454e; border-color: #f0d4de; }
.slide-menu-close, .slide-nav-phone { color: #8e4560; }
.slide-nav-phone { border-color: #f0d4de; }
.slide-nav-link:hover, .slide-nav-phone:hover { background: #fff0f5; }

.site-footer { border-top-color: #f0d4de; }
.sticky-bar { box-shadow: 0 -1px 2px rgba(100, 61, 77, .05); }

/* Existing official-site background, scoped to the local top page. */
body[data-analytics-page-type="home"] .site-content {
  background-image: url('/client_hp/drewspa/assets/top_bg.png');
  background-size: cover;
  background-position: left top;
  background-repeat: no-repeat;
}

/* Drew SPA reference palette: gray text, cyan decoration, pink actions. */
body {
  --drew-cyan: #65eae1;
  --drew-pink: #f1adc2;
  --drew-gray: #707070;
  --site-ink: #707070;
  --site-muted: #707070;
  color: #707070;
}
body .site-hero-simple {
  background: url('/client_hp/drewspa/assets/h1bg_sp.png') center / cover no-repeat;
}
body .site-page-title { color: #fff; text-shadow: 0 1px 3px rgba(80, 62, 68, .22); }
body .site-section-title-sub, body .public-muted { color: #707070; }
body .site-section-title-main { color: #00a99e; }
body .site-nav-link, body .site-footer-nav-link, body .slide-nav-link { color: #707070; }
body .site-nav-link.current { color: #9d4160; }
body .site-section-link { color: #00a99e; }
body[data-analytics-page-type="pricing"] .site-content {
  background: url('/client_hp/drewspa/assets/system_bg.png') left top / cover no-repeat;
}
body[data-analytics-page-type="cast_detail"] .site-content {
  background: url('/client_hp/drewspa/assets/背景.png') center top / cover no-repeat;
}
body[data-analytics-page-type="cast_detail"] .site-card { background: rgba(255,255,255,.45); }
body .public-therapist-summary .public-cast-name,
body .public-therapist-summary .public-cast-age,
body .public-therapist-summary .public-cast-measure-item,
body .public-therapist-schedule-day,
body .public-therapist-schedule-time,
body[data-analytics-page-type="cast_detail"] .site-card h2 { color: #707070; }
body .public-therapist-summary .public-cast-name {
  border-bottom: 1px solid #65eae1;
  padding-bottom: 8px;
}
.public-therapist-summary .public-cast-name::before {
  content: '';
  display: inline-block;
  width: 36px;
  height: 32px;
  margin-right: 10px;
  background: url('/client_hp/drewspa/assets/ハートのマーク.png') center / contain no-repeat;
  vertical-align: middle;
}
.public-therapist-summary .public-cast-measure-item::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 7px;
  background: url('/client_hp/drewspa/assets/c_profile_bullet.png') center / contain no-repeat;
}
body[data-analytics-page-type="cast_detail"] .public-gallery::before {
  content: '';
  display: block;
  width: min(240px, 100%);
  height: 72px;
  background: url('/client_hp/drewspa/assets/Profile.png') left center / contain no-repeat;
}
body[data-analytics-page-type="cast_detail"] .site-card > h2 {
  border-bottom: 1px solid #65eae1;
  padding-bottom: 8px;
}
body .public-therapist-schedule-day {
  padding: 6px 8px;
  background: #65eae1;
  color: #315f5b;
}
body .public-pricing-band { background: rgba(206,245,243,.7); color: #707070; }
body .public-pricing-section { border-color: #65eae1; }
body .site-pill.current, body .site-pill.is-current {
  background: #f1adc2;
  color: #533440;
  border-color: #f1adc2;
  box-shadow: none;
}
body .site-area-filter .site-pill { color: #707070; border-color: #f0d4de; box-shadow: none; }
body .site-area-filter .site-pill.current { color: #533440; background: #f1adc2; }
body .site-footer-copyright {
  background: url('/client_hp/drewspa/assets/copylight_bg.png') center / cover no-repeat;
  color: #707070;
}
/* Preserve the standard footer controls while matching the reference palette. */
body .sticky-bar { background: #f1adc2; padding: 5px; gap: 5px; box-sizing: border-box; }
body .sticky-bar-btns { gap: 5px; }
body .sticky-bar-btn,
body .sticky-bar-tel .sticky-bar-icon,
body .sticky-bar-reserve .sticky-bar-icon {
  color: #65eae1;
}
body .sticky-bar-btn { background: #fff; border: 0; border-radius: 7px; }
body .sticky-bar-btn:hover, body .sticky-bar-btn:active { background-color: #fff7fa; }
body .sticky-bar-line img { content: url('/client_hp/drewspa/assets/LINEicon.png'); }
body[data-analytics-page-type="recruit"] .site-hero-simple {
  background-image: url('/client_hp/drewspa/assets/r_MV_photo.png'), url('/client_hp/drewspa/assets/r_MV_bg.png');
}

/* Keep LINE separate from the hover background, like the other controls. */
body .sticky-bar-line .sticky-bar-icon { display: none; }
body .sticky-bar-line::before {
  content: 'LINE';
  display: grid;
  place-items: center;
  width: 24px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #33b5ad;
  color: #fff;
  font: 700 7px/1 sans-serif;
  letter-spacing: 0;
}
/* Reservation palette prepared locally; production is not changed. */
body .public-reserve-page .public-cast-name,
body .public-reserve-page .public-cast-age,
body .public-reserve-page .public-cast-specs,
body .public-reserve-date-tab, body .public-reserve-slot-time { color: #707070; }
body .public-reserve-date-tab.current {
  background: #f1adc2; color: #533440; box-shadow: inset 0 0 0 1px #e59bb2;
}
body .public-reserve-slot-status-available {
  background: #f1adc2; color: #533440; border-color: #f1adc2;
}
body .public-reserve-slot-status-available:hover,
body .public-reserve-slot-status-available:focus-visible { background: #e59bb2; color: #533440; }
body .public-reserve-choice { color: #707070; border-color: #65eae1; }
body .public-reserve-choice:has(input:checked) { background: #f8e5ed; border-color: #e59bb2; box-shadow: none; }
body .public-reserve-actions button[type='submit'] { background: #f1adc2; color: #533440; border-color: #f1adc2; box-shadow: none; }
body .public-additional-profile-label, body .public-additional-profile-value { color: #707070; }
body .public-additional-profile-row { border-bottom-color: rgba(101,234,225,.45); }
body .public-additional-profile-label::before {
  content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 7px;
  background: url('/client_hp/drewspa/assets/c_profile_bullet.png') center / contain no-repeat;
}

/* Footer-only contrast correction; decorative cyan elsewhere is unchanged. */
body .sticky-bar-btn,
body .sticky-bar-tel .sticky-bar-icon,
body .sticky-bar-reserve .sticky-bar-icon { color: #33b5ad; }
body .sticky-bar-btn { transition: background-color 150ms ease; }
body .sticky-bar-btn:focus-visible { outline: 2px solid #33b5ad; outline-offset: -3px; }
