/* =========================================================
 * ALL IN — メインスタイル
 * 青系(#185FA5)ベース / 白背景 / ネット競馬風テーブル
 * =======================================================*/
:root{
  --allin-blue:#185FA5;
  --allin-blue-d:#0f4377;
  --allin-blue-l:#e8f1fa;
  --allin-blue-ll:#f4f9fd;
  --allin-red:#d23b3b;
  --allin-green:#1f9d57;
  --allin-ink:#1c2733;
  --allin-gray:#6b7785;
  --allin-line:#d8e0e8;
  --allin-gold:#d8a200;
}

/* ---- 全体トーン ---- */
.allin-wrap{max-width:1080px;margin:0 auto;padding:0 12px;}
.allin-section{margin:30px 0;}
.allin-section > h2,.allin-h2{
  font-size:1.32rem;font-weight:800;color:var(--allin-ink);
  border-left:6px solid var(--allin-blue);padding:4px 0 4px 12px;margin:0 0 14px;
  display:flex;align-items:center;gap:10px;
}
.allin-h2 .allin-h2-sub{font-size:.8rem;font-weight:600;color:var(--allin-gray);}
.allin-loading{padding:30px;text-align:center;color:var(--allin-gray);font-size:.95rem;}
.allin-note-txt{font-size:.8rem;color:var(--allin-gray);margin-top:8px;line-height:1.6;}

/* ---- ヘッダーSNSアイコン ---- */
.allin-sns{position:absolute;top:14px;right:16px;display:flex;gap:10px;z-index:20;align-items:center;}
.allin-sns a{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:8px;
  text-decoration:none;font-weight:800;transition:transform .12s ease,opacity .12s;}
.allin-sns a:hover{transform:translateY(-2px);opacity:.9;}
.allin-sns-x{width:36px;background:#000;color:#fff;}
.allin-sns-note{padding:0 14px;background:#41c9b4;color:#fff;font-size:.85rem;letter-spacing:.04em;}
@media(max-width:782px){.allin-sns{top:8px;right:10px;}.allin-sns a{height:32px;}.allin-sns-x{width:32px;}}

/* =========================================================
 * 1. パフォーマンスダッシュボード（株式指数風）
 * =======================================================*/
.allin-dashboard{background:#fff;border:1px solid var(--allin-line);border-radius:14px;
  box-shadow:0 6px 22px rgba(24,95,165,.07);overflow:hidden;}
.allin-dash-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
  background:linear-gradient(110deg,var(--allin-blue),var(--allin-blue-d));color:#fff;padding:14px 18px;}
.allin-dash-head .t{font-weight:800;font-size:1.05rem;display:flex;align-items:center;gap:8px;}
.allin-dash-head .upd{font-size:.74rem;opacity:.85;}
.allin-dash-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:10px 14px 0;border-bottom:1px solid var(--allin-line);}
.allin-dash-tab{border:none;background:#eef3f8;color:var(--allin-gray);font-weight:700;font-size:.9rem;
  padding:9px 16px;border-radius:9px 9px 0 0;cursor:pointer;transition:.12s;}
.allin-dash-tab.is-active{background:var(--allin-blue);color:#fff;}
.allin-dash-tab:hover:not(.is-active){background:var(--allin-blue-l);color:var(--allin-blue);}

.allin-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--allin-line);padding:1px;}
.allin-kpi{background:#fff;padding:14px 16px;}
.allin-kpi .lbl{font-size:.76rem;color:var(--allin-gray);font-weight:700;margin-bottom:4px;
  display:flex;align-items:center;gap:6px;}
.allin-kpi .val{font-size:1.7rem;font-weight:900;color:var(--allin-ink);line-height:1.1;
  font-variant-numeric:tabular-nums;}
.allin-kpi .val .unit{font-size:.85rem;font-weight:700;color:var(--allin-gray);margin-left:2px;}
.allin-kpi .spark{margin-top:8px;height:34px;}
.allin-kpi .spark svg{width:100%;height:34px;display:block;}
.allin-kpi.is-neg .val{color:var(--allin-red);}
.allin-kpi.is-pos .val{color:var(--allin-green);}
.allin-kpi .delta{font-size:.74rem;font-weight:800;margin-left:6px;}
.allin-kpi .delta.up{color:var(--allin-green);}
.allin-kpi .delta.down{color:var(--allin-red);}

/* 回収率は正直に赤字表示 */
.allin-roi-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--allin-line);
  border-top:1px solid var(--allin-line);}
.allin-roi{background:#fff8f8;padding:14px 16px;}
.allin-roi .lbl{font-size:.76rem;color:var(--allin-gray);font-weight:700;margin-bottom:4px;}
.allin-roi .val{font-size:1.7rem;font-weight:900;color:var(--allin-red);font-variant-numeric:tabular-nums;}
.allin-roi.profit .val{color:var(--allin-green);}
.allin-roi .lbl .naive{display:block;font-size:.64rem;font-weight:700;color:#c0392b;opacity:.8;margin-top:1px;}
.allin-dash-tab.is-dim{opacity:.5;}
/* 採用戦略ポートフォリオ回収率（プラスの別欄） */
.allin-portfolio{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#eef9f1;border-top:1px solid var(--allin-line);border-left:5px solid var(--allin-green);
  padding:12px 16px;}
.allin-portfolio .pf-l b{color:#13703f;font-size:.92rem;}
.allin-portfolio .pf-l span{display:block;font-size:.72rem;color:var(--allin-gray);margin-top:2px;}
.allin-portfolio .pf-v{font-size:1.7rem;font-weight:900;color:var(--allin-gray);font-variant-numeric:tabular-nums;white-space:nowrap;}
.allin-portfolio .pf-v span{font-size:.9rem;}
.allin-portfolio.profit .pf-v{color:var(--allin-green);}
.allin-warn{background:#fff3f0;border-top:1px dashed var(--allin-red);color:#a5331f;
  padding:12px 16px;font-size:.86rem;font-weight:700;display:flex;gap:10px;align-items:flex-start;}
.allin-warn .moka{flex:0 0 auto;width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--allin-blue-l);}
.allin-warn .moka img{width:100%;height:100%;object-fit:cover;}
@media(max-width:600px){.allin-kpis{grid-template-columns:1fr;}.allin-kpi .val{font-size:1.5rem;}}

/* =========================================================
 * 2. 次レース予想（ネット競馬風テーブル）
 * =======================================================*/
.allin-races-notice{font-size:.8rem;color:var(--allin-gray);background:var(--allin-blue-ll);
  border:1px solid var(--allin-line);border-radius:8px;padding:8px 12px;margin-bottom:12px;}
.allin-races-notice.latest{background:#fffaf0;border-color:#f0e0c0;color:#8a6d2f;}
.allin-races{display:flex;flex-direction:column;gap:18px;}
.allin-race{border:1px solid var(--allin-line);border-radius:12px;overflow:hidden;background:#fff;
  box-shadow:0 3px 12px rgba(24,95,165,.05);}
.allin-race-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--allin-blue-l);padding:10px 14px;border-bottom:1px solid var(--allin-line);}
.allin-badge{font-size:.74rem;font-weight:800;color:#fff;background:var(--allin-blue);
  border-radius:6px;padding:3px 9px;}
.allin-badge.s-boat{background:#1577c9;}
.allin-badge.s-local{background:#2f9e44;}
.allin-badge.s-jra{background:#185FA5;}
.allin-badge.s-keirin{background:#c4341d;}
.allin-race-title{font-weight:800;color:var(--allin-ink);font-size:1rem;}
a.allin-race-title{text-decoration:none;}
a.allin-race-title:hover{color:var(--allin-blue);text-decoration:underline;}
.allin-race-meta{color:var(--allin-gray);font-size:.82rem;}
.allin-race-time{margin-left:auto;font-weight:900;color:var(--allin-blue-d);font-size:1.05rem;
  font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px;}
.allin-race-time .cd{font-size:.74rem;font-weight:800;color:#fff;background:var(--allin-red);
  border-radius:5px;padding:2px 7px;}
.allin-race-time .cd.soon{background:var(--allin-gold);}

table.allin-table{width:100%;border-collapse:collapse;font-size:.9rem;}
table.allin-table thead th{background:#f1f5f9;color:var(--allin-gray);font-weight:800;font-size:.78rem;
  padding:8px 6px;border-bottom:2px solid var(--allin-blue);white-space:nowrap;text-align:center;}
table.allin-table tbody td{padding:7px 6px;border-bottom:1px solid #eef2f6;text-align:center;
  font-variant-numeric:tabular-nums;}
table.allin-table tbody tr:nth-child(even){background:var(--allin-blue-ll);}
table.allin-table tbody tr.is-pick{background:#fff7e6;}
table.allin-table tbody tr.is-pick td:first-child{box-shadow:inset 4px 0 0 var(--allin-gold);}
.allin-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;
  font-weight:900;color:#fff;font-size:.82rem;}
/* 枠番カラー（競馬/競艇/競輪共通の番号色） */
.wk1{background:#fff;color:#222;border:1px solid #bbb;} .wk2{background:#222;} .wk3{background:#d23b3b;}
.wk4{background:#1f72d6;} .wk5{background:#f0c000;color:#222;} .wk6{background:#2f9e44;}
.wk7{background:#f08c1f;} .wk8{background:#e85aa0;} .wk9{background:#7a4ddb;}
.allin-name{text-align:left;font-weight:700;color:var(--allin-ink);max-width:160px;}
.allin-name .sub{display:block;font-weight:500;color:var(--allin-gray);font-size:.72rem;}
/* 確率バー */
.allin-prob{position:relative;min-width:64px;}
.allin-prob .bar{position:absolute;left:0;top:50%;transform:translateY(-50%);height:18px;border-radius:4px;
  background:var(--allin-blue-l);z-index:0;}
.allin-prob.p1 .bar{background:#cfe3f5;}
.allin-prob .pv{position:relative;z-index:1;font-weight:800;color:var(--allin-blue-d);}
.allin-prob.top .pv{color:var(--allin-red);}
.allin-race-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 14px;border-top:1px solid var(--allin-line);background:#fafcfe;}
.allin-table-note{font-size:.76rem;color:var(--allin-gray);}
.allin-post-x{display:inline-flex;align-items:center;gap:7px;background:#000;color:#fff;text-decoration:none;
  font-weight:800;font-size:.82rem;padding:8px 14px;border-radius:8px;transition:.12s;}
.allin-post-x:hover{transform:translateY(-1px);opacity:.9;}
.allin-post-x svg{width:15px;height:15px;}
.allin-empty{padding:26px;text-align:center;color:var(--allin-gray);border:1px dashed var(--allin-line);border-radius:12px;}

/* =========================================================
 * 3. キャラクターコメント
 * =======================================================*/
.allin-char{display:flex;gap:12px;align-items:flex-start;background:var(--allin-blue-ll);
  border:1px solid var(--allin-line);border-radius:12px;padding:12px 14px;margin:16px 0;}
.allin-char-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;overflow:hidden;
  background:#fff;border:2px solid var(--allin-blue);}
.allin-char-avatar img{width:100%;height:100%;object-fit:cover;}
.allin-char-name{font-weight:800;color:var(--allin-blue-d);margin-bottom:3px;font-size:.92rem;}
.allin-char-name span{font-weight:600;color:var(--allin-gray);font-size:.74rem;margin-left:8px;}
.allin-char-text{font-size:.9rem;line-height:1.7;color:var(--allin-ink);}
.allin-char-mitsuha{background:#eaf5ff;}
.allin-char-sakura{background:#fdeef3;}
.allin-char-moka{background:#f0f7ee;}

/* =========================================================
 * 4. note / X 埋め込み
 * =======================================================*/
.allin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
@media(max-width:860px){.allin-two-col{grid-template-columns:1fr;}}
.allin-x-timeline{border:1px solid var(--allin-line);border-radius:12px;overflow:hidden;min-height:300px;}
.allin-note-feed{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:600px){.allin-note-feed{grid-template-columns:1fr;}}
.allin-note-card{display:flex;flex-direction:column;border:1px solid var(--allin-line);border-radius:10px;
  overflow:hidden;background:#fff;text-decoration:none;transition:.14s;}
.allin-note-card:hover{box-shadow:0 6px 18px rgba(24,95,165,.12);transform:translateY(-2px);}
.allin-note-thumb{aspect-ratio:16/9;background:var(--allin-blue-l);background-size:cover;background-position:center;}
.allin-note-card .b{padding:10px 12px;}
.allin-note-card .ttl{font-size:.86rem;font-weight:700;color:var(--allin-ink);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.allin-note-card .meta{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:.72rem;color:var(--allin-gray);}
.allin-tag{font-weight:800;border-radius:5px;padding:2px 7px;font-size:.68rem;}
.allin-tag.paid{background:#fde7c4;color:#a06b00;}
.allin-tag.free{background:#dcf2e4;color:#1f7a45;}

/* =========================================================
 * 5. 競技ページ（場タブ）
 * =======================================================*/
.allin-venue-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.allin-venue-tab{border:1px solid var(--allin-line);background:#fff;color:var(--allin-gray);
  font-weight:700;font-size:.86rem;padding:7px 14px;border-radius:20px;cursor:pointer;transition:.12s;}
.allin-venue-tab.is-active{background:var(--allin-blue);color:#fff;border-color:var(--allin-blue);}
.allin-venue-tab:hover:not(.is-active){background:var(--allin-blue-l);color:var(--allin-blue);}
.allin-hero{background:linear-gradient(120deg,var(--allin-blue),var(--allin-blue-d));color:#fff;
  border-radius:14px;padding:22px 24px;margin:18px 0;}
.allin-hero h1{margin:0 0 6px;font-size:1.5rem;font-weight:900;}
.allin-hero p{margin:0;opacity:.92;font-size:.92rem;}

/* =========================================================
 * トップ統合ページ 2カラム + 回収率なし表示 + おみくじ
 * =======================================================*/
.allin-main-full{width:100%;}
.allin-front-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start;margin:18px 0;}
.allin-col-main{min-width:0;}
.allin-col-side{min-width:0;}
.allin-side-section{margin:0 0 22px;}
.allin-h2-sm{font-size:1.1rem;}
.allin-col-side .allin-note-feed{grid-template-columns:1fr;}     /* 右カラムのnoteは縦1列 */
.allin-col-side .allin-x-timeline{min-height:200px;}
@media(max-width:880px){
  .allin-front-grid{grid-template-columns:1fr;}                  /* モバイルは縦積み */
  .allin-col-side{margin-top:6px;}
}

/* 記事ページ等のサイドバーに置く「ALL IN サイドバー」ウィジェット。
   Cocoonのウィジェット装飾(枠/背景/余白/タイトル)を消し、トップ(.allin-col-side)と同じ見た目にする。
   中身は .allin-col-side で包むので note/X 等のサイドバー用スタイルもそのまま継承される。 */
.widget.allin-side-widget-box{background:transparent;border:none;box-shadow:none;padding:0;margin:0 0 12px;}
.widget.allin-side-widget-box .widget-title,
.widget.allin-side-widget-box>h3:first-child{display:none;}
.allin-side-widget .allin-side-section:last-child{margin-bottom:0;}

/* 単勝/複勝の券種が無い競技（競輪）の回収率欄 */
.allin-roi.na{background:#f4f6f8;}
.allin-roi .val.na{color:var(--allin-gray);font-size:1.05rem;font-weight:800;}
.allin-roi .val.na .naive{display:block;font-size:.66rem;font-weight:600;color:var(--allin-gray);margin-top:2px;}

/* みつはのおみくじ */
.allin-omikuji{background:#fff;border:1px solid var(--allin-line);border-radius:14px;
  box-shadow:0 4px 16px rgba(24,95,165,.07);padding:16px 14px;text-align:center;}
.allin-omikuji .omi-face{width:140px;height:140px;margin:0 auto 8px;border-radius:50%;
  overflow:hidden;background:var(--allin-blue-l);border:3px solid var(--allin-blue);position:relative;}
.allin-omikuji .omi-sprite{display:block;width:100%;height:100%;
  background-repeat:no-repeat;background-size:500% 100%;background-position:50% 50%;
  transition:background-position .15s ease;}
.allin-omikuji .omi-result{min-height:78px;margin:6px 0 10px;}
.allin-omikuji .omi-fortune{font-size:1.9rem;font-weight:900;color:var(--allin-blue-d);line-height:1.1;}
.allin-omikuji .omi-fortune.f1{color:#d8a200;}      /* 大吉 */
.allin-omikuji .omi-fortune.f2{color:#1f9d57;}      /* 中吉/吉 */
.allin-omikuji .omi-fortune.f3{color:var(--allin-blue);} /* 小吉/末吉 */
.allin-omikuji .omi-fortune.f4{color:#c97a1f;}      /* 凶 */
.allin-omikuji .omi-fortune.f5{color:var(--allin-red);}  /* 大凶 */
.allin-omikuji .omi-comment{font-size:.86rem;color:var(--allin-ink);line-height:1.6;margin-top:6px;
  padding:0 4px;min-height:2.4em;}
.allin-omikuji .omi-btn{display:inline-block;background:linear-gradient(110deg,var(--allin-blue),var(--allin-blue-d));
  color:#fff;border:none;border-radius:10px;font-weight:800;font-size:.95rem;
  padding:10px 22px;cursor:pointer;transition:transform .1s,opacity .1s;}
.allin-omikuji .omi-btn:hover{transform:translateY(-1px);opacity:.92;}
.allin-omikuji .omi-btn:active{transform:translateY(0);}
.allin-omikuji .omi-note{font-size:.7rem;color:var(--allin-gray);margin-top:10px;line-height:1.5;}
.allin-omikuji.drew .omi-result{animation:omiPop .35s ease;}
@keyframes omiPop{0%{transform:scale(.92);opacity:.4;}100%{transform:scale(1);opacity:1;}}

/* =========================================================
 * 統合フロントページ: Cocoon標準サイドバー抑止＋フル幅
 * （右カラムはテンプレート内の .allin-front-grid で完結）
 * =======================================================*/
.allin-front-page #sidebar,
.allin-front-page .sidebar,
.allin-front-page #side,
.allin-front-page .widget-sidebar{display:none !important;}
.allin-front-page #main,
.allin-front-page #content,
.allin-front-page .main,
.allin-front-page #main-content{width:100% !important;max-width:100% !important;float:none !important;}

/* =========================================================
 * おみくじ「振る→ポン」演出
 * =======================================================*/
.allin-omikuji .omi-btn[disabled]{opacity:.5;cursor:default;transform:none;}
.allin-omikuji .omi-fortune.rolling-text{color:var(--allin-gray);font-size:1.25rem;letter-spacing:.1em;}
/* 振る: みつはの顔(円)を左右に揺らす */
.allin-omikuji .omi-face.shaking{animation:omiShake .45s ease-in-out 2;}
@keyframes omiShake{
  0%,100%{transform:translateX(0) rotate(0);}
  20%{transform:translateX(-7px) rotate(-7deg);}
  50%{transform:translateX(0) rotate(0);}
  80%{transform:translateX(7px) rotate(7deg);}
}
/* 結果がポンと出る(ポップイン・弾む) */
.allin-omikuji.drew .omi-result{animation:omiPop .42s cubic-bezier(.18,.9,.32,1.4);}
@keyframes omiPop{
  0%{transform:scale(.55);opacity:0;}
  60%{transform:scale(1.12);opacity:1;}
  100%{transform:scale(1);opacity:1;}
}
.allin-omikuji.rolling .omi-result{opacity:.85;}

/* =========================================================
 * 右サイド: 本日の記事(当サイト最新記事) + 有料noteボタン
 * =======================================================*/
.allin-recent-list{list-style:none;margin:0;padding:0;border:1px solid var(--allin-line);
  border-radius:10px;overflow:hidden;background:#fff;}
.allin-recent-item{border-bottom:1px solid #eef2f6;}
.allin-recent-item:last-child{border-bottom:none;}
.allin-recent-item a{display:flex;gap:10px;align-items:baseline;padding:10px 12px;text-decoration:none;
  transition:background .12s;}
.allin-recent-item a:hover{background:var(--allin-blue-ll);}
.allin-recent-item .rc-date{flex:0 0 auto;font-size:.72rem;font-weight:800;color:var(--allin-blue);
  font-variant-numeric:tabular-nums;min-width:30px;}
.allin-recent-item .rc-title{font-size:.86rem;font-weight:700;color:var(--allin-ink);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.allin-recent-empty{font-size:.82rem;color:var(--allin-gray);padding:14px;border:1px dashed var(--allin-line);
  border-radius:10px;text-align:center;}

.allin-note-btn{display:block;text-decoration:none;text-align:center;border-radius:12px;
  background:linear-gradient(110deg,#41c9b4,#2bb39e);color:#fff;padding:14px 16px;
  box-shadow:0 4px 14px rgba(43,179,158,.28);transition:transform .12s,opacity .12s;}
.allin-note-btn:hover{transform:translateY(-2px);opacity:.95;}
.allin-note-btn .nb-main{display:block;font-weight:900;font-size:1.02rem;letter-spacing:.02em;}
.allin-note-btn .nb-sub{display:block;font-size:.74rem;opacity:.95;margin-top:3px;}

/* 有料note 準備中（販売前の予告枠） */
.allin-note-prep{display:block;border:1px dashed var(--allin-line);border-radius:12px;
  background:#f7f9fb;padding:14px 16px;text-align:center;}
.allin-note-prep .np-badge{display:inline-block;background:var(--allin-gray);color:#fff;
  font-weight:800;font-size:.7rem;border-radius:5px;padding:2px 10px;margin-bottom:8px;letter-spacing:.04em;}
.allin-note-prep .np-main{display:block;font-weight:900;font-size:.98rem;color:var(--allin-ink);}
.allin-note-prep .np-sub{display:block;font-size:.78rem;color:var(--allin-gray);margin-top:6px;line-height:1.6;}

/* おすすめ記事（管理画面メニューで貼り替え・外部/アフィリエイトリンク） */
.allin-reco-list{list-style:none;margin:0;padding:0;border:1px solid var(--allin-line);
  border-radius:10px;overflow:hidden;background:#fff;}
.allin-reco-list li{border-bottom:1px solid #eef2f6;}
.allin-reco-list li:last-child{border-bottom:none;}
.allin-reco-list li a{display:block;padding:10px 12px;text-decoration:none;
  font-size:.86rem;font-weight:700;color:var(--allin-ink);line-height:1.45;transition:background .12s;}
.allin-reco-list li a:hover{background:var(--allin-blue-ll);color:var(--allin-blue);}
.allin-reco-list li a::after{content:"\2197";float:right;margin-left:8px;color:var(--allin-gray);font-weight:400;}

/* レース状態: 中止 */
.allin-badge.s-cancel{background:#8a8f96;}
.allin-race-time .cd.canceled{background:#8a8f96;}
.allin-race.is-canceled{opacity:.72;}
.allin-race.is-canceled table.allin-table{filter:grayscale(.35);}

/* =========================================================
 * もか: 予想公開時間のお知らせ（ヒーロー下・全幅）
 * =======================================================*/
.allin-moka-notice{display:flex;gap:14px;align-items:flex-start;
  background:#f0f7ee;border:1px solid #cfe3c6;border-left:5px solid var(--allin-green);
  border-radius:12px;padding:14px 16px;margin:14px 0 6px;}
.allin-moka-avatar{flex:0 0 60px;width:60px;height:60px;border-radius:50%;overflow:hidden;
  background:#fff;border:2px solid var(--allin-green);}
.allin-moka-avatar img{width:100%;height:100%;object-fit:cover;}
.allin-moka-avatar.noimg{display:flex;align-items:center;justify-content:center;
  color:var(--allin-green);font-weight:900;font-size:.78rem;}
.allin-moka-avatar.noimg::after{content:"もか";}
.allin-moka-name{font-weight:900;color:#13703f;font-size:.96rem;margin-bottom:4px;}
.allin-moka-name span{font-weight:700;color:var(--allin-gray);font-size:.74rem;margin-left:8px;}
.allin-moka-text{font-size:.9rem;line-height:1.75;color:var(--allin-ink);margin:0;}
@media(max-width:600px){.allin-moka-avatar{flex-basis:48px;width:48px;height:48px;}.allin-moka-text{font-size:.86rem;}}

/* =========================================================
 * 次レース: 本日開催なし / 準備中 メッセージカード
 * =======================================================*/
.allin-race-msg{border:1px solid var(--allin-line);border-radius:12px;background:#fff;
  padding:14px 16px;box-shadow:0 3px 12px rgba(24,95,165,.05);}
.allin-race-msg-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.allin-race-msg-title{font-weight:800;color:var(--allin-ink);font-size:1rem;}
.allin-race-msg-body{margin:0;font-size:.88rem;line-height:1.7;color:var(--allin-gray);}
.allin-race-msg.is-pending{background:#fffaf0;border-color:#f0e0c0;border-left:5px solid var(--allin-gold);}
.allin-race-msg.is-pending .allin-race-msg-title{color:#8a6d2f;}
.allin-race-msg.is-norace{background:#f6f8fa;border-left:5px solid var(--allin-gray);}

/* =========================================================
 * ヘッダーのドロップダウン（サブメニュー）の配色
 *   Cocoon既定: near-white背景(--cocoon-xxx-thin-color) ＋ カスタマイザの薄アクア文字
 *   (.navi-in a{color:#e0f7fa!important}) でコントラストが無く読めない問題を修正。
 *   サイトのアクア基調に合わせ「濃いめアクア背景＋白文字」にし、ホバーで一段濃く。
 *   #navi 付きの高詳細度＋!important で Cocoon/カスタマイザのルールに確実に勝つ。
 *   ※モバイルのドロワーメニュー(.menu-drawer/.navi-menu-content)は白背景＋濃いグレー文字で
 *     元から読めるため対象外（触らない）。トップバー(.navi-in #00ACC1 白系文字)はそのまま。
 * =======================================================*/
#navi .navi-in .sub-menu{
  background-color:#00838f !important;          /* 濃いめアクア（白文字でAA可読・アクア系で統一） */
  border-top:3px solid #4dd0e1 !important;       /* バーと繋がる明るいアクアのアクセント */
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
#navi .navi-in .sub-menu li{
  background-color:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.16); /* 項目区切り（薄い白線） */
}
#navi .navi-in .sub-menu li:last-child{border-bottom:none;}
#navi .navi-in .sub-menu li a{
  color:#ffffff !important;                       /* 白文字でくっきり */
  background-color:transparent !important;
  font-weight:700;
}
/* サブ項目ホバー: 一段濃いアクアで明確にハイライト（白文字のまま） */
#navi .navi-in .sub-menu li a:hover,
#navi .navi-in .sub-menu li:hover > a{
  background-color:#006978 !important;
  color:#ffffff !important;
}
/* 親（トップレベル）項目のホバーも自然に（少し濃いアクア＋白文字） */
#navi .navi-in > ul > li > a:hover{
  background-color:#0097a7 !important;
  color:#ffffff !important;
}


/* === Header nav: parent items (boat/local/jra/keirin) are hover/tap toggles, not links === */
/* JS(menu.js) cancels their click navigation; this is the visual cue. Children stay clickable. */
.menu-header .menu-item-has-children > a,
.menu-pc .menu-item-has-children > a,
.menu-mobile .menu-item-has-children > a,
.menu-drawer .menu-item-has-children > a{ cursor: default; }


/* === お問い合わせフォーム === */
.allin-contact{max-width:680px;margin:0 auto}
.allin-contact-lead{font-size:.92em;color:#445;line-height:1.7}
.allin-contact-form .allin-field{margin:14px 0;display:flex;flex-direction:column;gap:6px}
.allin-contact-form label{font-weight:700;color:#1f2d3d;font-size:.92em}
.allin-contact-form input[type=text],
.allin-contact-form input[type=email],
.allin-contact-form select,
.allin-contact-form textarea{
  width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;
  font-size:1em;background:#fff;box-sizing:border-box}
.allin-contact-form textarea{resize:vertical;min-height:140px}
.allin-contact-form input:focus,.allin-contact-form select:focus,.allin-contact-form textarea:focus{
  outline:none;border-color:#185FA5;box-shadow:0 0 0 3px rgba(24,95,165,.15)}
.allin-agree label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.9em}
.allin-agree input{width:auto}
.allin-submit{text-align:center;margin-top:18px}
.allin-contact-form button[type=submit]{
  background:#185FA5;color:#fff;border:0;border-radius:999px;padding:12px 38px;
  font-size:1.02em;font-weight:700;cursor:pointer;transition:background .15s}
.allin-contact-form button[type=submit]:hover{background:#0f4377}
.allin-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.allin-form-notice{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.95em;line-height:1.6}
.allin-form-notice.is-ok{background:#e7f6ec;border:1px solid #8fd3a6;color:#1c6b3a}
.allin-form-notice.is-err{background:#fdecec;border:1px solid #e8a6a6;color:#a32626}

/* === フッター最下部 法的リンクバー === */
.allin-legal-bar{background:#0f2438;color:#cdd8e3;padding:14px 16px;margin-top:0}
.allin-legal-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;
  gap:8px 18px;align-items:center;justify-content:center;font-size:.86em}
.allin-legal-bar a{color:#cdd8e3;text-decoration:none}
.allin-legal-bar a:hover{color:#fff;text-decoration:underline}
.allin-legal-copy{color:#7f93a6;margin-left:auto}
@media(max-width:600px){.allin-legal-copy{margin:6px auto 0;width:100%;text-align:center}}
