防災リュックは、最低年に2回は開けましょう👍 おまけシステムはコピペするだけ‼️
防災リュックは、最低年に2回は開けましょう👍
アラフォー主婦のミラクルです🌸
押し入れの奥に、防災リュックがあります。
一昨年、ちゃんと用意しました。

用意してから、一度も開けていませんでした。
中を出して、並べて、確認して。
半分くらいが、使えませんでした😭
賞味期限。
電池の不良。
サイズの合わないシャツや靴下。
備えたつもりで、2年間、何も備えていませんでした。
置いておくだけでは古くなる。
これは、モノを持つこと全部に言えました。
私が捨てて楽になった5つのモノです。
最後に手放したのは、モノではありませんでした。
同じように「用意はしてある」という方に、読んでいただけたらうれしいです😊
開けて分かった、使えなかったもの
出てきた順に書きます。
使えなかったもの1:非常食が期限切れ
いちばん多かったのがこれでした。
5年保存のものを買ったので、安心していました。
でも、買った日を覚えていません。
箱に書いてある期限を見たら、半年前でした。
長期保存のものほど、忘れます。
使えなかったもの2:乾電池の不良
懐中電灯に入れっぱなしにしていました。
開けたら、液漏れっぽくなっていました。
電池は、入れっぱなしにしてはいけませんでした。
しかも、懐中電灯まで使えなくなっていました。
使えなかったもの3:子どもの服のサイズが合わない
これは完全に見落としていました。
子供達は、この2年で背が伸びました。
入れた時にぴったりだった服は、2年後には着られません。
使えなかったもの4:使い捨てカイロの期限切れ
カイロにも期限があると、初めて知りました。
いくら揉んでもあったかくなりません😭
使えなかったもの5:ウェットティッシュが乾いていた
袋を開けたら、カラカラでした。
未開封でも、乾きます。

逆に、大丈夫だったもの
がっかりする話ばかりでは申し訳ないので、無事だったものも書きます。
・ラップ
・ポリ袋
・軍手
・タオル
・ホイッスル
・現金(小銭)
共通しているのは「傷まないもの」です。
ここに気づいてから、私は入れ方を変えました。
傷まないものは、入れっぱなしでいい。
傷むものだけ、入れ替える。

問題は「1年に1回、点検する」を続けられるかです。
仕組み1:日を決める
うちは3月と9月にしました。
年に2回です。
なぜこの2か月かというと、季節の変わり目だからです。
服を入れ替えるついでに、リュックも開ける。
新しい予定を増やすより、もうやっていることにくっつけるほうが続きます。
仕組み2:スマホに毎年の予定を入れる
カレンダーに「防災リュック」とだけ入れました。
毎年くり返す設定にしてあります。
こういう「1回だけ設定して、あとは勝手に動く」のが、私は好きです。
夕飯の献立を1クリックで決めるシステムを作りました。
コードごと配っていますので、そのまま使えます😁
同じような、ちょっとアホで便利なものを集めています。
クスッと笑えて、少しだけ暮らしが楽になります。
仕組み3:中身のリストを、リュックに入れておく
紙に書いて、いちばん上に入れました。
開けた瞬間に、何が入っているべきか分かります。
しかも、点検した日を書き足していけます。
仕組み4:食べ物は、家の食料と一緒にする
これがいちばん効きました。
非常食を「特別なもの」にしない。
うちは、レトルトご飯とカップ麺を、いつもより少し多めに買っています。
普段の食事で古いものから食べて、買い足す。
特別な保存食を買うより、確実に回ります。
まとめ買いを始めてから、この形が作れるようになりました。
買い物に行く回数を週1回に減らした話です。
食費が月15,000円まで下がりました。

小銭と紙のメモは重要です。
停電すると、カードも電子マネーも使えません。
スマホが使えなければ、番号も分かりません。
ここだけは、紙と小銭でした。
そして、もうひとつ入れました。
普段使っている化粧品の、小さいサイズです。
避難所でも、顔を洗ったあとに何もつけないのはつらいと聞きました。
デパコスが半額以下で買える通販の、失敗しない買い方です。
小さいサイズが安く買えるので、防災用にちょうどよかったです🌸
やってみて思ったこと
私は「用意してある」ことに安心していました。
でも、備えはモノではなくて、状態でした。
置いてあるだけでは、時間とともに使えなくなります。
備えるとは、使える状態を保ち続けること。
これは、防災だけの話ではない気がしています。
家計も、健康も、人づきあいも。
一度整えて放っておくと、少しずつ古くなります。
1年に2回、開けて見る。
それだけで、ずいぶん違うと思いました。

もし押し入れに防災リュックがあるなら、今週末にでも開けてみてください。
そして、開けたついでに、カレンダーに1つだけ予定を入れてみてください。
「防災リュック」の5文字でいいです。
来年の自分が、助かります🌸
さて、ここからはミラクルが作った「ちょっとアホなシステム 第2弾‼️
① 『風速の違いを学ぼう!』の取説
■ 取扱説明書 ── 風速の違いを学ぼう!
■ 使いはじめる ── コピーして保存するだけ
この記事に載っているコードが、システムの全部です。
★ダウンロードも、会員登録も、契約も要りません。★
★通信もしません。あなたの端末の中だけで動きます。★
────────────────────────────────
【1】Mac で使う(いちばん確実。次からはダブルクリックだけ)
────────────────────────────────
① 一番下のコードを ★ぜんぶ★ 選んでコピーします
② 「テキストエディット」を開きます
③ ★メニューの「フォーマット」→「標準テキストにする」を必ず押します★
(押さずに保存すると、ただの文章になって動きません)
④ 貼り付けて、「ファイル」→「保存」
⑤ 名前を fusoku.html にします
★「.txt を使用」と聞かれたら「.html を使用」を選びます★
★文字コードは UTF-8 のままにします★
⑥ できたファイルを ダブルクリック
→ Safari や Chrome で開いて、そのまま使えます
※ 一度作れば、次からはダブルクリックだけです
※ ★インターネットにつながっていなくても動きます★
────────────────────────────────
【2】Windows で使う
────────────────────────────────
① コードを ぜんぶ コピーします
② 「メモ帳」を開いて貼り付けます
③ 「ファイル」→「名前を付けて保存」
④ ファイルの種類を ★「すべてのファイル」★ にします
⑤ 名前を fusoku.html にします
★文字コードは UTF-8 を選びます★
⑥ できたファイルを ダブルクリック
→ Edge や Chrome で開いて、そのまま使えます
────────────────────────────────
【3】iPhone・iPad・Android で使う
────────────────────────────────
① 上の【1】か【2】で、パソコンで fusoku.html を作ります
② iCloud Drive(または「ファイル」アプリ/Googleドライブ)に入れます
(Android の方は本体の「ダウンロード」フォルダなどに入れてください)
③ スマホの「ファイル」アプリで そのファイルをタップします
→ Safari/Chrome で開いて、そのまま使えます
◆ ホーム画面に置くと、次から一発で開けます
開いた状態で「共有」→「ホーム画面に追加」を押すだけです
★アプリのように、アイコンから開けるようになります★
────────────────────────────────
【4】クロードコードをお使いの方へ(ご契約のある方の近道)
────────────────────────────────
ファイルを作らずに、その場で使えます。
① コードを ぜんぶ コピーします
② クロードコードのチャット欄に貼り付けます
③ その下に一行だけ書いて送ります
『このHTMLを中身を変えずにそのまま動かして、画面を出して』
④ 使える画面が出てきます
※ ★クロードコードは有料のご契約が必要です。★
お持ちでない方は【1】〜【3】でどうぞ。手間は最初の一度だけです。
────────────────────────────────
★どの道を選んでも、このシステムは あなたの端末の中だけで動きます。★
どこにも通信しません。記録もあなたの端末の中だけに残ります。
────────────────────────────────
【5】風速を動かす
画面の下にある「風速 −」「風速 +」で、風速を 3m/s ずつ動かします。
0 m/s から 90 m/s まで、31段あります。
※ 画面の中ほどにある目盛り(横に伸びた線)を、指で直接つまんで動かすこともできます。
【6】その風で何が起きるかを読む
風速を動かすと、その風で何が起きるかが ★9つの項目★ で出ます。
・人 立てるか、歩けるか
・傘 させるか、折れるか
・自転車 乗ってよいか、飛ぶか
・自動車 運転できるか、横転するか
・高速道路 通行止めになるか
・電車 止まるか、運休するか
・家・屋根 瓦が飛ぶか、窓が割れるか
・木・看板 倒れるか、飛ぶか
・海 波が越えるか
あわせて 画面の上には こう出ます。
・風の強さの呼び方(気象庁の言い方。「やや強い風」「猛烈な風」など)
・風速(m/s)の大きな数字
・★時速に直すと何キロか★(例:20 m/s = 時速 72 km)
・風力(0〜12の12段階)
・★その風が台風と呼ばれるか★(17.2 m/s 以上で台風です)
【7】「他の説明を見る」を押す(赤いボタン)
風速は変えずに、★9項目の説明だけが 別の言い方に入れ替わります。★
同じ 20 m/s でも、傘の欄は
1回目「開けば即座に骨が折れます」
2回目「手から離れて飛んでいきます」
3回目「合羽でも体が引かれます」
のように変わります。ひとつの風速に、9項目 × 4通りの言い方が入っています。
【8】「ここが境目」を見る
画面の下のほうに、★覚えておくとよい13の数字★が並んでいます。
10 傘がさせなくなる/自転車に乗ってはいけない
12 傘の骨が折れる
15 風に向かって歩きにくい/看板が落ちることがある
17.2 ★この風の強さから、台風と呼びます★
20 ★高速道路が通行止めになる/トタンや瓦が剥がれる★
20.8 暴風警報が出る目安(20〜25 m/s)
25 ★瓦が飛ぶ/大型車の横転/電車の運転見合わせ★
30 木が根から抜けて倒れる/家に大きな被害が出る
32.7 ここから「猛烈な風」「強い台風」と呼びます
43.7 ここから「非常に強い台風」と呼びます
54.0 ここから「猛烈な台風」と呼びます
85.3 平地でいちばん強かった風(宮古島・1966年)
91.0 ★日本でいちばん強かった風(富士山・1966年)★
いま選んでいる風速に近い行が、うすい色で光ります。
【9】「日本の記録とくらべる」を見る
いま選んでいる風速が、★日本の最高記録(富士山 91.0 m/s)の何パーセントか★が出ます。
平地の記録(宮古島 85.3 m/s)まで あと何 m/s かも出ます。
【10】「コピー」を押す
いま出ている9項目を、まとめて文字にしてコピーします。
そのまま家族に送るなり、メモ帳に貼るなりしてお使いください。
※ 台風が近づいた日に、家族へ送っておくと役に立ちます。
★動かすのは「風速 −」「風速 +」の2つだけです。
あとは読むだけで、その風で何が起きるかが分かります。★
② 注意書き
■ 注意事項 ── 必ずお読みください
[いちばん大事なこと]
※ ★このシステムは、目安を学ぶためのものです。★
実際に台風が来たときの判断は、★必ず気象庁と自治体の発表に従ってください。★
このシステムは風を測りません。今日の風が何メートルかは分かりません。
※ 数値は気象庁の「風の強さと吹き方の目安」および公表されている観測記録に合わせています。
※ 同じ風速でも、★建物の古さ・地形・風の当たり方で、起きることは変わります。★
書いてあることが起きないこともあり、書いていないことが起きることもあります。
[クロードコードに貼って使うときの注意]
※ ★「中身を変えずにそのまま動かして」と書き添えてください。★
添えないと、気を利かせて作り替えられることがあります。
※ 出てきた画面のリンクは、ご自分だけのものです。
人に見せたいときは
コードを渡すのではなく、この記事のリンクを教えてあげてください☺️
[ファイルを作るときの注意]
※ Mac のテキストエディットは ★「標準テキストにする」を押してから★ 貼り付けてください。
※ 保存の名前は ★必ず末尾を .html★ にしてください(fusoku.html など)。
※ 文字コードは ★UTF-8★ のままにしてください。変えると文字が化けます。
※ 無料で提供していますので勝手に販売等を行わないでください(有料記事への貼り付けも禁止です)
[使うときの注意]
※ 風速は 0 m/s から 90 m/s まで、3 m/s きざみの31段です。
その間の細かい数字は出ません(例:18.5 m/s は選べません)。
※ 台風の呼び分け(強い・非常に強い・猛烈な)は、★気象庁の階級に合わせています。★
ただしニュースで言う「最大瞬間風速」と「最大風速」は別のものです。
このシステムの数字は ★風速そのもの★ として見てください。
※ 「他の説明を見る」で文章が入れ替わりますが、★風速は変わりません。★
同じ風の強さを、別の言い方で見ているだけです。
※ 記録は、★最後に見ていた風速の数字ひとつだけ★を、お使いの端末の中に残します。
どこへも送りません。名前も、場所も、何も記録しません。
※ 通信・マイク・カメラ・位置情報を使う処理は1行も入っていません。
※ 音は いちども 鳴りません。
※ 実在する会社名・商品名・店名は使っていません。
※ 医療・防災の助言ではありません。
体の弱い方・小さなお子さん・お年寄りのいるご家庭は、
★書いてある風速より ひとつ手前で 備えを始めてください。★
★ここだけは覚えて帰ってください★
10 m/s 傘がさせません
12 m/s 傘の骨が折れます
20 m/s 高速道路が通行止めになります
25 m/s 屋根の瓦が飛びます
この4つを知っているだけで、明日の風の予報の見方が変わります🌀
③ 仕様
[動く場所]
Mac Safari / Chrome(ファイルをダブルクリック)
Windows Edge / Chrome(ファイルをダブルクリック)
iPhone・iPad Safari(「ファイル」アプリからタップ)
Android Chrome(ファイル管理のアプリからタップ)
インターネット ★つながっていなくても動きます★
画面の幅 スマホ 375px を基準に作成(横スクロールは起きません)
外部との通信 ★1行もありません(マイク・カメラ・位置情報も使いません)★
音 ★いちども鳴りません★
※ クロードコードをご契約の方は、ファイルを作らずその場でも使えます(取説【4】)
[中身]
風速の段 0 〜 90 m/s / 3 m/s きざみ ★31段★
起きること 9項目(人・傘・自転車・自動車・高速道路・電車・家と屋根・木と看板・海)
文章の総数 ★432通り★(31段のうち12の帯 × 9項目 × 4通りの言い方)
境目の一覧 13段(10/12/15/17.2/20/20.8/25/30/32.7/43.7/54.0/85.3/91.0)
あわせて出る数字
時速(km/h)/風力(0〜12の12段階)/
気象庁の呼び方 ★7段階★
(ほぼ無風/そよ風/ふつうの風/やや強い風/強い風/非常に強い風/猛烈な風)/
台風の階級 4段階(台風/強い/非常に強い/猛烈な)
日本の記録 富士山 91.0 m/s(1966年)/宮古島 85.3 m/s(1966年・平地の記録)
記録の保存 ★最後に見ていた風速の数字ひとつだけ★(端末の中のみ)
ファイルの数 ★1つだけ★(fusoku.html・約41KB)
外部の部品 ★1つも使いません★(絵も文字も、すべてこのファイルの中にあります)
[もとにした資料]
気象庁「風の強さと吹き方」/気象庁「台風の大きさと強さ」/
気象庁が公表している最大風速の観測記録
④ 貼り付けるコード
```
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>風速の違いを学ぼう!</title>
<style>
/* =====================================================================
風速の違いを学ぼう! ── 風速を3m/s刻みで動かすと、その風で何が起きるかが出ます。
数値は気象庁の風の強さの目安と、公表されている観測記録に合わせています。
通信は1行もしません。記録はお使いの端末の中だけに残ります。
===================================================================== */
:root{
--sumi:#20262b; --gray:#6d757c; --usu:#eef2f4; --sen:#ccd5da;
--ao:#26618c; --ao2:#17405f; --shu:#b3261e; --ki:#b07d1a;
--kami:#fff; --r3:3px;
--go:"Hiragino Sans","Yu Gothic",system-ui,sans-serif;
--min:"Yu Mincho","Hiragino Mincho ProN",serif;
--mono:ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{
font-family:var(--go); color:var(--sumi); min-height:100vh; padding:0 0 84px;
background:
radial-gradient(120% 46% at 50% -8%,rgba(255,255,255,.92),rgba(255,255,255,0) 62%),
repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0 1px,rgba(0,0,0,0) 1px 30px),
linear-gradient(180deg,#dfe7ec,#c9d5dc);
}
.wrap{max-width:430px;margin:0 auto;padding:12px 12px 0;position:relative;z-index:2}
/* 空に舞うもの(風速で速さと数が変わります) */
#sora{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.tobu{position:absolute;will-change:transform;opacity:.5}
.tobu i{display:block;width:100%;height:100%;
background:linear-gradient(150deg,#fff,#e6ebee 60%,#cfd8dd);
box-shadow:0 1px 2px rgba(0,0,0,.10);border-radius:1px}
@keyframes hirahira{
0%{transform:translate3d(0,0,0) rotate(0deg)}
50%{transform:translate3d(-14px,42vh,0) rotate(190deg)}
100%{transform:translate3d(10px,104vh,0) rotate(360deg)}
}
@media (prefers-reduced-motion:reduce){.tobu{animation:none!important;display:none}}
/* 見出し */
.head{text-align:center;margin:2px 0 10px}
.head .jp{font-family:var(--min);font-size:23px;font-weight:700;letter-spacing:.14em;color:var(--ao2);
text-shadow:0 1px 0 rgba(255,255,255,.9)}
.head .sub{font-size:11px;color:var(--gray);margin-top:4px;letter-spacing:.05em}
/* 計器 */
.meter{background:var(--kami);border-radius:var(--r3);padding:12px 12px 10px;position:relative;
box-shadow:0 2px 7px rgba(0,0,0,.16),inset 0 0 0 1px var(--sen)}
.meter .kaikyu{font-size:11px;letter-spacing:.16em;color:#fff;display:inline-block;
padding:3px 9px;border-radius:2px;background:linear-gradient(180deg,#3d7ba6,var(--ao2));
box-shadow:0 1px 0 rgba(255,255,255,.35) inset}
.meter .kaikyu.lv3{background:linear-gradient(180deg,#c9922a,#8d6412)}
.meter .kaikyu.lv4{background:linear-gradient(180deg,#c9482a,#8d2412)}
.big{font-family:var(--mono);font-size:56px;font-weight:700;line-height:1;margin:8px 0 0;
letter-spacing:-.02em;text-shadow:0 1px 0 #fff,0 2px 3px rgba(0,0,0,.16)}
.big small{font-size:17px;font-weight:600;letter-spacing:.04em;margin-left:4px;color:var(--gray)}
.kmh{font-family:var(--mono);font-size:13px;color:var(--gray);margin-top:2px}
.taifu{margin-top:7px;font-size:12px;line-height:1.7;padding:6px 8px;border-radius:2px;
background:var(--usu);box-shadow:inset 0 0 0 1px var(--sen)}
.taifu b{color:var(--ao2)}
.taifu .warn{color:var(--shu)}
/* 目盛り */
.scale{margin-top:10px}
.scale input[type=range]{width:100%;margin:0}
.tick{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;color:var(--gray);
margin-top:2px;letter-spacing:.02em}
/* 起きること */
.sec{margin-top:10px;background:var(--kami);border-radius:var(--r3);
box-shadow:0 1px 3px rgba(0,0,0,.13),inset 0 0 0 1px var(--sen)}
.sec h3{margin:0;padding:8px 12px;font-size:12px;letter-spacing:.14em;color:#fff;
background:linear-gradient(180deg,#5d8ba8,#3a6683);border-radius:var(--r3) var(--r3) 0 0;
display:flex;justify-content:space-between;align-items:baseline}
.sec h3 span{font-size:10px;font-weight:400;opacity:.9;font-family:var(--mono);letter-spacing:.06em}
.sec .in{padding:4px 12px 11px}
.row{display:grid;grid-template-columns:74px 1fr;gap:8px;padding:7px 0;
border-bottom:1px dotted var(--sen);font-size:12.5px;line-height:1.72}
.row:last-child{border-bottom:none}
.row .k{font-size:11px;font-weight:700;color:var(--ao2);letter-spacing:.06em;padding-top:2px}
.row .v b{color:var(--shu)}
.row.stop{background:linear-gradient(90deg,rgba(179,38,30,.06),rgba(179,38,30,0))}
/* 境目 */
.sakai{margin-top:10px;background:var(--kami);border-radius:var(--r3);
box-shadow:0 1px 3px rgba(0,0,0,.13),inset 0 0 0 1px var(--sen);overflow:hidden}
.sakai h3{margin:0;padding:8px 12px;font-size:12px;letter-spacing:.14em;color:#fff;
background:linear-gradient(180deg,#7d8a92,#59636a)}
.sakai .in{padding:8px 12px 11px}
.sk{display:grid;grid-template-columns:64px 1fr;gap:8px;font-size:12px;padding:5px 0;
border-bottom:1px dashed var(--sen);line-height:1.7}
.sk:last-child{border-bottom:none}
.sk .n{font-family:var(--mono);font-weight:700;color:var(--ao2);text-align:right}
.sk.now{background:linear-gradient(90deg,rgba(38,97,140,.10),rgba(38,97,140,0))}
.sk.now .n{color:var(--shu)}
/* 記録くらべ */
.kiroku{margin-top:10px;background:var(--kami);border-radius:var(--r3);padding:10px 12px 12px;
box-shadow:0 1px 3px rgba(0,0,0,.13),inset 0 0 0 1px var(--sen);position:relative}
.kiroku .t{font-size:11px;letter-spacing:.14em;color:var(--gray);margin-bottom:7px}
.bar{height:13px;border-radius:2px;background:var(--usu);box-shadow:inset 0 1px 3px rgba(0,0,0,.16);
overflow:hidden;margin:5px 0 3px}
.bar i{display:block;height:100%;background:
repeating-linear-gradient(45deg,rgba(255,255,255,.28) 0 4px,rgba(255,255,255,0) 4px 8px),
linear-gradient(180deg,#4f8fb8,var(--ao2))}
.kiroku .lb{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--gray)}
.kiroku .hikaku{margin-top:7px;font-size:12px;line-height:1.75}
.kiroku .hikaku b{font-family:var(--mono);color:var(--shu);font-size:14px}
/* 判子と管理の札 */
.kanri{margin:11px auto 0;max-width:430px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;
font:700 10px/1 var(--go);letter-spacing:.16em;color:#7a7f84}
.kanri span{background:linear-gradient(180deg,#f6f7f8,#e6eaec);border:1px solid #c8d0d5;border-radius:2px;
padding:5px 9px;box-shadow:0 1px 0 #fff inset,0 1px 2px rgba(0,0,0,.10);
text-shadow:0 1px 0 rgba(255,255,255,.85)}
.blink{animation:bk 2.6s ease-in-out infinite}
@keyframes bk{0%,100%{opacity:.55}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.blink{animation:none}}
.hanko{position:absolute;right:9px;top:7px;transform:rotate(-8deg);opacity:.30;
border:2px double var(--shu);color:var(--shu);border-radius:3px;padding:3px 7px;
font:700 11px/1 var(--go);letter-spacing:.2em;pointer-events:none}
.rule{border-top:1px dashed #c3ccd1;border-bottom:3px double #c3ccd1;height:5px;margin:12px 0 10px}
.fade{opacity:.22;filter:sepia(.30)}
.kiri{margin:9px auto 0;width:150px;height:16px;background:linear-gradient(90deg,#b9c3c9,#8e9aa1);
clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);opacity:.55}
.note{margin:10px 2px 12px;font-size:9.5px;line-height:1.78;color:#7f878d}
/* 下の帯 */
.bar2{position:fixed;left:0;right:0;bottom:0;z-index:9;display:flex;gap:8px;padding:8px 12px;
background:linear-gradient(180deg,#eef2f4,#d5dde2);
box-shadow:0 -2px 8px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.9)}
.bar2 button{flex:1;padding:14px 4px;border:none;border-radius:6px;font-family:inherit;font-size:16px;
font-weight:900;letter-spacing:.08em;color:#fff;cursor:pointer;
background:linear-gradient(180deg,#4f8fb8,var(--ao2));box-shadow:0 2px 0 #12324a,0 3px 8px rgba(0,0,0,.2)}
.bar2 button.mn{flex:1;font-size:13px;letter-spacing:.06em}
.bar2 button.mn b{font-size:20px;margin-left:2px;vertical-align:-1px}
.bar2 button.kae{flex:0 0 29%;font-size:12px;letter-spacing:.02em;
background:linear-gradient(180deg,#d6483a,#96201a);box-shadow:0 2px 0 #6d130f,0 3px 8px rgba(0,0,0,.22)}
.bar2 button.sub{flex:0 0 30%;color:var(--ao2);background:linear-gradient(180deg,#fff,#e3e9ec);
box-shadow:0 2px 0 #b3bec5,0 3px 8px rgba(0,0,0,.15);font-size:13px;letter-spacing:.02em}
.bar2 button:active{transform:translateY(1px)}
.msg{text-align:center;font-size:12px;color:var(--gray);margin-top:9px;min-height:1.4em}
@media (max-width:430px){ .big{font-size:48px} .row{grid-template-columns:66px 1fr} }
</style>
</head>
<body>
<div id="sora"></div>
<div class="wrap">
<div class="head">
<div class="jp">風速の違いを学ぼう!</div>
<div class="sub">3m/s ずつ動かすと、その風で何が起きるかが分かります</div>
</div>
<div class="meter">
<div><span class="kaikyu" id="kaikyu">ほぼ無風</span></div>
<div class="big"><span id="ms">0</span><small>m/s</small></div>
<div class="kmh" id="kmh">時速 0 km / 風力 0</div>
<div class="taifu" id="taifu">—</div>
<div class="scale">
<input type="range" id="rng" min="0" max="90" step="3" value="0"
oninput="setMs(this.value)" aria-label="風速">
<div class="tick"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span><span>75</span><span>90</span></div>
</div>
</div>
<div class="sec">
<h3>こ の 風 で 起 き る こ と<span id="obi">—</span></h3>
<div class="in" id="okiru"></div>
</div>
<div class="sakai">
<h3>こ こ が 境 目</h3>
<div class="in" id="sakai"></div>
</div>
<div class="kiroku">
<div class="t">日 本 の 記 録 と く ら べ る</div>
<div class="bar"><i id="barIn" style="width:0%"></i></div>
<div class="lb"><span>0</span><span id="barMax">91.0 m/s(日本の最高記録)</span></div>
<div class="hikaku" id="hikaku">—</div>
</div>
<div class="rule"></div>
<div style="position:relative;max-width:430px;margin:0 auto">
<svg viewBox="0 0 120 44" width="118" height="43" aria-hidden="true" class="fade"
style="display:block;margin:4px auto 0" xmlns="http://www.w3.org/2000/svg">
<path d="M60 30v10" stroke="#5a636a" stroke-width="2" fill="none"/>
<circle cx="60" cy="24" r="3" fill="none" stroke="#5a636a" stroke-width="2"/>
<path d="M60 24 43 15a10 10 0 0 1 17 4z" fill="none" stroke="#5a636a" stroke-width="1.7"/>
<path d="M60 24 77 33a10 10 0 0 1-17-4z" fill="none" stroke="#5a636a" stroke-width="1.7"/>
<path d="M60 24 69 7a10 10 0 0 1-4 17z" fill="none" stroke="#5a636a" stroke-width="1.7"/>
<path d="M14 40h92" stroke="#5a636a" stroke-width="1.4"/>
</svg>
<div class="kiri"></div>
</div>
<div class="note">
※ 数値は気象庁の「風の強さの目安」および公表されている観測記録に合わせた<b>目安</b>です。実際の被害は地形・建物の古さ・風の吹き方で大きく変わります。<br>
※ 防災の判断は、必ず気象庁および自治体の発表に従ってください。<br>
</div>
<div class="msg" id="msg"></div>
</div>
<div class="bar2">
<button class="mn" onclick="step(-3)" aria-label="風速を3下げる">風速 <b>−</b></button>
<button class="mn" onclick="step(3)" aria-label="風速を3上げる">風速 <b>+</b></button>
<button class="kae" onclick="mawasu()">他の説明を見る</button>
<button class="sub" onclick="copyIt()">コピー</button>
</div>
<script>
/* ── 気象庁の予報用語(平均風速) ───────────────────────────── */
var YOGO=[
{n:"ほぼ無風", lo:0, hi:0.3, lv:1},
{n:"そよ風",lo:0.3,hi:5, lv:1},
{n:"ふつうの風", lo:5, hi:10, lv:1},
{n:"やや強い風",lo:10,hi:15,lv:2},
{n:"強い風",lo:15, hi:20, lv:3},
{n:"非常に強い風",lo:20,hi:30,lv:3},
{n:"猛烈な風",lo:30,hi:999,lv:4}
];
/* ── 風力(0〜12の12段階)。それぞれの段の、いちばん弱い風速 ── */
var FURYOKU=[0,0.3,1.6,3.4,5.5,8,10.8,13.9,17.2,20.8,24.5,28.5,32.7];
/* ── 台風の呼び分け。10分間の平均でいちばん強かった風速で決めます ── */
function taifuKyu(v){
if(v<17.2) return {n:"まだ台風ではありません", d:"17.2 m/s より弱い風は「熱帯低気圧」と呼びます。", w:false};
if(v<32.7) return {n:"台風", d:"17.2 m/s 以上の風を出す低気圧を、台風と呼びます。", w:false};
if(v<43.7) return {n:"強い台風", d:"32.7〜43.7 m/s の風を出す台風です。", w:true};
if(v<54.0) return {n:"非常に強い台風", d:"43.7〜54.0 m/s の風を出す台風です。", w:true};
return {n:"猛烈な台風", d:"54.0 m/s 以上の風を出す台風です。", w:true};
}
/* ── 帯ごとの「起きること」 ─────────────────────────────────
各項目に4通り以上の書き方を入れ、引くたび入れ替わります。 */
var OB=[
{lo:0,hi:3,na:"ほとんど無風",
hito:["顔に風を感じません。","髪が一本も動きません。","立っているのが楽です。","汗がなかなか引きません。"],
kasa:["開いた傘が真っ直ぐ立ちます。","傘の骨は静かなままです。","片手で楽に持てます。","日傘がそのまま使えます。"],
jite:["ふらつきません。","ペダルが軽いままです。","向かい風を感じません。","停めた自転車は倒れません。"],
kuru:["運転に影響はありません。","窓を開けても風の音がしません。","横風を感じません。","高速道路でも真っ直ぐ走ります。"],
kosoku:["風の規制はありません。","通常の速度で走れます。","風の強さの表示は出ません。","橋の上でも変わりません。"],
densha:["平常どおり動きます。","風による遅れは出ません。","規制はありません。","電車の上の電線が揺れません。"],
ie:["窓が鳴りません。","瓦は動きません。","雨戸を閉める必要はありません。","洗濯物が垂れたままです。"],
ki:["木の葉が動きません。","枝先が止まっています。","のぼりが垂れています。","看板は静かです。"],
umi:["海面はほぼ鏡です。","波が立ちません。","小舟でも揺れません。","水面に雲が映ります。"]},
{lo:3,hi:6,na:"顔に風を感じる",
hito:["顔に風を感じます。","前髪が少し動きます。","歩きやすい風です。","汗が引いていきます。"],
kasa:["普通にさしていられます。","骨が小さく鳴ります。","持つ手に軽い力が要ります。","風に押されて少し傾きます。"],
jite:["向かい風が少し重くなります。","下り坂が気持ちよく走れます。","ふらつきはありません。","前カゴの荷物が風を受けます。"],
kuru:["ハンドルは取られません。","窓を開けると風切り音がします。","横風を少し感じます。","橋の上で軽く感じます。"],
kosoku:["風による通行止めはありません。","通常どおり走れます。","風の注意の表示も出ません。","高い橋で少し風を感じます。"],
densha:["平常どおりです。","風で止まることはありません。","速度を落とすこともありません。","電車の上の電線がわずかに揺れます。"],
ie:["窓が小さく鳴ります。","風鈴が鳴ります。","屋根はびくともしません。","洗濯物がよく乾きます。"],
ki:["木の葉と小枝が絶えず動きます。","旗がはためきます。","のぼりが軽く上がります。","吊り看板がわずかに揺れます。"],
umi:["小さな波が立ちます。","水面に細い筋ができます。","小舟が少し揺れます。","波音が聞こえます。"]},
{lo:6,hi:9,na:"砂ぼこりが立つ",
hito:["砂ぼこりが目に入ります。","髪が乱れます。","話し声が少し届きにくくなります。","上着の裾がめくれます。"],
kasa:["傘が風に押されます。","骨がきしみます。","風が来る方へ傾けたくなります。","体ごと風に押されます。"],
jite:["向かい風が重くなります。","前カゴが押されて進みにくいです。","停めてある自転車が倒れることがあります。","横風でハンドルを取られます。"],
kuru:["高速道路で横から風を受けます。","窓を閉めたくなります。","大型車の横を通ると押されます。","橋の上でハンドルに力が入ります。"],
kosoku:["風の規制はまだ出ません。","橋の上で風の強さの表示が出ることがあります。","いつもの速度で走れます。","荷台のシートが鳴ります。"],
densha:["いつもどおり走ります。","時刻表どおりに走ります。","風の見張りはまだ始まりません。","電車の上の電線が揺れます。"],
ie:["窓が鳴ります。","洗濯物が飛びそうになります。","物干し竿が動きます。","植木鉢が倒れることがあります。"],
ki:["背の低い木が揺れます。","小枝が大きく動きます。","のぼりが横になりかけます。","立て看板が倒れることがあります。"],
umi:["白波が目立ちます。","波音が続きます。","小舟は港へ戻ります。","海面が白く見えます。"]},
{lo:9,hi:12,na:"傘があやしい",
hito:["<b>風が来る方を向いていられません。</b>","歩く調子が崩れます。","話し声が風で聞こえなくなります。","帽子が飛びます。"],
kasa:["<b>この辺りから傘はさせません。</b>","骨が反り返ります。","開いた傘が持ち上がります。","裏返る一歩手前です。"],
jite:["<b>自転車に乗ってはいけません。</b>","横風で車体ごと押されます。","停めた自転車が並んで倒れます。","降りて押したほうが安全です。"],
kuru:["横風でハンドルが振られます。","高速道路では速度を落とします。","荷を積んでいない大型車が振られます。","橋の上で明らかに押されます。"],
kosoku:["橋やトンネルの出口に風の強さの表示が出ます。","速度規制がかかることがあります。","バイクは風にあおられます。注意してください。","高架の上では車線の中央を走ってください。"],
densha:["風の様子を見ながら走ります。","一部の路線がゆっくり走ります。","風による遅れが出ます。","電線が大きく揺れます。"],
ie:["屋外に置いた物が転がります。","雨戸を閉めたくなります。","ゴミ箱が倒れます。","植木鉢は屋内に入れます。"],
ki:["太い枝が動きます。","電線が鳴ります。","街路樹が揺れ続けます。","吊り看板がばたつきます。"],
umi:["白波が一面に広がります。","しぶきが飛びます。","小舟は出せません。","堤防で波が跳ねます。"]},
{lo:12,hi:15,na:"傘が折れる",
hito:["<b>風に向かって歩きにくくなります。</b>","前かがみでないと進めません。","声が届きません。","目を開けにくくなります。"],
kasa:["<b>傘の骨はこの辺りで折れます(およそ 12〜15 m/s)。</b>","骨が裏返ります。","持っていられません。","畳んで持つしかありません。"],
jite:["自転車に乗ってはいけません。","押していても倒されます。","駐輪場の自転車が列ごと倒れます。","子どもは絶対に乗せてはいけません。"],
kuru:["<b>横風に注意が要ります。</b>","車線を保つのに力が要ります。","荷を積んでいない大型車が大きく振られます。","高速道路では速度を落としてください。"],
kosoku:["<b>速度規制が入ります。</b>","橋の上はとくに強く吹きます。","バイクは走ってはいけません。","風の強さの表示が点きます。"],
densha:["ゆっくり走ることがあります。","数分の遅れが出ます。","飛んできた物で停まることがあります。","風の見張りが厳しくなります。"],
ie:["<b>トタンがめくれます。</b>","雨戸は必ず閉めます。","窓に物が当たる音がします。","屋外の物をしまいます。"],
ki:["木がまるごと揺れます。","小枝が折れて落ちます。","<b>看板が落ちることがあります。</b>","のぼりが真横になります。"],
umi:["波の頭が崩れて白く泡立ちます。","しぶきが陸まで届きます。","漁には出られません。","うねりが高くなります。"]},
{lo:15,hi:18,na:"歩けない・台風の入口",
hito:["<b>風に向かって歩けません。</b>","<b>真っ直ぐ立っていられません。</b>","何かに掴まらないと立てません。","転んで怪我をします。"],
kasa:["傘は持ち歩けません。","開いた瞬間に壊れます。","傘に引っぱられます。","雨具はレインコートにします。"],
jite:["乗ってはいけません。押して歩くのも危険です。","停めた自転車が風で動きます。","屋内か屋根の下に入れます。","屋外に置いておけません。"],
kuru:["<b>車の運転は控えてください。</b>","車体が車線をはみ出します。","大型車が横転する危険が出ます。","急ぎでない運転はやめてください。"],
kosoku:["通行止めになるかもしれません。","バイクと大型車が通行止めになります。","橋のあたりから先に止まります。","速度規制が強まります。"],
densha:["ゆっくり走るか、運転を止めます。","風による遅れが大きくなります。","飛んできた物で停まります。","計画運休の知らせが出ることがあります。"],
ie:["<b>トタンや瓦が剥がれます。</b>","飛んできた物が窓に当たります。","雨戸のない窓のそばに立ってはいけません。","屋外の物は全部しまいます。"],
ki:["小枝が折れて飛びます。","街路樹が大きくしなります。","看板が外れます。","工事の囲いが倒れます。"],
umi:["波が高く白く崩れます。","しぶきで視界が悪くなります。","堤防に近づけません。","港が閉じます。"]},
{lo:18,hi:21,na:"高速道路が止まる",
hito:["<b>立っていられません。</b>","かがまないと進めません。","飛んでくる物がいちばん危険です。","外に出るべきではありません。"],
kasa:["開けば即座に骨が折れます。","手から離れて飛んでいきます。","レインコートでも体が引っぱられます。","雨具では防げない風です。"],
jite:["屋外に置いた自転車が飛びます。","乗ることはできません。","屋内に入れます。","倒れて隣の物を壊します。"],
kuru:["<b>大型車が横転する危険が出ます。</b>","車を運転してはいけません。","車体が浮くように感じます。","飛んできた物で窓が割れます。"],
kosoku:["<b>20 m/s 前後で通行止めになります。</b>","橋と高架から先に閉じます。","迂回の案内が出ます。","降りて風が収まるのを待ちます。"],
densha:["運転見合わせが出ます。","運休が決まります。","飛んできた物で電線が切れることがあります。","駅で待つことになります。"],
ie:["<b>瓦やトタンが剥がれて飛びます。</b>","飛んだ物で窓ガラスが割れます。","窓から一番遠い部屋へ移ってください。","家の中でも窓際にいてはいけません。"],
ki:["木が根元から傾きます。","看板が落ちて割れます。","工事の足場が崩れます。","電線が激しく鳴ります。"],
umi:["高い波が続きます。","岸壁を波が越えます。","船は沖へ避難します。","海沿いに近づくと命に関わります。"]},
{lo:21,hi:24,na:"瓦が飛ぶ",
hito:["<b>外に出ないでください。</b>","立っていられません。","飛んできた物で怪我をします。","家の中で身を守ります。"],
kasa:["開くことすらできません。","骨が一瞬で全部折れます。","手を離すと、飛んで人に当たります。","持って出ないでください。"],
jite:["飛んで他の物を壊します。","屋内に取り込みます。","屋外に置いたままにすると、飛んで人を傷つけます。","近づけません。"],
kuru:["<b>大型車の横転が現実に起きます。</b>","運転はできません。","飛んできた物で窓が割れることがあります。","駐車中でも車体が揺れます。"],
kosoku:["高速道路は通行止めです。","橋は完全に閉じます。","風が収まるまで再開しません。","高架の上を走ってはいけません。"],
densha:["<b>25 m/s 前後で運転を見合わせます。</b>","運休です。","再開は風が落ちてからです。","駅から外に出ないでください。"],
ie:["<b>瓦が飛び、雨漏りが始まります。</b>","トタン屋根がめくれます。","窓ガラスが割れます。","窓から離れた部屋へ移ります。"],
ki:["木が倒れます。","看板や自動販売機が倒れます。","電柱が傾きます。","倒れた木で停電します。"],
umi:["波が防波堤を越えます。","しぶきが街まで届きます。","海沿いの人は避難してください。","港は閉鎖されます。"]},
{lo:24,hi:30,na:"家に被害が出る",
hito:["<b>外では何もできません。</b>","飛んできた物が命に関わります。","家の中の安全な場所へ移ります。","避難は風が強まる前に済ませます。"],
kasa:["使えません。持って出れば怪我をします。","骨も布も残りません。","傘立てごと飛びます。","雨具では体を守れません。"],
jite:["屋外の自転車は飛ばされます。","屋内でも倒れます。","置いたままにすると、飛んで人を傷つけます。","前日にしまっておきます。"],
kuru:["横転します。","走ることはできません。","駐車中でも飛んできた物で壊れます。","屋根のある場所へ移します。"],
kosoku:["高速道路は全面通行止めです。","橋と高架は閉鎖されます。","迂回する道もありません。","高速道路に近づかないでください。"],
densha:["全面運休です。","計画運休が出ます。","再開の見通しは立ちません。","駅で夜を明かすことになります。"],
ie:["<b>屋根が飛び、壁が壊れます。</b>","雨戸が壊れます。","窓ガラスは割れると思って備えます。","停電と断水に備えます。"],
ki:["木が根から抜けて倒れます。","電柱が倒れます。","広い範囲で停電します。","看板が飛んで人に当たります。"],
umi:["高潮(海面が高くなること)の危険が出ます。","波が家まで届きます。","海沿いから離れます。","堤防を越える波が続きます。"]},
{lo:30,hi:45,na:"猛烈な風",
hito:["<b>外に出れば命に関わります。</b>","屋内の頑丈な場所に移ります。","窓のない廊下や風呂場へ移ります。","家の中でも動き回らないでください。"],
kasa:["傘を差せる風ではありません。","傘立ても屋外に置けません。","レインコートも裂けます。","傘は屋内にしまってください。"],
jite:["屋外の自転車は飛んで壁に当たります。","前日に屋内へ入れます。","飛んだ自転車が人に当たります。","隣の家に被害を出します。"],
kuru:["横転し、飛ばされます。","車での避難はできません。","車の中は安全ではありません。","前日に高い場所へ移します。"],
kosoku:["高速道路が閉鎖されます。","標識が曲がります。","高速道路が元に戻るまで何日もかかります。","道路脇の防音の壁が壊れます。"],
densha:["前日から計画運休になります。","線路に物が落ちます。","元に戻るまで数日かかります。","移動を諦めます。"],
ie:["<b>木造の家が倒れることがあります。</b>","屋根がまるごと飛びます。","ブロック塀が倒れます。","窓は板で覆います。"],
ki:["林の木が倒れます。","鉄塔が変形します。","電線が切れて停電します。","倒れた木で道が塞がれます。"],
umi:["高潮で浸水します。","船が陸に打ち上がります。","海沿いの人は早めに避難してください。","堤防が壊れます。"]},
{lo:45,hi:60,na:"非常に強い台風の中心",
hito:["<b>屋内でも危険です。頑丈な建物へ移ってください。</b>","前もって避難するしかありません。","救助は来られません。","数日分の備蓄が要ります。"],
kasa:["傘を使う場面はありません。","開けば手ごと持っていかれます。","傘立ても飛びます。","雨具では何も防げません。"],
jite:["屋外の自転車は跡形もなく飛びます。","屋内でも倒れて壊れます。","近所の家に被害を出します。","前日に片付けます。"],
kuru:["車が飛ばされます。","車での移動は前日までに済ませます。","車は避難場所になりません。","立体駐車場でも車体が揺れます。"],
kosoku:["高速道路が長い間、閉鎖されます。","標識や照明が飛びます。","道路脇の防音の壁が倒れます。","路面が波打つことがあります。"],
densha:["全域で運休します。","駅も閉まります。","電車の電線と信号が壊れます。","元に戻るまで一週間かかることがあります。"],
ie:["<b>鉄骨の建物にも被害が出ます。</b>","木の家は倒れます。","屋根も壁も残りません。","頑丈な建物へ移ります。"],
ki:["木が全部倒れます。","鉄塔が倒れます。","町全体が停電します。","倒れた木で道が通れなくなります。"],
umi:["高潮で街が水に浸かります。","波が防潮堤を越えます。","海沿いに人は残れません。","漁港が壊れます。"]},
{lo:60,hi:999,na:"記録に残る風",
hito:["<b>人が外にいられる風ではありません。</b>","外にいれば、人は立っていられません。","早めにその地域から離れるしかありません。","この数字の重さを覚えておいてください。"],
kasa:["傘は何の役にも立ちません。","開く前に骨が全部折れます。","雨具では何も守れません。","傘立ても屋根も飛びます。"],
jite:["屋外の自転車は残りません。","鉄の枠ごと曲がって飛びます。","屋内に入れても、建物ごと壊れる風です。","前日に屋内の低い場所へ移します。"],
kuru:["車が飛ばされ、転がります。","車での移動はできません。","車の中では何も守れません。","前日に車ごとその場所から離れます。"],
kosoku:["標識と照明が飛びます。","防音の壁ごと吹き飛びます。","路面に物が散乱します。","高速道路が元に戻るまで長くかかります。"],
densha:["電車の電線と鉄の柱が壊れます。","駅の屋根が飛びます。","元に戻るまで数週間かかります。","移動できません。"],
ie:["<b>建物そのものが壊れます。</b>","鉄骨も曲がります。","家に住み続けられません。","家を離れることだけが、命を守ります。"],
ki:["山の木が全部倒れます。","鉄塔が根元から折れます。","町中の電線が切れます。","山の斜面が茶色く変わります。"],
umi:["海が街に入ります。","防潮堤が消えます。","海沿いは無人にします。","記録として語り継がれます。"]}
];
/* ── 境目(この数字で何が起きるか) ─────────────────────────── */
var SAKAI=[
{v:10, t:"傘がさせなくなる/自転車に乗ってはいけない"},
{v:12, t:"傘の骨が折れる"},
{v:15, t:"風に向かって歩きにくい/看板が落ちることがある"},
{v:17.2,t:"★この風の強さから、台風と呼びます★"},
{v:20, t:"★高速道路が通行止めになる/トタンや瓦が剥がれる★"},
{v:20.8,t:"暴風警報が出る目安です(20〜25 m/s)"},
{v:25, t:"★瓦が飛ぶ/大型車の横転/電車の運転見合わせ★"},
{v:30, t:"木が根から抜けて倒れる/家に大きな被害が出る"},
{v:32.7,t:"ここから「猛烈な風」「強い台風」と呼びます"},
{v:43.7,t:"ここから「非常に強い台風」と呼びます"},
{v:54.0,t:"ここから「猛烈な台風」と呼びます"},
{v:85.3,t:"平地でいちばん強かった風(宮古島・1966年)"},
{v:91.0,t:"日本でいちばん強かった風(富士山・1966年)"}
];
/* ── 引くたび入れ替わる一言(31段分) ──────────────────────── */
var HITOKOTO=[
"煙が真っ直ぐ立ちのぼります。ここが目盛りの始まりです。",
"顔に風を感じるかどうか、ちょうどその境目です。",
"洗濯物がよく乾く風です。ここまでは味方です。",
"砂ぼこりが立ちます。傘があやしくなるのは、この少し先です。",
"傘がさせなくなり、自転車に乗ってはいけない風です。",
"傘の骨が折れます。レインコートに替えてください。",
"風に向かって歩きにくい。ここが引き返す目安です。",
"台風と呼ばれる風です(17.2 m/s 以上)。真っ直ぐ立てません。",
"高速道路が通行止めになります。予定を変えてください。",
"暴風警報の目安です。トタンや瓦が剥がれます。",
"瓦が飛び、電車が止まります。家から出ないでください。",
"大型車が横転します。木が根から抜けて倒れます。",
"「猛烈な風」「強い台風」の域です(32.7 m/s 以上)。",
"窓ガラスは割れる前提で、部屋を選んでください。",
"屋根がまるごと飛びます。窓から離れた部屋へ。",
"木造の家が倒れることがあります。事前の避難だけが効きます。",
"「非常に強い台風」の域です(43.7 m/s 以上)。",
"鉄塔が変形します。元に戻るまで何日もかかります。",
"鉄骨の建物にも被害が出ます。頑丈な建物へ移ってください。",
"「猛烈な台風」の域です(54.0 m/s 以上)。",
"救助が動けません。数日分の備蓄が命を繋ぎます。",
"屋根も壁も残りません。町全体が停電します。",
"防潮堤を越える高潮が出ます。海沿いに人は残れません。",
"山の木が全部倒れます。道が通れなくなります。",
"鉄塔が根元から折れます。元に戻るまで数週間かかります。",
"住み続けられません。早めにその地域から離れるしかありません。",
"人が屋外にいられる風ではありません。",
"記録として語り継がれる風です。",
"平地でいちばん強かった風(宮古島 85.3 m/s)に近づいています。",
"宮古島の記録(85.3 m/s・1966年)を超えました。",
"日本でいちばん強かった風(富士山 91.0 m/s・1966年)に並びます。"
];
/* ── 袋(引いた札は戻さない) ───────────────────────────────── */
function bag(list){ var a=list.slice(),r=[]; return function(){
if(!a.length){ a=list.slice(); }
var i=Math.floor(Math.random()*a.length); return a.splice(i,1)[0]; }; }
var fukuro={};
function hiku(key,list){ if(!fukuro[key]) fukuro[key]=bag(list); return fukuro[key](); }
var KEY="a015_fusoku_v1";
var st={ms:0};
try{ var sv=localStorage.getItem(KEY); if(sv){ var o=JSON.parse(sv); if(o&&typeof o.ms==="number"){ st.ms=o.ms; } } }catch(e){}
function save(){ try{ localStorage.setItem(KEY,JSON.stringify(st)); }catch(e){} }
function obiOf(v){ var i; for(i=0;i<OB.length;i++){ if(v>=OB[i].lo&&v<OB[i].hi) return OB[i]; } return OB[OB.length-1]; }
function yogoOf(v){ var i; for(i=YOGO.length-1;i>=0;i--){ if(v>=YOGO[i].lo) return YOGO[i]; } return YOGO[0]; }
function furyokuOf(v){ var i,n=0; for(i=0;i<FURYOKU.length;i++){ if(v>=FURYOKU[i]) n=i; } return n; }
function setMs(v){ st.ms=Math.min(90,Math.max(0,parseInt(v,10)||0)); save(); draw(); }
function step(d){ document.getElementById("rng").value=st.ms+d; setMs(st.ms+d); }
function mawasu(){
fukuro={}; /* 袋の札を入れ替える */
draw();
}
function draw(){
var v=st.ms, ob=obiOf(v), yg=yogoOf(v), tf=taifuKyu(v);
document.getElementById("ms").textContent=v;
document.getElementById("kmh").textContent=
"時速 "+Math.round(v*3.6)+" km / 風力 "+furyokuOf(v)+"(0〜12の12段階)";
var k=document.getElementById("kaikyu");
k.textContent=yg.n; k.className="kaikyu"+(yg.lv>=4?" lv4":(yg.lv>=3?" lv3":""));
document.getElementById("taifu").innerHTML=
"<b>"+tf.n+"</b> "+(tf.w?'<span class="warn">'+tf.d+'</span>':tf.d);
document.getElementById("obi").textContent=(ob.hi>900?ob.lo+" m/s 以上":ob.lo+"〜"+ob.hi+" m/s")+" / "+ob.na;
var items=[["人",ob.hito],["傘",ob.kasa],["自転車",ob.jite],["自動車",ob.kuru],
["高速道路",ob.kosoku],["電車",ob.densha],["家・屋根",ob.ie],
["木・看板",ob.ki],["海",ob.umi]];
var h="",i;
for(i=0;i<items.length;i++){
var t=hiku(ob.lo+"_"+i,items[i][1]);
h+='<div class="row'+(/<b>/.test(t)?" stop":"")+'"><div class="k">'+items[i][0]
+'</div><div class="v">'+t+'</div></div>';
}
document.getElementById("okiru").innerHTML=h;
var s="",j;
for(j=0;j<SAKAI.length;j++){
var near=(v>=SAKAI[j].v)&&(j===SAKAI.length-1||v<SAKAI[j+1].v);
s+='<div class="sk'+(near?" now":"")+'"><div class="n">'+SAKAI[j].v
+'</div><div>'+SAKAI[j].t+'</div></div>';
}
document.getElementById("sakai").innerHTML=s;
var pct=Math.min(100,v/91*100);
document.getElementById("barIn").style.width=pct.toFixed(1)+"%";
var hk="";
if(v===0){ hk="下の「風速 +」を押すと、その風で何が起きるかが出ます。"; }
else{
hk="日本でいちばん強かった風(富士山 91.0 m/s)の <b>"+(v/91*100).toFixed(1)+"%</b> です。";
if(v>=85.3) hk+="<br>平地でいちばん強かった記録(宮古島 85.3 m/s)を超えています。";
else hk+="<br>平地でいちばん強かった記録(宮古島 85.3 m/s)まで、あと "+(85.3-v).toFixed(1)+" m/s。";
hk+="<br>時速に直すと <b>"+Math.round(v*3.6)+"</b> km。";
}
document.getElementById("hikaku").innerHTML=hk;
var idx=Math.min(HITOKOTO.length-1,Math.round(v/3));
document.getElementById("msg").textContent=HITOKOTO[idx];
sora(v);
}
/* 空に舞うもの(風速で数と速さが変わります) */
function sora(v){
var box=document.getElementById("sora");
box.innerHTML="";
var n=Math.min(26,Math.round(v/3)+1), i;
for(i=0;i<n;i++){
var d=document.createElement("div");
d.className="tobu";
var w=4+Math.random()*9, hh=w*(2+Math.random()*3);
var sec=Math.max(0.9,7.5-v*0.07)+Math.random()*1.4;
d.style.cssText="left:"+(Math.random()*100).toFixed(1)+"%;top:"+(-12-Math.random()*60)+"px;"
+"width:"+w.toFixed(1)+"px;height:"+hh.toFixed(1)+"px;"
+"animation:hirahira "+sec.toFixed(2)+"s linear "+(Math.random()*2.2).toFixed(2)+"s infinite;"
+"opacity:"+(0.28+Math.random()*0.42).toFixed(2);
d.innerHTML="<i></i>";
box.appendChild(d);
}
}
function copyIt(){
var v=st.ms, ob=obiOf(v), yg=yogoOf(v), tf=taifuKyu(v);
var t="【風速 "+v+" m/s(時速 "+Math.round(v*3.6)+" km)】\n"
+"風の強さの呼び方:"+yg.n+"/風力 "+furyokuOf(v)+"/"+tf.n+"\n"
+"この強さ:"+(ob.hi>900?ob.lo+" m/s 以上":ob.lo+"〜"+ob.hi+" m/s")+" "+ob.na+"\n\n[この風で起きること]\n";
var rows=document.querySelectorAll("#okiru .row");
var i; for(i=0;i<rows.length;i++){
t+="・"+rows[i].querySelector(".k").textContent+":"
+rows[i].querySelector(".v").textContent+"\n";
}
t+="\n※ 目安です。防災の判断は気象庁と自治体の発表に従ってください。\n";
var ta=document.createElement("textarea");
ta.value=t; ta.style.position="fixed"; ta.style.left="-999px";
document.body.appendChild(ta); ta.select();
var ok=false;
try{ ok=document.execCommand("copy"); }catch(e){ ok=false; }
document.body.removeChild(ta);
if(!ok && navigator.clipboard && navigator.clipboard.writeText){
try{ navigator.clipboard.writeText(t); ok=true; }catch(e){}
}
var m=document.getElementById("msg");
m.textContent=ok?"コピーしました。人に送れます。":"コピーできませんでした(長押しで選んでください)";
}
document.getElementById("rng").value=st.ms;
draw();
</script>
</body>
</html>
```こちらもよく読まれています🌸
★続ける仕組みを知りたい方へ★
3年前にnoteのアプリを削除した私が、今毎日書けている理由です。
続かないのは、意志のせいではありませんでした。
★自分の時間を取り戻したい方へ★
日曜の午後、私が家事をしない理由です。
---
マガジンもあります🌸
★ミラクルがおすすめする、ちょっといい物★
「これは良かった」と思えたものだけを集めました。
★ミラクルが作った「ちょっとアホなシステム」🤣★
クスッと笑えて、ちょっとだけ便利なものを作って遊んでいます。
---
※本記事は、我が家の防災リュックを点検した記録です。
必要な備えは、住んでいる地域・家族構成・季節によって変わります。
※水や食料の必要量は、お住まいの自治体が公表している目安をご確認ください。
※液漏れした電池に直接触れないよう、扱いにはご注意ください。
みなさんは、傘の骨が折れるのは風速何メートルからか、ご存じですか?
答えは 12 m/s です。
そして 10 m/s で、もう傘はさせません。
天気予報の「風速10メートル」は、
傘を持って出ても意味がない日ということでした。
私はこれを知ってから、風の強い日はカッパを持つようになりました☔️
ミラクル🌸
ここから先は

暇な時間にClaude Codeにお願いして作ってもらった、ちょっとアホで、クスッと笑えるシステム集です😅 敢えて有料にしています。Cla…
この記事が気に入ったらチップで応援してみませんか?
