.simulation_body { font-size:1.8rem; }
#errorMessage { text-align:center; color:red; }
.my-tooltip { position:absolute; z-index:1000; background-color:lightyellow; color:black; padding:5px; padding:1em; max-width:400px; font-size:1.8rem; }
.grid-container { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:20px; padding:10px; }
.grid-item { background-color:#f0f0f0; padding:1em; }
.grid-item label { font-weight:bold; margin-top:10px; display:block; }
.grid-item .unit { }
.grid-item select,input { padding:8px; margin-top:4px; font-size:1.8rem; height:38px!important; }
.grid-item select { width:128px; text-align:center; }
.grid-item input[type=text] { width:128px; text-align:center; height:14px; }
.grid-item span.help { display:inline-block; border:solid 1px #ccc; border-radius:16px; background-color:lightyellow; margin-left:4px; } /* ❔アイコン */
/* 1. デフォルト・スマートフォンサイズ 1列 */
#result-container { background-color:#e5eef7; display:grid; grid-template-columns:1fr; gap:30px; padding:40px; }
/* 2. PC/タブレット 画面幅が768px以上の場合に適用 2列 */
@media (min-width: 768px) {
	#result-container { grid-template-columns:1fr 1fr; }
	div.box3 { grid-column:1 / -1; }
}
.box { padding:24px; background-color:#ffffff; text-align:center; }
div.box div.title { font-size:20px; font-weight:bold; margin-bottom:1em; }
div.box .value { font-size:42px; color:#0070c0; display:inline-block; min-width:100px; text-align:right; }
div.box .unit { color:#0070c0; display:inline-block; margin-left:.5em; }
div.box3 { display:grid; grid-template-columns:1fr 1fr; }
div.box3>div { padding:8px; }
