["Adidas said Thursday it was investigating claims against Kanye West after a report detailed alleged inappropriate behaviour, just weeks after the German sportswear giant ended its partnership with the rapper.","US magazine Rolling Stone reported claims that the rapper played pornography to Adidas staff in meetings, and discussed porn and showed an intimate photo of ex-wife Kim Kardashian in job interviews.","It said former members of the team involved in \"Yeezy\" -- the product line designed with the rapper -- had released a letter alleging Adidas executives were aware of the behaviour, which went on for years, but turned a blind eye.","\"It is currently not clear whether the accusations made in an anonymous letter are true,\" Adidas said in a statement.","\"However, we take these allegations very seriously and have taken the decision to launch an independent investigation of the matter immediately to address the allegations.\"","The Rolling Stone report, citing unnamed former staff, alleged the rapper used intimidation tactics with employees, which were often directed towards women.","In the letter, the ex-Yeezy employees urged Adidas to address \"the toxic and chaotic environment that Kanye West created\".","The new revelations came after Adidas last month terminated its lucrative tie-up with West -- known formally as Ye -- after a series of anti-Semitic outbursts by the star.\u00a0","At the time, the company said his comments were \"unacceptable, hateful and dangerous\".","- Controversial rapper -","The sports outfitter took a heavy financial blow from the move, which it forecast would cuts its 2022 net income in half.\u00a0","In its latest statement Thursday, Adidas said it has been and continues to be \"actively engaged in conversations with our employees about the events that lead to our decision to end the partnership.","\"They have our full support and as we're working through the details of the termination.\"","Adidas began a review of its relationship with West after he appeared at a Paris fashion show wearing a shirt emblazoned with \"White Lives Matter\", a slogan created as a backlash to the Black Lives Matter movement.","Days later he was locked out of Twitter and Instagram over anti-Semitic threats.","The artist was associated with rival sportswear company Nike for years but broke away in 2013, lending his name to Adidas as they launched their first Yeezy shoe in 2015 -- a partnership that went on to make him a billionaire.","Along with Beyonce, Stella McCartney and Pharrell Williams, West has been one of the top names used by Adidas to boost sales, especially online.","But rights campaigners and entertainment world figures had heaped pressure on Adidas to stop working with the rapper.","US clothing company Gap and Paris-based fashion house\u00a0Balenciaga have also recently ended tie-ups with West.","Earlier this month, Adidas named a new CEO -- Bjorn Gulden, chief of rival outfitter Puma. As well as the fallout from the West controversy, he faces the task of improving sales that have been hit by Covid restrictions in key market China.\u00a0","sr\/hmn\/jm"]