You can blame it on fast food, school meals or even bad parenting. But when you really think about it, I think it really has to do with how American homes are so spread out compare to other developed countries. American homes are too spread out to even make a community. It is not just the fact that driving everywhere is making people fat, I genuinely think, it's the lack of accessibility to the local grocery store that's causing many problems. Even for me, it is so hard to find the time to go to the grocery (when I have a supermarket just down the block in NYC). Think about coming back from work, get on the car, run around in the gigantic supermarket, come back, make food, and clean up. that's a lot of work to do compare to for people who lives in the city where you have some access to the grocery within walking distance.
And because adults don't want to go back and run around in the massive supermarket, they buy many things without planning, food that last which must have preservatives and more carbs than vegetables (because vegetables die quickly), and this makes adults and kid's diet very limited.
There's no doubt that home economics in school education will help kids to learn about food. But at the end of the day, their parents need an easier access to the grocery store that sells raw food. Organic or non-organic to even begin with.
American people are fat (i don't like to generalize...but com'on) and their cultural eating habits are created because of this. It's not that people in Tokyo exercise more, I know people who sits in front of the computer all day but they're still not obese. They sure are not healthy but they do have easier access to variation of food.
That's been said, instead of 1 gigantic super market in the neighborhood, it makes more sense to have 3 smaller supermarket in a neighborhood. The closer, the better because you are more likely to go back for raw food. Accessibility comes first, then comes education. I'm no expert on this issue...but at least that's what I think.