#booking-package .sun {
    
}

#booking-package .mon {
    
}

#booking-package .tue {
    
}

#booking-package .wed {
    
}

#booking-package .thu {
    
}

#booking-package .fri {
    
}

#booking-package .sat {
    
}

#booking-package .nationalHoliday {
    
}

#booking-package_calendarPage .dateField {
    /**
    background-color: #0f9b79;
    color: #fff;
    font-weight: 400;
    **/
}

#booking-package_calendarPage .startDateOfFullRoom {
    /**
    background-image: repeating-linear-gradient(270deg, #ff8989 0px 50%, transparent 0% 100%);
    **/
}

#booking-package_calendarPage .dateOfFullRoom {
    /**
    background: #ff8989;
    **/
}

#booking-package_calendarPage .endDateOfFullRoom {
    /**
    background-image: repeating-linear-gradient(90deg, #ff8989 0px 50%, transparent 0% 100%);
    **/
}

/* Booking Package の予約不可日を完全に無効化 */
#booking-package .selectable_day_slot.closed,
#booking-package .selectable_day_slot.closed * {
    pointer-events: none !important;
    cursor: not-allowed !important;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    touch-action: none !important;
}

/* ホバー・タッチ時の視覚的変化を防ぐ */
#booking-package .selectable_day_slot.closed:hover,
#booking-package .selectable_day_slot.closed:active,
#booking-package .selectable_day_slot.closed:focus,
#booking-package .selectable_day_slot.closed:visited {
    background-color: transparent !important;
    background: none !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* より広範囲なセレクタでも試す */
.closed[data-status="0"] {
    pointer-events: none !important;
}

/* フォーム入力時の自動拡大を防ぐ */
#booking-package input[type="text"],
#booking-package input[type="email"],
#booking-package input[type="tel"],
#booking-package input[type="number"],
#booking-package input[type="date"],
#booking-package input[type="time"],
#booking-package textarea,
#booking-package select {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100%;
}

/* スマホ用の追加対策 */
@media screen and (max-width: 768px) {
    #booking-package input,
    #booking-package textarea,
    #booking-package select {
        font-size: 16px !important;
        transform: scale(0.875);
        transform-origin: left center;
        width: 114.28%;
    }
}

/* 予約できない日のスタイル */
#booking-package .selectable_day_slot.closed {
    background-color: #f5f5f5 !important;
    color: #999 !important;
    position: relative;
}

/* 曜日部分もグレーに */
#booking-package .selectable_day_slot.closed .weekPanel {
    color: #999 !important;
}

/* 日付数字もグレーに */
#booking-package .selectable_day_slot.closed > div:last-child {
    color: #999 !important;
}

/* 予約可能な日付を太字に */
#booking-package .selectable_day_slot:not(.closed) {
    font-weight: bold !important;
}

/* 満席の時間帯に「満席」を追加 */
#booking-package .selectable_time_slot.closed::after {
    content: "：満席";
    color: #ff0000;
    font-weight: bold;
    font-size: 16px;
}

/* レイアウト調整（必要に応じて） */
#booking-package .selectable_time_slot.closed {
    position: relative;
    padding-right: 50px; /* 満席の文字分のスペース確保 */
}

/* または別の表示方法：改行して下に表示 */
#booking-package .selectable_time_slot.closed::after {
    content: "\A満席";
    white-space: pre;
    color: #ff0000;
    font-weight: bold;
    font-size: 16px;
    display: block;
    text-align: center;
}



/* 予約するボタンのスタイル */
#booking-package .book_now_button {
    background: #90EE90 !important;
    color: #000000 !important;
    font-size: 18px !important;
    font-weight: bold !important;
    padding: 0.8em 2em !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

/* ホバー効果 */
#booking-package .book_now_button:hover {
    background: #7DD87D !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3) !important;
}

/* 予約完了後の重要メッセージ */
#booking-package .booking_completed::after {
    content: "【重要】予約確認メールについて\A\A★ 予約は完了いたしました。 ★\A\A予約確認メールを送信しました。\Aメールが届かない場合は以下をご確認ください：\A\A• 迷惑メールフォルダをご確認ください\A• 入力されたメールアドレスに誤りがある可能性があります\A• 5分経っても届かない場合は、お手数ですが「問合せ」メニューからお問い合わせください";
    display: block;
    white-space: pre-line;
    background: #FFF9E6;
    border: 2px solid #FFB84D;
    border-radius: 8px;
    padding: 1.5em;
    margin-top: 2em;
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    font-weight: normal;
}

/* 重要部分の強調 */
#booking-package .booking_completed::after {
    position: relative;
}

/* モバイル対応 */
@media (max-width: 599px) {
    #booking-package .booking_completed::after {
        font-size: 14px;
        padding: 1em;
        margin-top: 1.5em;
    }
}