: `

TOEIC270点相当から始めた場合の目安です。根拠は僕の実測(1,514時間・5年)で、母集団は1人。

`;
const expNote = (exp === "work")
? `

仕事で英語を使った経験がある方は、この前提より先にいます。数字は上限として見てください。どれだけ短くなるかは、実測がないので書きません。

`
: "";
let leverBlock = "";
if(j.gate === "fail" || j.vk === "over" || j.vk === "far" || j.vk === "close"){
const L = leversFor(goal, time, j.gate, method);
if(L.length) leverBlock = `

では、どこを変えるか

${L.map(l=>`

${l.n}${l.d}

`).join("")}

`;
}
const reads = readsFor(j.gate, method, j.vk);
const readBlock = `

この判定の裏にある話(読まなくても大丈夫です)

${reads.map(r=>`${r.t} →`).join("")}

`;
return `

目標${GOALS[goal].name}

${j.badge}
${durBlock}

${j.body}

${premise}
${expNote}
${leverBlock}
${readBlock}`;
}
function simHTML(){
const seg = (name, opts, cur) => `

${name.label}
${opts.map(o=>``).join("")}

`;
const same = sim.goal===pick.goal && sim.time===pick.time && sim.method===pick.method;
return `

条件を変えると、どうなるか

動かしても、あなたの回答は変わりません。「もし変えたら」を試せます。

${seg({key:"goal",label:"目標"},
[{v:"A",t:"言い切る"},{v:"B",t:"黙らずに済む"},{v:"C",t:"使い切る"}], sim.goal)}
${seg({key:"time",label:"週に使える時間"},
[{v:"t1",t:"〜1h"},{v:"t2",t:"1〜3h"},{v:"t3",t:"3〜6h"},{v:"t4",t:"6〜10h"},{v:"t5",t:"10h〜"}], sim.time)}
${seg({key:"method",label:"やっている練習"},
[{v:"read",t:"読む・聞く"},{v:"voice",t:"声に出す"},{v:"talk",t:"人と話す"}], sim.method)}

${same ? "いま表示中:あなたの回答" : "いま表示中:変更した条件"}

`;
}
function paintVerdict(){
const box = document.getElementById("verdictBox");
if(!box) return;
box.innerHTML = verdictHTML(sim.goal, sim.time, sim.method, pick.exp);
const simBox = document.getElementById("simBox");
if(simBox){ simBox.innerHTML = simHTML(); wireSim(); }
const fill = box.querySelector(".tl-fill");
if(fill){
const w = fill.style.width;
fill.style.width = "0";
void fill.offsetWidth;
fill.style.width = w;
}
}
function wireSim(){
document.querySelectorAll("#sim .seg button").forEach(b=>{
b.onclick = ()=>{ sim[b.dataset.k] = b.dataset.v; paintVerdict(); };
});
const r = document.getElementById("simReset");
if(r) r.onclick = ()=>{ sim = {goal:pick.goal, time:pick.time, method:pick.method}; paintVerdict(); };
}
function showResult(){
document.getElementById("barFill").style.width = "100%";
document.getElementById("qcount").textContent = "診断完了";
document.getElementById("remainNum").textContent = "0";
const dots = document.getElementById("dots");
if(dots) dots.innerHTML = QUESTIONS.map(()=>``).join("");
const goal = pick.goal || "B";
const time = pick.time || "t2";
const method = pick.method || "read";
sim = { goal, time, method };
if(timeline==="soon") score.C += 2;
let winner = pickType();
const honestNotes = [];
if(timeline==="urgent" && winner!=="C" && winner!=="D"){
const prevName = TYPES[winner].name;
winner = "C";
honestNotes.push(`診断内容だけなら「${prevName}」でしたが、3ヶ月以内に必要とのことなので、実践で慣れるオンライン英会話を優先しておすすめします。基礎ができていなくても、場数を踏みながら覚えるほうが速い場合があります。`);
}
if(winner==="C" && zeroBudget){
winner = "A";
honestNotes.push(`本当は「オンライン英会話」も合っているタイプです。まずは0円でできる練習で口を慣らして、余裕ができたら無料体験から試すのが正直なおすすめです。`);
}
const honest = honestNotes.map(n=>`

※ ${n}

`).join("");
const t = TYPES[winner];
const showPaidBooks = t.books && !zeroBudget;
const freePath = (winner==="B" && zeroBudget) ? `

0円で基礎を固めるなら

` : "";
render(`

あなたの到達判定

次の一手

${t.name}

${t.tag}

${t.why()}

${honest}

今日やるなら、これひとつ

${t.step}

${t.stepNote}

${freePath}
${showPaidBooks ? `

おすすめの本(参考程度にどうぞ)
${t.books.map(b=>`

${b.t}
${b.a}

`).join("")}

` : ""}

もっと詳しく知りたくなったら(読まなくても大丈夫です)

${t.reads.map(r=>`${r.t} →`).join("")}

`);
paintVerdict();
document.getElementById("retryBtn").onclick = startQuiz;
}
startQuiz();

Copyright© 3ヶ月英語プレゼン成功法 , 2026 All Rights Reserved.