/* =====================================================================
   アルク 管理画面 デザインリニューアル(v58/中央CRMと同じデザイン言語)
   既存マークアップに後勝ちで重ねるテーマ。?renew=1 の時のみ読み込み(プレビュー)。
   コーポレート=青 / 看護=ピンク(業種文脈) / Noto Sans JP / 余白・フラット見出し・カード。
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap');
:root{
  --r-brand:#1565d8; --r-brand-soft:#e8f0fd; --r-brand-line:#bcd0f3; --r-pink:#e6005a;
  --r-ink:#1f2733; --r-sub:#6b7684; --r-head:#33415c; --r-line:#e7eaee; --r-bg:#eef2f6; --r-card:#fff;
  --r-green:#16a34a; --r-amber:#f59e0b; --r-red:#dc2626;
}
/* 基本 */
body{font-family:"Noto Sans JP","Hiragino Sans",sans-serif !important;font-weight:500;color:var(--r-ink);background:var(--r-bg) !important;letter-spacing:.01em;line-height:1.6;}
#contents,#mainCont,.pie{background:transparent !important;}

/* ヘッダ */
.header{background:var(--r-card) !important;border-bottom:2px solid var(--r-brand) !important;box-shadow:0 1px 3px rgba(20,40,80,.05) !important;}
.header__logo,.header__logo a,.header__logo *{color:var(--r-brand) !important;}
.header__metaAccount,.header__metaLink a{color:var(--r-ink) !important;}

/* パンくず */
.breadcrumbs{color:var(--r-sub) !important;font-size:12.5px !important;}
.breadcrumbs a{color:var(--r-brand) !important;}

/* 見出し(フラット化) */
.ttlBasic{color:var(--r-head) !important;font-weight:700 !important;font-size:18px !important;letter-spacing:0 !important;background:transparent !important;border:0 !important;border-bottom:2px solid var(--r-line) !important;border-radius:0 !important;padding:0 0 7px !important;margin-bottom:14px !important;}
.ttlBasic02,.secSearch__ttl{color:var(--r-head) !important;font-weight:700 !important;font-size:14px !important;letter-spacing:0 !important;background:transparent !important;border-left:0 !important;}

/* カード(主要ボックス) ※入れ子の二重枠を防ぐため .secInfo(見出し)/.secSearch(mainBox内)はカード化しない */
.mainBox,.secInfo__inner,.secList{background:var(--r-card) !important;border:1px solid var(--r-line) !important;border-radius:12px !important;box-shadow:0 1px 3px rgba(20,40,80,.05) !important;}
.mainBox{padding:18px !important;}
/* 見出し「○○一覧」= カードにせずクリーンなページ見出しに(位置・余白調整) */
.secInfo{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:20px 2px 14px !important;}
.ttlBasic{margin:0 0 16px !important;}
/* 検索ボックスは mainBox の中なのでカードにしない(二重枠/重複線を解消・下罫線で区切る) */
.secSearch{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 0 6px !important;margin:0 0 14px !important;border-bottom:1px solid var(--r-line) !important;}
.message{color:var(--r-sub) !important;}

/* テーブル(一覧/編集) */
.resultTable,.tableList,.tableEdit,.commonTable{border-collapse:collapse !important;font-size:13.5px !important;width:100% !important;background:var(--r-card) !important;}
.resultTable th,.tableList th{background:#f7f9fc !important;color:var(--r-sub) !important;font-weight:700 !important;font-size:12.5px !important;padding:11px 14px !important;border-bottom:2px solid var(--r-line) !important;text-align:left !important;}
.resultTable td,.tableList td{padding:11px 14px !important;border-bottom:1px solid var(--r-line) !important;}
.tableList.table-striped tbody tr:nth-child(odd) td{background:#fcfdff !important;}
.tableList.table-hover tbody tr:hover td,.resultTable tbody tr:hover td{background:#f4f8fe !important;}
/* 編集フォーム表(項目名|入力) */
.tableEdit th,.commonTable th{background:#f7f9fc !important;color:var(--r-sub) !important;font-weight:700 !important;font-size:12.5px !important;}
.tableEdit th,.tableEdit td,.commonTable th,.commonTable td{padding:10px 14px !important;border:1px solid var(--r-line) !important;vertical-align:middle !important;}

/* 入力 */
.modForm__input,.modForm__inputSelect,input[type=text],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=url],input[type=date],textarea,select{
  border:1px solid var(--r-line) !important;border-radius:8px !important;padding:8px 11px !important;font-size:14px !important;font-family:inherit !important;color:var(--r-ink) !important;background:var(--r-card) !important;box-shadow:none !important;}
.modForm__input:focus,.modForm__inputSelect:focus,input:focus,textarea:focus,select:focus{outline:0 !important;border-color:var(--r-brand) !important;box-shadow:0 0 0 3px var(--r-brand-soft) !important;}

/* ボタン(青基調・意味色維持) */
.btnBasic02,.btn-warning{background:var(--r-brand) !important;border:1px solid var(--r-brand) !important;color:#fff !important;border-radius:8px !important;font-weight:700 !important;box-shadow:none !important;}
.btnBasic03,.btnBasic04{background:var(--r-card) !important;border:1px solid var(--r-line) !important;color:var(--r-ink) !important;border-radius:8px !important;font-weight:700 !important;}
.btnBasic02.is_back,.btn-cancel,.is_back{background:var(--r-card) !important;border:1px solid var(--r-line) !important;color:var(--r-ink) !important;}
.btnDelete,.is_delete{background:var(--r-card) !important;border:1px solid #f3c0c0 !important;color:var(--r-red) !important;}
.btnBasic02:hover,.btn-warning:hover{filter:brightness(.95);}

/* 検索ボックス */
.secSearch__ttl{padding:0 0 6px !important;}
.secSearch__otherBtn{border:1px solid var(--r-line) !important;border-radius:999px !important;background:var(--r-card) !important;color:var(--r-sub) !important;}

/* ページャ */
.pager a,.pager span,.pager__prev,.pager__next{border:1px solid var(--r-line) !important;border-radius:8px !important;background:var(--r-card) !important;color:var(--r-ink) !important;}
.pager .is-current,.pager .current,.pager a.active{background:var(--r-brand) !important;color:#fff !important;border-color:var(--r-brand) !important;}

/* ===== メインメニュー タイル → 白カード(モック準拠) ===== */
/* レイアウト整理: 旧2カラム(左右で高さがバラつく)→ 各グループ全幅で縦積み・タイルは横に折返し */
.menu{column-count:2 !important;column-gap:28px !important;display:block !important;max-width:none !important;}
.menu .block{float:none !important;width:auto !important;display:block !important;break-inside:avoid !important;-webkit-column-break-inside:avoid !important;margin:0 0 24px !important;}
.menu .block h3{color:var(--r-head) !important;font-weight:700 !important;font-size:14px !important;background:transparent !important;border:0 !important;border-bottom:2px solid var(--r-line) !important;border-radius:0 !important;padding:0 0 6px !important;margin:0 0 12px !important;}
.menuList ul{display:flex !important;flex-wrap:wrap !important;gap:10px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
.menuList li{list-style:none !important;margin:0 !important;padding:0 !important;float:none !important;width:auto !important;background:none !important;}
.menuList li a.tip{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:8px !important;width:114px !important;min-height:92px !important;background:var(--r-card) !important;border:1px solid var(--r-line) !important;border-radius:12px !important;box-shadow:0 1px 3px rgba(20,40,80,.05) !important;padding:14px 8px !important;text-align:center !important;color:var(--r-ink) !important;text-decoration:none !important;}
.menuList li a.tip:hover{border-color:var(--r-brand-line) !important;box-shadow:0 4px 12px rgba(20,40,80,.10) !important;}
/* アイコン: 旧GIF(濃青の四角)を隠し、FontAwesomeのソフト青バッジに置換 */
.menuList li a.tip img{display:none !important;}
.menuList li a.tip::before{font-family:"Font Awesome 5 Free" !important;font-weight:900;font-size:15px;width:38px;height:38px;border-radius:11px;background:var(--r-brand-soft);color:var(--r-brand);display:grid;place-items:center;}
.menuList li.menu01 a.tip::before{content:"\f0ca";}   /* 一覧=list */
.menuList li.menu02 a.tip::before{content:"\f304";}   /* 登録/編集=pen(solid) */
.menuList li a.tip span{font-size:12px !important;font-weight:700 !important;color:var(--r-ink) !important;line-height:1.35 !important;}

/* ===== 左サイドバー(.gNavi)→ 白・クリーン(モック準拠) ===== */
.gNavi{background:var(--r-card) !important;border-right:1px solid var(--r-line) !important;}
.gNavi__ttl{color:var(--r-sub) !important;font-size:11px !important;font-weight:700 !important;background:transparent !important;border:0 !important;}
.gNavi__list{background:transparent !important;}
.gNavi__list a{color:var(--r-ink) !important;background:transparent !important;border-radius:8px !important;font-size:13.5px !important;font-weight:500 !important;}
.gNavi__list a:hover{background:#f4f8fe !important;color:var(--r-brand) !important;}
.gNavi__list a.on,.gNavi__list .is-current a{background:var(--r-brand-soft) !important;color:var(--r-brand) !important;font-weight:700 !important;}

/* ヘッダ上部の余計なアクセント線を消す */
.header{border-top:0 !important;}

/* ===== 旧ティール #35AFC2 → コーポレート青/中立に統一(青基調) ===== */
.header__inner{background:var(--r-card) !important;}
.header__metaLink a{color:var(--r-ink) !important;}
#subCont,.subCont{background:var(--r-card) !important;border-right:1px solid var(--r-line) !important;}
.subCont__ttl{background:var(--r-card) !important;color:var(--r-head) !important;border-bottom:1px solid var(--r-line) !important;}
.subCont__ttlText a{color:var(--r-head) !important;font-weight:700 !important;}
.subCont__ttlBtn,.subCont__ttlBtn i,.subCont__ttlBtn .fas{color:var(--r-brand) !important;}
.subCont__meta{color:var(--r-ink) !important;}
.subCont__metaAccount,.subCont__metaAccount i{color:var(--r-ink) !important;}
.subCont__metaAccount:after{border-color:var(--r-sub) !important;}
.subCont__metaLink a{border-color:var(--r-line) !important;color:var(--r-ink) !important;}
.subCont__metaLink a i{color:var(--r-brand) !important;}
/* サイドバーが開いている時の見出しなど残りのティールも青へ */
.subCont .is-open,.subCont__ttl.is-open{background:var(--r-card) !important;}

/* ===== 一覧・詳細・編集ページの仕上げ ===== */
/* フォームのラベル/グループ */
.modForm__label{color:var(--r-sub) !important;font-weight:700 !important;font-size:12.5px !important;}
.modForm__group{margin-bottom:12px !important;}
.modForm__inner{background:transparent !important;}
/* 必須/任意バッジ(意味色) */
.required{background:#fdecef !important;color:var(--r-red) !important;border:0 !important;border-radius:5px !important;padding:1px 8px !important;font-size:11px !important;font-weight:700 !important;}
.notRequired{background:#eef1f4 !important;color:var(--r-sub) !important;border:0 !important;border-radius:5px !important;padding:1px 8px !important;font-size:11px !important;font-weight:700 !important;}
/* 例示・補足文は控えめ(.alertは枠丸めのみ=エラー色は維持) */
.example,.text.example{color:var(--r-sub) !important;font-size:12px !important;}
.alert{border-radius:8px !important;}
/* チェック/ラジオ=ブランド色 */
.modForm__inputCheckbox,.modForm__inputRadio,input[type=checkbox],input[type=radio]{accent-color:var(--r-brand) !important;}
/* 一覧の操作バー・行操作・並び替え・日付入力 */
.resultHeader,.resultHeader__action,.resultHeader__actionBlock,.resultHeader__btns{background:transparent !important;}
.operation a,a.operation{color:var(--r-brand) !important;}
.sort,.sort a{color:var(--r-sub) !important;}
.datepicker{border:1px solid var(--r-line) !important;border-radius:8px !important;padding:8px 11px !important;}
/* 詳細(detail)テーブルも編集表と同じ整え */
.detailTable,.detail .commonTable{border-collapse:collapse !important;}
.detailTable th,.detail .commonTable th{background:#f7f9fc !important;color:var(--r-sub) !important;}

/* ===== 残存ティール #35AFC2 を全admin CSS分 一括で青/中立に ===== */
.btnBasic{background:var(--r-brand) !important;border-color:var(--r-brand) !important;color:#fff !important;border-radius:8px !important;}
.secSearch__ttl:before{background:var(--r-brand) !important;}
.resultTable .operation,.tableList .operation,td .operation,.operation{border-radius:8px !important;}
.resultTable .operation{background:var(--r-brand) !important;border-color:var(--r-brand) !important;color:#fff !important;border-radius:8px !important;}
/* テーブル枠(overflow:hidden は付けない=操作アイコンが切れるため visible) */
.mainBox .tableList,.mainBox .resultTable{border:1px solid var(--r-line) !important;border-radius:10px !important;overflow:visible !important;}
/* ===== 一覧の列幅: 内容に合わせる(可変)＋アイコン列は内容ぴったり＋はみ出しは横スクロール ===== */
/* 横スクロールは一覧/結果テーブルを含むmainBoxだけに限定(フォーム表の右枠が切れるのを防ぐ) */
.mainBox:has(table.tableList),.mainBox:has(table.resultTable){overflow-x:auto !important;}
table.tableList,table.resultTable{table-layout:auto !important;width:100% !important;}
.tableList td:last-child,.tableList th:last-child,.resultTable td:last-child,.resultTable th:last-child{white-space:nowrap !important;width:1% !important;}
.tableList td .operation,.resultTable td .operation,td .operation{width:28px !important;height:28px !important;}
.resultTable .operation.is_delete,.resultTable .operation.delete{background:var(--r-card) !important;border:1px solid #f3c0c0 !important;color:var(--r-red) !important;}
.modForm__inputRadio [type="radio"] + label:after{background:var(--r-brand) !important;}
table.commonTable td span.notRequired{background:#eef1f4 !important;color:var(--r-sub) !important;}
.modal .box .btnClose a{background:var(--r-brand) !important;}
#modalProgress .progressBox .barArea #bar{background:var(--r-brand) !important;}
.ttlBasic02{background:transparent !important;}
/* リセット等の中立(暗色)ボタン → 白アウトライン */
.cancelBtn,.btn-cancel,.btnReset,.resetBtn{background:var(--r-card) !important;border:1px solid var(--r-line) !important;color:var(--r-ink) !important;border-radius:8px !important;box-shadow:none !important;}
/* ページャ現在地を青(各種クラスを網羅) */
.pager .is-current,.pager .current,.pager a.active,.pager strong,.pager .active,.pager li.active a,.pager .num.current,.pager span.current{background:var(--r-brand) !important;color:#fff !important;border-color:var(--r-brand) !important;}

/* セクション見出し(.ttlBasic02: 集客媒体・成果判定/応募者メモ項目/編集フォームの章) = ティール → ソフト青バー */
.ttlBasic02{background:var(--r-brand-soft) !important;color:var(--r-head) !important;border:0 !important;border-radius:8px !important;padding:9px 13px !important;font-weight:700 !important;font-size:14px !important;}
.secSearch__otherBtn{color:var(--r-brand) !important;border-color:var(--r-line) !important;}
/* ページャ件数テキスト */
.pagerText{color:var(--r-sub) !important;}

/* ===== 検索フォームの線を整理(二重枠/不揃い解消) ===== */
.modForm__group{background:transparent !important;border:0 !important;}
.modForm > .modForm__group:not(:last-of-type),.modForm__inner .modForm__group{border-bottom:1px solid var(--r-line) !important;}
.modForm__label{background:transparent !important;color:var(--r-sub) !important;font-weight:700 !important;}
/* セレクトの二重枠: 外側wrapper=枠 / 内側select=枠なし */
.modForm__inputSelect{border:1px solid var(--r-line) !important;border-radius:8px !important;background:var(--r-card) !important;}
.modForm__inputSelect select{border:0 !important;background:transparent !important;box-shadow:none !important;}
.modForm__input textarea,.modForm__input .text{border:1px solid var(--r-line) !important;border-radius:8px !important;}

/* ===== メニュータイル: モック準拠アイコン(JSで絵文字を埋込・.r-ic) ===== */
.menuList li a.tip.r-js::before{display:none !important;}            /* JSアイコンがある時は FA を隠す */
/* アイコン: 水色バッジなし・絵文字を大きく(見やすさ優先) */
.menuList li a.tip .r-ic{width:auto !important;height:auto !important;border-radius:0 !important;background:transparent !important;display:block !important;font-size:30px !important;line-height:1 !important;}
.menu .block h3 .r-gic{font-size:15px;margin-right:2px;}

/* 詳細検索パネルの水色(#D8EEF2)→ 白/控えめ */
.secSearch__other{background:#f7f9fc !important;border:1px solid var(--r-line) !important;border-radius:10px !important;}
.secSearch__otherBtn{background:var(--r-card) !important;color:var(--r-brand) !important;border:1px solid var(--r-line) !important;border-radius:8px !important;font-weight:700 !important;}

/* ===== フォーム表の二重線を解消(単一罫線・高特異度+!important) ===== */
table.commonTable,table.tableEdit{border-collapse:collapse !important;border-spacing:0 !important;border:1px solid var(--r-line) !important;}
/* セルは全辺罫線(border-collapseなので隣接は1本に統合=二重にならず・外枠/右線も出る) */
table.commonTable th,table.commonTable td,table.tableEdit th,table.tableEdit td{border:1px solid var(--r-line) !important;}
/* 見出し(基本情報など): 上に余白(2つ目以降がくっつくのを防ぐ)＋表との隙間 */
.ttlBasic02{margin:26px 0 14px !important;}
/* ===== 一覧の操作アイコンを1行・コンパクトに(行の高さを抑える) ===== */
.resultTable td:last-child,.tableList td:last-child{white-space:nowrap !important;}
.resultTable td .operation,.tableList td .operation,td .operation{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:30px !important;height:30px !important;padding:0 !important;margin:2px !important;vertical-align:middle !important;border-radius:7px !important;}

/* ===== 二重線の真因(実DOM確認): div.modForm__input は値セルのラッパで入力本体ではない → 枠を付けない ===== */
div.modForm__input{border:0 !important;border-radius:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important;}
/* 枠は入力本体(input/textarea/.text)にだけ付ける */
.modForm__input input[type=text],.modForm__input input[type=email],.modForm__input input[type=number],.modForm__input input[type=tel],.modForm__input input[type=password],.modForm__input .text{border:1px solid var(--r-line) !important;border-radius:8px !important;padding:8px 11px !important;}

/* ===== 非表示要素の残ティール(ドロップダウン/モーダル/コピー通知)も青/中立に ===== */
.header__metaLink,.subCont__metaLink{background:var(--r-card) !important;border:1px solid var(--r-line) !important;}
.boxInside,.modal .box,.modal .boxInside{border-color:var(--r-line) !important;}
.copy_alert{color:var(--r-brand) !important;border-color:var(--r-brand) !important;}

/* ===== ログイン画面(admin/login)新デザイン ===== */
#container{background:var(--r-bg) !important;}
#loginBox h2{background:var(--r-brand) !important;color:#fff !important;border-radius:12px 12px 0 0 !important;font-weight:700 !important;font-size:20px !important;letter-spacing:.04em !important;}
#editForm{border-radius:12px !important;background:var(--r-card) !important;box-shadow:0 10px 34px rgba(20,40,80,.14) !important;border:1px solid var(--r-line) !important;overflow:hidden !important;}
#loginInput p.message{color:var(--r-sub) !important;}
#loginInput .label label{color:var(--r-head) !important;}
#loginBtn{background:#f4f7fc !important;border-top:1px solid var(--r-line) !important;border-radius:0 0 12px 12px !important;}
#btnLogin{background:var(--r-brand) !important;border-radius:9px !important;font-weight:700 !important;transition:filter .15s !important;}
#btnLogin:hover{filter:brightness(.93) !important;}
.reset-link,.btn-link{color:var(--r-brand) !important;}
#loginBox #logo img{height:auto !important;max-height:58px !important;width:auto !important;}
#sectionInfo{color:var(--r-sub) !important;}
