The 1st thing I'd recommend before you proceed is get rid of all the spaces and / in the field/table names. Also as a note, avoid using reserved words for field names and fields named such as: MyFieldName# or other like characters (even though I didn't see any of these characters in your schematic at a quick glance but I did see some / in the field names which I'd highly suggest removing). It will make your life (or whoever is going to write the code) work much easier without spaces in the names. A field names as such: "LINE Item 1" or "Sub Process/Intuition ID" or other fields/tables named as such can be problematic and very time-consuming when it comes to writing/troubleshooting code.
It also makes it easier when joining 2 tables on a field if the field is named the same in both tables. Just something that makes it easier when developing code (ie. GrantID joins to GrantID).
Your question though is difficult to answer without understanding the business logic of what the program is supposed to do. As jdraw mentioned, it's important when designing a structure that you learn all aspects of what is involved with the process, including 'predicting' possible future changes. A single item that is joined to a list of items is a relational join where you'd most likely use a 1 to many relationship.
Again though, I can't emphasis enough correcting the field/table naming.