There are two methods.
1.
1.1. modify the physical disk size by, for example,
VBoxManage modifyhd "/Users/syoh/VirtualBox VMs/windowsxpVM/windowsxpVM.vdi" --resize 20480
1.2 modify the partition and file system in the guest OS.
Windows 7 (or later maybe) has the facility to expand the file system.
For the Windows XP, partitioning tools like Gparted is to be used.
But for my case with Window XP, 1.1 is not working. I don't know why.
2.
2.1 make another disk in VirtualBox with larger space.
2.2 clone the original hard drive to the new one by, for example,
VBoxManage clonehd /Users/syoh/VirtualBox\ VMs/windowsxpVM/windowsxpVM.vdi /Users/syoh/VirtualBox\ VMs/windowsxpVM/windowsxp20gb.vdi --existing
2.3 disconnect the original drive and connect the new one as the master hard drive
2.4 modify the partition and file system in the guest OS.
But for my case with Window XP, 2.4 is not working where I used Gparted.