日本ミツバチ・セイヨウミツバチの越冬前群勢チェック記録ツール

越冬前蜂数簡易観察メモアプリ

越冬前の蜂数・巣門活動・貯蜜状態を入力して、群勢の越冬見通しを目安メモとして記録できます。複数巣箱の比較整理や、地域養蜂家・農協への相談前の下調べにご活用ください。

📋 使い方
  1. 巣箱名・観察日・蜂数目安・巣門活動・貯蜜状態を入力する
  2. 必要に応じて「結果をコピー」し、地域養蜂家・農協・獣医師などの専門家に共有・相談する
  3. 「記録する・越冬見通しを確認」ボタンを押して目安スコアと助言を確認する
📝 サンプル入力で試す

3パターンのサンプルで動作を確認できます

🔍 観察情報を入力
📂 記録履歴(最大20件)

記録がまだありません

よくある質問
Q. 入力データは外部に送信されますか?
A. 送信しません。すべてブラウザ内で計算が完結します。
A. はい、記録するたびに下部の履歴に積み上がります。巣箱名・観察日・越冬見通しの一覧で比較できます。ブラウザを閉じても履歴は保持されます(localStorage使用)。
Q. 複数の巣箱を記録・比較できますか?
Q. 越冬見通しの判定はどう計算されますか?
A. 蜂数目安・巣門活動・貯蜜状態のそれぞれを3段階(1〜3点)で評価し、合計スコア(3〜9点)をもとに「越冬見込みあり(7〜9点)」「要注意(5〜6点)」「越冬困難(3〜4点)」の目安を表示します。あくまで参考メモとしてお使いください。
Q. 日本ミツバチとセイヨウミツバチで判定基準は違いますか?
A. 本ツールは種別を問わず同一基準で目安判定します。実際の越冬最低蜂数は種別・地域・気候で異なるため、詳しくは地域の農協・養蜂連絡網・地域養蜂家にご相談ください。

本ツールは養蜂記録の補助メモです。群勢判定・越冬可否はあくまで目安としてご参照ください。蜂群差・地域差が大きいため、地域養蜂家・獣医師・養蜂連絡網・農協などの専門家の判断を優先してください。LINE等で記録を共有する場合は、蜂場位置・自宅住所・連絡先など個人情報が漏洩しないよう十分ご注意ください。

参考: 農林水産省 / 各地域農協・養蜂連絡網 / 地域養蜂家 / 獣医師 の公式情報。最新の養蜂管理情報は各公式サイトをご確認ください。LINE等共有時は個人情報・蜂場位置の取り扱いにご注意ください。

← アプリ一覧に戻る

改善案・不具合報告はこちら

(function(){ var d = document.getElementById('obsDate'); if(d){ d.valueAsDate = new Date(); } })(); function loadSample(n){ var today = new Date().toISOString().split('T')[0]; document.getElementById('obsDate').value = today; document.getElementById('hiveName').value = 'A巣箱(裏庭)'; if(n===1){ document.getElementById('beeCount').value = '3'; document.getElementById('gateActivity').value = '3'; document.getElementById('honeyStock').value = '3'; document.getElementById('memo').value = '女王蜂の産卵確認済み。巣板6枚に蜂あり。スムシ痕なし。'; document.getElementById('beeCount').value = '2'; document.getElementById('hiveName').value = 'B巣箱(玄関脇)'; document.getElementById('gateActivity').value = '2'; } else if(n===2){ document.getElementById('memo').value = '巣板4枚に蜂あり。貯蜜やや少なめで砂糖水補給を検討中。'; document.getElementById('honeyStock').value = '2'; } else { document.getElementById('hiveName').value = 'C巣箱(畑側)'; document.getElementById('gateActivity').value = '1'; document.getElementById('honeyStock').value = '1'; document.getElementById('memo').value = '巣板2枚以下。女王蜂の状態不明。巣門での出入りほぼなし。'; document.getElementById('beeCount').value = '1'; } function eh(s){ } return String(s).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); } function calc(){ var hiveName = document.getElementById('hiveName').value.trim(); var obsDate = document.getElementById('obsDate').value; var beeCount = parseInt(document.getElementById('beeCount').value)||0; var gate = parseInt(document.getElementById('gateActivity').value)||0; var honey = parseInt(document.getElementById('honeyStock').value)||0; var memo = document.getElementById('memo').value.trim(); var resultEl = document.getElementById('result'); if(!hiveName || !obsDate || !beeCount || !gate || !honey){ resultEl.innerHTML = '

⚠️ すべての項目を入力・選択してから記録してください

'; return; resultEl.style.display = 'block'; } var score = beeCount + gate + honey; var verdict, cls, advice, nextStep; if(score >= 7){ verdict = '越冬見込みあり'; cls = 'ok'; advice = '現在の群勢は比較的良好です。越冬に向けて巣箱の保温・巣門縮小・貯蜜の最終確認を行いましょう。'; nextStep = '2〜3週間後に再観察し、群勢の変化がないか確認することをおすすめします。'; } else if(score >= 5){ verdict = '要注意・経過観察'; cls = 'warn'; advice = '群勢がやや弱い状態です。貯蜜補給・巣箱保温の強化を検討し、10〜14日後に再観察してください。'; nextStep = '改善が見られない場合は地域養蜂家・農協・養蜂連絡網にご相談ください。'; } else { verdict = '越冬困難・要対応'; cls = 'ng'; advice = '群勢が不十分な可能性が高い状態です。他群との合同・緊急給餌・専門家への相談を早急に検討してください。'; nextStep = '地域養蜂家・獣医師・農協などの専門家に早めにご相談ください。'; } var bL = ['','少ない','中程度','多い']; var gL = ['','少ない','普通','活発']; var hL = ['','少ない','適量','十分']; var copyText = '【越冬前蜂数観察メモ】\n巣箱名: '+hiveName+'\n観察日: '+obsDate+'\n越冬見通し: '+verdict+'(スコア '+score+'/9点)\n蜂数目安: '+bL[beeCount]+' ('+beeCount+'/3点)\n巣門活動: '+gL[gate]+' ('+gate+'/3点)\n貯蜜状態: '+hL[honey]+' ('+honey+'/3点)\n特記事項: '+(memo||'なし')+'\n所見: '+advice+' '+nextStep+'\n※あくまで目安です。詳細は地域の養蜂専門家にご相談ください。'; var memoRow = memo ? '特記事項'+eh(memo)+'' : ''; + '
'+verdict+'(スコア '+score+'/9点)
' + '' var html = '
📊 観察結果メモ
' + '' + '' + '' + '' + '' + memoRow + '
項目内容評価
巣箱名'+eh(hiveName)+'
観察日'+obsDate+'
蜂数目安'+bL[beeCount]+''+beeCount+'/3点
巣門活動'+gL[gate]+''+gate+'/3点
貯蜜状態'+hL[honey]+''+honey+'/3点
' + '
💡 '+eh(advice)+'
▶ '+eh(nextStep)+'
' + '
'; resultEl.innerHTML = html; resultEl.style.display = 'block'; resultEl._copyText = copyText; saveHistory(hiveName, obsDate, verdict, cls, score); document.getElementById('readresult').style.display = ''; } function doCopy(){ var resultEl = document.getElementById('result'); var text = resultEl._copyText || ''; navigator.clipboard.writeText(text).then(function(){ var btn = document.getElementById('btnCopy'); if(btn){ btn.textContent = 'コピーしました'; setTimeout(function(){ btn.textContent = '📋 結果をコピー'; }, 2000); } }); } function saveHistory(hiveName, obsDate, verdict, cls, score){ var history = JSON.parse(localStorage.getItem('beeObs_v1') || '[]'); history.unshift({ hiveName:hiveName, obsDate:obsDate, verdict:verdict, cls:cls, score:score }); if(history.length > 20) history.length = 20; localStorage.setItem('beeObs_v1', JSON.stringify(history)); renderHistory(); } function renderHistory(){ var history = JSON.parse(localStorage.getItem('beeObs_v1') || '[]'); var el = document.getElementById('historyList'); if(!history.length){ el.innerHTML = '

記録がまだありません

'; return; } el.innerHTML = history.map(function(h){ return '
'+h.obsDate+' '+eh(h.hiveName)+''+h.verdict+' ('+h.score+'/9点)
'; }).join(''); } function clearHistory(){ if(confirm('記録履歴をすべて削除しますか?')){ localStorage.removeItem('beeObs_v1'); renderHistory(); } renderHistory(); }