If I read this correctly, you are coming in from the USA on American Arilines. That means, if your flight is on time, you will have 55 minutes to exit the plane, ride the skytrain in from the C Terminal Satellite gates where all US flagged planes arrive/depart, then go through immigration, then go pick up your luggage (as I am assuming that American Airlines does not codeshare with a small Euro Liner)... then recheck your luggage and race to your boarding gate.
If I understand this correctly, I'll just tell you that the distance between B and C terminals IS NOT your challenge (it's about an 10-15 minute walk depending on where your gates are). The challenge will be getting your luggage and then rechecking - especially if you have to go back through security.
Another problem... most Euro liners close their check-in gates 30-45 minutes before the plane leaves - so that can be a problem, unless you're codeshared and booked straight through from SFO.
First thing to find out ---> Is this a codeshare flight and will I have to retrieve my luggage and recheck it? Next, will I have to check in at a "counter" in Rome for the Olympic Flight, or I can I check in online and run to the gate? (Again, will not work with the luggage issue, unless you are codeshared...)
If these are not options for you, you'll never make it. Contact Olympic and change your flight if possible... Good Luck!