/* 開発環境用 非公開バナーを非表示 */
#privateModeText {
    display: none !important;
  }
  
  /* =========================================================
     0. 全体共通設定
     ========================================================= */
  /* サイト全体に Noto Sans JP を適用 */
  body, h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea {
      font-family: 'Noto Sans JP', 'Noto Sans', sans-serif !important;
  }
  
  /*　フォーム内のセクションタイトルh3のサイズを調整*/
  .section-title h3 {
      background-color: #e2e3e3; /* 薄い灰色のコード */
      padding: 10px 15px;      /* 上下10px、左右15pxの余白*/
      display: block;          /* 横幅いっぱいに帯を広げる */
      width: 100%;             /* 確実に横幅いっぱいに表示 */
      font-size: 18px !important; /* 数値はお好みで調整してください */
      border-bottom: none;      /* ボトムラインを消す */
      margin-top: 0px;
  }
  
  /* フォームのラベルだけを細字にする */
  .table-info .field-label {
      font-weight: normal !important;
  }
  
  /* ヘッダー固定によるコンテンツ隠れ防止設定
     ヘッダーの高さ分、サイト全体を下に下げる */
  body {
      padding-top: var(--pp-header-height) !important;
      padding-bottom: var(--pp-footer-height) !important;
  }
   
  .profile-form, .entity-form, .signin-form, .signin-input, .signin-label, .signin-button, .signin-error, .registration-form, .registration-input, .registration-label, .registration-button, .registration-error, .form-actions, .actions, .crmEntityFormView, .entity-form-actions, .adx-signin-form, .adx-register-form, .adx-forgotpassword-form, .adx-changepassword-form, .adx-resetpassword-form, .offset-md-4.col-md-8 {
    margin-bottom: calc(var(--pp-footer-height) + 32px) !important;
  }
   
  form {
    margin-bottom: calc(var(--pp-footer-height) + 32px) !important;
  }
  
  .crmEntityFormView .clearfix {
    padding: 0;
  }
  
  .crmEntityFormView .fieldset {
    margin-bottom: 0px;
  }
  
  .tooltip.tooltip-white .tooltip-inner {
    color: #777777;
    text-align: left;
    background-color: #ccc;
    line-height: 1.2;
    font-weight: bold;
    max-width: 250px;
  }
  
  /* =========================================================
     1. フッターエリアの固定・全幅レイアウト制御
     ========================================================= */
  .footer, footer.footer {
      /* ▼▼ 固定化の設定 ▼▼ */
      position: fixed !important; /* 画面に固定 */
      bottom: 0 !important;       /* 一番下 */
      left: 0 !important;         /* 左端から */
      z-index: 1030 !important;   /* 最前面に表示 */
      height: var(--pp-footer-height) !important;
      /*min-height: 70px !important;
      /* レイアウト初期化 */
      padding: 0 !important;
      margin: 0 !important;
      width: 100% !important;
      /* 背景色設定（透け防止のため親要素にも黒を指定） */
      background-color: #000000 !important;
      border: none !important;
  }
   
  /* Power Pages標準の不要なラップ要素をリセット */
  .footer > div,
  .footer .container,
  .footer .container-fluid,
  .footer .row,
  .footer section,
  .footer div[class*="col-"] {
      max-width: none !important;
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      min-height: 0 !important;
      line-height: 0 !important;
      flex: 0 0 100% !important;
  }
   
  /* =========================================================
      独自コンテナ（黒帯の中身）のデザイン
     ========================================================= */
  .custom-footer-container {
      width: 100% !important;
      background-color: #000000;
      color: #ffffff;
     
      /* ご指定のパディング */
      padding: 16px 40px !important;
     
      /* Flexboxで左右配置 */
      display: flex;
      justify-content: space-between; /* 左右に離す */
      align-items: center;            /* 上下中央揃え */
      box-sizing: border-box;
     
      /* 行間設定 */
      line-height: 1.5 !important;
  }
   
  /* コンテナ内の汎用div設定 */
  .custom-footer-container > div {
      width: auto !important;
      padding: 0 !important;
      line-height: 1.5 !important;
  }
   
  /* ロゴ画像の設定 */
  .custom-footer-container img {
      height: 24px !important; /* 高さを24pxに強制 */
      width: auto !important;  /* 幅はなりゆき */
      display: block !important;
      margin-right: 15px !important;
  }
   
  /* 右側のリンクグループ */
  .custom-footer-container .footer-links-group {
      display: flex;
      gap: 24px; /* リンク同士の間隔 */
  }
   
  /* テキストとリンクのフォント設定 */
  .footer-link,
  .footer-copyright {
      color: #ffffff !important;
      font-size: 16px;
      text-decoration: none;
      line-height: 1.5;
      white-space: nowrap; /* 強制的に改行させない */
  }
   
  /* リンクホバー時の挙動（オプション） */
  .footer-link:hover {
      text-decoration: underline;
      opacity: 0.8;
  }
   
  /* =========================================================
     2. ヘッダーエリア（Header）の左寄せ・レイアウト制御
     ========================================================= */
  /* メインコンテンツに進むボタンを消す設定 ▼▼ */
  .skip-to-content,
  a[href="#main"],
  a[href="#main-content"] {
      display: none !important;
      visibility: hidden !important;
      height: 0 !important;
      width: 0 !important;
      position: absolute !important;
      z-index: -9999 !important;
  }
  /* グループ全体の設定 */
  .navbar {
      height: var(--pp-header-height) !important;
      min-height: var(--pp-header-height) !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      display: flex !important;
      align-items: center !important;
      /* ▼▼ 【追加】ヘッダーを画面上部に固定する設定 ▼▼ */
      position: fixed !important; /* 絶対位置に固定 */
      top: 0;                     /* 一番上に */
      left: 0;                    /* 左端から */
      width: 100% !important;     /* 横幅いっぱいに広げる */
      z-index: 1030 !important;   /* 他の要素より手前に表示 (Bootstrap標準値) */
      background-color: #ffffff !important; /* 背景色を白に (透け防止) */
      box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* (任意) 少し影をつけて浮いている感を出す */
  }
   
  .header-logo-group{
      /* Flexbox設定 */
      display: flex !important;
      flex-direction: row !important;
      align-items: baseline !important; /* 下揃え */
      justify-content: flex-start !important; /* 強制的に左寄せ */
     
      width: fit-content !important; /* 横幅を「中身のサイズ」に合わせる */
      max-width: 80vw; /* 念のため画面幅からはみ出さないように */
      margin-right: auto !important; /* 右側に余白を押し出す */
      margin-left: 3rem;
     
      /* 文字装飾リセット */
      text-decoration: none;
      color: inherit; /* 黒文字にするなら #000 と指定してください */
      font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  }
   
  /* "iO" の設定 */
  .logo-text-io {
      font-size: 30px;
      font-weight: 700;
      line-height: 1;
      margin-right: 5px !important;/* iOの右側に固定の隙間を作る */
      flex: 0 0 auto !important; /* 勝手に伸び縮みさせない */
  }
   
  /* "Intelligent Operations" の設定 */
  .logo-text-desc {
      font-size: 25px;
      font-weight: 400;
      line-height: 1;
      flex: 0 0 auto !important; /* 勝手に伸び縮みさせない */
      margin-left: 0 !important;/* 余計なマージンを消す */
  }
   
  /* =========================================================
     本文をヘッダー/フッターの間に固定
     ========================================================= */
  /* ヘッダー＋フッターの間に本文領域を必ず確保し、さらに下余白を足す */
  #main, #main-content, main {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    overflow: visible !important;
    -webkit-overflow-scrolling: touch; /* モバイルでの慣性スクロール */
    padding: 16px;                   /* 任意の内側余白 */
    box-sizing: border-box;
    background: var(--pp-bg);
    display: block;
    min-height: calc(100vh - var(--pp-header-height) - var(--pp-footer-height)) !important;
    padding-bottom: calc(var(--pp-footer-height) + 32px) !important; /* 追加の安全余白 */
  }
   
  /* サイドバー開時：本文は左をサイドバー幅にオフセット */
  .pp-body {
    position: static !important;      /* ← fixed を解除 */
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    overflow: visible !important;     /* ← overflow-y: auto を解除 */
    margin-left: var(--pp-sidebar-width);  /* 左に避けるだけ */
    padding: 16px;
    box-sizing: border-box;
    transition: left .2s ease;      /* スライドのアニメーション */
    min-height: calc(100vh - var(--pp-header-height) - var(--pp-footer-height)) !important;
    padding-bottom: calc(var(--pp-footer-height) + 32px) !important; /* 追加の安全余白 */
  }
   
  /* サイドバーを閉じたら：本文の左オフセットを 0 に戻す */
  .pp-nav-toggle:checked ~ .pp-body {
    left: 0;
  }
   
  /* 本文の中身を中央寄せ（最大幅を設けて margin: auto） */
  .pp-body .container,
  .pp-body .container-fluid,
  .pp-body > .row,
  .pp-body > section {
    max-width: 1080px;                  /* 好みで 960px / 1200px に調整可 */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px;                 /* 端の読みやすさ確保 */
    padding-right: 16px;
  }
   
  /* とても狭い画面では最大幅制限を解除して自然な可読性を担保 */
  @media (max-width: 576px) {
    .pp-body .container,
    .pp-body .container-fluid,
    .pp-body > .row,
    .pp-body > section {
      max-width: 100%;
    }
  }
   
  /* =========================================================
     縦メニューバー
     ========================================================= */
  /* -------------------------------
     調整用カスタムプロパティ
  -------------------------------- */
  :root{
    --pp-sidebar-width: 280px;          /* メニュー幅 */
    --pp-header-height: 60px;           /* ヘッダーの高さ BK 64, 90 */
    --pp-footer-height: 50px;           /* フッターの高さ BK 48 */
    --pp-bg: #ffffff;                   /* サイドバー背景 #f8f9fa */
    --pp-link: #000000;                    /* 通常文字色 */
    --pp-link-hover: #6464e6;           /* ホバー文字色 */
    --pp-border: #e2e3e3;               /* 右境界線 */
    --pp-active-bar: #6464e6;           /* 「｜」色（現在ページ） */
    --pp-toggle-bg: #ffffff;            /* 開閉ボタン背景 */
    --pp-toggle-border: #bdc0bf;        /* 開閉ボタン枠色 */
  }
   
  /* -------------------------------
     サイドバー本体
  -------------------------------- */
  /* コンテナ */
  .pp-menu {
    max-width: 260px;
    font-size: 14px;
    position: fixed;
  }
  
  /* レベル1 */
  .pp-menu__level1,
  .pp-menu__level2 {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .pp-menu__level1 > li {
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
  }
  
  /* 見出しボタン */
  .pp-menu__toggle {
    width: 100%;
    text-align: left;
    padding: 12px 40px 12px 12px;
    background: #fff;
    border: 0;
    font-size: 14px;
    cursor: pointer;
    position: relative;
  }
  
  .pp-menu__toggle:focus {
    outline: 3px solid #94c6ff;
    outline-offset: 2px;
  }
  
  /* ▼アイコン */
  .pp-menu__caret::before {
    content: "▸";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s ease;
    color: #666;
  }
  .pp-menu__toggle[aria-expanded="true"] .pp-menu__caret::before {
    transform: translateY(-50%) rotate(90deg);
  }
  
  /* レベル2（サブメニュー） */
  .pp-menu__level2 {
    background: #fff;
    border-top: 1px solid #eee;
    padding: 6px 0;
  }
  
  .pp-menu__level2 li a {
    display: block;
    padding: 10px 12px 10px 20px;
    color: #333;
    text-decoration: none;
  }
  .pp-menu__level2 li a:hover,
  .pp-menu__level2 li a:focus {
    background: #f1f4ff;
    text-decoration: none;
  }
  
  /* -------------------------------
     サイドバー本体（固定表示）旧
  -------------------------------- */
  .pp-vertical-nav{
    position: fixed;
    left: 0;
    top: calc(var(--pp-header-height) + 8px); /*var(--pp-header-height);*/
    bottom: var(--pp-footer-height);
    width: var(--pp-sidebar-width);
    background: var(--pp-bg);
    border-right: 1px solid var(--pp-border);
    overflow-y: auto;
    z-index: 1030;           /* ヘッダーより下、本文より上（適宜調整） */
    padding: 12px 0;
  }
   
  /* リスト表示（常時全階層を展開） */
  .pp-nav-list,
  .pp-nav-children{
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .pp-nav-children{ padding-left: 20px; } /* 子階層はインデント */
   
  /* リンクの見た目とホバー */
  .pp-nav-item{ margin: 0; position: relative; }
  .pp-nav-link{
    display: block;
    padding: 10px 16px 10px 20px;
    color: var(--pp-link);
    text-decoration: none;
    transition: color .15s ease;
    font-size: 20px;
  }
  .pp-nav-link:hover{ color: var(--pp-link-hover); }
   
  /* 現在ページ：左端に色付き「｜」を付ける */
  .pp-nav-item.active > .pp-nav-link::before{
    content: '|';
    position: absolute;
    left: 8px;
    color: var(--pp-active-bar);
    font-weight: 700;
  }
   
  /* ▼Coming Soon エリア用スタイル*/
  /* 区切り線 */
  .pp-nav-separator {
    margin: 15px 20px 10px 20px; /* 上下の余白 */
    border-bottom: 1px solid var(--pp-border);
  }
   
  /* Coming Soon 見出し */
  .pp-nav-header {
    padding: 0 20px 5px 20px;
    font-size: 14px;          /* 本文(24px)より小さくして区別 */
    font-weight: bold;
    color: #999;              /* 薄いグレー */
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
   
  /* 無効化（Disabled）されたメニュー */
  .pp-nav-item.disabled .pp-nav-link {
    color: #d0d0d0;           /* 非常に薄いグレー */
    pointer-events: none;     /* クリック無効 */
    cursor: default;          /* カーソルを指にしない */
  }
   
  /* 無効化アイテムはホバーしても色を変えない */
  .pp-nav-item.disabled .pp-nav-link:hover {
    color: #d0d0d0;
  }
  /* ▲Coming Soon エリア用スタイル*/
   
  /* -------------------------------
     CSSのみで動く開閉ボタン（◀/▶）
  -------------------------------- */
  .pp-nav-toggle{
    position: fixed;
    left: 0;
    top: calc(var(--pp-header-height) + 16px);
    z-index: 1040;
    opacity: 0;             /* クリック対象だが見せない */
    pointer-events: none;   /* 直接は操作しない（ラベルで操作） */
  }
   
  /* ボタン本体 */
  .pp-nav-toggle-btn{
    position: fixed;
    left: 0;
    top: calc(var(--pp-header-height) + 16px);
    width: 28px;
    height: 28px;
    background: var(--pp-toggle-bg);
    border: 1px solid var(--pp-toggle-border);
    border-radius: 4px;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1050;
    /* 角丸＆枠は開閉に合わせて見た目を変える */
    transition: left .2s ease, border-radius .2s ease;
  }
   
  /* 開いている（未チェック）状態：右端に ◀ を表示 */
  .pp-nav-toggle + .pp-nav-toggle-btn{
    left: calc(var(--pp-sidebar-width) - 18px); /* サイドバー右端に重ねる */
    border-left: none;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .pp-nav-toggle + .pp-nav-toggle-btn::after{ content: '◀'; }
   
  /* 閉じている（チェックON）状態：画面左端に ▶ を表示 */
  .pp-nav-toggle:checked + .pp-nav-toggle-btn{
    left: 0; /* 左端に戻す（開くボタン） */
    border-left: none;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .pp-nav-toggle:checked + .pp-nav-toggle-btn::after{ content: '▶'; }
   
  /* 開閉アニメーション：チェックONでサイドバーを隠し、本文の左マージンを0に */
  .pp-nav-toggle:checked ~ .pp-vertical-nav{
    transform: translateX(-100%);
    transition: transform .2s ease;
  }
   
  /* 閉じている（checked）ときは左余白を 0 にする */
  .pp-nav-toggle:checked ~ .pp-body{
    margin-left: 0 !important;  /* var(--pp-sidebar-width) */
  }
   
  /* 開いている（未チェック）状態はサイドバー幅を避ける */
  .pp-nav-toggle + .pp-vertical-nav ~ .pp-body,
  .pp-vertical-nav ~ .pp-body {
    margin-left: var(--pp-sidebar-width) !important;
  }
   
  /* -------------------------------
     レスポンシブ微調整（任意）
  -------------------------------- */
  @media (max-width: 992px){
    :root{ --pp-sidebar-width: 240px; }
  }
  @media (max-width: 576px){
    :root{ --pp-sidebar-width: 220px; }
  }
  @media (max-width: 576px) {
    :root { --pp-footer-height: 64px; }
  }
   
  /* ダイアログ／モーダル表示中は本文の固定を解除（通常フローへ） */
  .modal-open #main,
  .modal-open #main-content,
  .modal-open main,
  .modal-open .pp-body {
    position: static !important;  /* fixed → static */
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
  }
   
  /* jQuery UI オーバーレイが検知できる場合（保険） */
  .ui-widget-overlay ~ #main,
  .ui-widget-overlay ~ #main-content,
  .ui-widget-overlay ~ main,
  .ui-widget-overlay ~ .pp-body {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
  }
  
  /* ==========================================================================
     1. フォーム基本デザイン & 枠線リセット
     ========================================================================== */
  /* フォーム全体の枠線や背景を削除 */
  .entity-form, .crmEntityFormView {
      border: none !important;
      box-shadow: none !important;
      background-color: transparent !important;
      padding: 0 !important;
  }
  
  /* 入力フィールドのデザイン統一 */
  .form-control {
      border: 1px solid #ced4da !important;
      border-radius: 4px !important;
      box-shadow: inset 0 1px 2px rgba(0,0,0,0.075) !important;
      background-color: #ffffff !important;
      color: #000000 !important;
      padding: 6px 12px !important;
      font-weight: normal !important;
      min-height: 38px !important;
      outline: initial !important;
  }
  
  /* 読み取り専用・ロック項目のスタイル */
  .form-control.custom-locked-input,
  .form-control[readonly],
  .form-control[disabled] {
      background-color: #f8f9fa !important; /* 薄いグレー */
      border: 1px solid #e9ecef !important;
      cursor: default !important;
  }
  
  /* 透明化が必要なフィールド（ラベルのみ表示など）への対策 */
  .form-control[style*="border: none"],
  .form-control[style*="border: medium none"],
  .form-control[style*="background-color: transparent"] {
      border: none !important;
      box-shadow: none !important;
      background-color: transparent !important;
      padding-left: 0 !important;
      outline: none !important;
  }
  
  /* 表示するレコードはありませんの背景設定 */
  .alert-warning {
      --bs-alert-color: #000000;
      --bs-alert-bg: transparent;
      --bs-alert-border-color: transparent;
  }
  
  /* AI検索のフィードバック非表示 */
  .feedback-control-list {
      display: none !important;
  }
  /* ==========================================================================
     2. レイアウト調整 (★列と行に適度な空間を作成)
     ========================================================================== */
  /* 項目名（ラベル）のデザイン */
  .table-info {
      margin-bottom: 8px !important; /* ラベルと入力欄の間に隙間を作る */
      display: block;
  }
  .field-label {
      font-weight: 600 !important; /* ラベルを少し太字に */
      color: #333;
  }
  
  /* ▼ PC表示時 (768px以上) のレイアウト調整 */
  @media (min-width: 768px) {
      /* テーブルセルの余白設定 */
      table.section td.cell {
          padding-left: 30px !important;  /* 左側の余白（列間） */
          padding-right: 30px !important; /* 右側の余白（列間） */
          padding-bottom: 20px !important; /* 上下の項目間の余白 */
          vertical-align: top !important;  /* 要素を上揃えにする */
          box-sizing: border-box !important;
      }
  
      /* Bootstrapグリッドを使用している場合の調整 */
      .entity-form .row .col-md-6,
      .crmEntityFormView .row .col-md-6 {
          padding-left: 30px !important;
          padding-right: 30px !important;
          margin-bottom: 20px !important;
      }
  }
  
  /* ▼ スマホ表示時 (767px以下) のレイアウト調整 */
  @media (max-width: 767px) {
      table.section td.cell {
          padding-left: 0 !important;
          padding-right: 0 !important;
          padding-bottom: 10px !important;
          display: block !important;     /* 縦並びを強制 */
          width: 100% !important;
      }
  }
  /* ==========================================================================
     3. ボタンエリアの配置調整
     ========================================================================== */
  .actions {
      display: flex !important;
      flex-wrap: wrap;
      align-items: center;
      padding-top: 20px;
      gap: 10px;
  }
  
  /* ==========================================================================
     4. クイックビューフォーム等のiframe非表示制御
     ========================================================================== */
  td:has(iframe):not(:has(.entity-grid)),
  div.control:has(iframe):not(:has(.entity-grid)) {
      position: absolute !important;
      top: -9999px !important;
      left: -9999px !important;
      width: 1px !important;
      height: 1px !important;
      opacity: 0 !important;
      pointer-events: none !important;
      margin: 0 !important;
      padding: 0 !important;
      border: none !important;
      overflow: hidden !important;
  }
  iframe { border: none !important; }
  
  /* セクション見出し */
  .tab-title,
  .section-title,
  fieldset legend,
  h3 {
      /*border-bottom: 1px solid #d1d1d1;*/
      padding-bottom: 0px;
      margin-bottom: 25px;
      margin-top: 0px;
      width: 100%;
      display: block;
      font-size: 1.3rem;
      color: #333;
  }
  
  /* 必須項目のアスタリスク(*)の色 */
  .required-marker, span.required {
      color: #dc3545 !important;
      font-weight: bold;
      margin-left: 4px;
  }
  
  /* ==========================================================================
     5. カスタムダイアログ (JSで使用)
     ========================================================================== */
  .custom-modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 10000;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
  }
  
  .custom-modal-overlay.active {
      opacity: 1;
      visibility: visible;
  }
  
  .custom-modal-box {
      background: white;
      padding: 30px 40px;
      border-radius: 8px;
      box-shadow: 0 20px 40px rgba(0,0,0,0.3);
      text-align: center;
      max-width: 450px;
      width: 90%;
      transform: scale(0.9);
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  
  .custom-modal-overlay.active .custom-modal-box {
      transform: scale(1);
  }
  
  .custom-modal-title {
      font-size: 1.2rem;
      font-weight: bold;
      margin-bottom: 15px;
      color: #333;
  }
  
  .custom-modal-message {
      font-size: 1rem;
      margin-bottom: 25px;
      color: #555;
      line-height: 1.6;
  }
  
  .custom-modal-actions {
      display: flex;
      justify-content: center;
      gap: 15px;
  }
  
  /* ダイアログ内のボタン */
  .custom-modal-btn {
      display: inline-block;
      padding: 6px 16px;
      font-size: 14px;
      border-radius: 4px;
      border: 1px solid #ccc;
      background-color: #fff;
      cursor: pointer;
      min-width: 80px;
  }
  .custom-modal-btn:hover {
      background-color: #f0f0f0;
  }
  #btnModalOk {
      background-color: #4e5ec2;
      color: #fff;
      border-color: #4e5ec2;
  }
  #btnModalOk:hover {
      background-color: #3b4cb8;
  }
  
  /* ==========================================================================
     7. ボタンデザイン統一 (高さ・余白・ボーダーの完全強制)
     ※ここを強力に修正しました
     ========================================================================== */
  #slot-buttons {
      /* コンテナ側でも高さを整える */
      display: flex !important;
      align-items: center !important;
      flex-wrap: nowrap !important;
  }
  
  #slot-buttons input,
  #slot-buttons button,
  #slot-buttons a.btn,
  #slot-buttons .btn {
      /* 1. ブラウザのデフォルト装飾を全消去 */
      -webkit-appearance: none !important;
      -moz-appearance: none !important;
      appearance: none !important;
      background-image: none !important;
      box-shadow: none !important;
  
      /* 2. 高さをミリ単位で固定 (38px) */
      height: 38px !important;
      min-height: 38px !important;
      max-height: 38px !important;
      
      /* 3. ボックスモデルの統一 */
      box-sizing: border-box !important;
      
      /* 4. 余白設定 (上下0にして高さへの影響を排除) */
      padding: 0 16px !important;
      margin: 0 !important;
      
      /* 5. 中身の配置 (Flexboxで強制的にド真ん中へ) */
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      
      /* 6. 行間の影響を排除 (normalにするとブラウザ差異が出るため数値指定) */
      line-height: 1 !important; 
      
      /* 7. フォントの統一 */
      font-family: inherit !important;
      font-size: 14px !important;
      
      /* 8. 枠線 (全てのボタンに1pxの枠線を強制し、色だけ変える) */
      border-width: 1px !important;
      border-style: solid !important;
      border-radius: 4px !important;
      border-color: transparent; /* デフォルトは透明 */
      
      /* 9. その他 */
      vertical-align: middle !important;
      text-decoration: none !important;
  }
  
  /* ▼ Firefox特有の余白ズレ補正 */
  #slot-buttons input::-moz-focus-inner,
  #slot-buttons button::-moz-focus-inner {
      border: 0 !important;
      padding: 0 !important;
  }
  
  /* ▼ メインボタン (塗りつぶし) */
  #slot-buttons .btn-primary,
  #slot-buttons input.btn-primary,
  #slot-buttons input[type="submit"] {
      background-color: #6464e6 !important;
      border-color: #6464e6 !important;
      color: #fff !important;
  }
  
  /* ▼ サブボタン/アウトラインボタン (白背景) */
  #slot-buttons .btn-default,
  #slot-buttons input.btn-default,
  #slot-buttons input[type="button"]:not(.btn-primary) {
      background-color: #fff !important;
      border-color: #6464e6 !important; /* 枠線だけ色をつける */
      color: #6464e6 !important;
  }
  
  /* ホバー時の挙動 */
  #slot-buttons .btn-primary:hover,
  #slot-buttons input.btn-primary:hover,
  #slot-buttons input[type="submit"]:hover {
      background-color: #4e5ec2 !important;
      border-color: #4e5ec2 !important;
  }
  
  #slot-buttons .btn-default:hover,
  #slot-buttons input.btn-default:hover,
  #slot-buttons input[type="button"]:not(.btn-primary):hover {
      background-color: #f0f2ff !important;
  }
  
  .entitylist-download.btn.btn-info.float-end.action {
      background-color: #6464e6 !important;
      border-color: #6464e6 !important;
      color: #fff !important;
      height: 35px;
      border-radius: 2px;
      font-weight: 600;
      font-size: 14px;
  }
  
  /* ==========================================================================
     8. ローディング
     ========================================================================== */
  .pp-loading-backdrop {
      position: fixed; inset: 0; z-index: 9999;
      background: rgba(128, 128, 128, 0.6);
      display: none;
      align-items: center; justify-content: center;
      backdrop-filter: blur(2px);
  }
  
  .pp-loading-text {
       margin-top: 12px;
       color:#333;
       font-size: 14px;
  }
  
  .pp-loading-wrap {
      display:flex;
      flex-direction:column;
      align-items:center;
  }
  
  .pp-noscroll {
      overflow: hidden !important;
  }
  
  /* ==========================================================================
     9. リッチテキストエディタ
     ========================================================================== */
  
  /* font */
  /* ▼ 現在選択中ラベルの表示（ラベル行） */
  .ql-snow .ql-picker.ql-font { width: 140px !important; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Salesforce Sans"]::before { content: "Salesforce Sans"; font-family: "Salesforce Sans"; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Arial"]::before           { content: "Arial";           font-family: "Arial"; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Courier"]::before         { content: "Courier";         font-family: "Courier"; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Verdana"]::before         { content: "Verdana";         font-family: "Verdana"; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Tahoma"]::before          { content: "Tahoma";          font-family: "Tahoma"; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Garamond"]::before        { content: "Garamond";        font-family: "Garamond"; }
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Times New Roman"]::before { content: "Times New Roman"; font-family: "Times New Roman"; }
  
  /* ▼ 候補一覧の各アイテム（ドロップダウン内） */
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Salesforce Sans"]::before { content: "Salesforce Sans"; font-family: "Salesforce Sans"; }
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Arial"]::before           { content: "Arial";           font-family: "Arial"; }
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Courier"]::before         { content: "Courier";         font-family: "Courier"; }
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Verdana"]::before         { content: "Verdana";         font-family: "Verdana"; }
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Tahoma"]::before          { content: "Tahoma";          font-family: "Tahoma"; }
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Garamond"]::before        { content: "Garamond";        font-family: "Garamond"; }
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Times New Roman"]::before { content: "Times New Roman"; font-family: "Times New Roman"; }
  
  /* font size */
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="8px"]::before { content: "8px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="9px"]::before { content: "9px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10px"]::before { content: "10px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="11px"]::before { content: "11px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before { content: "12px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="13px"]::before { content: "13px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before { content: "14px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before { content: "16px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before { content: "18px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20px"]::before { content: "20px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="22px"]::before { content: "22px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24px"]::before { content: "24px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="26px"]::before { content: "26px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="28px"]::before { content: "28px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="36px"]::before { content: "36px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="48px"]::before { content: "48px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="72px"]::before { content: "72px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="8px"]::before { content: "8px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="9px"]::before { content: "9px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="10px"]::before { content: "10px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="11px"]::before { content: "11px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="12px"]::before { content: "12px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="13px"]::before { content: "13px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="14px"]::before { content: "14px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="16px"]::before { content: "16px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="18px"]::before { content: "18px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="20px"]::before { content: "20px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="22px"]::before { content: "22px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="24px"]::before { content: "24px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="26px"]::before { content: "26px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="28px"]::before { content: "28px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="36px"]::before { content: "36px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="48px"]::before { content: "48px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="72px"]::before { content: "72px"; }
  .ql-snow .ql-picker.ql-size .ql-picker-label:not([data-value])::before { content: "20px"; }
  
  /* ▼ ▼ ▼ ▼ ▼ ▼ ▼ プロファイル画面▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ */
  /* プロファイル画面の電子メールの変更リンク本体を非表示にする */
  a.list-group-item[href*="ChangeEmail"] {
      display: none !important;
  }
  /* プロファイル画面上部の説明文（Please provide...）のセクション全体を非表示にする */
  #mainContent > .xrm-editable-html.xrm-attribute.page-copy {
    display: none !important;
  }
  /* プロファイル画面「ご連絡方法」セクション全体を非表示にする */
  #ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel {
      display: none !important;
  }
  /* プロファイル画面「更新」ボタンセクション全体を非表示にする */
  #ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel + div .actions {
      display: none !important;
  }
  /* プロファイル画面青いインフォメーションバー（alert-info）を非表示にする */
  .alert-info {
      display: none !important;
  }
  /* プロフィール画面の「外部認証の管理」リンクを非表示にする */
  .list-group.nav-profile a.list-group-item[href*="ChangeLogin"] {
      display: none !important;
  }
  /* ーーーーーーーープロファイル画面ーーーーーー*/

  /* ------------------------------
     パンくず (custom-breadcrumb)
     ------------------------------ */
  .custom-breadcrumb {
    padding: 10px var(--side-pad, 25px) 0;
    margin-bottom: 25px;
    font-size: 13px;
    color: #666;
    line-height: 1.5;
  }
  .custom-breadcrumb a {
    color: #666;
    text-decoration: none;
  }
  .custom-breadcrumb a:hover {
    text-decoration: underline;
  }

  .custom-breadcrumb-list {
    --divider: var(--bs-breadcrumb-divider, '/');
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 1rem;
    padding: 0;
    --bs-breadcrumb-item-padding-x: 0.25rem;
  }

  .custom-breadcrumb-list .active {
    font-weight: bold;
    color: #333;
  }
  
  /* ----------- 通知サイドパネル（ドロワー）の装飾 ----------- */
.notification-drawer {
    width: 400px !important;
}

/* カードの浮き上がり感（モダンなUIに必須） */
.notification-card {
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* アイコンの色（Dataverseの「成功」を表現） */
.icon-success {
    color: #28a745 !important;
}

/* ドロワー内の背景色（カードを際立たせるため） */
.bg-drawer {
    background-color: #f8f9fa !important;
}

.notification-text-limit {
    overflow: hidden;
    line-height: 1.4;
    max-height: 2.8em; /* 1.4 × 2行分。これ以上は表示しない設定 */
    display: block;    /* 標準的なブロック表示に */
}
 /* ----------------------------------------------- */