見出し画像

防災リュックは、最低年に2回は開けましょう👍 おまけシステムはコピペするだけ‼️

防災リュックは、最低年に2回は開けましょう👍

アラフォー主婦のミラクルです🌸

押し入れの奥に、防災リュックがあります。
一昨年、ちゃんと用意しました。

備えあれば憂いなし・・・のはずだった😭

用意してから、一度も開けていませんでした。
中を出して、並べて、確認して。

半分くらいが、使えませんでした😭

賞味期限。
電池の不良。
サイズの合わないシャツや靴下。

備えたつもりで、2年間、何も備えていませんでした。

置いておくだけでは古くなる。
これは、モノを持つこと全部に言えました。

私が捨てて楽になった5つのモノです。
最後に手放したのは、モノではありませんでした。

同じように「用意はしてある」という方に、読んでいただけたらうれしいです😊

開けて分かった、使えなかったもの

出てきた順に書きます。

使えなかったもの1:非常食が期限切れ

いちばん多かったのがこれでした。
5年保存のものを買ったので、安心していました。

でも、買った日を覚えていません。

箱に書いてある期限を見たら、半年前でした。

長期保存のものほど、忘れます。

使えなかったもの2:乾電池の不良

懐中電灯に入れっぱなしにしていました。
開けたら、液漏れっぽくなっていました。

電池は、入れっぱなしにしてはいけませんでした。

しかも、懐中電灯まで使えなくなっていました。

使えなかったもの3:子どもの服のサイズが合わない

これは完全に見落としていました。

子供達は、この2年で背が伸びました。

入れた時にぴったりだった服は、2年後には着られません。

使えなかったもの4:使い捨てカイロの期限切れ

カイロにも期限があると、初めて知りました。
いくら揉んでもあったかくなりません😭

使えなかったもの5:ウェットティッシュが乾いていた

袋を開けたら、カラカラでした。
未開封でも、乾きます。

2年で、これだけ使えなくなります😇

逆に、大丈夫だったもの

がっかりする話ばかりでは申し訳ないので、無事だったものも書きます。

・ラップ
・ポリ袋
・軍手
・タオル
・ホイッスル
・現金(小銭)

共通しているのは「傷まないもの」です。

ここに気づいてから、私は入れ方を変えました。

傷まないものは、入れっぱなしでいい。
傷むものだけ、入れ替える。

分けたら、管理が楽になります😌

問題は「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メートル」は、
傘を持って出ても意味がない日ということでした。

私はこれを知ってから、風の強い日はカッパを持つようになりました☔️

ミラクル🌸

ここから先は

0字
ちょっとアホで、ちょっと笑えて、あんまり意味のなシステムをたくさん作って遊んでいます。 それをここに集めました! 本格的なwebシステムは載せません。

暇な時間にClaude Codeにお願いして作ってもらった、ちょっとアホで、クスッと笑えるシステム集です😅 敢えて有料にしています。Cla…

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

この記事が気に入ったらチップで応援してみませんか?