.fix-bottom { background: #f8f5f0; border-top: 1px solid #d9d1ca; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
.fix-bottom a, .reserve-link { display: flex; min-height: 56px; align-items: center; justify-content: center; background: #51443f; color: #fff; border-radius: 4px; font-size: 16px; font-weight: 600; }
.wrapper { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
.salon dd, .faq-list dd { display: block; }
.js .salon dd, .js .faq-list dd { display: none; }
.js .faq-list dl:first-child dd { display: block; }
html:not(.js) .slide { opacity: 1; }
a:focus-visible, [role=button]:focus-visible { outline: 3px solid #51443f; outline-offset: 3px; }
.footer { line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }
.fix-bottom { width: 100%; max-width: 570px; }
html:not(.js) .slide { display: flex; width: 90%; }
html:not(.js) .slide-item { display: block; width: 50%; }
.case-hero-frame, .case-main-frame { position: relative; }
.case-overlay { position: relative; z-index: 1; width: 100%; }
.case-photo { position: absolute; overflow: hidden; }
.case-photo img { position: absolute; width: 100%; height: 200%; object-fit: cover; }
.case-photo.before img { top: 0; }
.case-photo.after img { bottom: 0; }
.case-hero-frame .case-photo { top: 4.8%; width: 50%; height: 81.5%; }
.case-hero-frame .before { left: 0; }
.case-hero-frame .after { right: 0; }
.case-main-frame .case-photo { width: 37.4%; height: 20%; }
.case-main-frame .before { left: 11.4%; }
.case-main-frame .after { left: 51.2%; }
.case-main-frame .case-1 { top: 22.1%; }
.case-main-frame .case-2 { top: 59.4%; }
.slide-item .case-hero-frame { width: 90%; margin: 0 auto; }
.slide-item .case-photo img, .slide-item .case-overlay { width: 100%; margin: 0; }
.hero { background-image: url('../images/hero-top.png'), url('../images/hero-bottom.png'); background-position: top center, bottom center; background-repeat: no-repeat; background-size: 100% 50%, 100% 50%; }
.header { aspect-ratio: 760 / 150; overflow: hidden; }
.header img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.photo-frame { position: relative; }
.photo-frame > .base-art { width: 100%; display: block; }
.photo-frame > .photo-overlay { position: absolute; overflow: hidden; }
.photo-frame > .photo-overlay img { width: 100%; height: 100%; object-fit: cover; }
.photo-frame > .photo-overlay.top-third img { height: 300%; object-position: center top; }
.photo-frame > .reason-number { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.reason-number-1 { clip-path: inset(38% 5% 49% 71%); mix-blend-mode: multiply; }
.reason-number-2 { clip-path: inset(3% 4% 84% 67%); mix-blend-mode: multiply; }
.reason-number-3 { clip-path: inset(0 5% 91% 69%); mix-blend-mode: screen; }
.flow01-bottom-numbers { clip-path: inset(30% 8% 60% 65%); mix-blend-mode: multiply; }
.flow01-bottom-numbers-2 { clip-path: inset(77% 8% 13% 65%); mix-blend-mode: multiply; }
.flow02-top-numbers { clip-path: inset(20% 4% 65% 65%); mix-blend-mode: multiply; }
.case-main-frame .case-overlay { z-index: 0; }
.case-main-frame .case-photo { z-index: 1; }
.case-main-frame .case-accent { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.case-badge-1 { clip-path: ellipse(14% 7% at 50% 41%); }
.case-arrow-1 { clip-path: polygon(40% 34%, 45% 35.8%, 52% 35.9%, 58% 34%, 61% 33.8%, 54% 37.5%, 53% 36.8%, 49% 37.1%, 44% 36.8%); }
.case-badge-2 { clip-path: ellipse(14% 7% at 50% 78%); }
.case-arrow-2 { clip-path: polygon(40% 71%, 45% 72.8%, 52% 72.9%, 58% 71%, 61% 70.8%, 54% 74.5%, 53% 73.8%, 49% 74.1%, 44% 73.8%); }
.actn .cv-photo, .actn .cv-ribbon, .actn .cv-band { position: absolute; pointer-events: none; }
.actn .cv-photo { left: 1.4%; top: 5.1%; width: 97.2%; height: 32.5%; background: url('../images/etre-C063214898.jpg') center / cover no-repeat; }
.actn .cv-ribbon, .actn .cv-band { inset: 0; background: url('../images/cv.png?v=4') top center / 100% 100% no-repeat; }
.actn .cv-ribbon { clip-path: inset(0 0 91% 0); }
.actn .cv-band { clip-path: inset(35.2% 0 59.5% 0); }
.actn .cv-photo { z-index: 1; }
.actn .cv-ribbon, .actn .cv-band { z-index: 2; }
.actn .actn-btn { z-index: 3; }
.photo-frame > .wash-crop img { position: absolute; width: 200%; max-width: none; height: auto; left: 0; bottom: 0; object-fit: initial; }
.slide-controls { display: none; }
@media (prefers-reduced-motion: reduce) {
  .js .slide-controls { display: flex; position: absolute; z-index: 3; top: 143vw; left: 2%; width: 96%; justify-content: space-between; pointer-events: none; }
  .slide-controls button { pointer-events: auto; border: 0; background: #fff; color: #51443f; width: 32px; height: 32px; border-radius: 50%; font-size: 24px; line-height: 1; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 736px) { .js .slide-controls { top: 815px; } }
:root { --booking-start: #d52c55; --booking-end: #aa124a; --booking-deep: #850e38; --booking-chip: #fff9f4; --booking-chip-text: #8c163a; }
.booking-cta { display: flex; position: relative; align-items: center; justify-content: center; min-height: 56px; padding: 15px 8px 10px; border: 0; border-radius: 12px; background: linear-gradient(135deg,var(--booking-start),var(--booking-end)); box-shadow: 0 3px 0 var(--booking-deep); color: #fff; font-size: 17px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.cta-chip { position: absolute; left: 50%; top: -12px; transform: translateX(-50%); padding: 4px 13px; border-radius: 999px; background: var(--booking-chip); color: var(--booking-chip-text); font-size: 12px; font-weight: 600; line-height: 1.25; white-space: nowrap; }
.cta-main { color: #fff; }
.fix-bottom { padding: 19px 12px calc(10px + env(safe-area-inset-bottom)); }
.fix-bottom .booking-cta, .ctcbox .booking-cta { background: linear-gradient(135deg,var(--booking-start),var(--booking-end)); color: #fff; border-radius: 12px; }
.actn .booking-cta { bottom: 4vw; }
.ctcbox { padding-top: 32px; }
.wrapper { padding-bottom: calc(99px + env(safe-area-inset-bottom)); }
.footer { background: #fae6e8; padding: 16px 0; text-align: center; font-size: 12px; line-height: 1.5; }
.care-top-crop, .care-bottom-crop, .concept-crop { position: relative; width: 100%; overflow: hidden; }
.care-top-crop { aspect-ratio: 922 / 1280; }
.care-bottom-crop { aspect-ratio: 921 / 1502; }
.care-bottom-crop > img { position: absolute; top: -4.55%; }
.concept-crop { aspect-ratio: 893 / 1462; }
@media (min-width: 736px) { .actn .booking-cta { bottom: 20px; } }
.hero { padding-bottom: 316vw; background-image: url('../images/hero-top.png?v=3'),url('../images/hero-bottom.png?v=3'); background-size: 100% auto,100% auto; }
.booking-cta, .fix-bottom .booking-cta, .ctcbox .booking-cta { font-size: 18px; }
.cta-chip { font-size: 13px; }
.voice-crop { position: relative; width: 100%; overflow: hidden; }
.voice-crop > img { position: absolute; top: 0; }
.voice-crop-1 { aspect-ratio: 1151 / 1298; }
.voice-crop-2 { aspect-ratio: 1262 / 1078; }
.voice-crop-2 > img { top: -8.67%; }
.voice-crop-3 { aspect-ratio: 1265 / 1218; }
.voice-crop-3 > img { top: -2.04%; }
@media (min-width: 736px) { .hero { padding-bottom: 1808px; } .booking-cta, .fix-bottom .booking-cta, .ctcbox .booking-cta { font-size: 20px; } }
.actn .booking-cta { position: absolute; }
.booking-cta:hover { opacity: 1; }
.booking-cta:focus-visible { outline: 3px solid var(--booking-deep); outline-offset: 3px; }
.booking-cta:active { box-shadow: 0 1px 0 var(--booking-deep); }
:root { --booking-start: #c84850; --booking-end: #b8494e; --booking-deep: #96383f; --booking-chip: #fffaf5; --booking-chip-text: #5b4038; }
body, .faq-list dt p, .faq-list dd p { color: #5b4038; }
.wrapper, .footer, .fix-bottom { background: #fffaf5; }
.salon { background: #f8e1d8; }
.salon dl, .faq-list dt { background: #fffaf5; }
.salon dt { color: #5b4038; }
.ctc { background: #f8e1d8; }
.flow-end-crop { width: 100%; aspect-ratio: 936 / 1250; overflow: hidden; }
.staff-section { margin-bottom: 36px; }
.hero .booking-cta { bottom: calc(4vw + 16px); }
@media (min-width: 736px) { .hero .booking-cta { bottom: 36px; } }
.actn { background-image: url('../images/cv.png?v=4'); }
.hero h1 { top: 79vw; }
.slide { top: 124.5vw; }
@media (prefers-reduced-motion: reduce) { .js .slide-controls { top: 148.5vw; } }
@media (min-width: 736px) { .hero h1 { top: 460px; } .slide { top: 704px; } }
@media (prefers-reduced-motion: reduce) and (min-width: 736px) { .js .slide-controls { top: 839px; } }
@media (max-width: 360px) { .hero .booking-cta { bottom: 4vw; } }
.article-cta { padding: 32px 5% 28px; background: #fffaf5; }
.article-cta .booking-cta { width: 100%; max-width: 477px; margin: 0 auto; }
.hero h1 { top: 86vw; }
@media (min-width: 736px) { .hero h1 { top: 500px; } }
