精度向上のため所々修正