<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>＃タコタ アーカイブ - じゅにさん子育てブログ</title>
	<atom:link href="https://jouniorsankosodate.com/tag/%EF%BC%83%E3%82%BF%E3%82%B3%E3%82%BF/feed/" rel="self" type="application/rss+xml" />
	<link>https://jouniorsankosodate.com/tag/＃タコタ/</link>
	<description>受験のその先へ｜子どもたちのより良い未来を育てる</description>
	<lastBuildDate>Sat, 25 Apr 2026 08:19:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://jouniorsankosodate.com/wp-content/uploads/2026/02/cropped-44f1f7a5e508593f7c057572c07f45a3-32x32.jpg</url>
	<title>＃タコタ アーカイブ - じゅにさん子育てブログ</title>
	<link>https://jouniorsankosodate.com/tag/＃タコタ/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>🐙【タコタの英文ルール 完全理解④】一般動詞の疑問文と否定文</title>
		<link>https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a3%e3%80%91%e4%b8%80%e8%88%ac%e5%8b%95%e8%a9%9e/</link>
					<comments>https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a3%e3%80%91%e4%b8%80%e8%88%ac%e5%8b%95%e8%a9%9e/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 11:05:23 +0000</pubDate>
				<category><![CDATA[🐙タコタの英文ルール📖]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[#一般動詞]]></category>
		<category><![CDATA[#否定文]]></category>
		<category><![CDATA[#疑問文]]></category>
		<category><![CDATA[#英単語]]></category>
		<category><![CDATA[＃英検]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=4494</guid>

					<description><![CDATA[<p>目次 一般動詞の文の作り方ルール👇🐙 タコタの並び替えクイズ 一般動詞の文の作り方 ① まずもう一度意味から 👉 一般動詞ってなに？ 🎯 動き・行動をあらわす言葉 例👇 👉 be動詞との違い 種類 意味 be動詞 状態（ [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a3%e3%80%91%e4%b8%80%e8%88%ac%e5%8b%95%e8%a9%9e/">🐙【タコタの英文ルール 完全理解④】一般動詞の疑問文と否定文</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">一般動詞の文の作り方</a></li><li><a href="#toc2" tabindex="0">ルール👇</a><ol><li><a href="#toc3" tabindex="0">🐙 タコタの並び替えクイズ</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">一般動詞の文の作り方</span></h2>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading"><span class="fz-22px"> <span class="fz-32px">① まずもう一度意味から</span></span></h1>



<p class="wp-block-paragraph">👉<span class="fz-22px"> <strong>一般動詞</strong>ってなに？</span></p>



<p class="wp-block-paragraph">🎯<span class="fz-22px"> <strong>動き・行動をあらわす言葉</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-22px"><strong><span class="fz-24px">例👇</span></strong></span></p>



<ul class="wp-block-list">
<li>eat（食べる）</li>



<li>play（遊ぶ）</li>



<li>study（勉強する）</li>



<li>like（好き）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-20px">👉 be動詞との違い</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>種類</th><th>意味</th></tr></thead><tbody><tr><td><strong>be動詞</strong></td><td>状態（〜です）</td></tr><tr><td><strong>一般動詞</strong></td><td>動き（〜する）</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 ② 基本の形</h1>



<p class="wp-block-paragraph">👉 超シンプル</p>



<p class="wp-block-paragraph"><span class="fz-22px">👉 <strong>主語 + 動詞</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-22px"><span class="fz-28px">例</span></span></strong></p>



<p class="wp-block-paragraph">👉 I play soccer.<br>👉 You like sushi.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 ③ 疑問文（ここ重要🔥）</h1>



<p class="wp-block-paragraph">　　まず理解</p>



<p class="wp-block-paragraph">👉 <strong>一般動詞はそのまま前に出せない！</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-24px"><strong>❌ NG</strong></span></p>



<p class="wp-block-paragraph">👉 Play you soccer?</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-24px"><strong>✅ 正解</strong></span></p>



<p class="wp-block-paragraph"><span class="fz-24px">👉 <strong>Doを使う</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">ルール👇</span></h2>



<p class="wp-block-paragraph"><span class="fz-28px">👉 <strong>Do + 主語 + 動詞　+ ？</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-24px"><strong><span class="fz-28px">例</span></strong></span></p>



<p class="wp-block-paragraph">👉 Do you play soccer?<br>👉 Do they like sushi?</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 ④ 否定文</h1>



<p class="wp-block-paragraph">👉 ルール👇</p>



<p class="wp-block-paragraph"><span class="fz-28px">👉 <strong>主語 + do not + 動詞</strong></span>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-28px"><strong>例</strong></span></p>



<p class="wp-block-paragraph">👉 I do not play soccer.<br>👉 You do not like sushi.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">👉 短縮👇</p>



<p class="wp-block-paragraph">👉 do not ＝don&#8217;t でもOK</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 ⑤ 超まとめ</h1>



<p class="wp-block-paragraph">👉 一般動詞は👇</p>



<p class="wp-block-paragraph">✔ 疑問文 → Doつける<br>✔ 否定文 → do notつける</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">💥 be動詞との違い（ここ最重要）</h1>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>種類</th><th>疑問文</th><th>否定文</th></tr></thead><tbody><tr><td>be動詞</td><td><span class="fz-24px"><strong>be動詞</strong></span>を前に出す</td><td>be動詞の後に　<strong><span class="fz-22px"><span class="marker-under-red">not</span></span></strong></td></tr><tr><td>一般動詞</td><td><strong><span class="fz-22px">Do</span></strong>を前に出す</td><td>do <strong><span class="fz-22px"><span class="marker-under-red">not</span></span></strong></td></tr></tbody></table></figure>



<style>
.tacota-quiz {
  text-align: center;
  font-family: "Arial", sans-serif;
  background: linear-gradient(180deg, #fff8dc, #fff2b8);
  border-radius: 18px;
  padding: 18px 12px;
  max-width: 860px;
  margin: 20px auto;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.tacota-quiz h3 {
  font-size: 28px;
  margin: 0 0 8px;
  color: #0f6f6f;
}

#question {
  font-size: 24px;
  margin: 10px 0 8px;
  font-weight: 900;
  color: #444;
}

#baseSentence {
  font-size: 20px;
  font-weight: 800;
  color: #0f6f6f;
  margin-bottom: 14px;
}

.answer-slots {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 18px;
}

.answer-slot {
  min-width: 90px;
  min-height: 54px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 2px dashed #f1b9cf;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: #333;
  box-sizing: border-box;
}

.answer-slot.filled {
  border-style: solid;
  background: #fff7fb;
}

#choices {
  margin: 8px 0 10px;
}

.word-btn {
  font-size: 22px;
  margin: 6px;
  padding: 12px 16px;
  border-radius: 14px;
  border: none;
  background: #ffd6e7;
  cursor: pointer;
  font-weight: 900;
  box-shadow: 0 3px 0 rgba(0,0,0,.08);
}

.word-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.action-row {
  margin-top: 14px;
}

.action-btn {
  font-size: 20px;
  margin: 8px 6px;
  padding: 12px 18px;
  border-radius: 14px;
  border: none;
  background: #a0e7e5;
  cursor: pointer;
  font-weight: 900;
  box-shadow: 0 3px 0 rgba(0,0,0,.08);
}

.action-btn.primary {
  background: #7fd6d3;
}

.action-btn.clear {
  background: #ffd9a8;
}

#result {
  font-size: 24px;
  margin-top: 14px;
  min-height: 34px;
  font-weight: 900;
}

@media (max-width: 640px) {
  .tacota-quiz h3 {
    font-size: 24px;
  }

  #question {
    font-size: 22px;
  }

  #baseSentence {
    font-size: 18px;
  }

  .answer-slot {
    min-width: 76px;
    min-height: 50px;
    font-size: 20px;
    padding: 6px 8px;
  }

  .word-btn {
    font-size: 20px;
    padding: 10px 12px;
  }

  .action-btn {
    font-size: 18px;
    padding: 10px 14px;
  }

  #result {
    font-size: 22px;
  }
}
</style>

<div class="tacota-quiz">
  <h3><span id="toc3">🐙 タコタの並び替えクイズ</span></h3>

  <p id="question"></p>
  <p id="baseSentence"></p>

  <div id="answerSlots" class="answer-slots"></div>

  <div id="choices"></div>

  <div class="action-row">
    <button class="action-btn primary" onclick="checkAnswer()">答えをチェック！</button>
    <button class="action-btn clear" onclick="clearAnswer()">クリア</button>
    <button class="action-btn" onclick="nextQuiz()">👉 次の問題</button>
  </div>

  <p id="result"></p>
</div>

<script>
const quizzes = [
  {
    base: "I play soccer.",
    question: "疑問文にしよう",
    words: ["Do", "you", "play", "soccer", "?"],
    answer: "Do you play soccer?"
  },
  {
    base: "I play soccer.",
    question: "否定文にしよう",
    words: ["I", "do", "not", "play", "soccer"],
    answer: "I do not play soccer."
  },
  {
    base: "they like sushi.",
    question: "疑問文にしよう",
    words: ["Do", "they", "like", "sushi", "?"],
    answer: "Do they like sushi?"
  },
  {
    base: "You like sushi.",
    question: "否定文にしよう",
    words: ["You", "do", "not", "like", "sushi"],
    answer: "You do not like sushi."
  },
  {
    base: "They study English.",
    question: "疑問文にしよう",
    words: ["Do", "you", "study", "English", "?"],
    answer: "Do you study English?"
  },
  {
    base: "They study English.",
    question: "否定文にしよう",
    words: ["They", "do", "not", "study", "English"],
    answer: "They do not study English."
  }
];

let currentQuiz = {};
let selectedWords = [];
let currentButtons = [];

function shuffle(array) {
  const arr = [...array];
  for (let i = arr.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [arr[i], arr[j]] = [arr[j], arr[i]];
  }
  return arr;
}

function buildSlots(count) {
  const slots = document.getElementById("answerSlots");
  slots.innerHTML = "";
  for (let i = 0; i < count; i++) {
    const div = document.createElement("div");
    div.className = "answer-slot";
    div.id = `slot-${i}`;
    slots.appendChild(div);
  }
}

function renderSlots() {
  for (let i = 0; i < currentQuiz.words.length; i++) {
    const slot = document.getElementById(`slot-${i}`);
    const word = selectedWords[i] || "";
    slot.textContent = word;
    slot.classList.toggle("filled", !!word);
  }
}

function loadQuiz() {
  currentQuiz = quizzes[Math.floor(Math.random() * quizzes.length)];
  selectedWords = [];

  document.getElementById("question").innerText = currentQuiz.question;
  document.getElementById("baseSentence").innerText = `もとの文：${currentQuiz.base}`;
  document.getElementById("result").innerText = "";

  buildSlots(currentQuiz.words.length);
  renderSlots();

  const shuffled = shuffle(currentQuiz.words);
  const choices = document.getElementById("choices");
  choices.innerHTML = "";

  currentButtons = shuffled.map((word, index) => {
    const btn = document.createElement("button");
    btn.className = "word-btn";
    btn.textContent = word;
    btn.type = "button";
    btn.dataset.word = word;
    btn.dataset.index = index;
    btn.addEventListener("click", () => selectWord(word, btn));
    choices.appendChild(btn);
    return btn;
  });
}

function selectWord(word, btn) {
  if (selectedWords.length >= currentQuiz.words.length) return;

  selectedWords.push(word);
  btn.disabled = true;
  renderSlots();
}

function clearAnswer() {
  selectedWords = [];
  renderSlots();
  document.getElementById("result").innerText = "";

  currentButtons.forEach(btn => {
    btn.disabled = false;
  });
}

function normalizeSentence(text) {
  return text
    .replace(/[?.]/g, "")
    .replace(/\s+/g, " ")
    .trim()
    .toLowerCase();
}

function checkAnswer() {
  if (selectedWords.length !== currentQuiz.words.length) {
    document.getElementById("result").innerHTML = "⚠️ まだ ぜんぶ はいってないよ";
    return;
  }

  const user = selectedWords.join(" ");
  const correct = currentQuiz.answer;

  if (normalizeSentence(user) === normalizeSentence(correct)) {
    document.getElementById("result").innerHTML = "⭕️ 正解！✨";
    setTimeout(nextQuiz, 1000);
  } else {
    document.getElementById("result").innerHTML = "❌ もう一回！";
  }
}

function nextQuiz() {
  loadQuiz();
}

loadQuiz();
</script>



<!-- =========================================
🐙 シリーズナビ（前・次・一覧）
========================================= -->
<div class="takota-series-nav">

  <!-- 前へ -->
  <a class="nav-btn prev" href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a2%e3%80%91be%e5%8b%95%e8%a9%9e%e3%81%ae%e7%96%91%e5%95%8f/">
    ⬅ 前のレッスン
  </a>

  <!-- 一覧 -->
  <a class="nav-btn list" href="https://jouniorsankosodate.com/rule/">
    📚 一覧に戻る
  </a>

  <!-- 次へ -->
  <a class="nav-btn next" href="https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a4%e3%80%91does%e3%81%a8do%e3%81%ae%e9%81%95%e3%81%84/">
    次のレッスン ➡
  </a>

</div>

<style>
.takota-series-nav{
  display:flex;
  gap:10px;
  margin:30px 0;
  flex-wrap:wrap;
}

.nav-btn{
  flex:1;
  text-align:center;
  padding:12px;
  border-radius:14px;
  font-weight:bold;
  text-decoration:none;
  font-size:14px;
  transition:.2s;
  box-shadow:0 4px 8px rgba(0,0,0,0.08);
}

/* 前 */
.nav-btn.prev{
  background:#e0f2fe;
  color:#0369a1;
}

/* 一覧 */
.nav-btn.list{
  background:#fff7ed;
  color:#c2410c;
}

/* 次 */
.nav-btn.next{
  background:#ffe4e6;
  color:#be123c;
}

.nav-btn:hover{
  transform:translateY(-2px);
}
</style>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a3%e3%80%91%e4%b8%80%e8%88%ac%e5%8b%95%e8%a9%9e/">🐙【タコタの英文ルール 完全理解④】一般動詞の疑問文と否定文</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a3%e3%80%91%e4%b8%80%e8%88%ac%e5%8b%95%e8%a9%9e/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙【タコタの英文ルール 完全理解③】be動詞の疑問文と否定文</title>
		<link>https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a2%e3%80%91be%e5%8b%95%e8%a9%9e%e3%81%ae%e7%96%91%e5%95%8f/</link>
					<comments>https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a2%e3%80%91be%e5%8b%95%e8%a9%9e%e3%81%ae%e7%96%91%e5%95%8f/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 09:25:56 +0000</pubDate>
				<category><![CDATA[🐙タコタの英文ルール📖]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[#否定文]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#疑問文]]></category>
		<category><![CDATA[#英単語]]></category>
		<category><![CDATA[＃英検]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=4478</guid>

					<description><![CDATA[<p>英語の文って、「なんとなく順番変えてる」だけになっていませんか？ 実は👇👉 疑問文も否定文も“意味から考えると一発”で理解できます この記事では「疑問ってなに？」「否定ってなに？」からスタートして ✔ 疑問文の作り方✔  [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a2%e3%80%91be%e5%8b%95%e8%a9%9e%e3%81%ae%e7%96%91%e5%95%8f/">🐙【タコタの英文ルール 完全理解③】be動詞の疑問文と否定文</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">英語の文って、<br>「なんとなく順番変えてる」だけになっていませんか？</p>



<p class="wp-block-paragraph">実は👇<br>👉 疑問文も否定文も“意味から考えると一発”で理解できます</p>



<p class="wp-block-paragraph">この記事では<br><strong>「疑問ってなに？」「否定ってなに？」からスタートして</strong></p>



<p class="wp-block-paragraph">✔ 疑問文の作り方<br>✔ 否定文の作り方</p>



<p class="wp-block-paragraph">を、<strong>めちゃくちゃわかりやすく解説します！</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">📌 <span class="fz-22px">この記事でわかること</span></h1>



<p class="wp-block-paragraph">✔ 疑問文の意味と使い方<br>✔ be動詞の疑問文の作り方<br>✔ 否定文の意味と使い方<br>✔ be動詞の否定文の作り方</p>



<p class="wp-block-paragraph"><strong><span class="fz-24px">👉 ルールはたった2つだけ！</span></strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc1">🧠 そもそも「疑問文」ってなに？</span></h2>



<p class="wp-block-paragraph"><span class="fz-24px">👉 <strong>相手に「聞く」ための文</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-22px">💬 こんなときに使う</span></strong></p>



<p class="wp-block-paragraph">・それほんと？<br>・あなたは〇〇なの？<br>・今どういう状態？</p>



<p class="wp-block-paragraph"><strong><span class="fz-24px">👉 相手に確認したいとき</span></strong></p>



<p class="wp-block-paragraph"><span class="fz-20px"><span class="fz-18px">🧠 日本語で考えると</span></span></p>



<p class="wp-block-paragraph"><span class="fz-18px"><span class="fz-22px"><strong>👉「〜ですか❓」がつく文</strong></span></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">✨ 例</span></strong></p>



<p class="wp-block-paragraph">あなたは元気です。<br>👉 You are happy.</p>



<p class="wp-block-paragraph">あなたは元気ですか？<br>👉 Are you happy?</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">🎯 疑問文のルール（be動詞）</span></h2>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" width="1000" height="545" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/7454972F-E420-4108-B463-CB46FFB40FAD.jpg" alt="" class="wp-image-4479" style="width:603px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/7454972F-E420-4108-B463-CB46FFB40FAD.jpg 1000w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/7454972F-E420-4108-B463-CB46FFB40FAD-300x164.jpg 300w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/7454972F-E420-4108-B463-CB46FFB40FAD-768x419.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="512" height="279" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/564EF172-1544-4532-87DB-F9D31702E9D8.png" alt="" class="wp-image-4482" style="aspect-ratio:1.83517222066648;width:597px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/564EF172-1544-4532-87DB-F9D31702E9D8.png 512w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/564EF172-1544-4532-87DB-F9D31702E9D8-300x163.png 300w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<p class="wp-block-paragraph"><span class="fz-24px">👉<strong> be動詞（is am ar</strong></span><span class="fz-24px"><strong>e</strong></span><span class="fz-24px"><strong>）を前に出すだけ！</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">💡 ポイント</span></strong></p>



<p class="wp-block-paragraph">普通の文<br>👉 You are happy.</p>



<p class="wp-block-paragraph">疑問文<br>👉 Are you happy?</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">🔥 まとめ</span></strong></p>



<p class="wp-block-paragraph"><span class="fz-24px">👉 <strong><span class="marker-under">be動詞<span class="fz-24px"><strong>（is am are）</strong></span>を前に出すだけ</span></strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">🧠 そもそも「否定文」ってなに？</span></h2>



<p class="wp-block-paragraph">👉 <strong>「ちがう」「そうじゃない」と伝える文</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-24px"><strong>💬 こんなときに使う</strong></span></p>



<p class="wp-block-paragraph">・違う<br>・そうじゃない</p>



<p class="wp-block-paragraph">👉<strong> 否定するとき</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">🧠 日本語で考えると</span></strong></p>



<p class="wp-block-paragraph"><strong>👉「〜ではない」がつく文</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">✨ 例</span></strong></p>



<p class="wp-block-paragraph">あなたは元気です。<br>👉 You are happy.</p>



<p class="wp-block-paragraph">あなたは元気じゃないです。<br>👉 You are not happy.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc4">🎯 否定文のルール（be動詞）</span></h2>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="1000" height="545" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/14A89E64-E2C0-4B44-856C-1F2DC2C9A637.jpg" alt="" class="wp-image-4480" style="width:606px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/14A89E64-E2C0-4B44-856C-1F2DC2C9A637.jpg 1000w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/14A89E64-E2C0-4B44-856C-1F2DC2C9A637-300x164.jpg 300w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/14A89E64-E2C0-4B44-856C-1F2DC2C9A637-768x419.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="1000" height="545" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/3BDF0CA8-4E2F-4557-B354-8D671446693D.jpg" alt="" class="wp-image-4481" style="aspect-ratio:1.8349062238681162;width:607px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/3BDF0CA8-4E2F-4557-B354-8D671446693D.jpg 1000w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/3BDF0CA8-4E2F-4557-B354-8D671446693D-300x164.jpg 300w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/3BDF0CA8-4E2F-4557-B354-8D671446693D-768x419.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph"><span class="fz-24px"><span class="fz-28px">👉 <strong>notをつけるだけ！</strong></span></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">💡 ポイント</span></strong></p>



<p class="wp-block-paragraph">普通の文👇<br>👉 You are happy.</p>



<p class="wp-block-paragraph">否定文👇<br>👉 You are not happy.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong><span class="fz-24px">🔥 まとめ</span></strong></p>



<p class="wp-block-paragraph"><span class="fz-28px"><span class="fz-24px">👉 <strong><span class="marker-under">be動詞<span class="fz-24px"><strong>（is am are）</strong></span>のあとにnotをつける</span></strong></span></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🧠 よくある間違い</h1>



<p class="wp-block-paragraph">❌ You happy are?<br>❌ You not are happy</p>



<p class="wp-block-paragraph">👉 並び替えミスが多い！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">💡 コツ</h1>



<p class="wp-block-paragraph"><span class="fz-24px">👉 <strong>be動詞に注目するだけ</strong></span></p>



<p class="wp-block-paragraph"><strong>・前に出す<br>・後ろにnotつける</strong></p>



<p class="wp-block-paragraph">👉 これだけ意識すればOK</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎉 まとめ</h1>



<p class="wp-block-paragraph">英語の疑問文と否定文は👇</p>



<p class="wp-block-paragraph">👉 意味から考えると超シンプル</p>



<p class="wp-block-paragraph"><strong>✔ 疑問文＝聞く<br>✔ 否定文＝ちがう</strong></p>



<p class="wp-block-paragraph">そして👇</p>



<p class="wp-block-paragraph"><strong><span class="fz-28px">👉 作り方はたった2つ</span></strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="is-style-sticky-yellow has-box-style wp-block-paragraph"><span style="" class="fz-24px"><b>・疑問文</b></span>→<span class="fz-24px"><strong>be動詞</strong></span><strong><span class="fz-24px">を<span class="marker-under-red">前に出す</span></span></strong><br><strong><span class="fz-24px">・<strong> 否定文</strong></span></strong>→<span class="fz-24px"><strong>be動詞</strong></span><strong><span class="fz-24px">のうしろに<span class="marker-under-red">notつける</span></span></strong></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="1000" height="667" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/a4463b396c25ca2f78713afa8f7a0737.jpg" alt="" class="wp-image-4490" style="aspect-ratio:1.4992854967554525;width:561px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/a4463b396c25ca2f78713afa8f7a0737.jpg 1000w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/a4463b396c25ca2f78713afa8f7a0737-300x200.jpg 300w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/a4463b396c25ca2f78713afa8f7a0737-768x512.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<style>
.tacota-quiz {
  text-align: center;
  font-family: "Arial", sans-serif;
  background: linear-gradient(180deg, #fff8dc, #fff2b8);
  border-radius: 18px;
  padding: 18px 12px;
  max-width: 860px;
  margin: 20px auto;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.tacota-quiz h3 {
  font-size: 28px;
  margin: 0 0 8px;
  color: #0f6f6f;
}

#question {
  font-size: 24px;
  margin: 10px 0 14px;
  font-weight: 900;
  color: #444;
}

.answer-slots {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 18px;
}

.answer-slot {
  min-width: 90px;
  min-height: 54px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 2px dashed #f1b9cf;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: #333;
  box-sizing: border-box;
}

.answer-slot.filled {
  border-style: solid;
  background: #fff7fb;
}

#choices {
  margin: 8px 0 10px;
}

.word-btn {
  font-size: 22px;
  margin: 6px;
  padding: 12px 16px;
  border-radius: 14px;
  border: none;
  background: #ffd6e7;
  cursor: pointer;
  font-weight: 900;
  box-shadow: 0 3px 0 rgba(0,0,0,.08);
}

.word-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.action-row {
  margin-top: 14px;
}

.action-btn {
  font-size: 20px;
  margin: 8px 6px;
  padding: 12px 18px;
  border-radius: 14px;
  border: none;
  background: #a0e7e5;
  cursor: pointer;
  font-weight: 900;
  box-shadow: 0 3px 0 rgba(0,0,0,.08);
}

.action-btn.primary {
  background: #7fd6d3;
}

.action-btn.clear {
  background: #ffd9a8;
}

#result {
  font-size: 24px;
  margin-top: 14px;
  min-height: 34px;
  font-weight: 900;
}

@media (max-width: 640px) {
  .tacota-quiz h3 {
    font-size: 24px;
  }

  #question {
    font-size: 22px;
  }

  .answer-slot {
    min-width: 76px;
    min-height: 50px;
    font-size: 20px;
    padding: 6px 8px;
  }

  .word-btn {
    font-size: 20px;
    padding: 10px 12px;
  }

  .action-btn {
    font-size: 18px;
    padding: 10px 14px;
  }

  #result {
    font-size: 22px;
  }
}
</style>

<div class="tacota-quiz">
  <h3><span id="toc5">🐙 タコタの並び替えクイズ</span></h3>

  <p id="question"></p>

  <div id="answerSlots" class="answer-slots"></div>

  <div id="choices"></div>

  <div class="action-row">
    <button class="action-btn primary" onclick="checkAnswer()">答えをチェック！</button>
    <button class="action-btn clear" onclick="clearAnswer()">クリア</button>
    <button class="action-btn" onclick="nextQuiz()">👉 次の問題</button>
  </div>

  <p id="result"></p>
</div>

<script>
const quizzes = [
  {
    question: "疑問文にしよう",
    words: ["I", "am", "happy", "?"],
    answer: "Am I happy?"
  },
  {
    question: "否定文にしよう",
    words: ["I", "am", "not", "happy"],
    answer: "I am not happy."
  },
  {
    question: "疑問文にしよう",
    words: ["you", "are", "busy", "?"],
    answer: "Are you busy?"
  },
  {
    question: "否定文にしよう",
    words: ["you", "are", "not", "busy"],
    answer: "You are not busy."
  },
  {
    question: "疑問文にしよう",
    words: ["they", "are", "students", "?"],
    answer: "Are they students?"
  },
  {
    question: "否定文にしよう",
    words: ["they", "are", "not", "students"],
    answer: "They are not students."
  },
  {
    question: "疑問文にしよう",
    words: ["he", "is", "kind", "?"],
    answer: "Is he kind?"
  },
  {
    question: "否定文にしよう",
    words: ["he", "is", "not", "kind"],
    answer: "He is not kind."
  },
  {
    question: "疑問文にしよう",
    words: ["she", "is", "a teacher", "?"],
    answer: "Is she a teacher?"
  },
  {
    question: "否定文にしよう",
    words: ["she", "is", "not", "a teacher"],
    answer: "She is not a teacher."
  },
  {
    question: "疑問文にしよう",
    words: ["it", "is", "hot", "?"],
    answer: "Is it hot?"
  },
  {
    question: "否定文にしよう",
    words: ["it", "is", "not", "hot"],
    answer: "It is not hot."
  }
];

let currentQuiz = {};
let selectedWords = [];
let currentButtons = [];

function shuffle(array) {
  const arr = [...array];
  for (let i = arr.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [arr[i], arr[j]] = [arr[j], arr[i]];
  }
  return arr;
}

function buildSlots(count) {
  const slots = document.getElementById("answerSlots");
  slots.innerHTML = "";
  for (let i = 0; i < count; i++) {
    const div = document.createElement("div");
    div.className = "answer-slot";
    div.id = `slot-${i}`;
    slots.appendChild(div);
  }
}

function renderSlots() {
  for (let i = 0; i < currentQuiz.words.length; i++) {
    const slot = document.getElementById(`slot-${i}`);
    const word = selectedWords[i] || "";
    slot.textContent = word;
    slot.classList.toggle("filled", !!word);
  }
}

function loadQuiz() {
  currentQuiz = quizzes[Math.floor(Math.random() * quizzes.length)];
  selectedWords = [];

  document.getElementById("question").innerText = currentQuiz.question;
  document.getElementById("result").innerText = "";

  buildSlots(currentQuiz.words.length);
  renderSlots();

  const shuffled = shuffle(currentQuiz.words);
  const choices = document.getElementById("choices");
  choices.innerHTML = "";

  currentButtons = shuffled.map((word, index) => {
    const btn = document.createElement("button");
    btn.className = "word-btn";
    btn.textContent = word;
    btn.type = "button";
    btn.dataset.word = word;
    btn.dataset.index = index;
    btn.addEventListener("click", () => selectWord(word, btn));
    choices.appendChild(btn);
    return btn;
  });
}

function selectWord(word, btn) {
  if (selectedWords.length >= currentQuiz.words.length) return;

  selectedWords.push(word);
  btn.disabled = true;
  renderSlots();
}

function clearAnswer() {
  selectedWords = [];
  renderSlots();
  document.getElementById("result").innerText = "";

  currentButtons.forEach(btn => {
    btn.disabled = false;
  });
}

function normalizeSentence(text) {
  return text
    .replace(/[?.]/g, "")   // ? と . を無視
    .replace(/\s+/g, " ")
    .trim()
    .toLowerCase();
}

function checkAnswer() {
  if (selectedWords.length !== currentQuiz.words.length) {
    document.getElementById("result").innerHTML = "⚠️ まだ ぜんぶ はいってないよ";
    return;
  }

  const user = selectedWords.join(" ");
  const correct = currentQuiz.answer;

  if (normalizeSentence(user) === normalizeSentence(correct)) {
    document.getElementById("result").innerHTML = "⭕️ 正解！✨";
    setTimeout(nextQuiz, 1000);
  } else {
    document.getElementById("result").innerHTML = "❌ もう一回！";
  }
}

function nextQuiz() {
  loadQuiz();
}

loadQuiz();
</script>



<!-- =========================================
🐙 シリーズナビ（前・次・一覧）
========================================= -->
<div class="takota-series-nav">

  <!-- 前へ -->
  <a class="nav-btn prev" href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a1%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af%e3%81%93%e3%82%8c%e3%81%a0/">
    ⬅ 前のレッスン
  </a>

  <!-- 一覧 -->
  <a class="nav-btn list" href="https://jouniorsankosodate.com/rule/">
    📚 一覧に戻る
  </a>

  <!-- 次へ -->
  <a class="nav-btn next" href="https://jouniorsankosodate.com/%f0%9f%90%99%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a3%e3%80%91%e4%b8%80%e8%88%ac%e5%8b%95%e8%a9%9e/">
    次のレッスン ➡
  </a>

</div>

<style>
.takota-series-nav{
  display:flex;
  gap:10px;
  margin:30px 0;
  flex-wrap:wrap;
}

.nav-btn{
  flex:1;
  text-align:center;
  padding:12px;
  border-radius:14px;
  font-weight:bold;
  text-decoration:none;
  font-size:14px;
  transition:.2s;
  box-shadow:0 4px 8px rgba(0,0,0,0.08);
}

/* 前 */
.nav-btn.prev{
  background:#e0f2fe;
  color:#0369a1;
}

/* 一覧 */
.nav-btn.list{
  background:#fff7ed;
  color:#c2410c;
}

/* 次 */
.nav-btn.next{
  background:#ffe4e6;
  color:#be123c;
}

.nav-btn:hover{
  transform:translateY(-2px);
}
</style>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a2%e3%80%91be%e5%8b%95%e8%a9%9e%e3%81%ae%e7%96%91%e5%95%8f/">🐙【タコタの英文ルール 完全理解③】be動詞の疑問文と否定文</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e6%96%87%e3%83%ab%e3%83%bc%e3%83%ab-%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a2%e3%80%91be%e5%8b%95%e8%a9%9e%e3%81%ae%e7%96%91%e5%95%8f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】まとめ｜超初級の英語フレーズ一覧</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-index/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-index/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 03:36:39 +0000</pubDate>
				<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃暗記]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[＃英検]]></category>
		<category><![CDATA[＃英語教育]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=4432</guid>

					<description><![CDATA[<p>🐙タコタの はじめてのえいごレッスン【フレーズ】をまとめて見られるページです。 あさ・ひる・よる・あそび・お願いなど、子どもが使いやすい やさしい英語フレーズ を1つずつ練習できます✨ 「どこから見たらいい？」というとき [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-index/">🐙タコタの はじめてのえいごレッスン【フレーズ】まとめ｜超初級の英語フレーズ一覧</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">🐙タコタの はじめてのえいごレッスン【フレーズ】を<br>まとめて見られるページです。</p>



<p class="wp-block-paragraph">あさ・ひる・よる・あそび・お願いなど、<br>子どもが使いやすい <strong>やさしい英語フレーズ</strong> を<br>1つずつ練習できます✨</p>



<p class="wp-block-paragraph">「どこから見たらいい？」というときは、<br>下の一覧から好きなレッスンをえらんでね💛</p>



<p class="wp-block-paragraph"><strong>🔥 はじめての人はここから</strong></p>



<p class="wp-block-paragraph"><a href="/super-beginner-phrase-01/">👉 ① あさ</a><br><a href="/super-beginner-phrase-02/">👉 ② ひる</a></p>



<p class="wp-block-paragraph"><strong>📘 レッスンいちらん</strong></p>



<!-- =========================
🐙 フレーズまとめ｜かわいい強化版
========================= -->

<div class="sbpi-wrap">

  <h1 class="sbpi-title">🐙 タコタの はじめてのえいごレッスン</h1>

  <p class="sbpi-lead">
    えいごのフレーズを 1つずつ れんしゅうできるよ🌈<br>
    したから すきなレッスンを えらんでね💛
  </p>

  <!-- ===== レッスン一覧 ===== -->
  <div class="sbpi-box">
    <h2 class="sbpi-heading"><span id="toc1">📘 レッスンいちらん</span></h2>

    <div class="sbpi-grid">

      <a href="/super-beginner-phrase-01/" class="sbpi-card c1">
        <span class="num">①</span>
        <span class="text">あさ</span>
      </a>

      <a href="/super-beginner-phrase-02/" class="sbpi-card c2">
        <span class="num">②</span>
        <span class="text">ひる（がっこう）</span>
      </a>

      <a href="/super-beginner-phrase-03/" class="sbpi-card c3">
        <span class="num">③</span>
        <span class="text">ゆうがた</span>
      </a>

      <a href="/super-beginner-phrase-04/" class="sbpi-card c4">
        <span class="num">④</span>
        <span class="text">よる</span>
      </a>

      <a href="/super-beginner-phrase-05/" class="sbpi-card c5">
        <span class="num">⑤</span>
        <span class="text">あそび①</span>
      </a>

      <a href="/super-beginner-phrase-06/" class="sbpi-card c6">
        <span class="num">⑥</span>
        <span class="text">あそび②</span>
      </a>

      <a href="/super-beginner-phrase-07/" class="sbpi-card c7">
        <span class="num">⑦</span>
        <span class="text">お願い・声かけ</span>
      </a>

      <a href="/super-beginner-phrase-08/" class="sbpi-card c8">
        <span class="num">⑧</span>
        <span class="text">つぎのレッスン</span>
      </a>

    </div>
  </div>

  <!-- ===== つかいかた ===== -->
  <div class="sbpi-box howto">
    <h2 class="sbpi-heading"><span id="toc2">✨ つかいかた</span></h2>

    <ul class="sbpi-list">
      <li>🔊 きく → えいごの おとを きこう</li>
      <li>✅ こたえ → にほんごの いみを みよう</li>
      <li>🙈 えいぶんをかくす → おもいだして よんでみよう</li>
      <li>🖼️ えをかくす → えいごだけで ちょうせん</li>
      <li>🔀 シャッフル → じゅんばんを かえて れんしゅう</li>
    </ul>

  </div>

</div>

<style>
.sbpi-wrap{
  max-width:900px;
  margin:auto;
  padding:12px;
  font-family:"Hiragino Kaku Gothic ProN",sans-serif;
}

/* タイトル */
.sbpi-title{
  font-size:26px;
  font-weight:900;
  color:#ff6b6b;
  text-align:center;
}

.sbpi-lead{
  text-align:center;
  font-size:15px;
  margin:10px 0 20px;
}

/* ボックス */
.sbpi-box{
  background:#fff6d6;
  border-radius:18px;
  padding:15px;
  margin-bottom:20px;
  box-shadow:0 6px 16px rgba(0,0,0,0.08);
}

/* 見出し */
.sbpi-heading{
  font-size:18px;
  font-weight:900;
  margin-bottom:12px;
  color:#ff8fab;
}

/* グリッド */
.sbpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
}

/* カード */
.sbpi-card{
  display:block;
  text-align:center;
  padding:14px 10px;
  border-radius:16px;
  text-decoration:none;
  font-weight:800;
  color:#333;
  transition:0.2s;
  box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

.sbpi-card:hover{
  transform:translateY(-3px) scale(1.03);
}

/* カラーバリエーション */
.c1{background:#ffe4e1;}
.c2{background:#e0f7fa;}
.c3{background:#e6ffe6;}
.c4{background:#fff0cc;}
.c5{background:#e8e4ff;}
.c6{background:#dff5ff;}
.c7{background:#ffe6f2;}
.c8{background:#f0f0f0;}

.num{
  font-size:18px;
  display:block;
  color:#ff6b6b;
}

.text{
  margin-top:6px;
  font-size:14px;
}

/* つかいかた */
.sbpi-list{
  padding-left:18px;
  line-height:1.8;
  font-weight:700;
}

.howto{
  background:#fff0f6;
}
</style>



<p class="wp-block-paragraph">📱 インスタでも発信中✨<br>👉 スキマ時間にサクッと英語チェックできるよ</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-index/">🐙タコタの はじめてのえいごレッスン【フレーズ】まとめ｜超初級の英語フレーズ一覧</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-index/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙【タコタの英語ルール完全理解①】英語は2種類だけ｜be動詞と一般動詞の見分け方</title>
		<link>https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a0%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af2%e7%a8%ae%e9%a1%9e%e3%81%a0/</link>
					<comments>https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a0%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af2%e7%a8%ae%e9%a1%9e%e3%81%a0/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 15:10:35 +0000</pubDate>
				<category><![CDATA[🐙タコタの英文ルール📖]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃わかりやすい]]></category>
		<category><![CDATA[#文法]]></category>
		<category><![CDATA[＃英語]]></category>
		<category><![CDATA[＃解説]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=4411</guid>

					<description><![CDATA[<p>🧠 英文のルール 英語はこの順番 👉 だれが → (どうする / どんな状態) → なにを 日本語とは少し順番がちがいます。 🎯 日本語とのちがい 日本語👉 私は ランチを 食べる 英語👉 私は 食べる ランチを 👉英語 [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a0%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af2%e7%a8%ae%e9%a1%9e%e3%81%a0/">🐙【タコタの英語ルール完全理解①】英語は2種類だけ｜be動詞と一般動詞の見分け方</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong><span class="fz-28px"><span class="fz-32px"><span class="fz-36px">🧠 英文のルール</span></span></span></strong></p>



<p class="wp-block-paragraph">英語はこの順番</p>



<p class="wp-block-paragraph"><span class="fz-22px">👉 <strong>だれが → (<span class="marker-under-blue">どうする </span>/ <span class="marker-under-red">どんな状態</span>) → なにを</strong></span></p>



<p class="wp-block-paragraph">日本語とは少し順番がちがいます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 日本語とのちがい</h1>



<p class="wp-block-paragraph">日本語<br><span class="fz-24px">👉 私は <strong>ランチを <span class="marker-under-red">食べる</span></strong></span></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">英語<br><span class="fz-24px">👉 私は<span class="marker-under-blue"> <strong>食べる</strong></span><strong> ランチを</strong></span></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">👉英語は<br><strong><span class="fz-22px">動き（動詞）が先にくる！</span></strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🧠 文のカギはここ</h1>



<p class="wp-block-paragraph"><span class="fz-22px">👉この「<strong><span class="marker-under-blue">どうする</span> / <span class="marker-under-red">状態</span></strong>」の部分</span></p>



<p class="wp-block-paragraph">ここが英語ではとても大事！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🧠 英語は2種類しかない</h1>



<p class="wp-block-paragraph">👉この部分は2つに分かれる</p>



<p class="wp-block-paragraph"><span class="fz-24px">🟦 動いている → <strong>一般動詞</strong><br>🟥 動いていない（説明） → <strong>be動詞</strong></span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 この2つで文が決まる！</h1>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="874" height="1024" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222020_0-874x1024.jpg" alt="" class="wp-image-4412" style="aspect-ratio:0.853539438145667;width:463px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222020_0-874x1024.jpg 874w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222020_0-256x300.jpg 256w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222020_0-768x900.jpg 768w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222020_0.jpg 1000w" sizes="(max-width: 874px) 100vw, 874px" /></figure>



<p class="wp-block-paragraph">👉どっちを使うかで<br>👉文の作り方が変わります</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🟥 be動詞の文（説明）</h1>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="683" height="1024" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222022_0-683x1024.jpg" alt="" class="wp-image-4413" style="aspect-ratio:0.6670074618894297;width:419px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222022_0-683x1024.jpg 683w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222022_0-200x300.jpg 200w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222022_0-768x1152.jpg 768w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222022_0.jpg 1000w" sizes="(max-width: 683px) 100vw, 683px" /></figure>



<p class="wp-block-paragraph"><strong><span class="fz-22px"><span class="fz-20px">👉動いていない。○○です</span>。</span></strong></p>



<ul class="wp-block-list">
<li>I am Tacota.<br>（わたしは タコタ<span class="marker-under-red">です</span>）</li>



<li>I am 7 years old.<br>（わたしは 7さい<span class="marker-under-red">です</span>）</li>



<li>I am a student.<br>（わたしは 学生<span class="marker-under-red">です</span>）</li>



<li>I am in Osaka.<br>（わたしは 大阪<span class="marker-under-red">にいます</span>）</li>
</ul>



<!-- =========================
🐙 be動詞　自己紹介
完成コピペ版（4枚）
・絵フラッシュ
・🔊音声ヒント（英語・女性音声優先）
・✅こたえをみる（英文のすぐ下に表示）
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜自己紹介">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ①｜自己紹介</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえをみる」で いみを かくにん！<br>
      さらに <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">① 自己紹介フレーズ</span>
      <span class="sbp-progress" id="sbpProg">1 / 4</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">I am Tacota.</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <!-- こたえは英文のすぐ下 -->
      <div class="sbp-ans" id="sbpAns" aria-live="polite"></div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶん</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょ</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="super-beginner-phrase-index.html">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="super-beginner-phrase-02.html">▶ つぎ</a>
    </div>
  </section>
</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }

  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 12px 10px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(26px, 4.6vw, 40px);
    line-height: 1.15;
    user-select: none;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .sbp-ans{
    text-align:center;
    margin-top: 8px;
    margin-bottom: 4px;
    font-weight: 1000;
    color:#6b6b6b;
    min-height: 22px;
    font-size: 18px;
    line-height: 1.5;
  }
  .sbp-ans.show{ color:#0f6f6f; }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    {
      en:"I am Tacota.",
      jp:"わたしは タコタです",
      img:"https://jouniorsankosodate.com/wp-content/uploads/2026/03/335daa900d24653f14936fbc8864227c.jpg"
    },
    {
      en:"I am 7 years old.",
      jp:"わたしは 7さいです",
      img:"https://jouniorsankosodate.com/wp-content/uploads/2026/03/c832ae9005286fffa0c80f62b6c1b49d.jpg"
    },
    {
      en:"I am a student.",
      jp:"わたしは がくせいです",
      img:"https://jouniorsankosodate.com/wp-content/uploads/2026/03/6d1fe17f0b556fd27023b03cb7f3d000.jpg"
    },
    {
      en:"I am in Osaka.",
      jp:"わたしは おおさかに います",
      img:"https://jouniorsankosodate.com/wp-content/uploads/2026/03/6a35144cec10e14765fdc187c75a510e.jpg"
    }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const ans = document.getElementById("sbpAns");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  function loadVoices() {
    return new Promise((resolve) => {
      let voices = window.speechSynthesis.getVoices();
      if (voices.length) {
        resolve(voices);
        return;
      }

      const onVoicesChanged = () => {
        voices = window.speechSynthesis.getVoices();
        if (voices.length) {
          window.speechSynthesis.removeEventListener("voiceschanged", onVoicesChanged);
          resolve(voices);
        }
      };

      window.speechSynthesis.addEventListener("voiceschanged", onVoicesChanged);

      setTimeout(() => {
        resolve(window.speechSynthesis.getVoices());
      }, 500);
    });
  }

  function pickBestEnglishVoice(voices) {
    if (!voices || !voices.length) return null;

    const femaleHints = [
      "female","woman","samantha","karen","serena","moira",
      "ava","allison","susan","victoria","zira","hazel"
    ];

    const englishVoices = voices.filter(v =>
      /^en(-|_)?/i.test(v.lang) || /english/i.test(v.name)
    );

    const britishFemale = englishVoices.find(v =>
      /(en-GB|en_GB)/i.test(v.lang) &&
      femaleHints.some(h => v.name.toLowerCase().includes(h))
    );
    if (britishFemale) return britishFemale;

    const femaleEnglish = englishVoices.find(v =>
      femaleHints.some(h => v.name.toLowerCase().includes(h))
    );
    if (femaleEnglish) return femaleEnglish;

    const britishAny = englishVoices.find(v =>
      /(en-GB|en_GB)/i.test(v.lang)
    );
    if (britishAny) return britishAny;

    return englishVoices[0] || voices[0];
  }

  async function speak(text){
    if(!window.speechSynthesis) return;

    window.speechSynthesis.cancel();

    const voices = await loadVoices();
    const voice = pickBestEnglishVoice(voices);

    const u = new SpeechSynthesisUtterance(text);
    u.lang = voice?.lang || "en-GB";
    u.voice = voice || null;
    u.rate = 0.82;
    u.pitch = 1.05;
    u.volume = 1;

    window.speechSynthesis.speak(u);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;

    ans.textContent = "";
    ans.className = "sbp-ans";
    ansShown = false;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      render();
    }
  });

  btnSpeak.addEventListener("click", async () => {
    await speak(cards[order[i]].en);
  });

  btnAns.addEventListener("click", () => {
    const c = cards[order[i]];
    ansShown = !ansShown;
    if(ansShown){
      ans.textContent = `👉 ${c.jp}`;
      ans.classList.add("show");
    }else{
      ans.textContent = "";
      ans.classList.remove("show");
    }
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    render();
  });

  loadVoices();
  render();
})();
</script>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🟦 一般動詞の文（動き）</h1>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="683" height="1024" src="https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222021_0-683x1024.jpg" alt="" class="wp-image-4414" style="aspect-ratio:0.6670074618894297;width:396px;height:auto" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222021_0-683x1024.jpg 683w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222021_0-200x300.jpg 200w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222021_0-768x1152.jpg 768w, https://jouniorsankosodate.com/wp-content/uploads/2026/03/S__155222021_0.jpg 1000w" sizes="(max-width: 683px) 100vw, 683px" /></figure>



<p class="wp-block-paragraph"><strong><span class="fz-22px">👉実際にやっていること。</span><span class="fz-24px"><span class="fz-22px">（動いている）</span></span></strong></p>



<ul class="wp-block-list">
<li>I eat lunch.<br>（わたしは ランチを<span class="marker-under-blue"> たべます</span>）</li>



<li>I play games.<br>（わたしは ゲームを<span class="marker-under-blue">します</span>）</li>
</ul>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://jouniorsankosodate.com/super-beginner-phrase-01/" title="🐙タコタの はじめてのえいごレッスン【フレーズ】｜①" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://jouniorsankosodate.com/wp-content/uploads/2026/01/1333858183a7727144f1c4eec39936ae-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://jouniorsankosodate.com/wp-content/uploads/2026/01/1333858183a7727144f1c4eec39936ae-160x90.jpg 160w, https://jouniorsankosodate.com/wp-content/uploads/2026/01/1333858183a7727144f1c4eec39936ae-120x68.jpg 120w, https://jouniorsankosodate.com/wp-content/uploads/2026/01/1333858183a7727144f1c4eec39936ae-320x180.jpg 320w, https://jouniorsankosodate.com/wp-content/uploads/2026/01/1333858183a7727144f1c4eec39936ae-382x215.jpg 382w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">🐙タコタの はじめてのえいごレッスン【フレーズ】｜①</div><div class="blogcard-snippet internal-blogcard-snippet">🐙 はじめての えいごフレーズ①｜あさ このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。 「え...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://jouniorsankosodate.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">jouniorsankosodate.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.01.29</div></div></div></div></a>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">🎯 まとめ</h1>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="is-style-sticky-yellow has-box-style wp-block-paragraph">👉英語はこれだけ<br><br>英語はこの順番<br><br><span class="fz-22px"><strong>だれが → (<span class="marker-under-blue">どうする </span>/ <span class="marker-under-red">どんな状態</span>) → なにを</strong></span><br><br>🔑文のカギは<span class="fz-22px">「<strong><span class="marker-under-blue">どうする</span> / <span class="marker-under-red">状態</span></strong>」</span>🔑<br><br><strong><span class="fz-22px">① 動いている → 一般動詞<br>② 動いていない → be動詞</span></strong><br><br><span class="fz-24px">👉この2つを見分けるだけ！</span><br></p>
</blockquote>



<p class="wp-block-paragraph"></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">✏️ 自分でつくってみよう！</h1>



<ul class="wp-block-list">
<li>I am ______（なまえ）.</li>



<li>I am ______（すうじ） years old.</li>



<li>I am in ______（ばしょ）.</li>



<li>I like  ______（好きなことをいってみよう）.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<!-- =========================================
🐙 シリーズナビ（前・次・一覧）
========================================= -->
<div class="takota-series-nav">

  <!-- 前へ -->
  <a class="nav-btn prev" href="前の記事URL">
    ⬅ 前のレッスン
  </a>

  <!-- 一覧 -->
  <a class="nav-btn list" href="https://jouniorsankosodate.com/rule/">
    📚 一覧に戻る
  </a>

  <!-- 次へ -->
  <a class="nav-btn next" href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a1%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af%e3%81%93%e3%82%8c%e3%81%a0/">
    次のレッスン ➡
  </a>

</div>

<style>
.takota-series-nav{
  display:flex;
  gap:10px;
  margin:30px 0;
  flex-wrap:wrap;
}

.nav-btn{
  flex:1;
  text-align:center;
  padding:12px;
  border-radius:14px;
  font-weight:bold;
  text-decoration:none;
  font-size:14px;
  transition:.2s;
  box-shadow:0 4px 8px rgba(0,0,0,0.08);
}

/* 前 */
.nav-btn.prev{
  background:#e0f2fe;
  color:#0369a1;
}

/* 一覧 */
.nav-btn.list{
  background:#fff7ed;
  color:#c2410c;
}

/* 次 */
.nav-btn.next{
  background:#ffe4e6;
  color:#be123c;
}

.nav-btn:hover{
  transform:translateY(-2px);
}
</style>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a0%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af2%e7%a8%ae%e9%a1%9e%e3%81%a0/">🐙【タコタの英語ルール完全理解①】英語は2種類だけ｜be動詞と一般動詞の見分け方</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/%e3%80%90%e3%82%bf%e3%82%b3%e3%82%bf%e3%81%ae%e8%8b%b1%e8%aa%9e%e3%83%ab%e3%83%bc%e3%83%ab%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%e2%91%a0%e3%80%91%e8%8b%b1%e8%aa%9e%e3%81%af2%e7%a8%ae%e9%a1%9e%e3%81%a0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑦</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-07/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-07/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 03:56:15 +0000</pubDate>
				<category><![CDATA[👧英語学習]]></category>
		<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#英単語]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=3416</guid>

					<description><![CDATA[<p>🐙 はじめての えいごフレーズ⑦｜お願い・声かけ このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが えいぶん [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-07/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑦</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!-- =========================
🐙 はじめての えいごフレーズ⑦｜お願い・声かけ（Please / Help / Wait）
super-beginner-phrase-07（修正版）
・絵フラッシュ（5枚）
・🔊音声ヒント（英国英語女性優先）
・✅こたえをおすと、日本語訳が英文のすぐ下に表示
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
・下：📘一覧へ／▶つぎへ
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜お願い・声かけ">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ⑦｜お願い・声かけ</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。<br>
      さらに <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">⑦ おねがい</span>
      <span class="sbp-progress" id="sbpProg">1 / 5</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">Please help me.</div>
        <div id="sbpJp" class="sbp-jp is-hidden">たすけて</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶんをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょから</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="/super-beginner-phrase-index/">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="/super-beginner-phrase-01/">▶ はじめから</a>
    </div>
  </section>

</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }

  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 12px 10px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(24px, 4.3vw, 38px);
    line-height: 1.15;
    user-select: none;
  }
  .sbp-jp{
    text-align:center;
    margin-top: 8px;
    font-weight: 900;
    color:#5e5e5e;
    font-size: clamp(16px, 3.2vw, 22px);
    line-height: 1.4;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{ opacity:.45; cursor:not-allowed; }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    { en:"Please help me.",    jp:"たすけて",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/02/1.webp" },
    { en:"Wait, please.",      jp:"まって ください",   img:"https://jouniorsankosodate.com/wp-content/uploads/2026/02/2.webp" },
    { en:"Go ahead.",          jp:"どうぞ",           img:"https://jouniorsankosodate.com/wp-content/uploads/2026/02/3.webp" },
    { en:"Come here, please.", jp:"こっちに きて",     img:"https://jouniorsankosodate.com/wp-content/uploads/2026/02/4.webp" },
    { en:"Thank you.",         jp:"ありがとう",       img:"https://jouniorsankosodate.com/wp-content/uploads/2026/02/5.webp" }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const jp  = document.getElementById("sbpJp");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  let voicesReady = false;
  let preferredVoice = null;

  function pickBestVoice() {
    const voices = window.speechSynthesis ? window.speechSynthesis.getVoices() : [];
    if (!voices || !voices.length) return null;

    const femaleHints = /(female|samantha|serena|karen|susan|victoria|zira|hazel|libby|aria|siri)/i;

    return (
      voices.find(v => /^en-GB/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang) && /google uk english female/i.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang)) ||
      voices.find(v => /^en/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en/i.test(v.lang)) ||
      null
    );
  }

  function loadVoices() {
    preferredVoice = pickBestVoice();
    voicesReady = true;
  }

  if ("speechSynthesis" in window) {
    loadVoices();
    window.speechSynthesis.onvoiceschanged = loadVoices;
  }

  function speak(text){
    if(!("speechSynthesis" in window)) return;

    window.speechSynthesis.cancel();

    const utter = new SpeechSynthesisUtterance(text);
    utter.lang = "en-GB";
    utter.rate = 0.9;
    utter.pitch = 1.0;
    utter.volume = 1;

    if (!voicesReady) loadVoices();
    if (preferredVoice) utter.voice = preferredVoice;

    window.speechSynthesis.speak(utter);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;
    jp.textContent = c.jp;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);
    jp.classList.toggle("is-hidden", !ansShown);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      ansShown = false;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      ansShown = false;
      render();
    }
  });

  btnSpeak.addEventListener("click", () => speak(cards[order[i]].en));

  btnAns.addEventListener("click", () => {
    ansShown = !ansShown;
    render();
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    ansShown = false;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    hiddenEn = false;
    hiddenImg = false;
    ansShown = false;
    render();
  });

  render();
})();
</script>



<p class="wp-block-paragraph"><a href="https://blogmura.com/profiles/11199271?p_cid=11199271"></a></p>



<a href="https://blogmura.com/profiles/11199271?p_cid=11199271"><img decoding="async" src="https://blogparts.blogmura.com/parts_image/user/pv11199271.gif" alt="PVアクセスランキング にほんブログ村" /></a>



<p class="wp-block-paragraph">アプリやったよ！の応援クリック嬉しいです👇</p>



<a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank"><img decoding="async" src="https://b.blogmura.com/original/1411684" width="240" height="240" border="0" alt="にほんブログ村 にほんブログ村へ" /></a><br /><a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank">にほんブログ村</a>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-07/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑦</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-07/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑥</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-06/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-06/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 02:53:08 +0000</pubDate>
				<category><![CDATA[👧英語学習]]></category>
		<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#英単語]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=3413</guid>

					<description><![CDATA[<p>🐙 はじめての えいごフレーズ⑤｜あそび①（ボール・動き） このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-06/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑥</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!-- =========================
🐙 はじめての えいごフレーズ⑤｜あそび①（ボール・動き）
super-beginner-phrase-05（修正版）
・絵フラッシュ（5枚）
・🔊音声ヒント（英国英語女性優先）
・✅こたえをおすと、日本語訳が英文のすぐ下に表示
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
・下：📘一覧へ／▶つぎへ
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜あそび①">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ⑤｜あそび①（ボール・動き）</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。<br>
      さらに <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">⑤ あそび①</span>
      <span class="sbp-progress" id="sbpProg">1 / 5</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">Look at me.</div>
        <div id="sbpJp" class="sbp-jp is-hidden">みて</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶんをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょから</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="/super-beginner-phrase-index/">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="/super-beginner-phrase-07/">▶ つぎのレッスンへ</a>
    </div>
  </section>

</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }
  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 14px 10px 12px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(26px, 4.6vw, 40px);
    line-height: 1.15;
    user-select: none;
  }
  .sbp-jp{
    text-align:center;
    margin-top: 8px;
    font-weight: 900;
    color:#5e5e5e;
    font-size: clamp(16px, 3.2vw, 22px);
    line-height: 1.4;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    { en:"Look at me.",       jp:"みて",                 img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/1-2.jpg" },
    { en:"Come here.",        jp:"こっちにきて",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/2-2.jpg" },
    { en:"I throw the ball.", jp:"ボールを なげる",       img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/3-2.jpg" },
    { en:"I catch the ball.", jp:"ボールを つかまえる",   img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/4-2.jpg" },
    { en:"I kick the ball.",  jp:"ボールを ける",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/5-2.jpg" }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const jp  = document.getElementById("sbpJp");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  let voicesReady = false;
  let preferredVoice = null;

  function pickBestVoice() {
    const voices = window.speechSynthesis ? window.speechSynthesis.getVoices() : [];
    if (!voices || !voices.length) return null;

    const femaleHints = /(female|samantha|serena|karen|susan|victoria|zira|hazel|libby|aria|siri)/i;

    return (
      voices.find(v => /^en-GB/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang) && /google uk english female/i.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang)) ||
      voices.find(v => /^en/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en/i.test(v.lang)) ||
      null
    );
  }

  function loadVoices() {
    preferredVoice = pickBestVoice();
    voicesReady = true;
  }

  if ("speechSynthesis" in window) {
    loadVoices();
    window.speechSynthesis.onvoiceschanged = loadVoices;
  }

  function speak(text){
    if(!("speechSynthesis" in window)) return;

    window.speechSynthesis.cancel();

    const utter = new SpeechSynthesisUtterance(text);
    utter.lang = "en-GB";
    utter.rate = 0.9;
    utter.pitch = 1.0;
    utter.volume = 1;

    if (!voicesReady) loadVoices();
    if (preferredVoice) utter.voice = preferredVoice;

    window.speechSynthesis.speak(utter);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;
    jp.textContent = c.jp;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);
    jp.classList.toggle("is-hidden", !ansShown);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      ansShown = false;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      ansShown = false;
      render();
    }
  });

  btnSpeak.addEventListener("click", () => speak(cards[order[i]].en));

  btnAns.addEventListener("click", () => {
    ansShown = !ansShown;
    render();
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    ansShown = false;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    hiddenEn = false;
    hiddenImg = false;
    ansShown = false;
    render();
  });

  render();
})();
</script>



<a href="https://blogmura.com/profiles/11199271?p_cid=11199271"><img decoding="async" src="https://blogparts.blogmura.com/parts_image/user/pv11199271.gif" alt="PVアクセスランキング にほんブログ村" /></a>



<p class="wp-block-paragraph">アプリやったよ！の応援クリック嬉しいです👇</p>



<a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank"><img decoding="async" src="https://b.blogmura.com/original/1411684" width="240" height="240" border="0" alt="にほんブログ村 にほんブログ村へ" /></a><br /><a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank">にほんブログ村</a>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-06/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑥</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-06/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑤</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-05/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-05/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 02:41:46 +0000</pubDate>
				<category><![CDATA[👧英語学習]]></category>
		<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#英単語]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=3407</guid>

					<description><![CDATA[<p>🐙 はじめての えいごフレーズ⑤｜あそび①（ボール・動き） このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-05/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑤</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!-- =========================
🐙 はじめての えいごフレーズ⑤｜あそび①（ボール・動き）
super-beginner-phrase-05（修正版）
・絵フラッシュ（5枚）
・🔊音声ヒント（英国英語女性優先）
・✅こたえをおすと、日本語訳が英文のすぐ下に表示
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
・下：📘一覧へ／▶つぎへ
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜あそび①">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ⑤｜あそび①（ボール・動き）</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。<br>
      さらに <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">⑤ あそび①</span>
      <span class="sbp-progress" id="sbpProg">1 / 5</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">Look at me.</div>
        <div id="sbpJp" class="sbp-jp is-hidden">みて</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶんをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょから</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="/super-beginner-phrase-index/">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="/super-beginner-phrase-06/">▶ つぎのレッスンへ</a>
    </div>
  </section>

</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }
  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 14px 10px 12px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(26px, 4.6vw, 40px);
    line-height: 1.15;
    user-select: none;
  }
  .sbp-jp{
    text-align:center;
    margin-top: 8px;
    font-weight: 900;
    color:#5e5e5e;
    font-size: clamp(16px, 3.2vw, 22px);
    line-height: 1.4;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    { en:"Look at me.",       jp:"みて",                 img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/1-2.jpg" },
    { en:"Come here.",        jp:"こっちにきて",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/2-2.jpg" },
    { en:"I throw the ball.", jp:"ボールを なげる",       img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/3-2.jpg" },
    { en:"I catch the ball.", jp:"ボールを つかまえる",   img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/4-2.jpg" },
    { en:"I kick the ball.",  jp:"ボールを ける",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/5-2.jpg" }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const jp  = document.getElementById("sbpJp");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  let voicesReady = false;
  let preferredVoice = null;

  function pickBestVoice() {
    const voices = window.speechSynthesis ? window.speechSynthesis.getVoices() : [];
    if (!voices || !voices.length) return null;

    const femaleHints = /(female|samantha|serena|karen|susan|victoria|zira|hazel|libby|aria|siri)/i;

    return (
      voices.find(v => /^en-GB/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang) && /google uk english female/i.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang)) ||
      voices.find(v => /^en/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en/i.test(v.lang)) ||
      null
    );
  }

  function loadVoices() {
    preferredVoice = pickBestVoice();
    voicesReady = true;
  }

  if ("speechSynthesis" in window) {
    loadVoices();
    window.speechSynthesis.onvoiceschanged = loadVoices;
  }

  function speak(text){
    if(!("speechSynthesis" in window)) return;

    window.speechSynthesis.cancel();

    const utter = new SpeechSynthesisUtterance(text);
    utter.lang = "en-GB";
    utter.rate = 0.9;
    utter.pitch = 1.0;
    utter.volume = 1;

    if (!voicesReady) loadVoices();
    if (preferredVoice) utter.voice = preferredVoice;

    window.speechSynthesis.speak(utter);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;
    jp.textContent = c.jp;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);
    jp.classList.toggle("is-hidden", !ansShown);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      ansShown = false;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      ansShown = false;
      render();
    }
  });

  btnSpeak.addEventListener("click", () => speak(cards[order[i]].en));

  btnAns.addEventListener("click", () => {
    ansShown = !ansShown;
    render();
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    ansShown = false;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    hiddenEn = false;
    hiddenImg = false;
    ansShown = false;
    render();
  });

  render();
})();
</script>



<a href="https://blogmura.com/profiles/11199271?p_cid=11199271"><img decoding="async" src="https://blogparts.blogmura.com/parts_image/user/pv11199271.gif" alt="PVアクセスランキング にほんブログ村" /></a>



<p class="wp-block-paragraph">アプリやったよ！の応援クリック嬉しいです👇</p>



<a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank"><img decoding="async" src="https://b.blogmura.com/original/1411684" width="240" height="240" border="0" alt="にほんブログ村 にほんブログ村へ" /></a><br /><a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank">にほんブログ村</a>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-05/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜⑤</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-05/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】｜④</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-04/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-04/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Fri, 30 Jan 2026 08:34:50 +0000</pubDate>
				<category><![CDATA[👧英語学習]]></category>
		<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃タコタシリーズ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#英単語]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=3360</guid>

					<description><![CDATA[<p>🐙 はじめての えいごフレーズ④｜よる（せいかつ） このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが えいぶ [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-04/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜④</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!-- =========================
🐙 はじめての えいごフレーズ④｜よる（せいかつ）
super-beginner-phrase-04（修正版）
・絵フラッシュ（7枚）
・🔊音声ヒント（英国英語女性優先）
・✅こたえをおすと、日本語訳が英文のすぐ下に表示
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
・下：📘一覧へ／▶つぎへ
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜よる">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ④｜よる（せいかつ）</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。<br>
      さらに <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">④ よる</span>
      <span class="sbp-progress" id="sbpProg">1 / 7</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">I eat dinner.</div>
        <div id="sbpJp" class="sbp-jp is-hidden">ばんごはんを たべる</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶんをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょから</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="/super-beginner-phrase-index/">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="/super-beginner-phrase-05/">▶ つぎのレッスンへ</a>
    </div>
  </section>

</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }
  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 14px 10px 12px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(26px, 4.6vw, 40px);
    line-height: 1.15;
    user-select: none;
  }
  .sbp-jp{
    text-align:center;
    margin-top: 8px;
    font-weight: 900;
    color:#5e5e5e;
    font-size: clamp(16px, 3.2vw, 22px);
    line-height: 1.4;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    { en:"I eat dinner.",     jp:"ばんごはんを たべる",   img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/1-1.jpg" },
    { en:"I take a bath.",    jp:"おふろに はいる",       img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/2-1.jpg" },
    { en:"I wash my hair.",   jp:"かみを あらう",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/3-1.jpg" },
    { en:"I wear pajamas.",   jp:"パジャマを きる",       img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/4-1.jpg" },
    { en:"I read a book.",    jp:"ほんを よむ",           img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/5-1.jpg" },
    { en:"I go to bed.",      jp:"ねる",                  img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/6-1.jpg" },
    { en:"I say good night.", jp:"おやすみを いう",        img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/7.jpg" }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const jp  = document.getElementById("sbpJp");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  let voicesReady = false;
  let preferredVoice = null;

  function pickBestVoice() {
    const voices = window.speechSynthesis ? window.speechSynthesis.getVoices() : [];
    if (!voices || !voices.length) return null;

    const femaleHints = /(female|samantha|serena|karen|susan|victoria|zira|hazel|libby|aria|siri)/i;

    return (
      voices.find(v => /^en-GB/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang) && /google uk english female/i.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang)) ||
      voices.find(v => /^en/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en/i.test(v.lang)) ||
      null
    );
  }

  function loadVoices() {
    preferredVoice = pickBestVoice();
    voicesReady = true;
  }

  if ("speechSynthesis" in window) {
    loadVoices();
    window.speechSynthesis.onvoiceschanged = loadVoices;
  }

  function speak(text){
    if(!("speechSynthesis" in window)) return;

    window.speechSynthesis.cancel();

    const utter = new SpeechSynthesisUtterance(text);
    utter.lang = "en-GB";
    utter.rate = 0.9;
    utter.pitch = 1.0;
    utter.volume = 1;

    if (!voicesReady) loadVoices();
    if (preferredVoice) utter.voice = preferredVoice;

    window.speechSynthesis.speak(utter);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;
    jp.textContent = c.jp;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);
    jp.classList.toggle("is-hidden", !ansShown);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      ansShown = false;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      ansShown = false;
      render();
    }
  });

  btnSpeak.addEventListener("click", () => speak(cards[order[i]].en));

  btnAns.addEventListener("click", () => {
    ansShown = !ansShown;
    render();
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    ansShown = false;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    hiddenEn = false;
    hiddenImg = false;
    ansShown = false;
    render();
  });

  render();
})();
</script>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-04/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜④</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】｜②</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-02/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-02/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Fri, 30 Jan 2026 08:15:55 +0000</pubDate>
				<category><![CDATA[👧英語学習]]></category>
		<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#英単語]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=3332</guid>

					<description><![CDATA[<p>🐙 はじめての えいごフレーズ②｜ひる（がっこう） このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが えいぶ [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-02/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜②</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!-- =========================
🐙 はじめての えいごフレーズ②｜ひる（がっこう）
super-beginner-phrase-02（修正版）
・絵フラッシュ（6枚）
・🔊音声ヒント（英国英語女性優先）
・✅こたえをおすと、日本語訳が英文のすぐ下に表示
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
・下：📘一覧へ／▶つぎへ
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜ひる（がっこう）">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ②｜ひる（がっこう）</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。<br>
      <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">② ひる（がっこう）</span>
      <span class="sbp-progress" id="sbpProg">1 / 6</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">I sit down.</div>
        <div id="sbpJp" class="sbp-jp is-hidden">すわる</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶんをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょから</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="/super-beginner-phrase-index/">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="/super-beginner-phrase-03/">▶ つぎのレッスンへ</a>
    </div>

  </section>

</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }

  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 14px 10px 12px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(26px, 4.6vw, 40px);
    line-height: 1.15;
    user-select: none;
  }
  .sbp-jp{
    text-align:center;
    margin-top: 8px;
    font-weight: 900;
    color:#5e5e5e;
    font-size: clamp(16px, 3.2vw, 22px);
    line-height: 1.4;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    { en:"I sit down.",         jp:"すわる",                img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/1-1.webp" },
    { en:"I stand up.",         jp:"たつ",                  img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/2-1.webp" },
    { en:"I listen carefully.", jp:"しっかり きく",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/3-1.webp" },
    { en:"I open my book.",     jp:"ほんを ひらく",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/4-1.webp" },
    { en:"I close my book.",    jp:"ほんを とじる",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/5-1.webp" },
    { en:"I eat lunch.",        jp:"ひるごはんを たべる",   img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/6-1.webp" }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const jp  = document.getElementById("sbpJp");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  let voicesReady = false;
  let preferredVoice = null;

  function pickBestVoice() {
    const voices = window.speechSynthesis ? window.speechSynthesis.getVoices() : [];
    if (!voices || !voices.length) return null;

    const femaleHints = /(female|samantha|serena|karen|susan|victoria|zira|hazel|libby|aria|siri)/i;

    return (
      voices.find(v => /^en-GB/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang) && /google uk english female/i.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang)) ||
      voices.find(v => /^en/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en/i.test(v.lang)) ||
      null
    );
  }

  function loadVoices() {
    preferredVoice = pickBestVoice();
    voicesReady = true;
  }

  if ("speechSynthesis" in window) {
    loadVoices();
    window.speechSynthesis.onvoiceschanged = loadVoices;
  }

  function speak(text){
    if(!("speechSynthesis" in window)) return;

    window.speechSynthesis.cancel();

    const utter = new SpeechSynthesisUtterance(text);
    utter.lang = "en-GB";
    utter.rate = 0.9;
    utter.pitch = 1.0;
    utter.volume = 1;

    if (!voicesReady) loadVoices();
    if (preferredVoice) utter.voice = preferredVoice;

    window.speechSynthesis.speak(utter);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;
    jp.textContent = c.jp;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);
    jp.classList.toggle("is-hidden", !ansShown);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      ansShown = false;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      ansShown = false;
      render();
    }
  });

  btnSpeak.addEventListener("click", () => speak(cards[order[i]].en));

  btnAns.addEventListener("click", () => {
    ansShown = !ansShown;
    render();
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    ansShown = false;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    hiddenEn = false;
    hiddenImg = false;
    ansShown = false;
    render();
  });

  render();
})();
</script>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-02/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜②</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-02/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🐙タコタの はじめてのえいごレッスン【フレーズ】｜①</title>
		<link>https://jouniorsankosodate.com/super-beginner-phrase-01/</link>
					<comments>https://jouniorsankosodate.com/super-beginner-phrase-01/#respond</comments>
		
		<dc:creator><![CDATA[じゅにさん]]></dc:creator>
		<pubDate>Thu, 29 Jan 2026 04:28:18 +0000</pubDate>
				<category><![CDATA[👧英語学習]]></category>
		<category><![CDATA[💗はじめてのえいご]]></category>
		<category><![CDATA[＃タコタ]]></category>
		<category><![CDATA[＃フラッシュ]]></category>
		<category><![CDATA[＃無料アプリ]]></category>
		<category><![CDATA[#英単語]]></category>
		<guid isPermaLink="false">https://jouniorsankosodate.com/?p=3321</guid>

					<description><![CDATA[<p>🐙 はじめての えいごフレーズ①｜あさ このフレーズは 「えいごを よめるようになる」 れんしゅうだよ。 わからないときは 🔊 をおして、ほんもののはつおんをきこう。 ✅「こたえ」をおすと、にほんごが えいぶんの すぐし [&#8230;]</p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-01/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜①</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!-- =========================
🐙 はじめての えいごフレーズ①｜あさ
super-beginner-phrase-01（修正版）
・絵フラッシュ（7枚）
・🔊音声ヒント（英国英語女性優先）
・✅こたえをおすと、日本語訳が英文のすぐ下に表示
・えいぶんをかくす／えをかくす
・🔀シャッフル
・↩︎さいしょから
・下：📘一覧へ／▶つぎへ
========================= -->

<div id="sbp" class="sbp-wrap" aria-label="はじめての えいごフレーズ｜あさ">

  <section class="sbp-intro" aria-label="このフレーズのつかいかた">
    <h2 class="sbp-intro-title">🐙 はじめての えいごフレーズ①｜あさ</h2>
    <p class="sbp-intro-p">
      このフレーズは <strong>「えいごを よめるようになる」</strong> れんしゅうだよ。<br>
      わからないときは 🔊 をおして、ほんもののはつおんをきこう。
    </p>
    <p class="sbp-intro-p">
      ✅「こたえ」をおすと、にほんごが えいぶんの すぐしたに でるよ。<br>
      <strong>「えいぶんをかくす」「えをかくす」</strong> をつかうと、もっとよめるようになるよ。
    </p>
    <p class="sbp-intro-note">
      ※ おうちのひとは、はつおんしなくてOK。<br>
      「きいてみよ」「よんでみよ」って こえかけだけで だいじょうぶ💛
    </p>
  </section>

  <section class="sbp-panel" aria-label="フラッシュ">
    <header class="sbp-head">
      <span class="sbp-badge">🟡 はじめての えいご</span>
      <span class="sbp-title">① あさフレーズ</span>
      <span class="sbp-progress" id="sbpProg">1 / 7</span>
    </header>

    <div class="sbp-card">
      <div class="sbp-imgwrap">
        <img decoding="async" id="sbpImg" class="sbp-img" src="" alt="" loading="lazy">
        <div id="sbpImgMask" class="sbp-mask is-hidden" aria-hidden="true">え を かくしたよ</div>
      </div>

      <div class="sbp-enwrap">
        <div id="sbpEn" class="sbp-en">I wake up.</div>
        <div id="sbpJp" class="sbp-jp is-hidden">めをさます</div>
        <div id="sbpEnMask" class="sbp-mask is-hidden" aria-hidden="true">えいぶん を かくしたよ</div>
      </div>

      <div class="sbp-controls" aria-label="そうさ">
        <button type="button" class="sbp-btn" id="btnPrev">◀︎ まえ</button>
        <button type="button" class="sbp-btn" id="btnSpeak">🔊 きく</button>
        <button type="button" class="sbp-btn" id="btnAns">✅ こたえ</button>
        <button type="button" class="sbp-btn sbp-primary" id="btnNext">つぎ ▶︎</button>
      </div>

      <div class="sbp-subcontrols" aria-label="オプション">
        <button type="button" class="sbp-btn sbp-mini" id="btnHideEn">🙈 えいぶんをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnHideImg">🖼️ えをかくす</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnShuffle">🔀 シャッフル</button>
        <button type="button" class="sbp-btn sbp-mini" id="btnRestart">↩︎ さいしょから</button>
      </div>
    </div>

    <div class="sbp-bottom-nav" aria-label="ぺーじいどう">
      <a class="sbp-linkbtn" href="/super-beginner-phrase-index/">📘 いちらん</a>
      <a class="sbp-linkbtn sbp-primary" href="/super-beginner-phrase-02/">▶ つぎのレッスンへ</a>
    </div>

  </section>

</div>

<style>
  .sbp-wrap{
    --bg:#fff3b5;
    --ink:#2b2b2b;
    --accent:#0f6f6f;
    --line:#ffe27a;
    --shadow: 0 10px 24px rgba(0,0,0,.12);
    font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
    color: var(--ink);
    max-width: 860px;
    margin: 16px auto 28px;
    padding: 0 10px;
  }

  .sbp-intro{
    background:#ffffffcc;
    border:2px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .sbp-intro-title{
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 1000;
    color: var(--accent);
  }
  .sbp-intro-p{
    margin: 10px 0;
    line-height: 1.7;
    font-weight: 800;
    font-size: 14px;
  }
  .sbp-intro-note{
    margin: 10px 0 0;
    padding: 10px 12px;
    background:#fff;
    border:2px dashed var(--line);
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    color:#6b6b6b;
  }

  .sbp-panel{
    background: linear-gradient(180deg, #fff8d4, var(--bg));
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px;
    position: relative;
    overflow: hidden;
  }
  .sbp-panel:before{
    content:"";
    position:absolute; inset:-40px;
    background-image:
      radial-gradient(#ffffff80 18%, transparent 19%),
      radial-gradient(#ffffff60 18%, transparent 19%);
    background-size: 56px 56px, 72px 72px;
    background-position: 0 0, 20px 20px;
    opacity:.22;
    pointer-events:none;
  }

  .sbp-head{
    position: relative;
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .sbp-badge{
    background:#fff;
    border: 2px solid var(--line);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 1000;
    font-size: 14px;
  }
  .sbp-title{
    font-weight: 1000;
    color: var(--accent);
    font-size: 16px;
  }
  .sbp-progress{
    font-weight: 1000;
    color:#6b6b6b;
    font-size: 14px;
  }

  .sbp-card{
    position: relative;
    z-index: 1;
    background: #ffffffb8;
    border: 2px solid var(--line);
    border-radius: 18px;
    padding: 14px;
  }

  .sbp-imgwrap{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    border:2px solid var(--line);
  }
  .sbp-img{
    width: 100%;
    display:block;
  }

  .sbp-enwrap{
    position: relative;
    margin-top: 10px;
    border-radius: 16px;
    background:#fff;
    border:2px solid var(--line);
    padding: 14px 10px 12px;
  }
  .sbp-en{
    text-align:center;
    font-weight: 1000;
    letter-spacing: .02em;
    color: var(--accent);
    font-size: clamp(26px, 4.6vw, 40px);
    line-height: 1.15;
    user-select: none;
  }
  .sbp-jp{
    text-align:center;
    margin-top: 8px;
    font-weight: 900;
    color:#5e5e5e;
    font-size: clamp(16px, 3.2vw, 22px);
    line-height: 1.4;
  }

  .sbp-mask{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:1000;
    color:#6b6b6b;
    background:#fff;
    border-radius: 16px;
  }
  .is-hidden{ display:none !important; }

  .sbp-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 12px 0 6px;
  }
  .sbp-subcontrols{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 8px 0 0;
  }

  .sbp-btn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 1000;
    font-size: 16px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    line-height: 1;
  }
  .sbp-btn:active{ transform: translateY(1px); }
  .sbp-mini{ padding: 8px 12px; font-size: 14px; }
  .sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff;
  }
  button:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .sbp-bottom-nav{
    position: relative;
    z-index: 1;
    margin-top: 12px;
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sbp-linkbtn{
    border: 2px solid var(--line);
    background: #fff;
    border-radius: 14px;
    padding: 10px 16px;
    font-weight: 1000;
    font-size: 16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color: var(--accent);
  }
  .sbp-linkbtn.sbp-primary{
    border-color: var(--accent);
    background: var(--accent);
    color:#fff !important;
  }
</style>

<script>
(() => {
  const cards = [
    { en:"I wake up.",        jp:"めをさます",           img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/1.webp" },
    { en:"I get up.",         jp:"おきる",               img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/2.webp" },
    { en:"I brush my teeth.", jp:"はをみがく",           img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/3.webp" },
    { en:"I wash my face.",   jp:"かおをあらう",         img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/4.webp" },
    { en:"I eat breakfast.",  jp:"あさごはんをたべる",   img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/5.webp" },
    { en:"I put on clothes.", jp:"ふくをきる",           img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/6.webp" },
    { en:"I go to school.",   jp:"がっこうへいく",       img:"https://jouniorsankosodate.com/wp-content/uploads/2026/01/7.webp" }
  ];

  const prog = document.getElementById("sbpProg");
  const img = document.getElementById("sbpImg");
  const en  = document.getElementById("sbpEn");
  const jp  = document.getElementById("sbpJp");
  const imgMask = document.getElementById("sbpImgMask");
  const enMask  = document.getElementById("sbpEnMask");

  const btnPrev = document.getElementById("btnPrev");
  const btnNext = document.getElementById("btnNext");
  const btnSpeak = document.getElementById("btnSpeak");
  const btnAns = document.getElementById("btnAns");
  const btnHideEn = document.getElementById("btnHideEn");
  const btnHideImg = document.getElementById("btnHideImg");
  const btnShuffle = document.getElementById("btnShuffle");
  const btnRestart = document.getElementById("btnRestart");

  let order = cards.map((_, idx) => idx);
  let i = 0;
  let hiddenEn = false;
  let hiddenImg = false;
  let ansShown = false;

  let voicesReady = false;
  let preferredVoice = null;

  function pickBestVoice() {
    const voices = window.speechSynthesis ? window.speechSynthesis.getVoices() : [];
    if (!voices || !voices.length) return null;

    const femaleHints = /(female|samantha|serena|karen|susan|victoria|zira|hazel|libby|aria|siri)/i;

    return (
      voices.find(v => /^en-GB/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang) && /google uk english female/i.test(v.name)) ||
      voices.find(v => /^en-GB/i.test(v.lang)) ||
      voices.find(v => /^en/i.test(v.lang) && femaleHints.test(v.name)) ||
      voices.find(v => /^en/i.test(v.lang)) ||
      null
    );
  }

  function loadVoices() {
    preferredVoice = pickBestVoice();
    voicesReady = true;
  }

  if ("speechSynthesis" in window) {
    loadVoices();
    window.speechSynthesis.onvoiceschanged = loadVoices;
  }

  function speak(text){
    if(!("speechSynthesis" in window)) return;

    window.speechSynthesis.cancel();

    const utter = new SpeechSynthesisUtterance(text);
    utter.lang = "en-GB";
    utter.rate = 0.9;
    utter.pitch = 1.0;
    utter.volume = 1;

    if (!voicesReady) loadVoices();
    if (preferredVoice) utter.voice = preferredVoice;

    window.speechSynthesis.speak(utter);
  }

  function render(){
    const c = cards[order[i]];
    prog.textContent = `${i+1} / ${cards.length}`;
    img.src = c.img;
    img.alt = c.en;
    en.textContent = c.en;
    jp.textContent = c.jp;

    imgMask.classList.toggle("is-hidden", !hiddenImg);
    enMask.classList.toggle("is-hidden", !hiddenEn);
    jp.classList.toggle("is-hidden", !ansShown);

    btnPrev.disabled = (i === 0);
    btnNext.disabled = (i === cards.length - 1);
  }

  function shuffle(){
    for(let j = order.length - 1; j > 0; j--){
      const k = Math.floor(Math.random() * (j + 1));
      [order[j], order[k]] = [order[k], order[j]];
    }
  }

  btnPrev.addEventListener("click", () => {
    if(i > 0){
      i--;
      ansShown = false;
      render();
    }
  });

  btnNext.addEventListener("click", () => {
    if(i < cards.length - 1){
      i++;
      ansShown = false;
      render();
    }
  });

  btnSpeak.addEventListener("click", () => speak(cards[order[i]].en));

  btnAns.addEventListener("click", () => {
    ansShown = !ansShown;
    render();
  });

  btnHideEn.addEventListener("click", () => {
    hiddenEn = !hiddenEn;
    enMask.classList.toggle("is-hidden", !hiddenEn);
  });

  btnHideImg.addEventListener("click", () => {
    hiddenImg = !hiddenImg;
    imgMask.classList.toggle("is-hidden", !hiddenImg);
  });

  btnShuffle.addEventListener("click", () => {
    shuffle();
    i = 0;
    ansShown = false;
    render();
  });

  btnRestart.addEventListener("click", () => {
    order = cards.map((_, idx) => idx);
    i = 0;
    hiddenEn = false;
    hiddenImg = false;
    ansShown = false;
    render();
  });

  render();
})();
</script>



<a href="https://blogmura.com/profiles/11199271?p_cid=11199271"><img decoding="async" src="https://blogparts.blogmura.com/parts_image/user/pv11199271.gif" alt="PVアクセスランキング にほんブログ村" /></a>



<p class="wp-block-paragraph">アプリやったよ！の応援クリック嬉しいです👇</p>



<a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank"><img decoding="async" src="https://b.blogmura.com/original/1411684" width="240" height="240" border="0" alt="にほんブログ村 にほんブログ村へ" /></a><br /><a rel="noopener" href="https://blogmura.com/ranking/in?p_cid=11199271" target="_blank">にほんブログ村</a>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://jouniorsankosodate.com/super-beginner-phrase-01/">🐙タコタの はじめてのえいごレッスン【フレーズ】｜①</a> は <a href="https://jouniorsankosodate.com">じゅにさん子育てブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jouniorsankosodate.com/super-beginner-phrase-01/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
