.menu-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; max-width: 1040px; margin: 0 auto 110px; }
.nanobubble { max-width: 1040px; margin: 0 auto 16px; padding: 46px; display: grid; grid-template-columns: 210px 1fr; align-items: center; gap: 55px; background: #f3ebe0; border: 1px solid #d5c3b0; }
.nano-mark { width: 175px; height: 175px; display: grid; place-content: center; text-align: center; border: 1px solid #9f8269; border-radius: 50%; }
.nano-mark span { font: 400 13px/1 var(--sans); letter-spacing: .22em; }
.nano-mark strong { margin-top: 7px; font: 500 25px/1 var(--serif); letter-spacing: .08em; }
.nanobubble h3 { margin: 0 0 15px; font-size: 32px; font-weight: 400; line-height: 1.5; }
.nanobubble > div:last-child > p:last-child { margin: 0; color: #6e6057; font-size: 12px; }
.menu-feature { min-height: 460px; padding: 42px 32px; display: flex; flex-direction: column; background: #e7dacb; border: 1px solid #d5c3b0; }
.menu-feature.featured { background: #594439; color: #fff; }
.menu-feature.treatment { background: #d4c0aa; }
.menu-feature > span { font: 500 9px/1 var(--sans); letter-spacing: .2em; }
.menu-feature h3 { margin: 95px 0 25px; font-size: 23px; font-weight: 400; line-height: 1.6; }
.menu-feature h3 em { font-family: var(--serif); font-size: 30px; font-weight: 500; font-style: normal; }
.menu-feature p { margin-top: auto; font-size: 12px; color: #6e6057; }
.menu-feature.featured p { color: #ddd0c4; }
.price-heading { max-width: 880px; margin: 0 auto 30px; }
.price-heading h3 { display: inline-block; margin: 0 15px 0 0; font-family: var(--serif); font-size: 42px; font-weight: 400; }
.price-heading > span { font-size: 9px; color: #8b7f75; }
.salon-copy h2 { white-space: nowrap; font-size: clamp(25px, 3vw, 46px); }
.care-copy h2 { font-size: clamp(30px, 3.7vw, 55px); }
.care-copy h2 span, .care-copy h2 em { display: block; white-space: nowrap; }
.care-copy h2 em { font-family: var(--serif); font-weight: 400; font-style: normal; }
.concept-copy h2 { font-size: clamp(34px, 4vw, 60px); }
.concept-copy h2 span, .concept-copy h2 em { display: block; white-space: nowrap; }
.concept-copy h2 em { font-family: var(--serif); font-weight: 400; font-style: normal; }
@media (max-width: 760px) {
  .menu-features { grid-template-columns: 1fr; margin-bottom: 70px; }
  .nanobubble { padding: 35px 24px; grid-template-columns: 1fr; gap: 28px; }
  .nano-mark { width: 135px; height: 135px; margin: 0 auto; }
  .nanobubble h3 { font-size: 27px; }
  .menu-feature { min-height: 390px; }
  .menu-feature h3 { margin-top: 60px; }
  .price-heading h3 { font-size: 36px; }
  .price-list strong { max-width: 155px; text-align: right; font-size: 11px; }
  .salon-copy h2 { font-size: 5vw; }
  .care-copy h2 { font-size: 8vw; }
  .concept-copy h2 { font-size: 9vw; }
}

.contact .contact-best{margin:18px auto 10px;font-size:15px;font-weight:500;letter-spacing:.06em}
.contact .contact-best span{display:block;margin-bottom:6px;font:500 9px/1 var(--sans);letter-spacing:.3em;color:#8a7362}

/* ヘッダーの予約ボタン：目立たせる＋BEST PRICE */
.reserve-small{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 20px;border:0;background:#c6ad91;color:#2f251f;font-size:11px;font-weight:500;letter-spacing:.1em;box-shadow:0 6px 20px #0000002e;transition:background .3s,transform .3s}
.reserve-small:hover{background:#d8c2a8;transform:translateY(-1px)}
.reserve-small small{font:600 8px/1 var(--sans);letter-spacing:.28em;color:#6b5240}
.mobile-reserve .mr-copy{display:flex;flex-direction:column;gap:3px}
.mobile-reserve .mr-copy small{font:600 8px/1 var(--sans);letter-spacing:.28em;color:#6b5240}

/* トップの写真の上の予約ボタン */
.hero-reserve{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:14px 24px;background:#c6ad91;color:#2f251f;font-size:12px;font-weight:500;letter-spacing:.1em;box-shadow:0 8px 26px #00000040;transition:background .3s,transform .3s}
.hero-reserve:hover{background:#d8c2a8;transform:translateY(-1px)}
.hero-reserve small{font:600 8px/1 var(--sans);letter-spacing:.28em;color:#6b5240}
.hero-reserve-note{margin:10px 0 0;font-size:10px;letter-spacing:.06em;color:#efe4d8}
/* メニューの行ごとの予約 */
.price-list>div{grid-template-columns:200px 1fr auto auto;gap:18px}
.price-reserve{padding:7px 12px;border:1px solid #b9a693;font-size:9px;letter-spacing:.1em;white-space:nowrap;transition:background .3s,color .3s}
.price-reserve:hover{background:var(--brown);color:var(--ivory)}
.menu-best{max-width:880px;margin:40px auto 0;padding:28px;text-align:center;background:var(--beige)}
.menu-best small{font:600 9px/1 var(--sans);letter-spacing:.3em;color:#8a7362}
.menu-best p{margin:10px 0 18px;font-size:14px;font-weight:500}
.menu-best a{display:inline-flex;gap:30px;padding:14px 22px;background:#fff8ed;font-size:11px}
/* スタッフの指名予約 */
.nominate-link{display:flex;justify-content:space-between;margin-top:16px;padding:10px 14px;background:#c6ad91;color:#2f251f;font-size:10px;font-weight:500;letter-spacing:.08em}
.nominate-link:hover{background:#d8c2a8}
@media(max-width:760px){.price-list>div{grid-template-columns:1fr auto;gap:6px}.price-reserve{grid-column:1/-1;justify-self:start}}

.footer-ig{font-size:8px;letter-spacing:.15em}
