Hi,
You should be able to achieve the respective with the following:
1. In HQ, ensure that branch local subnet is included as the local subnet in the Phase2 between the VPN tunnel of HQ - Azure, and the subnet of Azure is included as the local subnet for Phase2 between VPN tunnel of HQ and Branch01
2. Ensure that there is a policy in HQ that allows traffic between IPSec_Branch01 - IPSec_Azure and reverse policy
3. If HQ is able to connect to Branch01 and Azure without any issue, I believe the static route is already in place
4. In Branch01, make sure that remote subnet for Azure is configured in Phase2 selector for the IPSec tunnel between Branch01 and HQ
5. Ensure that Azure remote subnet is included in the firewall policy for local port to IPSec_HQ in Branch01
6. Ensure that Azure firewall is configured to permit traffic as well
If you already have all the above in place and still not able to reach to Azure site from Branch01, I would suggest you run the following commands on all the firewall (if they are all FortiGate) to check what could be the root cause:
diag deb flow filter saddr <source_IP_from_branch>
diag deb flow filter daddr <destination_IP_on_Azure>
diag deb flow sh function-name en
diag deb flow sh iprope en
diag deb flow trace start 20
diag deb en
Then, test the connection from Branch01 user and check how is the traffic being processed.