@media (max-width: 750px){


  .flatpickr-calendar{
    --cell: 64px;     /* 1日セルの一辺（指で押しやすい64pxに） */
    --gap: 5px;      /* 日付どうしの余白 */
    --pad-x: 10px;    /* days 部の左右パディング */
    font-size: 18px;
    z-index: 9999;
  }

  /* カレンダーの幅を “セル×7 + gap×6 + padding×2” で確保 */
  .flatpickr-calendar.open,
  .flatpickr-calendar.inline{
    width: calc( (var(--cell) * 7) + (var(--gap) * 6) + (var(--pad-x) * 2) );
    max-width: min(96vw, 720px);  /* 画面幅の保険（PC上限はお好みで） */
  }

  .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month{
      top: 15px;
  }

  .flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
      width: 24px;
      height: 24px;
      font-weight: 3rem;
  }

  /* 見出しと内側余白 */

  .flatpickr-months .flatpickr-month {
      height: 55px;
      margin-bottom: 1rem;
      font-size: 25px;
  }

  .flatpickr-calendar .flatpickr-months{ padding: 5px 16px; }
  .flatpickr-calendar .flatpickr-weekdays{ margin-bottom: 10px; font-size: 1.5rem;}
  .flatpickr-calendar .flatpickr-days{ padding: 12px var(--pad-x); }

  /* 見切れ防止（デフォの hidden を解除） */
  .flatpickr-innerContainer,
  .flatpickr-days,
  .flatpickr-days .dayContainer{ overflow: visible !important; }

  /* 7列のグリッド。幅は上の width 計算と合致します */
  .flatpickr-days .dayContainer{
    display: grid !important;
    grid-template-columns: repeat(7, minmax(var(--cell), 1fr));
    column-gap: var(--gap);
    row-gap: var(--gap);
  }

  /* 曜日ヘッダも同じ幅と gap に揃える */
  .flatpickr-weekdays{ padding: 0 var(--pad-x); }
  .flatpickr-weekdays .flatpickr-weekdaycontainer{
    display: grid !important;
    grid-template-columns: repeat(7, minmax(var(--cell), 1fr));
    column-gap: var(--gap);
  }
  .flatpickr-weekday{ margin: 0 !important; text-align:center; }

  /* 各“日”セル：正方形で大きく、中央寄せ */
  .flatpickr-day{
    width: 100% !important;
    height: var(--cell) !important;
    line-height: var(--cell) !important;
    border-radius: 10px;
    font-size: 1.6em;
    margin: 0 !important;           /* 余白は gap で */
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box;
  }

  /* レンジの帯は内側塗りで切れないように */
  .flatpickr-day.inRange{
    background: rgba(57,95,179,.14) !important; /* ← 修正: box-shadow方式をやめ、背景色で連続表示 */
    box-shadow: inset 0 0 0 9999px rgba(57,95,179,.14) !important;
  }
  .flatpickr-day.startRange,
  .flatpickr-day.endRange,
  .flatpickr-day.selected{
    background: #3a67c0 !important;
    color:#fff !important;
    font-weight:700;
  }

  .flatpickr-calendar{ --cell: 60px; --gap: 8px; font-size: 19px; }
  .flatpickr-calendar.open,
  .flatpickr-calendar.inline{
    max-width: 96vw; /* 画面に収める */
  }
}

/* レンタルボタン無効時 */
.rentaladd:disabled { opacity: .5; cursor: not-allowed; }

