    body {
      font-family: 'Noto Sans JP', sans-serif;
      background-color: #FCFCFD;
      transition: background-color 0.3s ease, color 0.3s ease;
    }
    #gourmet-map {
      height: 440px;
      width: 100%;
      border-radius: 1.25rem;
      z-index: 10;
    }
    .bg-instagram {
      background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
    }
    /* Leaflet Popup Style Guard (画像 image_7c58e6.png の崩れ対策) */
    .leaflet-popup-content-wrapper {
      border-radius: 1.25rem !important;
      padding: 4px !important;
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    }
    .leaflet-popup-content {
      font-family: 'Noto Sans JP', sans-serif !important;
      margin: 12px 14px !important;
      line-height: 1.5 !important;
    }
    .popup-insta-btn {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      padding: 10px 14px !important;
      margin-top: 10px !important;
      border-radius: 0.75rem !important;
      color: #ffffff !important;
      font-weight: 700 !important;
      font-size: 11px !important;
      text-decoration: none !important;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
      transition: opacity 0.2s ease !important;
    }
    .popup-insta-btn:hover {
      opacity: 0.9 !important;
      color: #ffffff !important;
    }
    
    /* 編集モード時の装飾スタイル (管理者のみに適用) */
    .edit-mode-active .editable-element {
      position: relative;
      cursor: pointer;
      transition: all 0.2s ease;
    }
    .edit-mode-active .editable-element:hover {
      outline: 2px dashed #FF7A00 !important;
      outline-offset: 4px;
      background-color: rgba(255, 122, 0, 0.08);
    }
    .edit-mode-active .editable-element::before {
      content: '✏️ クリックして編集';
      position: absolute;
      top: -10px;
      right: 10px;
      background: #FF7A00;
      color: #fff;
      font-size: 10px;
      font-weight: bold;
      padding: 2px 6px;
      border-radius: 4px;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s ease;
      z-index: 30;
      white-space: nowrap;
      box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    }
    .edit-mode-active .editable-element:hover::before {
      opacity: 1;
    }
    .edit-mode-active .editable-image-container {
      position: relative;
      cursor: pointer;
    }
    .edit-mode-active .editable-image-container:hover {
      outline: 3px dashed #3b82f6 !important;
      outline-offset: -4px;
    }
    .edit-mode-active .editable-image-container::after {
      content: '📷 写真変更 / 位置調整';
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.6);
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 12px;
      font-weight: bold;
      opacity: 0;
      transition: opacity 0.2s ease;
      z-index: 20;
      pointer-events: none;
      padding: 4px;
    }
    .edit-mode-active .editable-image-container:hover::after {
      opacity: 1;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .animate-fadeIn {
      animation: fadeIn 0.4s ease forwards;
    }
    .custom-scrollbar::-webkit-scrollbar {
      height: 8px;
      width: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-track {
      background: #f1f1f1;
      border-radius: 10px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 10px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb:hover {
      background: #94a3b8;
    }
    /* スライダーを非表示にする標準設定を上書き */
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
  