.calendar td.shop-day {
      background: rgba(255,165,0,.15);
      border-color: rgba(255,165,0,.35);
    }
    /* キャンセルポリシー（フォーム内・送信ボタンの直前。白いカードの上なので濃い文字） */
    .tsuki-cancel-policy {
      margin: 18px 0 14px;
      padding: 12px 14px;
      background: #f7f2e8;
      border: 1px solid #d9cba6;
      border-radius: 8px;
      color: #2a2030;
      font-size: 13px;
      line-height: 1.8;
      text-shadow: none;
    }
    .tsuki-cancel-policy strong { color: #1a0a2e; }
    /* テーマの .note a（金色・!important）に負けないよう、id付きで上書きする */
    #reserve-form .tsuki-cancel-policy a {
      color: #5a1f7a !important;
      font-weight: 700;
      text-decoration-color: rgba(90, 31, 122, 0.5) !important;
      border-bottom: 0;
    }
    .tsuki-cancel-policy .cancel-policy-small { color: #4f4556; font-size: 11.5px; }

    /* 「情報のみ（Web予約なし）」の枠しか無い日は、予約フォーム部分を隠す */
    #reserve-form.tsuki-info-only .userinfo,
    #reserve-form.tsuki-info-only .btn-submit {
      display: none;
    }
    .time-item.shop {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      background: rgba(255,165,0,.10);
      border: 1px dashed rgba(255,165,0,.5);
      padding:8px 10px;
      border-radius:6px;
      line-height:1.4;
      font-size:14px;
      margin-bottom:6px;
    }
    .time-item.shop .shop-row {
      width:100%;
      display:flex;
      flex-direction:row;
      align-items:center;
      gap:8px;
    }
    .time-item.shop .shop-time {
      flex-shrink:0;
      white-space:nowrap;
      font-size:13px;
      line-height:1.4;
    }
    .time-item {
      display:flex;
      flex-direction:row;
      align-items:center;
      gap:6px;
      padding:8px 10px;
      border-radius:6px;
      border:1px solid #ccc;
      margin-bottom:6px;
      background:#fff;
      line-height:1.4;
      font-size:14px;
      box-sizing:border-box;
      width:100%;
    }
    .tag-wrap {
      margin-top:6px;
      display:flex;
      gap:4px;
      flex-wrap:wrap;
      flex-direction:row;
    }
    .shop-tag,
    .personal-tag {
      display:inline-flex;
      flex-direction:column;
      gap:2px;
      padding:4px 8px;
      border-radius:999px;
      font-size:11px;
      line-height:1.2;
      user-select:none;
    }
    .shop-tag {
      background:rgba(255,165,0,.12);
      border:1px solid rgba(255,165,0,.45);
    }
    .shop-tag .shop-name { font-weight:700; }
    .shop-tag .shop-time { opacity:.9; }
    .personal-tag {
      background:rgba(14,165,233,.12);
      border:1px solid rgba(14,165,233,.45);
      font-weight:700;
      align-items:center;
      justify-content:center;
    }
    .shop-group {
      border:1px solid rgba(255,165,0,.35);
      background:rgba(255,165,0,.05);
      border-radius:10px;
      padding:10px;
      margin-bottom:12px;
    }
    .shop-group h3 {
      margin:0 0 6px;
      font-size:16px;
    }
    .shop-group .shop-meta {
      font-size:13px;
      color:#444;
      margin-bottom:8px;
      line-height:1.5;
      white-space:pre-line;
    }
    .shop-link {
      display:inline-block;
      margin-bottom:8px;
      font-size:13px;
    }
    .mini-note {
      display:block;
      font-size:12px;
      color:#666;
      margin-top:2px;
      margin-bottom:8px;
    }
    .time-list.grid-choices {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:8px;
      align-items:stretch;
    }
    /* 予約で埋まった枠：選べないが「×」で残す。
       消してしまうと「その時間は出ていない」に見えるため、埋まっている＝人気が伝わる形にする */
    .time-item.is-booked,
    .time-item.shop.is-booked {
      background:#f3f3f3;
      border-color:#e0e0e0;
      border-style:solid;
      color:#9a9a9a;
      cursor:not-allowed;
    }
    /* チェック欄は残して位置を揃え、押せないことだけ示す */
    .time-item.is-booked input { opacity:.35; pointer-events:none; }
    .time-item .booked-mark {
      margin-left:auto;
      font-weight:700;
      font-size:15px;
      line-height:1;
      color:#b71c1c;
    }

    .time-list.grid-choices .time-item {
      margin-bottom:0;
    }
    .time-grid {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:8px;
    }
    .time-grid .time-item {
      margin-bottom:0;
    }
    .inline-duration-picker {
      margin:8px 0 12px;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      font-size:14px;
    }
    .option-disabled {
      opacity:.5;
      cursor:not-allowed;
    }
    .chk-disabled {
      opacity:.5;
      cursor:not-allowed;
    }
    @media (max-width: 1024px) {
      .time-list.grid-choices,
      .time-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 640px) {
      .time-list.grid-choices,
      .time-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .time-item,
      .time-item.shop {
        font-size:13px;
        padding:8px;
      }
      .inline-duration-picker {
        gap:10px;
        font-size:13px;
      }
    }

/* フォーム下の「鑑定でわかること」。背景が暗いページなので文字は明るめ、
   見出しは他ページと同じ金色に合わせる */
.tsuki-menu-note {
  margin: 40px auto 0;
  max-width: 720px;
  color: #dcd5ca;
  line-height: 2.0;
  letter-spacing: 0.02em;
}
.tsuki-menu-note h2 {
  font-size: 1.25rem;
  color: #ecd07f;
  letter-spacing: 0.12em;
  text-align: center;
  margin-bottom: 24px;
}
.tsuki-menu-note h3 {
  font-size: 1.02rem;
  color: #ecd07f;
  margin: 24px 0 6px;
  letter-spacing: 0.06em;
}
.tsuki-menu-note p {
  margin: 0;
  font-size: 0.97rem;
}
.tsuki-menu-note a {
  color: #ecd07f;
  text-decoration: underline;
}
/* 場所のまとめ。.tsuki-menu-note p より詳細度を上げないと上の余白が効かない
   （以前は余白が消えて、区切り線が前の段落に貼り付いて見えていた） */
.tsuki-menu-note .tsuki-menu-place {
  margin-top: 30px;
  font-size: 0.92rem;
  color: #c9c1b6;
}
@media (max-width: 600px) {
  .tsuki-menu-note { margin-top: 32px; line-height: 1.95; }
  .tsuki-menu-note h2 { font-size: 1.15rem; }
}

/* 冒頭（変化のコピー → 料金表 → カレンダーへのボタン） */
.tk-lead { margin: 0 0 16px; color: #f5f0e6; }
.tk-lead p { color: #f5f0e6; }
.tk-copy {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 900;
  font-size: clamp(22px, 6vw, 32px);
  line-height: 1.4;
  letter-spacing: .02em;
  margin: 0 0 8px;
}
.tk-desc { font-size: 14px; line-height: 1.8; opacity: .9; margin: 0 0 14px; }
.tk-lead .tk-table,
.tk-lead .tk-table tr,
.tk-lead .tk-table thead,
.tk-lead .tk-table tbody { background: transparent !important; border: 0 !important; }
.tk-lead .tk-table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: center; margin: 0 0 14px; }
.tk-lead .tk-table th,
.tk-lead .tk-table td {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(212,175,55,.25) !important;
  text-shadow: none !important;
  padding: 7px 2px;
  color: #f5f0e6;
  font-weight: 700;
}
.tk-lead .tk-table tbody th { font-size: 12px; font-weight: 400; text-align: left; opacity: .8; white-space: nowrap; }
.tk-lead .tk-table thead th { font-family: "Zen Old Mincho", serif; font-size: 16px; font-weight: 900; }
.tk-lead .tk-table .tk-rec { background: rgba(212,175,55,.12) !important; color: #e6ca74; }
.tk-lead .tk-table thead .tk-rec { border-top: 2px solid #d4af37 !important; }
.tk-lead .tk-table thead em { display: block; font-style: normal; font-size: 10px; letter-spacing: .1em; }
.tk-jump {
  display: block;
  text-align: center;
  background: #d4af37;
  color: #1a0a2e !important;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  text-shadow: none !important;
  padding: 13px 10px;
  border-radius: 99px;
  margin: 0 0 12px;
}
/* 歌舞伎町（Suutopia）の案内。出勤時間が決まっていて埋めたい枠なので、
   脚注扱い（12px・薄字）をやめ、料金表と同じ重さにしてボタンの上に置く */
.tk-try {
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 8px;
  background: rgba(212,175,55,.07);
}
.tk-try strong { color: #e6ca74; font-weight: 700; }
.tk-table-label { font-size: 12px; opacity: .75; margin: 0 0 6px; letter-spacing: .04em; }
.tk-links { margin-top: 10px; font-size: 12px; }
html { scroll-behavior: smooth; }
#cal-title { scroll-margin-top: 80px; }
