The Worksheet_Change event may change the value of some cells, which causes the event to be called again. And during the second call, the next event will be called again, etc. The execution of the code falls into an infinite loop. Although newer versions of Excel (probably from version 2003) are protected for such eventuality, this situation may generate unexpected errors. To prevent re-triggering of the Worksheet_Change event, you should first disable it and finally (mandatory!) enable the event response (Application.EnableEvents).
I also changed the record of your macro slightly, reducing the number of conditions to be checked during operation.
Private Sub Worksheet_Change(ByVal Target As Range)


    Application.EnableEvents = False




    If Target.Column = 3 Then
        
        If Target.Row = 3 Then
            If Target.Value = "No" Then
                Me.Rows("4:4").Hidden = False
            ElseIf Target.Value = "Yes" Or Target.Value = "" Then
                Me.Rows("4:6").Hidden = True
            End If
        
        ElseIf Target.Row = 4 Then
        
            If Target.Value = "Hard" Or Target.Value = "" Then
                Me.Rows("5:6").Hidden = True
                Range("B7").Value = "L"
            Else
                Me.Rows("5:6").Hidden = False
            End If
            
        End If
        
    End If




    Select Case Range("C3").Value
        Case "", "No"
            If Range("C4").Value = "" Or Range("C5").Value = "" Or Range("C6").Value = "" Then
                Range("B7").ClearContents
            End If
        Case "Yes"
            Range("B7").Value = "XL"
    End Select




    If Range("C4").Value = "Medium" Then


        If Range("C6").Value = "Yes" Then


            Select Case Range("C5").Value
                Case "Yes", "Maybe", "No"
                    Range("B7").Value = "L"
            End Select


        ElseIf Range("C6").Value = "No" Then


            Select Case Range("C5").Value
                Case "Yes", "Maybe"
                    Range("B7").Value = "L"
                Case "No"
                    Range("B7").Value = "M"
            End Select


        End If


    End If




    If Range("C4").Value = "Easy" Then


        If Range("C6").Value = "Yes" Then


            Select Case Range("C5").Value
                Case "Yes", "No", "Maybe"
                    Range("B7").Value = "M"
            End Select


        ElseIf Range("C6").Value = "No" Then


            Select Case Range("C5").Value
                Case "Maybe"
                    Range("B7").Value = "S"
                Case "Yes"
                    Range("B7").Value = "M"
                Case "No"
                    Range("B7").Value = "XS"
            End Select


        End If


    End If




    Application.EnableEvents = True


End Sub
Another reason for the error may be the occurrence of a sheet error in the formulas used, if the macro refers to cells containing these formulas. Do C4, C5 and C6 cells contain formulas that can return as a result of a sheet error?

Artik