@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;1,600&display=swap");
/* ===== 全ページ共通の新しい見た目（2026-10-06・トップ刷新に合わせた下層テンプレ） =====
 * body.is-skin のページだけに効く。共有の style.css には手を入れず、上から重ねる
 * （過去に共有CSSの編集で機能が消えた事故があるため）。
 * トップは body="is-top is-skin"、下層は body="is-skin"。
 * 生成り色の地・墨色の細い枠・角丸・英字の見出し（あんふぁん風）。
 */
body.is-skin {
  --bg: #f2efe9;
  --bg2: #e9e4dc;
  --bd: #d9d3ca;
  --tx: #2a2522;
  --txm: #6f665e;
  --ink: #2a2522;
  --en: 'Barlow Condensed', 'Oswald', 'Arial Narrow', sans-serif;
  background: var(--bg);
  color: var(--tx);
}

/* ---------- ヘッダー（トップページだけ。よければ全ページに広げる） ----------
 * 共通の header.html はそのまま使い、body.is-skin のときだけ見た目を変える。
 */
body.is-skin .sdb-header { background: #f2efe9; border-bottom: 1.5px solid #2a2522; }
body.is-skin .sdb-logo-link { position: relative; }
@media (min-width: 769px) {
  body.is-skin .sdb-header-inner { max-width: 1168px; padding: 12px 24px; }
  body.is-skin .sdb-logo { width: 133px; height: 60px; }
  body.is-skin .sdb-logo-link { display: flex; align-items: center; gap: 16px; text-decoration: none; }
  /* ロゴの横に、サロニーが何かを小さく添える */
  body.is-skin .sdb-logo-link::after {
    content: '静岡市の美容室・サロンを\Aまとめて探せる検索サイト';
    white-space: pre; font-size: 11px; font-weight: 700; line-height: 1.5; color: var(--ink);
    padding-left: 14px; border-left: 1px solid #c9c2b8;
  }
  body.is-skin .sdb-nav-inner { gap: 0; background: transparent; }
  body.is-skin .sdb-nav-inner a {
    font-size: 15px; font-weight: 700; color: #2a2522;
    flex-direction: column; gap: 0; padding: 2px 16px;
    position: relative;
  }
  body.is-skin .sdb-nav-inner a + a::before {
    content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; border-left: 1px dashed #c9c2b8;
  }
  /* アイコンはマスクで描いているので（背景色＝アイコンの色）、色付きの四角は a::after で後ろに敷く */
  body.is-skin .sdb-nav-inner a i {
    display: block; position: relative; z-index: 1;
    width: 15px; height: 15px; margin: 6px auto 5px; color: #fff;
  }
  body.is-skin .sdb-nav-inner a::after {
    content: ''; position: absolute; left: 50%; top: 2px; transform: translateX(-50%);
    width: 27px; height: 27px; border-radius: 9px; background: var(--nav-c, #2a2522);
  }
  body.is-skin .sdb-nav-inner a:nth-child(2) { --nav-c: #e0708f; }
  body.is-skin .sdb-nav-inner a:nth-child(3) { --nav-c: #38a3b3; }
  body.is-skin .sdb-nav-inner a:nth-child(4) { --nav-c: #e0a33c; }
  body.is-skin .sdb-nav-inner a:nth-child(5) { --nav-c: #8e6fd1; }
  body.is-skin .sdb-nav-inner a:hover::after { transform: translateX(-50%) translateY(-2px) rotate(-6deg); transition: transform .2s ease; }
  body.is-skin .sdb-nav-inner a:hover { color: #c0587a; }
  body.is-skin .sdb-nav-inner .sdb-header-mypage {
    flex-direction: row; margin-left: 14px; padding: 10px 18px;
    background: #2a2522; color: #fff; border: 0; border-radius: 10px;
  }
  body.is-skin .sdb-nav-inner .sdb-header-mypage::before,
  body.is-skin .sdb-nav-inner .sdb-header-mypage::after { display: none; }
  body.is-skin .sdb-nav-inner .sdb-header-mypage i { width: 17px; height: 17px; margin: 0 6px 0 0; }
  body.is-skin .sdb-nav-inner .sdb-header-mypage:hover { background: #c0587a; color: #fff; }
}
/* ヘッダーが狭いとき：収まらない文言から順に隠す（ロゴとマイページは必ず残す） */
body.is-skin .sdb-nav-inner .sdb-header-mypage { white-space: nowrap; }
@media (min-width: 769px) and (max-width: 900px) {
  body.is-skin .sdb-logo-link::after { display: none; }
}

/* トップのPC表示では「サロンを探す」等の4ボタンを出さず、マイページだけ残す（2026-10-05）。
 * スマホはメニューの中にリンクが要るので、4ボタンはそのまま */
@media (min-width: 769px) {
  body.is-skin .sdb-nav-inner a:not(.sdb-header-mypage) { display: none; }
  body.is-skin .sdb-nav-inner .sdb-header-mypage { margin-left: 0; }
}

/* ヘッダー右側の小さなテキストメニュー（あんふぁん風・2026-10-06）。
 * 共通の header.html にあり標準は hidden。トップのPC表示でだけ出し、マイページのボタンと入れ替える */
@media (min-width: 769px) {
  body.is-skin .sdb-header-sub {
    display: flex; align-items: center; gap: 26px; margin-left: auto;
    font-size: 14px; font-weight: 700;
  }
  body.is-skin .sdb-header-sub a { color: #2a2522; text-decoration: none; white-space: nowrap; }
  body.is-skin .sdb-header-sub a:hover { color: #c0587a; }
  body.is-skin .sdb-header-sub-account { display: inline-flex; align-items: center; gap: 8px; padding-left: 22px; border-left: 1px dashed #c9c2b8; }
  body.is-skin .sdb-header-sub-account a { display: inline-flex; align-items: center; gap: 4px; }
  body.is-skin .sdb-header-sub-account .ti { width: 15px; height: 15px; }
  body.is-skin .sdb-header-sub-account > span { color: #8a7f75; }
  /* 右側はこのメニューに任せるので、元のナビ（マイページのボタン）は隠す */
  body.is-skin .sdb-nav { display: none; }
}
@media (min-width: 769px) and (max-width: 1000px) {
  body.is-skin .sdb-header-sub { gap: 16px; font-size: 13px; }
  body.is-skin .sdb-header-sub-account { padding-left: 14px; }
}

/* ---------- 下層ページ ---------- */
body.is-skin:not(.is-top) .sdb-container { max-width: 1120px; padding: 0 24px; }
body.is-skin .sdb-breadcrumb { font-size: 13px; padding: 18px 0 10px; }
body.is-skin .sdb-breadcrumb a { text-decoration: underline; text-decoration-color: var(--bd); text-underline-offset: 3px; }

/* 見出し：太い墨色の文字＋下に短いピンクの線 → 左に色の丸を置く形へ */
body.is-skin:not(.is-top) .sdb-page > h1.sdb-section-title,
body.is-skin:not(.is-top) h1.sdb-section-title,
body.is-skin:not(.is-top) .sdb-page-title {
  font-size: 28px; font-weight: 900; letter-spacing: .02em; line-height: 1.45;
  margin: 6px 0 26px; padding: 0 0 16px; border-bottom: 1.5px solid var(--ink);
}
body.is-skin:not(.is-top) h1.sdb-section-title::after { display: none; }
body.is-skin:not(.is-top) h2.sdb-section-title,
body.is-skin:not(.is-top) .sdb-detail-block-title {
  font-size: 20px !important; font-weight: 900; padding: 0 0 0 20px; margin: 0 0 16px;
}
body.is-skin:not(.is-top) h2.sdb-section-title::after {
  left: 0; top: .5em; bottom: auto; width: 11px; height: 11px; border-radius: 50%;
  background: var(--pk); box-shadow: 3px 3px 0 var(--pks);
}

/* カード・リスト：白地に墨色の細い枠、角丸大きめ、乗せると影がずれて出る */
body.is-skin:not(.is-top) .sdb-shop-list-item,
body.is-skin:not(.is-top) .sdb-shop-card,
body.is-skin:not(.is-top) .sdb-search-card,
body.is-skin:not(.is-top) .sdb-side-card,
body.is-skin:not(.is-top) .sdb-detail-block {
  border: 1.5px solid var(--ink); border-radius: 18px; background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}
body.is-skin:not(.is-top) .sdb-shop-list-item:hover,
body.is-skin:not(.is-top) .sdb-shop-card:hover,
body.is-skin:not(.is-top) .sdb-search-card:hover {
  border-color: var(--ink); transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ink);
}
body.is-skin:not(.is-top) .sdb-shop-list { gap: 14px; }
body.is-skin:not(.is-top) .sdb-shop-list-img { border-radius: 14px; }
body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-name { font-weight: 900; font-size: 22px; }
body.is-skin:not(.is-top) .sdb-shop-list-divider { border-top: 1px dashed var(--bd); }
body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-address { font-size: 14px; }
body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-tel { font-size: 15px; }
body.is-skin:not(.is-top) .sdb-shop-card-name { font-size: 16px; font-weight: 800; }
body.is-skin:not(.is-top) .sdb-shop-card-address { font-size: 13px; }

/* 町・ジャンルのリンク：カプセル型 */
body.is-skin:not(.is-top) .sdb-town-list-grid { gap: 10px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
body.is-skin:not(.is-top) .sdb-town-list-item {
  border: 1.5px solid var(--ink); border-radius: 999px; padding: 11px 18px;
  font-size: 15px; font-weight: 700; background: #fff;
}
body.is-skin:not(.is-top) .sdb-town-list-item:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
body.is-skin:not(.is-top) .sdb-town-list-item:hover .sdb-town-list-item-count { color: #fff; }
body.is-skin:not(.is-top) .sdb-town-list-item-count { font-family: var(--en); font-size: 16px; font-weight: 600; }

/* ページ送り：丸ボタン */
body.is-skin:not(.is-top) .sdb-pagination { gap: 10px; margin-top: 40px; }
body.is-skin:not(.is-top) .sdb-pagination a,
body.is-skin:not(.is-top) .sdb-pagination span:not(.sdb-pagination-ellipsis) {
  min-width: 42px; height: 42px; border-radius: 999px; border: 1.5px solid var(--ink);
  font-family: var(--en); font-size: 18px; font-weight: 600; color: var(--ink);
}
body.is-skin:not(.is-top) .sdb-pagination a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
body.is-skin:not(.is-top) .sdb-pagination .is-current { background: var(--pk); border-color: var(--pk); color: #fff; }

/* 本文は少し大きく */
body.is-skin:not(.is-top) .sdb-search-intro,
body.is-skin:not(.is-top) .sdb-page-lead { font-size: 16px; line-height: 1.95; }

@media (max-width: 768px) {
  body.is-skin:not(.is-top) .sdb-container { padding: 0 16px; }
  body.is-skin:not(.is-top) h1.sdb-section-title,
  body.is-skin:not(.is-top) .sdb-page-title { font-size: 22px; margin-bottom: 20px; }
  body.is-skin:not(.is-top) h2.sdb-section-title,
  body.is-skin:not(.is-top) .sdb-detail-block-title { font-size: 18px !important; }
  body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-name { font-size: 19px; }
  body.is-skin:not(.is-top) .sdb-town-list-grid { grid-template-columns: repeat(2, 1fr); }
  body.is-skin:not(.is-top) .sdb-town-list-item { font-size: 14px; padding: 10px 14px; }
}

/* 店舗ページの店名 */
body.is-skin .sdb-shop-detail-name { font-size: 30px; font-weight: 900; letter-spacing: .02em; line-height: 1.4; }
@media (max-width: 768px) { body.is-skin .sdb-shop-detail-name { font-size: 24px; } }

/* 下層のジャンル帯（トップと同じもの）。いま見ているジャンルに印 */
body.is-skin:not(.is-top) .tp-catbar-wrap { background: var(--bg); }
.tp-cat[aria-current="page"] .tp-cat-name { color: var(--pk); }
.tp-cat[aria-current="page"] .tp-cat-icon { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--g); }

/* 件数の少ない町は畳んでおき、開くと文字のリンクで並ぶ */
.sk-more { margin-top: 16px; }
.sk-more summary {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none;
  font-size: 15px; font-weight: 700; padding: 9px 20px; border-radius: 999px;
  background: var(--ink); color: #fff;
}
.sk-more summary::-webkit-details-marker { display: none; }
.sk-more summary::after { content: '＋'; }
.sk-more[open] summary::after { content: '－'; }
.sk-more-list {
  margin-top: 16px; padding: 18px 22px; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px;
  display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 15px;
}
.sk-more-list a { text-decoration: none; color: var(--tx); }
.sk-more-list a:hover { color: var(--pk); text-decoration: underline; }
.sk-more-list small { margin-left: 3px; font-family: var(--en); font-size: 14px; color: var(--txm); }

/* 区のページ：ジャンルのタイル */
.sk-genres { background: transparent; margin: 8px 0 44px; }
body.is-skin .sk-eyebrow { margin: 0; font-family: var(--en); font-style: italic; font-weight: 600; font-size: 22px; letter-spacing: .06em; color: var(--pk); }
body.is-skin .sk-genres-title { margin: 0 0 20px; font-size: 26px; font-weight: 900; line-height: 1.4; }
.sk-genres-title small { display: block; margin-top: 4px; font-size: 14px; font-weight: 700; color: var(--txm); }
.sk-genre-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sk-genre-grid a {
  position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto;
  column-gap: 14px; align-items: center; padding: 16px 18px 20px; overflow: hidden;
  background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; text-decoration: none; color: var(--ink);
  transition: transform .15s ease, box-shadow .15s ease;
}
.sk-genre-grid a:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--g); }
.sk-genre-icon {
  grid-row: 1 / 3; width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center;
  background: var(--g); color: #fff; transition: transform .2s ease;
}
.sk-genre-icon .ti { width: 26px; height: 26px; }
.sk-genre-grid a:hover .sk-genre-icon { transform: rotate(-8deg); }
.sk-genre-name { font-size: 17px; font-weight: 900; }
.sk-genre-count { font-family: var(--en); font-weight: 600; font-size: 28px; line-height: 1; color: var(--g); }
.sk-genre-count small { font-family: inherit; font-size: 13px; font-weight: 800; color: var(--txm); margin-left: 2px; }
/* 区内での多さを、下端の細い帯の長さで */
.sk-genre-bar { position: absolute; left: 0; bottom: 0; height: 6px; width: calc(var(--r) * 100%); min-width: 6px; background: var(--g); border-radius: 0 6px 0 0; }
@media (max-width: 900px) { .sk-genre-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
  .sk-genres-title { font-size: 21px; }
  .sk-genre-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .sk-genre-grid a { padding: 12px 12px 16px; column-gap: 10px; }
  .sk-genre-icon { width: 40px; height: 40px; border-radius: 12px; }
  .sk-genre-icon .ti { width: 21px; height: 21px; }
  .sk-genre-name { font-size: 15px; }
  .sk-genre-count { font-size: 23px; }
}

/* 英字の見出し：トップの .tp-en と同じ（頭文字ピンク＋水色の影、下に波線） */
body.is-skin .sk-eyebrow {
  position: relative; display: inline-block; margin: 0 0 12px; padding-bottom: 10px;
  font-family: var(--en); font-style: italic; font-weight: 600;
  font-size: 46px; line-height: .9; letter-spacing: .01em; color: var(--ink);
}
body.is-skin .sk-eyebrow b { font-weight: inherit; color: var(--pk); text-shadow: 3px 3px 0 #9fd8d3; margin-right: 1px; }
body.is-skin .sk-eyebrow::after {
  content: ''; position: absolute; left: 2px; right: 6px; bottom: 0; height: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8' viewBox='0 0 24 8'%3E%3Cpath d='M0 4 Q6 0 12 4 T24 4' fill='none' stroke='%23c0587a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center / 24px 8px;
}
@media (max-width: 768px) { body.is-skin .sk-eyebrow { font-size: 36px; } }
.sk-genre-grid .g-all { --g: #5b7bb5; } /* ジャンルの7色と重ならない青 */
.sk-genre-grid a[aria-current="page"] { background: var(--g); color: #fff; box-shadow: 4px 4px 0 var(--ink); }
.sk-genre-grid a[aria-current="page"] .sk-genre-icon { background: #fff; color: var(--g); }
.sk-genre-grid a[aria-current="page"] .sk-genre-count,
.sk-genre-grid a[aria-current="page"] .sk-genre-count small { color: #fff; }
.sk-genre-grid a[aria-current="page"] .sk-genre-bar { background: #fff; opacity: .6; }
body.is-skin .sdb-town-list-item[aria-current="page"] { background: var(--pk); border-color: var(--pk); color: #fff; }
body.is-skin .sdb-town-list-item[aria-current="page"] .sdb-town-list-item-count { color: #fff; }

/* 掲載の内訳（「静岡市のネイルを229件掲載…」）。左線だけの薄い箱が浮いていたので、
 * トップのカプセルと同じ白地・墨色の枠にし、左上に小さな札を付けて「データ」と分かるように */
body.is-skin .sdb-situation {
  position: relative; margin: 8px 0 40px; padding: 26px 26px 20px;
  background: #fff; border: 1.5px solid var(--ink); border-radius: 18px;
  box-shadow: 5px 5px 0 #9fd8d3;
}
body.is-skin .sdb-situation::before {
  content: 'いまの掲載'; position: absolute; left: 20px; top: -13px;
  padding: 4px 14px; border-radius: 999px; background: var(--ink); color: #fff;
  font-size: 12px; font-weight: 800; letter-spacing: .08em;
}
body.is-skin .sdb-situation-text { font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.9; }
@media (max-width: 768px) {
  body.is-skin .sdb-situation { padding: 22px 18px 16px; }
  body.is-skin .sdb-situation-text { font-size: 14px; }
}

/* ===== 文字サイズのきまり（2026-10-06・トップに合わせる）=====
 * docs/design/typography.md に表あり。新しい部品もこの段から選ぶ。13px 未満は使わない。
 *            PC    SP
 *  --fs-h1   30    23   ページの見出し・店名
 *  --fs-h2   26    21   欄の見出し（日本語）
 *  --fs-h3   20    18   カードの見出し・店名（一覧）
 *  --fs-lead 17    16   強めの本文・ボタン
 *  --fs-body 16    15   本文・住所・説明
 *  --fs-sub  14    14   補足・ラベル・件数
 *  --fs-min  13    13   最小（札・注記）
 */
body.is-skin {
  --fs-h1: 30px; --fs-h2: 26px; --fs-h3: 20px; --fs-lead: 17px;
  --fs-body: 16px; --fs-sub: 14px; --fs-min: 13px;
}
@media (max-width: 768px) {
  body.is-skin { --fs-h1: 23px; --fs-h2: 21px; --fs-h3: 18px; --fs-lead: 16px; --fs-body: 15px; }
}
body.is-skin:not(.is-top) h1.sdb-section-title,
body.is-skin:not(.is-top) .sdb-page-title,
body.is-skin .sdb-shop-detail-name { font-size: var(--fs-h1); }
body.is-skin .sk-genres-title { font-size: var(--fs-h2); }
body.is-skin:not(.is-top) h2.sdb-section-title,
body.is-skin:not(.is-top) .sdb-detail-block-title { font-size: var(--fs-h3) !important; }
body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-name,
body.is-skin:not(.is-top) .sdb-shop-card-name,
body.is-skin .sk-genre-name { font-size: var(--fs-h3); }
body.is-skin:not(.is-top) :is(.sdb-situation-text, .sdb-search-intro, .sdb-page-lead, .sdb-shop-list-tel, .sdb-town-list-item, .sk-more-list,
  .sdb-profile-value, .sdb-basics-value, .sdb-review-body, .sdb-faq-a, .sdb-shop-menu-table td, .sdb-shop-coupon-desc,
  .sdb-own-product-desc, .sdb-score-comment, .sdb-owner-cta-text, .sdb-side-card, .sdb-area-map-info-address) { font-size: var(--fs-body); }
body.is-skin:not(.is-top) :is(.sdb-shop-list-item .sdb-shop-list-address, .sdb-shop-card-address, .sdb-search-card-tel,
  .sdb-breadcrumb, .sdb-profile-label, .sdb-basics-label, .sdb-rating-source,
  .sdb-hours-source, .sdb-info-note, .sdb-side-card-note, .sdb-side-card-label, .sdb-insight-label, .sdb-insights-towns a,
  .sdb-situation-links a, .sdb-shop-menu-desc, .sdb-shop-menu-note, .sdb-shop-coupon-expires, .sk-genres-title small,
  .sdb-crosslink-list a, .sdb-area-map-info-detail, .sdb-pagination a) { font-size: var(--fs-sub); }
body.is-skin:not(.is-top) :is(.sdb-tag, .sdb-genre-label, .sdb-town-genre-chip-count, .sdb-insight-label small,
  .sdb-own-product-label, .sdb-review-item-stars, .sdb-shop-menu-orig) { font-size: var(--fs-min); }
body.is-skin:not(.is-top) .sdb-filter-bar :is(select, input, button),
body.is-skin:not(.is-top) .sdb-save-search-btn { font-size: var(--fs-body); }
/* 一覧の住所・電話は補足ではなく本文の段（「字が小さい」2026-10-06） */
body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-address,
body.is-skin:not(.is-top) .sdb-shop-list-item .sdb-shop-list-tel { font-size: var(--fs-body); }

/* ---------- 一覧下の「Data（傾向）」と「Q&A（よくある質問）」 ---------- */
body.is-skin .sdb-insights, body.is-skin .sdb-faq { margin-top: 56px; }
body.is-skin .sdb-page .sdb-insights-title.sk-genres-title { display: block; font-size: var(--fs-h2); margin: 0 0 20px; padding: 0; }
body.is-skin .sdb-page .sdb-insights-title.sk-genres-title::after { display: none; }
body.is-skin .sdb-insights-grid { gap: 14px; }
body.is-skin .sdb-insight-item {
  background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; padding: 22px 14px 18px;
  box-shadow: 5px 5px 0 #9fd8d3;
}
body.is-skin .sdb-insight-value {
  font-family: var(--en); font-weight: 600; font-size: 48px; line-height: 1; color: var(--pk);
  text-shadow: 2px 2px 0 #9fd8d3;
}
body.is-skin .sdb-insight-value small { font-family: inherit; font-size: var(--fs-body); font-weight: 900; color: var(--ink); text-shadow: none; margin-left: 3px; }
body.is-skin .sdb-insight-label { margin-top: 10px; font-size: var(--fs-body); font-weight: 800; color: var(--ink); }
body.is-skin .sdb-insight-label small { font-size: var(--fs-min); font-weight: 700; color: var(--txm); }
body.is-skin .sdb-insights-subtitle { font-size: var(--fs-h3); font-weight: 900; margin: 28px 0 12px; }

body.is-skin .sdb-page .sdb-faq-item {
  background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; padding: 0; margin: 0 0 12px; overflow: hidden;
}
body.is-skin .sdb-page .sdb-faq-item summary {
  display: flex; align-items: center; gap: 14px; padding: 18px 20px;
  font-size: var(--fs-lead); font-weight: 800; color: var(--ink); line-height: 1.6;
}
body.is-skin .sdb-page .sdb-faq-item summary::after {
  content: '＋'; float: none; flex: none; margin-left: auto; width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center; background: var(--ink); color: #fff; font-size: 15px;
}
body.is-skin .sdb-page .sdb-faq-item[open] summary::after { content: '－'; background: var(--pk); }
body.is-skin .sdb-page .sdb-faq-item p {
  display: flex; gap: 14px; margin: 0; padding: 16px 20px 20px; border-top: 1px dashed var(--bd);
  font-size: var(--fs-body); color: var(--ink); line-height: 1.9;
}
.sk-qa-mark {
  flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
  font-family: var(--en); font-style: italic; font-weight: 600; font-size: 21px; line-height: 1;
  background: var(--pk); color: #fff;
}
.sk-qa-mark.is-a { background: #fff; color: var(--pk); border: 1.5px solid var(--pk); }
.sk-qa-text { flex: 1; min-width: 0; }
@media (max-width: 768px) {
  body.is-skin .sdb-insight-value { font-size: 38px; }
  body.is-skin .sdb-page .sdb-faq-item summary, body.is-skin .sdb-page .sdb-faq-item p { padding-left: 14px; padding-right: 14px; gap: 10px; }
}
/* Google評価の星（--p の割合まで金色） */
.sk-stars {
  display: block; margin-top: 6px; font-size: 22px; letter-spacing: .08em; line-height: 1;
  background: linear-gradient(90deg, #f2b01e var(--p), #d9d3ca var(--p));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sk-stars.is-small { font-size: 18px; }
/* 見出しの右端に「検索条件を保存」。下線は行全体に引く */
body.is-skin .sk-h1-row { display: flex; align-items: flex-end; gap: 16px; margin: 6px 0 26px; padding-bottom: 16px; border-bottom: 1.5px solid var(--ink); }
body.is-skin .sk-h1-row h1.sdb-section-title { flex: 1; margin: 0; padding: 0; border: 0; }
body.is-skin .sk-h1-row .sdb-save-search-row { flex: none; margin: 0; }
@media (max-width: 768px) {
  body.is-skin .sk-h1-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ---------- KITEKO 掲載店（一覧の上位）。プランの違いは見せず、どの店も同じ見た目 ----------
 * 「WEB予約」＝ネットで予約できる。「PR」＝掲載料をいただき上に出している */
.sk-booking {
  display: inline-flex; align-items: center; gap: 4px; padding: 3px 11px 3px 8px; border-radius: 999px;
  font-size: var(--fs-min); font-weight: 800; line-height: 1.4; background: #38a3b3; color: #fff;
}
.sk-booking .ti { width: 15px; height: 15px; }
.sk-pr {
  display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 6px;
  font-family: var(--en); font-weight: 600; font-size: 14px; letter-spacing: .08em; line-height: 1.3;
  border: 1.5px solid var(--ink); color: var(--ink); background: #fff;
}
/* 上に出しているお店は、カードの影を水色にして少しだけ目立たせる */
body.is-skin:not(.is-top) .sdb-shop-list-item.is-kiteko { box-shadow: 5px 5px 0 #9fd8d3; }
/* PR はカードの右上の角に（2026-10-06）。色付き */
body.is-skin:not(.is-top) .sdb-shop-list-item.is-kiteko { position: relative; }
body.is-skin:not(.is-top) .sdb-shop-list-item .sk-pr {
  position: absolute; top: -1.5px; right: -1.5px; z-index: 1;
  padding: 4px 14px; border: 0; border-radius: 0 18px 0 14px;
  background: #c0587a; color: #fff; font-size: 15px;
}

/* 一覧のカード：24時間以内のお店のつぶやき（2026-10-07）。
 * 横に時刻を並べると本文が細く折り返して窮屈なので、アイコンと「40分前」を見出しの1行にし、本文はカードの幅いっぱいに。
 * 並びは HTML のまま（アイコン→本文→時刻）で、grid で置き場所だけ変える */
.sk-news {
  display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 6px; row-gap: 4px;
  margin: 12px 0 0; padding: 10px 14px 12px; border-radius: 14px; background: #fff4f6;
  font-size: var(--fs-body); line-height: 1.7; color: var(--ink);
}
.sk-news .ti { grid-column: 1; grid-row: 1; width: 20px; height: 20px; color: var(--pk); }
.sk-news-time { grid-column: 2; grid-row: 1; font-size: var(--fs-sub); font-weight: 700; color: var(--pk); white-space: nowrap; }
.sk-news-text { grid-column: 1 / -1; grid-row: 2; min-width: 0; font-weight: 700; }

/* ===== 店舗ページ（2026-10-06） ===== */
body.is-skin .sk-eyebrow.is-sm { font-size: 34px; margin-bottom: 8px; }
@media (max-width: 768px) { body.is-skin .sk-eyebrow.is-sm { font-size: 28px; } }
body.is-skin .sdb-shop-detail-layout { gap: 28px; }
body.is-skin .sdb-shop-detail-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 10px 0 14px; }
body.is-skin .sdb-shop-description { font-size: var(--fs-body); line-height: 1.95; color: var(--ink); }
body.is-skin .sdb-rating-line { font-size: var(--fs-body); }
body.is-skin .sdb-rating-score { font-family: var(--en); font-size: 34px; color: var(--pk); text-shadow: 2px 2px 0 #9fd8d3; }

/* お店からのお知らせ（24時間以内のつぶやき） */
.sk-shop-news {
  margin: 4px 0 22px; padding: 16px 20px; background: #fff;
  border: 1.5px solid var(--pk); border-radius: 18px; box-shadow: 5px 5px 0 var(--pks);
}
.sk-shop-news-head { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: var(--fs-sub); font-weight: 800; color: var(--pk); }
.sk-shop-news-head .ti { width: 20px; height: 20px; }
.sk-shop-news-head time { margin-left: auto; font-weight: 700; color: var(--txm); }
.sk-shop-news-body { margin: 0; font-size: var(--fs-lead); font-weight: 700; line-height: 1.8; color: var(--ink); }

/* 各欄（営業時間・店舗情報）は白いカード。見出しの英字はカードの外に出す */
body.is-skin .sdb-detail-block { padding: 20px 22px; margin-top: 30px; box-shadow: 5px 5px 0 #9fd8d3; }
body.is-skin .sdb-detail-block > .sk-eyebrow.is-sm { position: absolute; left: 0; top: -54px; margin: 0; }
body.is-skin .sdb-detail-block { position: relative; margin-top: 64px; }
body.is-skin .sdb-detail-block-title { padding-left: 0 !important; }
body.is-skin .sdb-detail-block-title .ti { display: none; }
body.is-skin .sdb-hours-today { border-radius: 14px; font-size: var(--fs-body); }
body.is-skin .sdb-hours-today-time { font-size: var(--fs-body); color: var(--ink); }
body.is-skin .sdb-hours-today-time strong { font-family: var(--en); font-size: 26px; }
body.is-skin .sdb-hours-details summary { font-size: var(--fs-sub); font-weight: 700; }
body.is-skin .sdb-hours-list { font-size: var(--fs-body); }
body.is-skin .sdb-info-row { padding: 14px 4px; border-bottom: 1px dashed var(--bd); }
body.is-skin .sdb-info-row:last-child { border-bottom: 0; }
body.is-skin .sdb-info-row dt { font-size: var(--fs-sub); font-weight: 800; color: var(--txm); }
body.is-skin .sdb-info-row dd { font-size: var(--fs-body); color: var(--ink); }
body.is-skin .sdb-info-tel { font-family: var(--en); font-size: 26px; font-weight: 600; letter-spacing: .02em; }
body.is-skin .sdb-info-action, body.is-skin .sdb-info-link { font-size: var(--fs-sub); font-weight: 700; }

/* 地図：見出しを付け、枠をそろえる */
body.is-skin .sdb-shop-detail-layout > div > .sk-eyebrow.is-sm { margin-top: 44px; }
body.is-skin .sdb-map-embed { margin-top: 0; border: 1.5px solid var(--ink); border-radius: 18px; }

/* オーナー向けの編集リンク */
body.is-skin .sdb-owner-claim { border: 1.5px dashed var(--ink); border-radius: 18px; background: transparent; margin-top: 22px; }
body.is-skin .sdb-owner-claim-body strong { font-size: var(--fs-body); }
body.is-skin .sdb-owner-claim-body small { font-size: var(--fs-sub); }

/* 右の予約・電話の箱：スクロールしても付いてくる */
body.is-skin .sdb-side-card { position: sticky; top: 100px; align-self: start; padding: 22px; box-shadow: 5px 5px 0 #9fd8d3; }
body.is-skin .sdb-side-card-booking {
  font-size: var(--fs-lead); font-weight: 900; padding: 16px; border-radius: 999px;
  background: #38a3b3; box-shadow: 0 4px 0 #23798a;
}
body.is-skin .sdb-side-card-booking:hover { transform: translateY(2px); box-shadow: 0 2px 0 #23798a; }
body.is-skin .sdb-side-card-label { font-size: var(--fs-sub); font-weight: 700; color: var(--txm); margin-top: 16px; }
body.is-skin .sdb-side-card-tel { font-family: var(--en); font-size: 30px; font-weight: 600; color: var(--ink); }
body.is-skin .sdb-side-card-btn { font-size: var(--fs-body); font-weight: 800; border-radius: 999px; border: 1.5px solid var(--ink); background: #fff; color: var(--ink); }
body.is-skin .sdb-side-card-btn:hover { background: var(--ink); color: #fff; }
body.is-skin .sdb-side-card-note { font-size: var(--fs-min); }

/* ギャラリー・メニュー・クーポン・口コミ・周辺 */
body.is-skin .sdb-shop-gallery, body.is-skin .sdb-shop-menu-section, body.is-skin .sdb-shop-coupon-section,
body.is-skin .sdb-review-section, body.is-skin .sdb-related-shops { margin-top: 56px; border-top: 0; padding-top: 0; }
body.is-skin .sdb-shop-gallery-item img { border-radius: 14px; border: 1.5px solid var(--ink); }
body.is-skin .sdb-shop-menu-table { background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; overflow: hidden; font-size: var(--fs-body); }
body.is-skin .sdb-shop-menu-table td { padding: 14px 18px; border-bottom: 1px dashed var(--bd); }
body.is-skin .sdb-shop-menu-name { font-weight: 800; }
body.is-skin .sdb-shop-menu-price { font-family: var(--en); font-size: 22px; font-weight: 600; }
body.is-skin .sdb-shop-menu-category { font-size: var(--fs-h3); font-weight: 900; border-left: 0; padding-left: 0; margin: 22px 0 10px; }
body.is-skin .sdb-shop-coupon { background: #fff; border: 1.5px dashed var(--pk); border-radius: 18px; padding: 18px 20px; }
body.is-skin .sdb-shop-coupon-title { font-size: var(--fs-h3); font-weight: 900; }
body.is-skin .sdb-review-item { background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; padding: 18px 20px; }
body.is-skin .sdb-review-item-stars { font-size: 16px; }
@media (max-width: 768px) {
  body.is-skin .sdb-side-card { position: static; }
  body.is-skin .sdb-detail-block { padding: 16px; }
}

/* ---------- 店舗ページの追加欄（空き状況・スタッフ・お知らせ・コラム・Googleの口コミ） ---------- */
.sk-shop-section { margin-top: 56px; }
.sk-sched-wrap { overflow-x: auto; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; box-shadow: 5px 5px 0 #9fd8d3; }
.sk-sched { width: 100%; border-collapse: collapse; text-align: center; font-size: var(--fs-body); min-width: 560px; }
.sk-sched th, .sk-sched td { padding: 10px 6px; border-bottom: 1px dashed var(--bd); }
.sk-sched thead th { font-family: var(--en); font-size: 20px; font-weight: 600; line-height: 1.1; padding-top: 14px; }
.sk-sched thead th small { display: block; font-family: inherit; font-size: var(--fs-min); font-weight: 800; color: var(--txm); }
.sk-sched thead th.is-sat small { color: #38a3b3; }
.sk-sched thead th.is-sun small { color: var(--pk); }
.sk-sched tbody th { font-family: var(--en); font-size: 18px; font-weight: 600; color: var(--txm); }
.sk-sched td { font-size: 20px; font-weight: 900; }
.sk-sched tr:last-child > * { border-bottom: 0; }
.is-o { color: #38a3b3; } .is-a { color: #e0a33c; } .is-x { color: #c9c2b8; }
.sk-sched td.is-- { color: #c9c2b8; background: #f7f5f1; }
.sk-sched-note { font-size: var(--fs-sub); color: var(--txm); margin: 12px 0 0; }
.sk-sched-note span { font-weight: 900; }
.sk-big-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px; max-width: 420px; margin: 18px auto 0;
  padding: 16px; border-radius: 999px; background: #38a3b3; color: #fff; text-decoration: none;
  font-size: var(--fs-lead); font-weight: 900; box-shadow: 0 4px 0 #23798a;
}
.sk-big-btn .ti { width: 20px; height: 20px; }
.sk-staff { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
.sk-staff li { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 16px 18px; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; text-align: center; }
.sk-staff-photo {
  width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 10px;
  font-size: 36px; font-weight: 900; color: #fff; background: var(--ec); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ec);
}
.sk-staff-role { font-size: var(--fs-min); font-weight: 800; color: #fff; background: var(--ec); padding: 2px 12px; border-radius: 999px; }
.sk-staff-name { font-size: var(--fs-h3); font-weight: 900; }
.sk-staff-years { font-size: var(--fs-sub); color: var(--txm); }
.sk-staff-years b { font-family: var(--en); font-size: 22px; color: var(--ink); }
.sk-staff-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 6px; }
.sk-staff-tags span { font-size: var(--fs-min); font-weight: 700; padding: 2px 10px; border: 1px solid var(--bd); border-radius: 999px; }
.sk-tweets { list-style: none; margin: 0; padding: 0; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; }
.sk-tweets li { display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px; border-bottom: 1px dashed var(--bd); }
.sk-tweets li:last-child { border-bottom: 0; }
.sk-tweets .ti { flex: none; width: 24px; height: 24px; color: var(--pk); margin-top: 3px; }
.sk-tweets p { flex: 1; margin: 0; font-size: var(--fs-body); font-weight: 700; line-height: 1.8; }
.sk-tweets time { flex: none; font-size: var(--fs-sub); color: var(--txm); }
.sk-cols { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.sk-cols a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--ink); transition: transform .15s, box-shadow .15s; }
.sk-cols a:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ink); }
.sk-cols-img { height: 160px; background: #fbe1e8 center / cover; display: grid; place-items: center; font-family: var(--en); font-style: italic; font-size: 44px; color: var(--pk); border-bottom: 1.5px solid var(--ink); }
.sk-cols-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.sk-cols-body time { font-family: var(--en); font-size: 16px; color: var(--txm); }
.sk-cols-body b { font-size: var(--fs-h3); line-height: 1.5; }
.sk-cols-body span { font-size: var(--fs-sub); color: var(--txm); line-height: 1.7; }
.sk-greviews { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sk-greviews li { background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; padding: 16px 20px; }
.sk-greviews-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 6px; font-size: var(--fs-body); }
.sk-greviews-head .sk-stars { display: inline-block; margin: 0; }
.sk-greviews-head time { margin-left: auto; font-size: var(--fs-sub); color: var(--txm); }
.sk-greviews-text { margin: 0; font-size: var(--fs-body); line-height: 1.9; }
.sk-greviews-src { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 12px 0 0; font-size: var(--fs-sub); color: var(--txm); }
.sk-greviews-src .ti { width: 16px; height: 16px; }
.sk-greviews-src a { display: inline-flex; align-items: center; gap: 3px; margin-left: auto; font-weight: 700; color: var(--ink); }

/* ---------- 店舗ページ 2回目の調整（2026-10-06） ---------- */
/* 空き状況：評価の下。営業時間などと同じ白いカード＋外に英字見出し */
.sk-sched-section { margin-top: 40px; }
.sk-sched-section .sk-eyebrow { font-size: 34px; margin-bottom: 4px; }
.sk-sched-section .sk-genres-title { font-size: var(--fs-h3); margin-bottom: 14px; }
.sk-sched-section .sk-sched { min-width: 520px; }
.sk-sched-section .sk-big-btn { max-width: none; }

/* フォトギャラリー：横スクロール（指でも、ホイールの横送りでも）。端の写真が少し見えて続きがあると分かる */
body.is-skin .sdb-shop-gallery-grid {
  display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 2px 2px 14px; scrollbar-width: thin; scrollbar-color: var(--ink) transparent;
}
body.is-skin .sdb-shop-gallery-item { flex: 0 0 300px; scroll-snap-align: start; }
body.is-skin .sdb-shop-gallery-item figcaption { font-size: var(--fs-sub); margin-top: 8px; }
@media (max-width: 768px) { body.is-skin .sdb-shop-gallery-item { flex-basis: 78%; } }

/* スタイリスト：カードはボタン。押すとプロフィールのポップアップ */
.sk-staff-card {
  all: unset; box-sizing: border-box; cursor: pointer; width: 100%; height: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center;
}
.sk-staff li { padding: 0; transition: transform .15s, box-shadow .15s; }
.sk-staff li:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ec); }
.sk-staff-card { padding: 22px 16px 18px; }
.sk-staff-card:focus-visible { outline: 3px solid var(--ec); outline-offset: 3px; border-radius: 18px; }
.sk-staff-more { display: inline-flex; align-items: center; gap: 2px; margin-top: 10px; font-size: var(--fs-sub); font-weight: 800; color: var(--ec); }
.sk-staff-more .ti { width: 16px; height: 16px; }
.sk-dialog {
  width: min(520px, calc(100vw - 32px)); padding: 28px 26px 24px; border: 1.5px solid var(--ink); border-radius: 22px;
  background: #fff; color: var(--ink); box-shadow: 8px 8px 0 var(--ec);
}
.sk-dialog::backdrop { background: rgba(42, 37, 34, .55); }
.sk-dialog-close {
  position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; border: 0;
  background: var(--ink); color: #fff; font-size: 20px; cursor: pointer;
}
.sk-dialog-head { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.sk-dialog-head .sk-staff-photo { flex: none; margin: 0; }
.sk-dialog-head p { margin: 4px 0 0; }
.sk-dialog-text { font-size: var(--fs-body); line-height: 1.9; margin: 0 0 14px; }
.sk-dialog-dl { margin: 0 0 6px; border-top: 1px dashed var(--bd); }
.sk-dialog-dl div { display: flex; gap: 14px; padding: 10px 0; border-bottom: 1px dashed var(--bd); font-size: var(--fs-body); }
.sk-dialog-dl dt { flex: none; width: 6em; font-size: var(--fs-sub); font-weight: 800; color: var(--txm); }
.sk-dialog-dl dd { margin: 0; font-weight: 700; }
.sk-dialog .sk-big-btn { max-width: none; }

/* メニュー：カテゴリーごとに白いカード、文字は本文の大きさ、料金は英字で大きく */
body.is-skin .sdb-shop-menu-category {
  display: flex; align-items: center; gap: 10px; font-size: var(--fs-h3); font-weight: 900; margin: 26px 0 10px;
}
body.is-skin .sdb-shop-menu-category::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--pk); box-shadow: 3px 3px 0 #9fd8d3; }
body.is-skin .sdb-shop-menu-table {
  border-collapse: separate; border-spacing: 0; background: #fff;
  border: 1.5px solid var(--ink); border-radius: 18px; overflow: hidden; box-shadow: 5px 5px 0 #9fd8d3;
}
body.is-skin .sdb-shop-menu-table td { padding: 16px 20px; font-size: var(--fs-body); border-bottom: 1px dashed var(--bd); vertical-align: middle; }
body.is-skin .sdb-shop-menu-table tr:last-child td { border-bottom: 0; }
body.is-skin .sdb-shop-menu-name { font-size: var(--fs-lead); font-weight: 800; color: var(--ink); }
body.is-skin .sdb-shop-menu-desc { font-size: var(--fs-sub); margin-top: 4px; }
body.is-skin .sdb-shop-menu-price { font-family: var(--en); font-size: 26px; font-weight: 600; color: var(--pk); }
body.is-skin .sdb-shop-menu-orig { font-size: 16px; color: var(--txm); margin-right: 6px; }
body.is-skin .sdb-shop-menu-note { font-size: var(--fs-sub); margin-top: 14px; }
/* 空き状況：字を濃く、余白をとる（2026-10-06） */
.sk-sched-section { margin-bottom: 24px; }
.sk-sched-section .sk-genres-title { margin-bottom: 18px; }
.sk-sched thead th { color: var(--ink); padding: 18px 6px 12px; }
.sk-sched tbody th { color: var(--ink); padding-left: 18px; padding-right: 10px; }
.sk-sched th, .sk-sched td { padding-top: 13px; padding-bottom: 13px; }
.sk-sched td { font-size: 22px; }
.sk-sched .is-o, .sk-sched-note .is-o { color: #1f8a99; }
.sk-sched .is-a, .sk-sched-note .is-a { color: #c98a1c; }
.sk-sched .is-x, .sk-sched-note .is-x { color: var(--ink); }
.sk-sched td.is-- { color: #8a7f75; }
.sk-sched-note { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 16px 0 0; font-size: var(--fs-body); font-weight: 700; color: var(--ink); }
.sk-sched-note > span { display: inline-flex; align-items: center; gap: 4px; }
.sk-sched-note > span > span { font-size: 19px; font-weight: 900; }
.sk-sched-section .sk-big-btn { margin-top: 22px; }
/* キャッチコピーと紹介文（評価の下・空き状況の上） */
.sk-intro { margin: 28px 0 8px; }
body.is-skin .sk-intro .sdb-shop-catch {
  position: relative; margin: 0 0 14px; padding-left: 18px;
  font-size: var(--fs-h2); font-weight: 900; line-height: 1.5; color: var(--ink);
}
body.is-skin .sk-intro .sdb-shop-catch::before {
  content: ''; position: absolute; left: 0; top: .3em; bottom: .3em; width: 5px; border-radius: 3px; background: var(--pk);
}
body.is-skin .sk-intro .sdb-shop-description {
  font-size: var(--fs-body); line-height: 2; color: var(--ink);
  background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; padding: 20px 24px;
}
/* 評価は店名の行の右端に（お気に入りボタンの手前） */
body.is-skin .sdb-shop-detail-namerow { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
body.is-skin .sdb-shop-detail-namerow .sdb-shop-detail-name { flex: 1; min-width: 0; margin: 0; }
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line { margin: 0 0 0 auto; flex: none; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line > span:not(.sdb-rating-stars):not(.sdb-rating-score) { font-size: var(--fs-sub); color: var(--txm); }
@media (max-width: 768px) {
  body.is-skin .sdb-shop-detail-namerow .sdb-shop-detail-name { flex-basis: calc(100% - 60px); }
  body.is-skin .sdb-shop-detail-namerow .sdb-rating-line { order: 3; margin-left: 0; }
}
/* パンくずと評価の補足は墨色。評価は2行（★と点数／件数と出典） */
body.is-skin .sdb-breadcrumb, body.is-skin .sdb-breadcrumb a { color: var(--ink); }
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line {
  display: grid; grid-template-columns: auto auto; justify-content: end; align-items: center; column-gap: 8px; row-gap: 2px; white-space: nowrap;
}
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line > span:not(.sdb-rating-stars):not(.sdb-rating-score) { color: var(--ink); grid-row: 2; text-align: right; }
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line > span:nth-of-type(3) { grid-column: 1; }
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line > .sdb-rating-source { grid-column: 2; text-align: left; }
/* 評価：上に★と点数、下に件数と出典。どちらも右寄せでそろえる */
body.is-skin .sdb-shop-detail-namerow .sdb-rating-line { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
body.is-skin .sk-rating-top { display: flex; align-items: center; gap: 8px; line-height: 1; }
body.is-skin .sk-rating-sub { display: flex; gap: 8px; font-size: var(--fs-sub); color: var(--ink); }
body.is-skin .sk-rating-sub > span { grid-row: auto !important; grid-column: auto !important; color: var(--ink) !important; font-size: var(--fs-sub) !important; }
body.is-skin a.sdb-rating-line { text-decoration: none; color: inherit; border-radius: 10px; padding: 4px 6px; transition: background .15s; }
body.is-skin a.sdb-rating-line:hover { background: #fff; }
body.is-skin a.sdb-rating-line:hover .sk-rating-sub { text-decoration: underline; }
/* Googleの口コミのポップアップ */
.sk-greviews-dialog { width: min(620px, calc(100vw - 32px)); max-height: 85vh; }
.sk-greviews-dialog .sk-genres-title { font-size: var(--fs-h3); margin: 0 0 16px; }
.sk-greviews-dialog .sk-greviews li { box-shadow: none; }

/* お店からのお知らせ（店舗ページ上部）：特別感を出す（2026-10-06）
 * ピンクの吹き出し＋点滅する「NEW」。お店が今しゃべっている感じに */
.sk-shop-news {
  position: relative; margin: 18px 0 24px; padding: 18px 22px 20px;
  background: linear-gradient(135deg, #c0587a 0%, #e0708f 60%, #e89a6a 100%);
  border: 1.5px solid var(--ink); border-radius: 22px; box-shadow: 6px 6px 0 var(--ink); color: #fff;
}
.sk-shop-news::before {
  content: ''; position: absolute; left: 34px; top: -11px; width: 18px; height: 18px;
  background: #c0587a; border-left: 1.5px solid var(--ink); border-top: 1.5px solid var(--ink); transform: rotate(45deg);
}
.sk-shop-news-head { color: #fff; font-size: var(--fs-sub); letter-spacing: .04em; }
.sk-shop-news-head .ti { color: #fff; }
.sk-shop-news-head::after {
  content: 'NEW'; order: -1; display: inline-flex; align-items: center; gap: 6px; margin-right: 4px;
  font-family: var(--en); font-weight: 600; font-size: 15px; letter-spacing: .1em;
  padding: 2px 10px 2px 22px; border-radius: 999px; background: #fff; color: #c0587a;
  background-image: radial-gradient(circle at 11px 50%, #c0587a 4px, transparent 5px);
  animation: skNewPulse 1.6s ease-in-out infinite;
}
.sk-shop-news-head time { color: rgba(255, 255, 255, .9); }
.sk-shop-news-body { color: #fff; font-size: var(--fs-h3); font-weight: 900; line-height: 1.7; text-shadow: 0 1px 0 rgba(0, 0, 0, .08); }
@keyframes skNewPulse { 50% { background-image: radial-gradient(circle at 11px 50%, rgba(192, 88, 122, .25) 4px, transparent 5px); } }
@media (prefers-reduced-motion: reduce) { .sk-shop-news-head::after { animation: none; } }
body.is-skin .sdb-page .sk-shop-news .sk-shop-news-head,
body.is-skin .sdb-page .sk-shop-news .sk-shop-news-body { color: #fff; }
body.is-skin .sdb-page .sk-shop-news .sk-shop-news-head time { color: rgba(255, 255, 255, .9); }
/* 空き状況：週の切り替えと月のタブ */
.sk-sched-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.sk-sched-range { margin: 0; font-family: var(--en); font-size: 22px; font-weight: 600; color: var(--ink); text-align: center; }
.sk-sched-btn {
  display: inline-flex; align-items: center; gap: 4px; padding: 8px 16px; border-radius: 999px; cursor: pointer;
  border: 1.5px solid var(--ink); background: #fff; color: var(--ink); font: inherit; font-size: var(--fs-sub); font-weight: 800;
}
.sk-sched-btn .ti { width: 16px; height: 16px; }
.sk-sched-btn:not(.is-next) .ti { transform: rotate(180deg); }
.sk-sched-btn:hover:not(:disabled) { background: var(--ink); color: #fff; }
.sk-sched-btn:disabled { opacity: .35; cursor: default; }
.sk-sched-months { display: flex; gap: 8px; margin: 0 0 14px; }
.sk-sched-months button {
  padding: 6px 16px; border-radius: 999px; border: 1.5px solid var(--bd); background: transparent; cursor: pointer;
  font: inherit; font-size: var(--fs-sub); font-weight: 800; color: var(--ink);
}
.sk-sched-months button:hover { border-color: var(--ink); }
.sk-sched-months button.is-current { background: #38a3b3; border-color: #38a3b3; color: #fff; }
@media (max-width: 768px) { .sk-sched-range { font-size: 17px; } .sk-sched-btn { padding: 7px 10px; } }
body.is-skin .sk-sched td.is-o a { text-decoration: none !important; }
/* 空き状況：日付を大きく */
.sk-sched thead th { font-size: 26px; }
.sk-sched thead th small { font-size: var(--fs-sub); margin-top: 2px; }
.sk-sched tbody th { font-size: 20px; }
.sk-sched-range { font-size: 26px; }
@media (max-width: 768px) { .sk-sched thead th { font-size: 22px; } .sk-sched-range { font-size: 20px; } }
body.is-skin .sdb-page .sk-sched-nav .sk-sched-range { font-size: 26px; font-weight: 700; color: var(--ink); line-height: 1.3; }
@media (max-width: 768px) { body.is-skin .sdb-page .sk-sched-nav .sk-sched-range { font-size: 20px; } }
/* ○×を太く・押せる○は乗せると背景が変わる（他の指定に負けないよう強めに書く） */
body.is-skin .sdb-page .sk-sched td { font-size: 24px; font-weight: 900; -webkit-text-stroke: 1.6px currentColor; }
body.is-skin .sdb-page .sk-sched td.is-- { -webkit-text-stroke: 0; }
body.is-skin .sdb-page .sk-sched td.is-o a {
  display: grid; place-items: center; height: 42px; border-radius: 10px;
  text-decoration: none; color: #1f8a99; -webkit-text-stroke: 1.6px currentColor;
  transition: background .12s, color .12s, transform .12s;
}
body.is-skin .sdb-page .sk-sched td.is-o a:hover,
body.is-skin .sdb-page .sk-sched td.is-o a:focus-visible { background: #38a3b3; color: #fff; transform: scale(1.06); outline: none; }
/* 右の列：予約の箱 → 営業時間 → 店舗情報 */
body.is-skin .sk-side { display: flex; flex-direction: column; min-width: 0; }
body.is-skin .sk-side .sdb-side-card { position: static; }
body.is-skin .sk-side .sdb-detail-block { margin-top: 70px; padding: 18px; }
body.is-skin .sk-side .sdb-detail-block-title { font-size: var(--fs-h3) !important; }
body.is-skin .sk-side .sdb-info-row { display: block; padding: 12px 0; }
body.is-skin .sk-side .sdb-info-row dt { margin-bottom: 4px; }
body.is-skin .sk-side .sdb-info-row dd { margin: 0; overflow-wrap: anywhere; }
body.is-skin .sk-side .sdb-hours-today { flex-wrap: wrap; gap: 8px; }
body.is-skin .sk-side .sdb-hours-today-time strong { font-size: 22px; }
body.is-skin .sk-side .sdb-info-tel { font-size: 22px; }
/* 右の列の店舗情報：中の枠を外して二重枠をなくす。行の左右に余白 */
body.is-skin .sk-side .sdb-info-list { border: 0; border-radius: 0; background: none; }
body.is-skin .sk-side .sdb-detail-block { padding: 20px 22px; }
body.is-skin .sk-side .sdb-info-row { padding: 14px 0; }
body.is-skin .sk-side .sdb-info-row:first-child { padding-top: 4px; }
body.is-skin .sk-side .sdb-info-action { margin-top: 8px; }
body.is-skin .sk-side .sdb-hours-source { margin-bottom: 0; }

/* 店舗ページ：欄と欄、段落の間をしっかり空ける（2026-10-06） */
body.is-skin .sk-side .sdb-detail-block { margin-top: 100px; }
body.is-skin .sk-side .sdb-detail-block > .sk-eyebrow.is-sm { top: -60px; }
body.is-skin .sk-shop-section,
body.is-skin .sdb-shop-gallery, body.is-skin .sdb-shop-menu-section, body.is-skin .sdb-shop-coupon-section,
body.is-skin .sdb-review-section, body.is-skin .sdb-related-shops { margin-top: 88px; }
body.is-skin .sk-sched-section { margin-top: 56px; margin-bottom: 40px; }
body.is-skin .sk-intro { margin: 40px 0 0; }
body.is-skin .sk-shop-news { margin: 24px 0 32px; }
body.is-skin .sdb-shop-detail-layout > div > .sk-eyebrow.is-sm { margin-top: 72px; }
body.is-skin .sdb-owner-claim { margin-top: 32px; }
body.is-skin .sk-genres-title { margin-bottom: 24px; }
body.is-skin .sdb-detail-block-title { margin-bottom: 18px !important; }
body.is-skin .sdb-hours-today { margin-bottom: 14px; }
body.is-skin .sdb-hours-details { margin-bottom: 12px; }
body.is-skin .sdb-hours-source, body.is-skin .sdb-shop-menu-note, body.is-skin .sk-sched-note { margin-top: 16px; line-height: 1.8; }
body.is-skin .sdb-info-row dd { line-height: 1.8; }
body.is-skin .sdb-side-card > * + * { margin-top: 14px; }
/* 右の箱：Web予約の上のクーポン（チケット風） */
.sk-side-coupons { margin: 0 0 4px; }
.sk-side-coupons-head { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: var(--fs-sub); font-weight: 900; color: var(--pk); }
.sk-side-coupons-head .ti { width: 18px; height: 18px; }
.sk-side-coupons-head a { margin-left: auto; font-weight: 700; color: var(--ink); }
.sk-side-coupon {
  position: relative; margin: 0 0 10px; padding: 12px 14px 12px 18px;
  background: #fff6f8; border: 1.5px dashed var(--pk); border-radius: 12px;
}
.sk-side-coupon::before, .sk-side-coupon::after {
  content: ''; position: absolute; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%;
  background: #fff; border: 1.5px dashed var(--pk);
}
.sk-side-coupon::before { left: -8px; clip-path: inset(0 0 0 50%); }
.sk-side-coupon::after { right: -8px; clip-path: inset(0 50% 0 0); }
body.is-skin .sdb-page .sk-side-coupon-title { margin: 0; font-size: var(--fs-body); font-weight: 900; line-height: 1.5; color: var(--ink); }
body.is-skin .sdb-page .sk-side-coupon-desc { margin: 4px 0 0; font-size: var(--fs-min); color: var(--txm); }
body.is-skin .sdb-page .sk-side-coupon-exp { margin: 4px 0 0; font-size: var(--fs-min); font-weight: 800; color: var(--pk); }
/* クーポンは予約の箱とは別の枠に */
body.is-skin .sk-side-box {
  margin: 0 0 22px; padding: 18px 20px 10px; background: #fff;
  border: 1.5px solid var(--pk); border-radius: 18px; box-shadow: 5px 5px 0 var(--pks);
}
body.is-skin .sk-side-box .sk-side-coupons-head { font-size: var(--fs-body); }
body.is-skin .sdb-shop-detail-layout .sdb-shop-gallery { margin-top: 48px; }
body.is-skin .sdb-shop-detail-layout .sk-staff { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
/* メニュー：写真付きのカード（2026-10-06） */
.sk-menu { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 14px; }
.sk-menu li {
  display: flex; gap: 16px; padding: 14px; background: #fff;
  border: 1.5px solid var(--ink); border-radius: 18px; box-shadow: 5px 5px 0 #9fd8d3;
}
.sk-menu-img {
  flex: none; width: 120px; height: 120px; border-radius: 12px; background: #fbe1e8 center / cover;
  display: grid; place-items: center; font-size: 40px; font-weight: 900; color: var(--pk);
}
.sk-menu-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.sk-menu-name { font-size: var(--fs-lead); font-weight: 900; line-height: 1.5; }
.sk-menu-desc { font-size: var(--fs-sub); color: var(--txm); line-height: 1.7; }
.sk-menu-foot { margin-top: auto; display: flex; align-items: flex-end; gap: 12px; }
.sk-menu-time { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sub); font-weight: 700; color: var(--ink); }
.sk-menu-time .ti { width: 16px; height: 16px; }
.sk-menu-price { margin-left: auto; font-family: var(--en); font-size: 28px; font-weight: 600; line-height: 1; color: var(--pk); white-space: nowrap; }
.sk-menu-price s { font-size: 16px; color: var(--txm); margin-right: 6px; }
.sk-menu-price small { font-family: -apple-system, 'Hiragino Sans', sans-serif; font-size: var(--fs-sub); }
@media (max-width: 768px) { .sk-menu-img { width: 88px; height: 88px; } .sk-menu-price { font-size: 24px; } }
/* メニューのカテゴリー名（カット・カラー…）を大きく */
body.is-skin .sdb-page .sdb-shop-menu-category { font-size: 26px; margin: 36px 0 14px; }
body.is-skin .sdb-page .sdb-shop-menu-category::before { width: 14px; height: 14px; }
@media (max-width: 768px) { body.is-skin .sdb-page .sdb-shop-menu-category { font-size: 22px; } }
/* メニューのカードは押すと予約画面へ */
.sk-menu li { display: block; padding: 0; background: none; border: 0; box-shadow: none; }
.sk-menu-card {
  position: relative; display: flex; gap: 16px; padding: 14px; background: #fff; color: var(--ink); text-decoration: none;
  border: 1.5px solid var(--ink); border-radius: 18px; box-shadow: 5px 5px 0 #9fd8d3;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
a.sk-menu-card:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 #38a3b3; border-color: #38a3b3; }
.sk-menu-go {
  position: absolute; top: 12px; right: 14px; display: inline-flex; align-items: center; gap: 2px;
  font-size: var(--fs-min); font-weight: 800; color: #1f8a99; opacity: 0; transition: opacity .15s;
}
.sk-menu-go .ti { width: 14px; height: 14px; }
a.sk-menu-card:hover .sk-menu-go, a.sk-menu-card:focus-visible .sk-menu-go { opacity: 1; }
@media (hover: none) { .sk-menu-go { opacity: 1; } }
.sk-menu-card .sk-menu-name { padding-right: 120px; }
@media (max-width: 768px) { .sk-menu-card .sk-menu-name { padding-right: 0; } .sk-menu-go { position: static; align-self: flex-end; } }

/* ===== 店舗ページ：HPBとの比較で足したもの（2026-10-06） ===== */
/* 店名の下の1行：駅から徒歩・値段の目安・本日の営業時間 */
.sk-summary { list-style: none; margin: 4px 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: var(--fs-body); color: var(--ink); }
.sk-summary li { display: inline-flex; align-items: center; gap: 6px; }
.sk-summary .ti { width: 18px; height: 18px; color: var(--pk); }
.sk-summary b { font-family: var(--en); font-size: 22px; font-weight: 600; margin: 0 1px; }

/* ページ内の目次（上に付いてくる） */
.sk-toc {
  position: sticky; top: var(--sk-header-h, 86px); z-index: 5;
  display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none;
  margin: 0 0 24px; padding: 8px; background: rgba(242, 239, 233, .94); backdrop-filter: blur(6px);
  border: 1.5px solid var(--ink); border-radius: 999px;
}
.sk-toc::-webkit-scrollbar { display: none; }
.sk-toc a {
  flex: none; padding: 8px 16px; border-radius: 999px; text-decoration: none;
  font-size: var(--fs-sub); font-weight: 800; color: var(--ink); white-space: nowrap;
}
.sk-toc a:hover { background: #fff; }
.sk-toc .sk-toc-book { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; background: #38a3b3; color: #fff; }
.sk-toc .sk-toc-book:hover { background: #23798a; }
.sk-toc .sk-toc-book .ti { width: 16px; height: 16px; }
body.is-skin [id="menu"], body.is-skin [id="stylist"], body.is-skin [id="photo"], body.is-skin [id="reviews"],
body.is-skin .sk-anchor { scroll-margin-top: 170px; }
.sk-anchor { display: block; height: 0; }

/* スマホ：下に固定の「電話｜Web予約」 */
.sk-bottom-bar { display: none; }
@media (max-width: 768px) {
  body.is-skin { --sk-header-h: 64px; }
  .sk-toc { border-radius: 14px; }
  .sk-toc .sk-toc-book { display: none; }
  .sk-bottom-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 20;
    display: flex; gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .96); border-top: 1.5px solid var(--ink);
  }
  .sk-bottom-bar a {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 13px 8px; border-radius: 999px; text-decoration: none; font-size: var(--fs-body); font-weight: 900;
  }
  .sk-bottom-bar .ti { width: 18px; height: 18px; }
  .sk-bottom-tel { border: 1.5px solid var(--ink); color: var(--ink); background: #fff; }
  .sk-bottom-book { flex: 1.6 !important; background: #38a3b3; color: #fff; box-shadow: 0 3px 0 #23798a; }
  body.is-skin main:has(.sk-bottom-bar) { padding-bottom: 90px; }
}

/* ---------- 追従の目次ナビ（2026-10-06 デザイン見直し） ----------
 * 白いカプセルに墨色の枠。各項目はアイコン＋文字で、いま読んでいる欄は墨色に反転。
 * 付いてきている間（is-stuck）は水色の影を出して、浮いていることが分かるように */
.sk-toc {
  gap: 2px; padding: 6px; background: #fff; backdrop-filter: none;
  border: 1.5px solid var(--ink); border-radius: 999px; box-shadow: 0 0 0 transparent;
  transition: box-shadow .2s ease, transform .2s ease;
}
.sk-toc.is-stuck { box-shadow: 5px 5px 0 #9fd8d3; }
.sk-toc a {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px;
  font-size: var(--fs-sub); font-weight: 800; color: var(--ink); transition: background .15s, color .15s;
}
.sk-toc a .ti { width: 16px; height: 16px; color: var(--pk); transition: color .15s; }
.sk-toc a:hover { background: var(--bg); }
.sk-toc a.is-active { background: var(--ink); color: #fff; }
.sk-toc a.is-active .ti { color: #9fd8d3; }
.sk-toc .sk-toc-book { padding: 9px 18px; background: #38a3b3; color: #fff; box-shadow: 0 3px 0 #23798a; }
.sk-toc .sk-toc-book .ti { color: #fff; }
.sk-toc .sk-toc-book:hover { background: #23798a; }
@media (max-width: 768px) {
  .sk-toc { border-radius: 999px; margin-left: -4px; margin-right: -4px; }
  .sk-toc a { padding: 8px 12px; }
}
/* 左の列に収まるよう詰める（Web予約まで見えるように） */
@media (min-width: 769px) {
  .sk-toc a { padding: 8px 11px; gap: 4px; }
  .sk-toc .sk-toc-book { padding: 8px 14px; }
}
@media (min-width: 769px) {
  .sk-toc a { padding: 8px 10px; font-size: 13.5px; }
  .sk-toc a .ti { width: 15px; height: 15px; }
}
@media (min-width: 769px) { .sk-toc { gap: 0; padding: 5px; } }

/* ===== 5〜9（2026-10-06） ===== */
/* こだわり条件のアイコン */
.sk-features { list-style: none; margin: -6px 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sk-features li {
  display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px 5px 10px; border-radius: 999px;
  background: #fff; border: 1.5px solid var(--bd); font-size: var(--fs-sub); font-weight: 800; color: var(--ink);
}
.sk-features .ti { width: 16px; height: 16px; color: #1f8a99; }

/* ヘアスタイル */
.sk-styles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sk-style-card { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 6px; width: 100%; }
.sk-style-img {
  display: grid; place-items: center; aspect-ratio: 3 / 4; border-radius: 16px; border: 1.5px solid var(--ink);
  background: linear-gradient(160deg, color-mix(in srgb, var(--sc, #e0708f) 55%, #fff), var(--sc, #e0708f)) center / cover;
  font-family: var(--en); font-style: italic; font-size: 30px; color: rgba(255, 255, 255, .9);
  transition: transform .15s, box-shadow .15s;
}
.sk-style-card:hover .sk-style-img, .sk-style-card:focus-visible .sk-style-img { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ink); }
.sk-style-title { font-size: var(--fs-body); font-weight: 900; line-height: 1.5; }
.sk-style-tags { display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: var(--fs-min); color: var(--txm); }
.sk-style-by { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-min); font-weight: 800; color: var(--ink); }
.sk-style-by i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 11px; color: #fff; background: var(--ec); }
@media (max-width: 768px) { .sk-styles { grid-template-columns: repeat(2, 1fr); } }

/* スタイリストのポップアップ：担当スタイル */
.sk-dialog-sub { margin: 0 0 8px; font-size: var(--fs-sub); font-weight: 800; color: var(--txm); }
.sk-dialog-styles { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sk-dialog-styles li { display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-min); font-weight: 700; line-height: 1.4; }
.sk-dialog-styles .sk-style-img { font-size: 20px; border-radius: 12px; }

/* クーポンは押すと予約へ */
a.sk-side-coupon { display: block; text-decoration: none; color: inherit; transition: background .15s, transform .15s; }
a.sk-side-coupon:hover { background: #fde8ee; transform: translateY(-1px); }
.sk-side-coupon-go { display: inline-flex; align-items: center; gap: 2px; margin-top: 6px; font-size: var(--fs-min); font-weight: 800; color: var(--pk); }
.sk-side-coupon-go .ti { width: 14px; height: 14px; }

/* 口コミの項目別 */
.sk-rbd { margin: 0 0 22px; padding: 18px 22px; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 28px; }
.sk-rbd div { display: flex; align-items: center; gap: 12px; }
.sk-rbd dt { flex: none; width: 8.5em; font-size: var(--fs-sub); font-weight: 800; }
.sk-rbd dd { flex: 1; margin: 0; display: flex; align-items: center; gap: 10px; }
.sk-rbd-bar { flex: 1; height: 8px; border-radius: 999px; background: var(--bg2); overflow: hidden; }
.sk-rbd-bar span { display: block; height: 100%; background: #f2b01e; border-radius: 999px; }
.sk-rbd b { font-family: var(--en); font-size: 20px; font-weight: 600; }
@media (max-width: 768px) { .sk-rbd { grid-template-columns: 1fr; } }
@media (min-width: 769px) { .sk-toc a:not(.sk-toc-book) .ti { display: none; } .sk-toc a { padding: 8px 12px; } }
/* メニューの説明：名前の下に点線で区切り、アイコン付きの墨色で */
body.is-skin .sk-menu-desc {
  display: flex; align-items: flex-start; gap: 6px; margin-top: 2px; padding-top: 8px;
  border-top: 1.5px dashed var(--bd); font-size: var(--fs-sub); font-weight: 700; color: var(--ink); line-height: 1.7;
}
body.is-skin .sk-menu-desc .ti { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--pk); }

/* 口コミ・コラムなど：字を濃く大きく（2026-10-06「字が薄く小さい」） */
body.is-skin .sdb-page .sdb-review-author { font-size: var(--fs-body); font-weight: 900; color: var(--ink); }
body.is-skin .sdb-page .sdb-review-meta { font-size: var(--fs-sub); color: var(--ink); }
body.is-skin .sdb-page .sdb-review-item-stars { font-size: 17px; }
body.is-skin .sdb-page .sdb-review-body { font-size: var(--fs-body); line-height: 1.9; color: var(--ink); }
body.is-skin .sdb-page .sdb-review-avg { font-size: var(--fs-h3); font-weight: 900; }
body.is-skin .sdb-page .sdb-review-avg-count { font-size: var(--fs-sub); color: var(--ink); }
body.is-skin .sdb-page .sdb-review-section p, body.is-skin .sdb-page .sdb-review-login-cta { font-size: var(--fs-body); color: var(--ink); }
body.is-skin .sdb-page .sk-rbd dt { color: var(--ink); font-size: var(--fs-body); }
body.is-skin .sdb-page .sk-cols-body span { font-size: var(--fs-body); color: var(--ink); }
body.is-skin .sdb-page .sk-cols-body time { color: var(--ink); }
body.is-skin .sdb-page .sk-tweets time, body.is-skin .sdb-page .sk-greviews-head time { color: var(--ink); font-size: var(--fs-sub); }
body.is-skin .sdb-page .sk-tweets p { color: var(--ink); }
body.is-skin .sdb-page .sk-side-coupon-desc { font-size: var(--fs-sub); color: var(--ink); }
body.is-skin .sdb-page .sdb-shop-coupon-desc { font-size: var(--fs-body); color: var(--ink); }
body.is-skin .sdb-page .sdb-shop-coupon-expires { font-size: var(--fs-sub); color: var(--ink); font-weight: 700; }
body.is-skin .sdb-page .sk-staff-years, body.is-skin .sdb-page .sk-style-tags { color: var(--ink); }
/* Googleで口コミを書く */
.sk-gwrite {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 999px;
  background: #fff; border: 1.5px solid var(--ink); color: var(--ink); text-decoration: none;
  font-size: var(--fs-sub); font-weight: 800; white-space: nowrap; transition: background .15s, color .15s;
}
.sk-gwrite .ti { width: 16px; height: 16px; }
.sk-gwrite:hover { background: var(--ink); color: #fff; }
body.is-skin .sdb-page .sk-gwrite-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin: 0 0 20px; font-size: var(--fs-sub); color: var(--ink); }
.sk-greviews-dialog .sk-gwrite { margin-top: 14px; }
/* 口コミ欄の英字見出しは、ほかの欄と同じ大きさ（段落の指定に負けていた） */
body.is-skin .sdb-page .sdb-review-section > .sk-eyebrow { font-size: 46px; margin: 0 0 12px; color: var(--ink); }
@media (max-width: 768px) { body.is-skin .sdb-page .sdb-review-section > .sk-eyebrow { font-size: 36px; } }
.sk-review-title { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }

/* ===== 素のページ（KITEKO未使用・写真やメニューが無いお店）2026-10-06 ===== */
/* 営業時間・店舗情報を左の列（地図の前）に */
.sk-plain-info .sdb-detail-block { margin-top: 90px; }
.sk-plain-info .sdb-detail-block > .sk-eyebrow.is-sm { top: -56px; }
.sk-plain-info + .sk-anchor + .sk-eyebrow { margin-top: 80px; }
/* 自動の紹介文 */
body.is-skin .sdb-shop-description.is-auto small { display: block; margin-top: 8px; font-size: var(--fs-min); color: var(--txm); line-height: 1.7; }
/* オーナーへの案内（大きめ） */
.sk-owner-cta {
  margin: 36px 0 0; padding: 26px 26px 24px; border-radius: 22px; color: #fff;
  background: linear-gradient(135deg, #2a2522 0%, #4a3f39 100%); border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 #9fd8d3;
}
body.is-skin .sdb-page .sk-owner-cta p { color: #fff; }
.sk-owner-cta-label { margin: 0 0 6px; font-size: var(--fs-sub) !important; font-weight: 800; color: #9fd8d3 !important; letter-spacing: .06em; }
.sk-owner-cta-title { margin: 0 0 14px; font-size: var(--fs-h3); font-weight: 900; line-height: 1.5; }
.sk-owner-cta-points { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; font-size: var(--fs-body); }
.sk-owner-cta-points li { display: flex; align-items: center; gap: 8px; }
.sk-owner-cta-points .ti { width: 18px; height: 18px; color: #f4b8c8; flex: none; }
.sk-owner-cta-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.sk-owner-cta-btns a { display: inline-flex; align-items: center; gap: 6px; padding: 12px 20px; border-radius: 999px; text-decoration: none; font-size: var(--fs-sub); font-weight: 900; }
.sk-owner-cta-btns .ti { width: 16px; height: 16px; }
.sk-owner-cta-main { background: #c0587a; color: #fff; box-shadow: 0 3px 0 #8e3a57; }
.sk-owner-cta-main:hover { background: #a94767; }
.sk-owner-cta-sub { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .6); }
.sk-owner-cta-sub:hover { background: rgba(255, 255, 255, .12); }
/* 左の列に来たとき（素のページ）も、右の列と同じ見た目に：二重枠をなくし、上の欄との間を空ける */
body.is-skin .sdb-info-list { border: 0; border-radius: 0; background: none; }
body.is-skin .sk-plain-info .sdb-detail-block { margin-top: 110px; padding: 20px 24px; }
body.is-skin .sk-plain-info .sdb-detail-block:first-child { margin-top: 100px; }
body.is-skin .sk-plain-info .sdb-detail-block > .sk-eyebrow.is-sm { top: -62px; left: 0; }
body.is-skin .sk-plain-info .sdb-info-row { padding: 14px 0; }
body.is-skin .sk-plain-info .sdb-info-row:first-child { padding-top: 4px; }
body.is-skin .sk-plain-info .sdb-info-row dt { color: var(--ink); }
/* 左の列（幅が広い）に来たときは、営業時間・店舗情報の字を一回り大きく */
body.is-skin .sdb-page .sk-plain-info .sdb-detail-block-title { font-size: 24px !important; }
body.is-skin .sdb-page .sk-plain-info .sdb-info-row dt { font-size: var(--fs-body); }
body.is-skin .sdb-page .sk-plain-info .sdb-info-row dd { font-size: var(--fs-lead); }
body.is-skin .sdb-page .sk-plain-info .sdb-info-action,
body.is-skin .sdb-page .sk-plain-info .sdb-info-link { font-size: var(--fs-body); }
body.is-skin .sdb-page .sk-plain-info .sdb-hours-today-time { font-size: var(--fs-lead); }
body.is-skin .sdb-page .sk-plain-info .sdb-hours-today-time strong { font-size: 30px; }
body.is-skin .sdb-page .sk-plain-info .sdb-hours-status { font-size: var(--fs-sub); }
body.is-skin .sdb-page .sk-plain-info .sdb-hours-details summary { font-size: var(--fs-body); }
body.is-skin .sdb-page .sk-plain-info .sdb-hours-list { font-size: var(--fs-lead); }
body.is-skin .sdb-page .sk-plain-info .sdb-hours-source { font-size: var(--fs-sub); color: var(--ink); }
/* オーナーへの案内：黒背景をやめ、白地＋ピンクの枠に */
.sk-owner-cta { background: #fff; color: var(--ink); border: 1.5px solid var(--pk); box-shadow: 6px 6px 0 var(--pks); }
body.is-skin .sdb-page .sk-owner-cta p { color: var(--ink); }
body.is-skin .sdb-page .sk-owner-cta .sk-owner-cta-label { color: var(--pk) !important; }
.sk-owner-cta-points .ti { color: var(--pk); }
.sk-owner-cta-sub { color: var(--ink); border-color: var(--ink); }
.sk-owner-cta-sub:hover { background: var(--ink); color: #fff; }
/* オーナーへの案内：白だと平坦なので、やわらかいピンク〜ピーチのグラデーション＋斜めの縞で色を付ける */
.sk-owner-cta {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .28) 0 12px, transparent 12px 24px),
    linear-gradient(135deg, #f9d3de 0%, #fbe1e8 45%, #fde4cf 100%);
  border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 var(--pk);
}
.sk-owner-cta-points li { background: rgba(255, 255, 255, .7); border-radius: 12px; padding: 8px 12px; }
.sk-owner-cta-sub { background: #fff; }
/* オーナーへの案内・自動の紹介文：字を大きく */
body.is-skin .sdb-page .sk-owner-cta .sk-owner-cta-label { font-size: var(--fs-body) !important; }
body.is-skin .sdb-page .sk-owner-cta .sk-owner-cta-title { font-size: var(--fs-h2); line-height: 1.45; margin-bottom: 18px; }
body.is-skin .sdb-page .sk-owner-cta-points { font-size: var(--fs-lead); font-weight: 700; }
body.is-skin .sdb-page .sk-owner-cta-points li { padding: 10px 14px; }
body.is-skin .sdb-page .sk-owner-cta-points .ti { width: 20px; height: 20px; }
body.is-skin .sdb-page .sk-owner-cta-btns a { font-size: var(--fs-body); padding: 14px 22px; }
body.is-skin .sdb-page .sdb-shop-description.is-auto { font-size: var(--fs-lead); }
body.is-skin .sdb-page .sdb-shop-description.is-auto small { font-size: var(--fs-sub); color: var(--ink); }

/* ===== 口コミ欄の作り直し（2026-10-07） ===== */
/* まとめ：左に大きな平均点、右に項目別 */
.sk-rv-summary {
  display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 28px;
  padding: 24px 28px; background: #fff; border: 1.5px solid var(--ink); border-radius: 22px; box-shadow: 6px 6px 0 #f2cf6b;
}
.sk-rv-summary:not(:has(.sk-rbd)) { grid-template-columns: 1fr; }
.sk-rv-score { display: flex; flex-direction: column; align-items: center; gap: 6px; padding-right: 28px; border-right: 1.5px dashed var(--bd); }
.sk-rv-summary:not(:has(.sk-rbd)) .sk-rv-score { border-right: 0; padding-right: 0; }
.sk-rv-score b { font-family: var(--en); font-size: 72px; font-weight: 600; line-height: .9; color: var(--ink); text-shadow: 3px 3px 0 #f2cf6b; }
.sk-rv-score .sk-stars { margin: 0; font-size: 24px; }
.sk-rv-score small { font-size: var(--fs-sub); font-weight: 800; color: var(--ink); }
.sk-rv-summary .sk-rbd { margin: 0; padding: 0; border: 0; background: none; grid-template-columns: 1fr; gap: 12px; }
/* 口コミを書く入口 */
.sk-rv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 22px 0 28px; }
.sk-rv-write {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; border-radius: 999px; text-decoration: none;
  background: var(--pk); color: #fff; font-size: var(--fs-body); font-weight: 900; box-shadow: 0 3px 0 #8e3a57;
}
.sk-rv-write:hover { background: #a94767; }
.sk-rv-write .ti { width: 18px; height: 18px; }
.sk-rv-write small { font-size: var(--fs-min); font-weight: 700; opacity: .85; margin-left: 4px; }
.sk-rv-actions .sk-gwrite { padding: 12px 20px; font-size: var(--fs-body); }
/* 口コミ1件：吹き出し風のカード、2列 */
.sk-rv-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.sk-rv-item {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 20px 22px 22px;
  background: #fff; border: 1.5px solid var(--ink); border-radius: 22px 22px 22px 6px;
}
.sk-rv-item::after {
  content: '\201D'; position: absolute; right: 16px; bottom: -14px; font-family: Georgia, serif; font-size: 80px; line-height: 1;
  color: var(--rc); opacity: .35; pointer-events: none;
}
.sk-rv-head { display: flex; align-items: center; gap: 12px; }
.sk-rv-avatar {
  flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
  background: var(--rc); color: #fff; font-size: 20px; font-weight: 900; border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--rc);
}
.sk-rv-who { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.4; }
.sk-rv-who b { font-size: var(--fs-body); font-weight: 900; color: var(--ink); }
.sk-rv-who time { font-size: var(--fs-sub); color: var(--ink); }
.sk-rv-head .sk-stars { margin: 0; flex: none; font-size: 18px; }
body.is-skin .sdb-page .sk-rv-body { margin: 0; font-size: var(--fs-body); line-height: 1.95; color: var(--ink); }
@media (max-width: 768px) {
  .sk-rv-summary { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .sk-rv-score { padding: 0 0 16px; border-right: 0; border-bottom: 1.5px dashed var(--bd); }
  .sk-rv-list { grid-template-columns: 1fr; }
}

/* ===== クーポン・お知らせ・コラム・口コミの調整（2026-10-07） ===== */
/* クーポン：左に半券（割引を大きく）、右に中身。全体がチケットの形 */
.sk-coupons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.sk-coupon {
  position: relative; display: flex; min-height: 150px; background: #fff; color: var(--ink); text-decoration: none;
  border: 1.5px solid var(--ink); border-radius: 18px; box-shadow: 5px 5px 0 var(--cc); overflow: hidden;
  transition: transform .15s, box-shadow .15s;
}
a.sk-coupon:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--cc); }
.sk-coupon-stub {
  position: relative; flex: none; width: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: var(--cc); color: #fff; border-right: 2px dashed rgba(255, 255, 255, .7);
}
.sk-coupon-stub::before, .sk-coupon-stub::after {
  content: ''; position: absolute; right: -11px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--bg); border: 1.5px solid var(--ink);
}
.sk-coupon-stub::before { top: -11px; } .sk-coupon-stub::after { bottom: -11px; }
.sk-coupon-stub b { font-family: var(--en); font-size: 48px; font-weight: 600; line-height: 1; }
.sk-coupon-stub b.is-text { font-size: 22px; letter-spacing: .08em; }
.sk-coupon-stub small { font-size: var(--fs-sub); font-weight: 900; margin-top: 2px; }
.sk-coupon-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 16px 22px; }
.sk-coupon-title { font-size: var(--fs-lead); font-weight: 900; line-height: 1.5; }
.sk-coupon-desc { font-size: var(--fs-sub); color: var(--ink); line-height: 1.7; }
.sk-coupon-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1.5px dashed var(--bd); }
.sk-coupon-exp { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sub); font-weight: 800; }
.sk-coupon-exp .ti { width: 15px; height: 15px; color: var(--cc); }
.sk-coupon-go { display: inline-flex; align-items: center; gap: 2px; font-size: var(--fs-sub); font-weight: 900; color: var(--cc); }
.sk-coupon-go .ti { width: 15px; height: 15px; }
@media (max-width: 768px) { .sk-coupons { grid-template-columns: 1fr; } .sk-coupon-stub { width: 92px; } .sk-coupon-stub b { font-size: 38px; } }

/* お知らせ：縦の線にそった時系列。24時間以内は NEW */
.sk-timeline { list-style: none; margin: 0; padding: 0 0 0 26px; position: relative; }
.sk-timeline::before { content: ''; position: absolute; left: 8px; top: 10px; bottom: 10px; border-left: 2px dashed var(--bd); }
.sk-timeline li { position: relative; margin: 0 0 16px; padding: 16px 20px; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; }
.sk-timeline li::before {
  content: ''; position: absolute; left: -26px; top: 22px; width: 14px; height: 14px; border-radius: 50%;
  background: var(--bg); border: 2px solid var(--pk);
}
.sk-timeline li.is-fresh { border-color: var(--pk); box-shadow: 5px 5px 0 var(--pks); }
.sk-timeline li.is-fresh::before { background: var(--pk); box-shadow: 0 0 0 4px var(--pks); }
.sk-timeline time { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sub); font-weight: 800; color: var(--ink); margin-bottom: 4px; }
.sk-timeline time em { font-style: normal; font-family: var(--en); font-size: 13px; letter-spacing: .1em; padding: 1px 9px; border-radius: 999px; background: var(--pk); color: #fff; }
body.is-skin .sdb-page .sk-timeline p { margin: 0; font-size: var(--fs-lead); font-weight: 700; line-height: 1.8; color: var(--ink); }

/* コラム：続きを読む */
.sk-cols-more { display: inline-flex; align-items: center; gap: 2px; margin-top: 6px; font-style: normal; font-size: var(--fs-sub); font-weight: 900; color: var(--pk); }
.sk-cols-more .ti { width: 15px; height: 15px; }
.sk-cols a:hover .sk-cols-more { text-decoration: underline; }

/* 口コミ：引用符と本文が重ならないよう、下に余白をとって引用符を外側の角へ */
.sk-rv-item { padding-bottom: 34px; }
.sk-rv-item::after { right: 18px; bottom: -22px; font-size: 72px; }
body.is-skin .sdb-page .sk-rv-body { padding-right: 28px; }

/* ===== 店舗ページ：スタイリストから下は右の列を解除して横いっぱい（2026-10-07） ===== */
/* スタイリスト：横に並び、増えたら次の行へ（PCで5人まで1行） */
.sk-staff { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
/* メニュー：2列 */
.sk-menu { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 768px) { .sk-menu { grid-template-columns: 1fr; } }
/* アクセス：地図（左・大きく）＋行き方の手がかり（右） */
.sk-access-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; align-items: stretch; }
.sk-access .sdb-map-embed { margin: 0; min-height: 360px; }
.sk-access .sdb-map-embed iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; }
.sk-access-list { list-style: none; margin: 0; padding: 8px 22px; background: #fff; border: 1.5px solid var(--ink); border-radius: 18px; box-shadow: 5px 5px 0 #9fd8d3; }
.sk-access-list li { display: flex; gap: 12px; padding: 16px 0; border-bottom: 1.5px dashed var(--bd); }
.sk-access-list li:last-child { border-bottom: 0; }
.sk-access-list .ti {
  flex: none; width: 36px; height: 36px; padding: 8px; box-sizing: border-box; border-radius: 50%;
  background: var(--pks); color: var(--pk);
}
.sk-access-list span { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: var(--fs-body); line-height: 1.7; color: var(--ink); }
.sk-access-list b { font-size: var(--fs-lead); font-weight: 900; }
.sk-access-list small { font-size: var(--fs-min); color: var(--txm); }
.sk-access-list a { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-sub); font-weight: 800; color: var(--pk); }
.sk-access-list a .ti { width: 14px; height: 14px; padding: 0; background: none; }
.sk-access-list .is-note span { font-size: var(--fs-body); }
@media (max-width: 900px) { .sk-access-grid { grid-template-columns: 1fr; } .sk-access .sdb-map-embed, .sk-access .sdb-map-embed iframe { min-height: 280px; } }

/* ===== 店舗ページ SP（2026-10-07） ===== */
/* 横に長い中身（写真の横スクロール・目次）に引っぱられて、列がはみ出していた */
body.is-skin .sdb-shop-detail-layout > * { min-width: 0; }
@media (max-width: 768px) {
  body.is-skin .sdb-shop-detail-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  /* 評価：店名の下に1行で（★と点数・件数） */
  body.is-skin .sdb-shop-detail-namerow .sdb-rating-line { order: 3; flex-basis: 100%; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; padding: 0; margin: -4px 0 0; }
  body.is-skin .sk-rating-top { gap: 6px; }
  body.is-skin .sdb-rating-score { font-size: 28px; }

  /* お知らせの吹き出し：見出しの行は小さく、時間は右に */
  .sk-shop-news { padding: 16px 16px 18px; }
  .sk-shop-news-head { flex-wrap: wrap; gap: 6px; }
  .sk-shop-news-head time { font-size: var(--fs-min); }
  body.is-skin .sdb-page .sk-shop-news .sk-shop-news-body { font-size: var(--fs-lead); }

  /* 予約・電話の箱は、下の固定の帯と同じなので隠す（地図アプリはアクセス欄にある） */
  body.is-skin .sk-side .sdb-side-card { display: none; }

  /* スタイリスト：横スクロールのカード（1人ずつ縦に並ぶと長いので） */
  .sk-staff { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 2px 2px 14px; margin-right: -16px; padding-right: 16px; }
  .sk-staff li { flex: 0 0 62%; scroll-snap-align: start; }
  .sk-staff-photo { width: 80px; height: 80px; font-size: 30px; }

  /* メニュー：写真の右に名前・説明、下に時間と料金、いちばん下に「このメニューで予約」 */
  .sk-menu-card { flex-wrap: wrap; gap: 12px; padding: 12px; }
  .sk-menu-img { width: 84px; height: 84px; }
  .sk-menu-body { flex: 1 1 calc(100% - 96px); }
  .sk-menu-card .sk-menu-name { padding-right: 0; font-size: var(--fs-body); }
  .sk-menu-go { flex-basis: 100%; justify-content: flex-end; padding-top: 8px; border-top: 1.5px dashed var(--bd); opacity: 1; }
  .sk-menu-price { font-size: 24px; }

  /* クーポン：期限と「このクーポンで予約」を縦に */
  .sk-coupon-foot { flex-direction: column; align-items: flex-start; gap: 6px; }
  .sk-coupon-body { padding: 14px 14px 14px 18px; }
  .sk-coupon-title { font-size: var(--fs-body); }

  /* アクセス・口コミ */
  .sk-access-list { padding: 4px 16px; }
  .sk-rv-score b { font-size: 56px; }
  .sk-toc { margin-left: 0; margin-right: 0; }
}

/* SP の文字を一段大きく（2026-10-07「全体的にフォントサイズが小さい」）。docs/design/typography.md も更新 */
@media (max-width: 768px) {
  body.is-skin { --fs-h1: 24px; --fs-h2: 22px; --fs-h3: 19px; --fs-lead: 17px; --fs-body: 16px; --fs-sub: 15px; --fs-min: 13px; }
  body.is-skin .sk-side-coupons-head { font-size: var(--fs-body); }
  body.is-skin .sdb-page .sk-side-coupon-title { font-size: var(--fs-lead); }
  body.is-skin .sdb-page .sk-side-coupon-desc, body.is-skin .sdb-page .sk-side-coupon-exp, .sk-side-coupon-go { font-size: var(--fs-sub); }
  .sk-style-title { font-size: var(--fs-body); }
  .sk-style-tags, .sk-style-by { font-size: var(--fs-sub); }
  .sk-toc a { font-size: var(--fs-sub); }
  .sk-features li { font-size: var(--fs-sub); }
  .sk-summary { font-size: var(--fs-body); }
  .sk-staff-role { font-size: var(--fs-sub); }
  .sk-staff-tags span, .sk-staff-more { font-size: var(--fs-sub); }
  .sk-cols-body span, .sk-timeline time, .sk-rv-who time { font-size: var(--fs-sub); }
  body.is-skin .sdb-breadcrumb { font-size: var(--fs-sub); }
}
/* SP をさらに一段大きく（2026-10-07「もう一段階」） */
@media (max-width: 768px) {
  body.is-skin { --fs-h1: 26px; --fs-h2: 24px; --fs-h3: 20px; --fs-lead: 18px; --fs-body: 17px; --fs-sub: 16px; --fs-min: 14px; }
}
/* 追従の目次：ヘッダーの下に隙間をあけて付ける（高さはJSで実測） */
.sk-toc { top: var(--sk-header-h, 92px); }
@media (max-width: 768px) { .sk-toc.is-stuck { box-shadow: 0 4px 0 #9fd8d3; } }
/* 住所の建物名は改行して少し控えめに */
.sk-addr-bldg { display: inline-block; margin-top: 2px; }
/* 電話番号を大きく */
body.is-skin .sdb-page .sdb-info-tel { font-size: 32px; letter-spacing: .02em; }
body.is-skin .sdb-page .sdb-side-card-tel { font-size: 36px; }
body.is-skin .sdb-page .sk-side .sdb-info-tel { font-size: 28px; }
@media (max-width: 768px) {
  body.is-skin .sdb-page .sdb-info-tel, body.is-skin .sdb-page .sk-side .sdb-info-tel { font-size: 32px; }
}
/* ヘッダーとの隙間に下の文字が透けないよう、地の色で上を埋める */
.sk-toc.is-stuck { box-shadow: 0 -10px 0 4px var(--bg), 5px 5px 0 #9fd8d3; }
@media (max-width: 768px) { .sk-toc.is-stuck { box-shadow: 0 -10px 0 6px var(--bg), 0 4px 0 #9fd8d3; } }
/* 目次はヘッダーにぴったり付ける（隙間から下の文字が見えないように） */
.sk-toc { border-top-left-radius: 0; border-top-right-radius: 0; }
.sk-toc:not(.is-stuck) { border-radius: 999px; }
@media (max-width: 768px) { .sk-toc:not(.is-stuck) { border-radius: 999px; } .sk-toc.is-stuck { border-radius: 0 0 16px 16px; } }
/* 「地図アプリで開く」は住所の下に */
body.is-skin .sdb-info-row .sdb-info-action { display: inline-flex; margin-top: 8px; }
body.is-skin .sdb-info-row dd .sdb-info-action { display: flex; width: fit-content; }
/* SP：付いてきている間は画面の端から端までの帯にして、すき間を作らない */
@media (max-width: 768px) {
  .sk-toc.is-stuck {
    margin-left: -16px; margin-right: -16px; padding: 6px 12px;
    border-radius: 0; border-left: 0; border-right: 0; border-top: 0;
    background: #fff; box-shadow: 0 3px 0 #9fd8d3;
  }
}

/* 文字色：グレーをやめて墨色に（2026-10-07「全体的にグレーの箇所は黒に」）。
 * 補足の文字（--txm / --txl）も墨色。区別は大きさ・太さでつける */
body.is-skin { --txm: #2a2522; --txl: #2a2522; }
body.is-skin .sdb-page :is(.sdb-info-note, .sdb-info-row dt, .sdb-hours-source, .sdb-side-card-note, .sdb-side-card-label,
  .sdb-breadcrumb, .sdb-breadcrumb a, .sk-genres-title small, .sdb-shop-menu-note, .sk-menu-desc, .sk-staff-years,
  .sk-style-tags, .sk-access-list small, .sk-rv-who time, .sk-coupon-desc, .sdb-shop-description.is-auto small,
  .sdb-shop-list-address, .sdb-shop-card-address, .sdb-situation-text, .sdb-town-list-item-count, .sdb-insight-label small) { color: var(--ink); }
/* 右の列のクーポン：SP では本文のあとに来るので、英字見出しを付けて上を空ける（PCでは出さない） */
.sk-side-coupon-eyebrow { display: none; }
@media (max-width: 768px) {
  .sk-side-coupon-eyebrow { display: block; margin-top: 72px; }
  .sk-side-coupon-eyebrow .sk-eyebrow { margin-bottom: 14px; }
}
/* SP：Hours / Info / Coupon の英字見出しも、ほかの欄と同じ大きさに */
@media (max-width: 768px) {
  body.is-skin .sk-eyebrow.is-sm { font-size: 36px; }
  body.is-skin .sk-side .sdb-detail-block, body.is-skin .sk-plain-info .sdb-detail-block { margin-top: 110px; }
  body.is-skin .sk-side .sdb-detail-block > .sk-eyebrow.is-sm,
  body.is-skin .sk-plain-info .sdb-detail-block > .sk-eyebrow.is-sm { top: -66px; }
}
/* 口コミがまだ無いとき */
.sk-rv-empty {
  display: flex; align-items: center; gap: 10px; margin: 0; padding: 18px 22px;
  background: #fff; border: 1.5px dashed var(--ink); border-radius: 18px;
  font-size: var(--fs-body); font-weight: 700; color: var(--ink); line-height: 1.7;
}
.sk-rv-empty .ti { flex: none; width: 24px; height: 24px; color: var(--pk); }
.sk-owner-cta { margin-top: 72px; }
/* 素のページ：地図は上のほう（左の列の中）。地図を上、行き方を下に */
.sdb-shop-detail-layout .sk-access { margin-top: 48px; }
.sdb-shop-detail-layout .sk-access-grid { grid-template-columns: 1fr; }
/* 素のページの Hours / Info の英字見出しを、ほかの欄と同じ大きさに */
body.is-skin .sk-plain-info .sdb-detail-block > .sk-eyebrow.is-sm { font-size: 46px; top: -72px; }
body.is-skin .sk-plain-info .sdb-detail-block { margin-top: 120px; }
@media (max-width: 768px) {
  body.is-skin .sk-plain-info .sdb-detail-block > .sk-eyebrow.is-sm { font-size: 36px; top: -66px; }
  body.is-skin .sk-plain-info .sdb-detail-block { margin-top: 110px; }
}
/* 素のページ：右の列（地図アプリの箱だけになる）を出さず、1列で横いっぱいに */
body.is-skin .sdb-shop-detail-layout.is-plain { grid-template-columns: minmax(0, 1fr); }
body.is-skin .sdb-shop-detail-layout.is-plain > .sk-side { display: none; }
@media (min-width: 901px) { body.is-skin .sdb-shop-detail-layout.is-plain .sk-access-grid { grid-template-columns: 1.6fr 1fr; } }

/* ===== SPのハンバーガーメニュー（2026-10-07）=====
 * 白い細字の一覧だったのを、色付きアイコン＋墨色の太字のカードに。最後のマイページはピンクのボタン */
@media (max-width: 768px) {
  .sdb-nav { background: rgba(42, 37, 34, .55); }
  .sdb-nav-inner {
    width: 86%; max-width: 360px; padding: 76px 18px 28px; gap: 10px;
    background: #f3eee6; border-left: 2px solid #2a2522; box-shadow: none;
  }
  .sdb-nav-inner a {
    gap: 14px; padding: 12px 14px; border: 1.5px solid #2a2522; border-radius: 16px; background: #fff;
    font-size: 17px; font-weight: 800; color: #2a2522;
  }
  .sdb-nav-inner a:last-child { border-bottom: 1.5px solid #2a2522; }
  .sdb-nav-inner a i {
    display: block; flex: none; position: relative; z-index: 1;
    width: 20px; height: 20px; margin: 0 8px; background: #fff; color: #fff;
  }
  .sdb-nav-inner a { position: relative; }
  .sdb-nav-inner a::before {
    content: ''; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px; border-radius: 11px; background: var(--nav-c, #c0587a);
  }
  .sdb-nav-inner a:nth-of-type(2) { --nav-c: #e0708f; }
  .sdb-nav-inner a:nth-of-type(3) { --nav-c: #38a3b3; }
  .sdb-nav-inner a:nth-of-type(4) { --nav-c: #e0a33c; }
  .sdb-nav-inner a:nth-of-type(5) { --nav-c: #06c755; }
  .sdb-nav-inner a:nth-of-type(6) { --nav-c: #8e6fd1; }
  .sdb-nav-inner a:nth-of-type(7) { --nav-c: #3aa6a0; }
  .sdb-nav-inner a:active { transform: translate(1px, 1px); }
  .sdb-nav-inner .sdb-header-mypage {
    justify-content: center; margin-top: 10px; padding: 15px; border-radius: 999px;
    background: #c0587a; border-color: #c0587a; color: #fff; box-shadow: 0 4px 0 #2a2522;
  }
  .sdb-nav-inner .sdb-header-mypage::before { display: none; }
  .sdb-nav-inner .sdb-header-mypage i { margin: 0; }
  .sdb-nav-close {
    top: 16px; right: 16px; width: 42px; height: 42px; border: 1.5px solid #2a2522; border-radius: 50%;
    background: #fff; color: #2a2522; font-size: 26px;
  }
}
/* メニューの頭にロゴ（PCでは出さない） */
.sdb-nav-inner .sk-nav-logo { display: none; }
@media (max-width: 768px) {
  .sdb-nav-inner { padding-top: 22px; }
  .sdb-nav-inner .sk-nav-logo[hidden] { display: block; margin: 0 0 18px 4px; }
  .sdb-nav-inner .sk-nav-logo img { width: 116px; height: auto; }
}

/* ---------- スマホのヘッダー：ロゴを左に寄せ、PCと同じ説明を横に添える（あんふぁん風・2026-10-07）---------- */
@media (max-width: 768px) {
  body.is-skin .sdb-header-inner { justify-content: flex-start; padding-right: 60px; }
  body.is-skin .sdb-logo-link { display: flex; align-items: center; gap: 12px; text-decoration: none; }
  body.is-skin .sdb-logo { width: 88px; height: auto; }
  body.is-skin .sdb-logo-link::after {
    content: '静岡市の美容室・サロンを\Aまとめて探せる検索サイト';
    white-space: pre; font-size: 13px; font-weight: 700; line-height: 1.45; color: var(--ink);
    padding-left: 12px; border-left: 1px solid #c9c2b8;
  }
}

/* ---------- 一覧のカード：写真を大きく（2026-10-07）----------
 * 写真のあるお店（.has-photo）は、スマホではカードの幅いっぱいに上へ、PCでは左に大きく。
 * 写真の無いお店は灰色の空枠を出さない（大半が写真なしなので、空枠が並ぶと寂しく見える） */
body.is-skin:not(.is-top) .sdb-shop-list-item:not(.has-photo) .sdb-shop-list-img { display: none; }
body.is-skin:not(.is-top) .sdb-shop-list-item.has-photo { align-items: stretch; }
body.is-skin:not(.is-top) .sdb-shop-list-item.has-photo .sdb-shop-list-img {
  width: 260px; height: auto; min-height: 180px; align-self: stretch; border: 1.5px solid var(--ink);
}
body.is-skin:not(.is-top) .sdb-shop-list-item.has-photo .sdb-shop-list-main { align-self: center; }
@media (max-width: 699px) {
  body.is-skin:not(.is-top) .sdb-shop-list-item.has-photo { flex-direction: column; padding: 10px 10px 16px; gap: 12px; }
  body.is-skin:not(.is-top) .sdb-shop-list-item.has-photo .sdb-shop-list-img {
    width: 100%; min-height: 0; aspect-ratio: 16 / 10; border-radius: 12px;
  }
  body.is-skin:not(.is-top) .sdb-shop-list-item.has-photo .sdb-shop-list-main { align-self: stretch; padding: 0 6px; }
}

/* ---------- パンくず：全ページで墨色、14px→15px（2026-10-07）。ページごとの上書きより後に置いて、どのページでも同じにする ---------- */
body.is-skin .sdb-breadcrumb,
body.is-skin .sdb-breadcrumb a,
body.is-skin .sdb-breadcrumb span { color: var(--ink, #2a2522) !important; font-size: 15px !important; font-weight: 600; }
body.is-skin .sdb-breadcrumb a { text-decoration-color: var(--ink, #2a2522); }
body.is-skin .sdb-breadcrumb a:hover { color: var(--pk, #c0587a) !important; }

/* ---------- ヘッダーの文字を1px大きく（2026-10-07）：メニュー 14→15、ロゴ横の説明 11→12（スマホ 13→14） ---------- */
@media (min-width: 769px) {
  body.is-skin .sdb-header-sub { font-size: 15px; }
  body.is-skin .sdb-logo-link::after { font-size: 12px; }
}
@media (min-width: 769px) and (max-width: 1100px) { body.is-skin .sdb-header-sub { font-size: 14px; } }
@media (max-width: 768px) { body.is-skin .sdb-logo-link::after { font-size: 14px; } }
.sk-pr-note { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: var(--fs-sub); font-weight: 700; color: var(--ink); }
/* SEOレビュー対応の注記（2026-10-08） */
body.is-skin .sdb-page .sdb-shop-description.is-auto p { margin: 0 0 8px; color: var(--ink); font-weight: 600; line-height: 1.85; }
.sk-pr-note { flex-wrap: wrap; line-height: 1.7; }
.sk-pr-note .sk-pr { position: static !important; flex: none; padding: 2px 10px; border-radius: 999px; background: #c0587a; border: 0; color: #fff; font-size: var(--fs-min); font-weight: 900; transform: none; }
.sk-pr-note span:not(.sk-pr), .sk-pr-note { min-width: 0; }
.sk-pr-note { display: block; }
.sk-pr-note .sk-pr { display: inline-flex; margin-right: 6px; vertical-align: 1px; }
body.is-skin .sdb-page .sdb-shop-description.is-auto small { font-weight: 600; }

/* スタッフの写真（KITEKO から届いたもの。2026-10-08） */
.sk-staff-photo.has-img { background-size: cover; background-position: center; }

/* 直近の空き（KITEKO の Web 予約の店。2026-10-08 第4段階） */

/* PC の文字を一段大きく（2026-10-08「フォントサイズが小さい」。SP と同じ段にそろえる）。docs/design/typography.md も更新 */
@media (min-width: 769px) {
  body.is-skin { --fs-h1: 32px; --fs-h2: 28px; --fs-h3: 22px; --fs-lead: 18px; --fs-body: 17px; --fs-sub: 16px; --fs-min: 14px; }
  body.is-skin .sdb-breadcrumb { font-size: var(--fs-sub); }
  .sk-genres-title small { font-size: var(--fs-sub); }
}

/* 文字色を墨色（#2a2522）から黒に（2026-10-08「グレーの文字を黒にして」）。
 * 補足も含めて全部黒。区別は大きさ・太さで。線や札の地色にも --ink を使っているので、それらも黒になる */
body.is-skin { --ink: #111111; --tx: #111111; --txm: #111111; --txl: #111111; }
body.is-skin .sdb-header-sub-account > span, body.is-skin .sdb-header-tagline, .sk-sched .is-x, .sk-sched-note .is-x, .sk-sched td.is-- { color: var(--ink); }

/* 空き状況：はじめは6行だけ（アコーディオン）。2026-10-09 */
.sk-sched-wrap.is-short .sk-sched tbody tr:nth-child(n+7) { display: none; }
.sk-sched-more { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; margin: 12px 0 0; padding: 10px; border: 1.5px solid var(--ink); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-weight: 800; cursor: pointer; }
.sk-sched-more:hover { background: #9fd8d3; }
.sk-sched-more[aria-expanded="true"] .ti { transform: rotate(180deg); }

/* 空き状況：時刻の縦の列に色（2026-10-09） */
.sk-sched tbody th { background: #eaf6f4; border-right: 1.5px solid var(--ink); }
.sk-sched thead th:first-child { background: #eaf6f4; border-right: 1.5px solid var(--ink); }

/* 全区のジャンル一覧の上の「区で絞る」リンク（F12） */
.sdb-ward-links { margin: 12px 0 20px; }
