This is something I have had soooo much trouble with. In Japan, when you are offered food or anything else you are supposed to say no. If someone at school tries to give me something, it's fine, but with the older generation you have to say no!
I'm afraid to go places with people because depending on the situation you are supposed to respond no or yes. Here are a few experiences I have had and their outcomes:
Situation 1: Our neighbors invite me out. We go to a special grocery store. The neighbor asks me if I want ice cream I say no. She buys it for me anyways. After, she offers to buy me some fried things. I say no, she buys it anyways
Outcome: I get home, my host mother tells me nothing if for free in Japan and I have to go over there and try to pay them back. My host mother insists and they take the money.
Situation 2: I am walking down the street and all of a sudden this old woman runs out and tell me to come inside. I go into her shop and she asks me if I want tea. Me: no. She goes to get tea. I drink it and then leave.
Outcome: My host mom says that I shouldn't drink her tea or I'll become obligated to get my hair cut at her shop... For some reason this time it was ok to take something for free as long as I don't do it again.
Situation 3: A neighbor gives me a piece of candy
Outcome: My host mother tells me to tell her whenever that happens so that we can both thank her.
As strange as it seems to Americans my host mother told me it is Japanese culture that even if you receive something tiny like a piece of candy, and you are under age, you have to thank the person, your parent has to thank the person, and then next time your parent sees the person on a different day they have to thank the person again! For candy. It seems soooo strange to me but my host mother said that if the parent doesn't thank the giver twice they are considered rude by whoever hears about it. Because, she told me, Japanese people love to gossip. Huh.